Conduta
A conduta é o que o profissional orientou ao encerrar o atendimento: o retorno marcado, o exame solicitado, os sinais de alarme explicados ao paciente. É texto de prontuário, escrito à mão pela equipe — na tela do atendimento ela aparece no bloco Condutas e orientações.
No FHIR esse conjunto é o
RequestGroup: um recurso por atendimento,
reunindo todas as condutas dele. Como a avaliação clínica,
ele nasce junto com o atendimento e carrega o identificador do atendimento de origem.
Este recurso é somente leitura. POST /fhir/resources/RequestGroup não é uma operação
suportada — veja Cadastrar ou atualizar para o que acontece se você
tentar. Para registrar uma conduta por integração, o caminho é a
Condição — veja
Como registrar uma conduta.
Campos
A coluna No Nilo Care traz o rótulo com que o dado aparece para a equipe; são rótulos, não caminhos de navegação.
Todos os campos são de resposta — nenhum deles é enviado por você.
Um atendimento sem nenhuma conduta escrita produz o recurso mesmo assim — e nele o campo
action não vem. Não é uma lista vazia: a chave some do JSON. Um cliente que faça
resource.action.length quebra; trate a ausência do campo como “nenhuma conduta”.
A ausência não significa que o atendimento não existe: significa que ninguém escreveu conduta nele.
Condutas sem texto não entram na lista. Se a equipe abriu uma conduta e não escreveu nada,
ela não aparece aqui, nem como item vazio — e um atendimento cujas condutas sejam todas vazias
cai no caso acima, sem action.
Na tela, as condutas de um atendimento aparecem concatenadas num campo só, e o editor trabalha sobre a primeira delas. A separação em itens existe aqui e na Condição, não lá: um atendimento que a sua integração gravou com três condutas é visto pela equipe como um texto único.
status e intent são constantes e não informam nada sobre o atendimento nem sobre a
conduta. status: active não quer dizer que o atendimento está aberto — quem diz isso é o
status do atendimento. E intent: order não distingue tipos
de conduta: todas saem iguais.
action[].resource não é uma referência
Ele tem a forma de uma referência FHIR, mas traz apenas display, com o valor constante
Clinical conduct — em inglês, e igual em todos os itens. Não tente resolvê-lo, e não o use
para classificar a conduta: ele não aponta para recurso nenhum e não carrega informação.
Campos que a Nilo não usa
O RequestGroup canônico tem muito mais do que esta integração produz: instantiatesCanonical,
instantiatesUri, basedOn, replaces, groupIdentifier, priority, code, authoredOn,
author, reasonCode, reasonReference e note. Dentro de action, também title,
textEquivalent, code, documentation, condition, relatedAction, timing,
participant, type, groupingBehavior, selectionBehavior, requiredBehavior,
precheckBehavior, cardinalityBehavior e as sub-ações. Como esta referência descreve só o
que é suportado, nenhum deles aparece no schema — e, como não há escrita, também não há como
preenchê-los.
Repare em author: a conduta não traz quem a escreveu. A plataforma guarda esse dado, e
ele não é exposto em nenhum campo deste recurso.
Cadastrar ou atualizar
Não existe. Este recurso não tem caminho de escrita nesta API — nem para criar, nem para atualizar, nem para apagar.
Um POST /fhir/resources/RequestGroup não é uma operação suportada e não devolve um erro
de validação tratável: a chamada falha com erro inesperado do servidor (500). Não escreva
tratamento em cima desse comportamento — ele não é contrato, e nada é gravado de qualquer
forma.
Dentro de uma carga em lote o erro é limpo, e
igualmente definitivo: a entrada é recusada com Resource RequestGroup not supported.
Como registrar uma conduta
Há dois caminhos, e os dois gravam uma conduta por chamada, com o conteúdo em note[]:
- Condição, com
verificationStatusigual aprovisional; - Solicitação de serviço, com
intentigual aproposal.
Cada página tem o exemplo e as regras — inclusive o efeito colateral de criar um atendimento quando você não informa um. Escolha um dos dois: gravar a mesma conduta pelos dois cria registros diferentes.
A conduta que você grava não aparece aqui na hora. Este recurso é produzido a partir do
atendimento, e escrever uma conduta não regrava o atendimento. A conduta nova só entra em
action[] na próxima vez que o atendimento em si for salvo.
Para ler de volta o que você acabou de gravar, leia a Condição — ela é atualizada na hora. Vale o mesmo para conduta acrescentada, editada ou removida pela equipe no Nilo Care sem tocar no atendimento.
A mesma conduta em dois lugares, com formatos diferentes
Cada conduta aparece duas vezes nesta API, e o texto não vem igual nas duas:
Se você processa o texto da conduta, escolha um dos dois e fique com ele. Somar os dois duplica o conteúdo, e compará-los caractere a caractere não funciona — a divisão em linhas é justamente o que difere.
“O recurso próprio da conduta” não é sempre a Condição. Quem decide é o desfecho do
atendimento: num atendimento de sugestão terapêutica a conduta sai como pedido de serviço, e
num de resultado de exame sai como procedimento. Nos dois casos não existe Condition
correspondente, e uma busca de condições por verification-status=provisional não encontra
essas condutas.
O RequestGroup, esse, é sempre o mesmo, qualquer que seja o desfecho: uma entrada por conduta
com texto, sem distinção de tipo. Se você precisa do inventário completo das condutas de um
atendimento, é por aqui — não pela Condição.
Buscar
A resposta é sempre um Bundle do tipo searchset:
Busca sem resultados não é erro: volta 200 com um Bundle cujo entry é uma lista vazia.
Trate a ausência de resultados pela lista vazia, não esperando um 404.
Parâmetros de busca suportados
encounter:identifier é a busca mais direta desta página: um atendimento tem no máximo um
recurso de conduta, e é o mesmo identificador que você já usa para ler o atendimento.
Só a forma :identifier funciona neste recurso. As referências são gravadas sem o campo
reference — só com identifier e type —, e a busca por referência sem o modificador
procura justamente em reference. Por isso patient=Patient/{id}, subject=… e
encounter=Encounter/{id} devolvem Bundle vazio, não erro. É a mesma situação da
avaliação clínica.
Qual identificador o subject carrega é decidido referência a referência, não de uma vez
por implantação. Na configuração que usa identificadores externos, cada referência sai com o
identificador do seu sistema se o recurso apontado tiver um; se não tiver, cai
silenciosamente no identificador Nilo. Confira o que veio na resposta antes de montar a busca
em volume — vale para subject e para encounter.
O identifier do próprio recurso é a exceção: ele nunca depende da implantação e nunca é o
seu. É sempre o identificador Nilo do atendimento de origem, no system
…/NamingSystem/care-api--appointment-v3 — o mesmo valor que aparece nos identificadores do
atendimento correspondente. Para chegar às condutas a partir da
sua própria chave, o caminho é encounter:identifier, não identifier.
Recursos de atendimentos antigos podem trazer também um identificador no system
…/NamingSystem/care-api--appointment, sem o -v3. É o mesmo atendimento.
Vários parâmetros canônicos do RequestGroup existem e não encontram nada aqui, porque a
plataforma não preenche o campo correspondente: author, authored, code, group-identifier,
instantiates-canonical, instantiates-uri, participant e priority.
Não há como buscar pelo texto de uma conduta: action[].description não tem parâmetro de
busca no FHIR R4.
A paginação é por _count e _page_token; havendo página seguinte, o Bundle traz a URL
pronta em link.
Ler por ID
Diferente da busca, esta leitura não devolve um Bundle — mas também não devolve o recurso
nu. A resposta é um envelope com fullUrl, search e resource, e as condutas estão em
resource. Ler action na raiz da resposta não encontra nada.
A leitura por ID responde 404 quando o id não existe — inclusive quando o atendimento de
origem foi apagado no Nilo Care. Se você guarda o conteúdo, guarde o conteúdo, não o id.
Quando as condutas ficam disponíveis
As condutas são sincronizadas logo depois do atendimento, mas não no mesmo instante: gravar ou atualizar um atendimento e ler as condutas dele em seguida pode não encontrar nada ainda. Se o seu fluxo é escrever um atendimento e ler as condutas dele, reconsulte em vez de tratar a primeira resposta vazia como definitiva.
A ordem é essa mesma: o atendimento é gravado primeiro e as condutas depois. Se a gravação do atendimento falhar, o recurso de conduta não chega a existir — não há conduta órfã de um atendimento que não foi gravado.
O que a integração não cobre
Não há escrita neste recurso, e três dados que a plataforma guarda não têm campo aqui:
- quem escreveu cada conduta;
- quando cada conduta foi escrita — só a data de gravação do recurso inteiro, em
meta; - a distinção entre os tipos de conduta, que existe na Condição correspondente e some aqui.
Para o atendimento em si, veja Atendimentos; para a entrevista clínica e o exame físico do mesmo atendimento, Avaliação clínica; para os diagnósticos e para a escrita de conduta, Condição.

