Partilhar via


Tudo sobre Pacientes no FHIR

Importante

A API do Azure para FHIR será desativada em 30 de setembro de 2026. Siga as estratégias de migração para fazer a transição para o serviço FHIR® dos Serviços de Dados de Saúde do Azure até essa data. Devido à desativação da API do Azure para FHIR, novas implantações de clientes não serão permitidas a partir de 1º de abril de 2025. O serviço FHIR dos Serviços de Dados de Saúde do Azure é a versão evoluída da API do Azure para FHIR que permite aos clientes gerir serviços FHIR, DICOM e MedTech com integrações noutros serviços do Azure.

A operação Patient-everything é usada para fornecer uma visão de todos os recursos relacionados a um paciente. Esta operação pode ser útil para dar aos pacientes acesso a todo o seu registro ou para um provedor ou outro usuário para realizar um download de dados em massa relacionados a um paciente. De acordo com a especificação FHIR, Patient-everything retorna todas as informações relacionadas a um ou mais pacientes descritos no recurso ou contexto em que esta operação é invocada. Na API do Azure para FHIR® está disponível o Patient-everything para obter dados relacionados a um paciente específico.

Use o Paciente-tudo

Para chamar Patient-everything, use o seguinte comando.

GET {FHIRURL}/Patient/{ID}/$everything

Observação

Você deve especificar um ID para um paciente específico. Se necessitar de todos os dados relativos a todos os doentes, consulte $export.

A API do Azure para FHIR valida que consegue encontrar o paciente que corresponde à identificação do paciente fornecida. Se for encontrado um resultado, a resposta é um pacote do tipo searchset com as seguintes informações.

  • Recursos do paciente
  • Recursos referenciados diretamente pelo recurso do paciente, exceto referências de link que não sejam do tipo seealso ou se as referências de link apontarem para um seealsoRelatedPerson.
  • Se houver seealso referências de ligação para outros pacientes, os resultados incluem todas as operações relacionadas aos pacientes listados seealso.
  • Recursos no compartimento do paciente
  • Recursos do dispositivo que fazem referência ao recurso do paciente.

Observação

Se o paciente tiver mais de 100 dispositivos ligados a eles, apenas 100 serão devolvidos.

Parâmetros abrangentes do paciente

A API do Azure para FHIR dá suporte aos seguintes parâmetros de consulta. Todos esses parâmetros são opcionais.

Parâmetro de consulta Descrição
_tipo Permite especificar quais tipos de recursos devem ser incluídos na resposta. Por exemplo, _type=Encounter devolveria apenas Encounter recursos associados ao paciente.
_desde Retorna apenas recursos que foram modificados desde o tempo fornecido.
Início A especificação da data de início atrairá recursos onde a data clínica for posterior à data de início especificada. Se nenhuma data de início for fornecida, todos os registros antes da data de término estarão no escopo.
fim A especificação da data de término atrai recursos em que a data clínica é anterior à data de término especificada. Se nenhuma data de término for fornecida, todos os registros após a data de início estarão no escopo.

Observação

Esta implementação de Patient-everything não suporta o _count parâmetro.

Em um recurso do paciente, há um elemento chamado link, que liga um paciente a outros pacientes ou pessoas relacionadas. Estes pacientes ligados ajudam a dar uma visão holística do paciente original. A referência de link pode ser usada quando um paciente está substituindo outro paciente ou quando dois recursos do paciente têm informações complementares. Um exemplo de aplicação para links é quando uma mensagem HL7v2 do tipo ADT 38 ou 39 chega. O ADT38/39 descreve uma atualização sobre um paciente. Esta atualização pode ser armazenada como uma referência entre dois pacientes no elemento link.

A especificação FHIR tem uma visão geral detalhada dos diferentes tipos de vínculos de pacientes. A lista a seguir é um resumo de alto nível.

  • substitui - O recurso Paciente substitui um Paciente diferente.
  • Referenciar - O paciente é válido, mas não é considerado a principal fonte de informação. Aponta para outro paciente para recuperar informações adicionais.
  • seealso - Paciente contém um link para outro paciente que é igualmente válido.
  • substituído por - O recurso Paciente substitui um Paciente diferente.

A operação Paciente-tudo na API do Azure para FHIR processa links de pacientes de diferentes maneiras para oferecer a visão mais holística do paciente.

Observação

Um link também pode fazer referência a um RelatedPersonarquivo . Atualmente, RelatedPerson os recursos não são processados em Patient-everything e não são incluídos no pacote.

Atualmente, os links de substituição e referência são ignorados pela operação Paciente-tudo, e o paciente vinculado não é retornado no conjunto.

Como descrito, seealso refere-se a outro paciente que é considerado igualmente válido ao original. Depois que a operação Patient-everything é executada, se o paciente tiver seealso links com outros pacientes, a operação executa Patient-everything em cada seealso link. Isso significa que, se um paciente se conectar a outros cinco pacientes com um link de tipo seealso , o Patient-everything será executado em cada um desses cinco pacientes.

Observação

Isso é configurado para seguir seealso apenas links com uma camada de profundidade. Ele não processa os seealso links de um seealso link.

Ver também fluxograma.

O tipo de link final é substituído por. Neste caso, o recurso original do paciente não está mais sendo usado e o replaced-by link aponta para o paciente que deve ser usado. Esta implementação de Patient-everything incluirá, por padrão, um resultado de operação no início do pacote, com um aviso de que o paciente já não é válido. Este também será o comportamento quando o Prefer cabeçalho estiver definido como handling=lenient.

Como alternativa, pode configurar o cabeçalho Prefer para handling=strict, de modo a lançar um erro. Nesse caso, um retorno do código de erro 301 MovedPermanently indica que o paciente atual está desatualizado e retorna o ID do paciente correto incluído no link. O ContentLocation cabeçalho do erro retornado aponta para a solicitação de data correta e up-to.

Observação

Se um replaced-by link estiver presente Prefer: handling=lenient e os resultados forem retornados de forma assíncrona em vários pacotes, somente um resultado de operação será retornado em um pacote.

Ordem de resposta abrangente ao paciente

A operação Paciente-tudo retorna os resultados em fases.

  1. A fase 1 retorna o próprio recurso Patient além de quaisquer recursos generalPractitioner e managingOrganization ou referências.
  2. As fases 2 e 3 devolvem recursos no compartimento do paciente. Se os parâmetros de consulta inicial ou final forem especificados, a Fase 2 retornará recursos do compartimento que podem ser filtrados por sua data clínica e a Fase 3 retornará recursos do compartimento que não podem ser filtrados por sua data clínica. Se nenhum desses parâmetros for especificado, a Fase 2 será ignorada e a Fase 3 retornará todos os recursos do compartimento do paciente.
  3. A fase 4 devolve todos os dispositivos que referenciam o paciente.

Cada fase retorna resultados em um pacote. Se os resultados se estenderem por várias páginas, o próximo link no pacote apontará para a próxima página de resultados dessa fase. Depois que todos os resultados de uma fase forem retornados, o próximo link no pacote apontará para a chamada para iniciar a próxima fase.

Se o paciente original tiver alguma seealso ligação, as fases 1 a 4 são repetidas para cada um desses pacientes.

Exemplos de Paciente-tudo

Aqui estão alguns exemplos de usar a operação 'Paciente-tudo'. Além desses exemplos, temos um arquivo REST de exemplo que ilustra como funciona o comportamento seealso e replaced-by.

Para usar Patient-everything para consultar entre 2010 e 2020, utilize a seguinte chamada.

GET {FHIRURL}/Patient/{ID}/$everything?start=2010&end=2020

Para usar $patient-everything para consultar a Observação e o Encontro de um paciente, use a chamada a seguir.

GET {FHIRURL}/Patient/{ID}/$everything?_type=Observation,Encounter 

Para usar $patient-everything para consultar todos os dados de um paciente desde 2021-05-27T05:00:00Z, use a seguinte requisição.

GET {FHIRURL}/Patient/{ID}/$everything?_since=2021-05-27T05:00:00Z 

Se um paciente for encontrado para cada uma dessas chamadas, você receberá de volta uma resposta 200 com um Bundle dos recursos correspondentes.

Próximos passos

Agora que você já sabe como usar a operação Paciente-tudo, você pode aprender sobre as opções de pesquisa.

Observação

FHIR® é uma marca registada da HL7 e é utilizada com a permissão da HL7.