HL7 PT FHIR Implementation Guide: Example IG Release 1 | STU1, publicado por HL7 Portugal. Este guia não é uma publicação autorizada; é a compilação contínua para a versão 1.0.0 construída pela FHIR (HL7® FHIR® Standard) CI Build. Esta versão é baseada no conteúdo atual de https://github.com/hl7-pt/patient-admin-ig/ e muda regularmente. Veja o Diretório de versões publicadas
Especificação Técnica
O paradigma de comunicação por mensagens FHIR entre os sistemas de informação, segue uma abordagem estruturada e interoperável, garantindo a troca eficiente e segura de dados do utente, nesta IG em particular dados administrativos.
Quando um profissional de saúde interage com o ADT, são gerados eventos que refletem as ações realizadas (nesta IG em concreto a criação de um novo utente, atualização de dados do utente, fusão de 2 registos do mesmo utente, ou alternativamente associação e desassociação de registos de 2 utentes). Estes eventos disparam a criação de mensagens FHIR compatíveis, utilizando o método de messaging, que encapsula os dados nos recursos relacionados, e outros associados ao evento. A mensagem resultante é então enviada para outros sistemas de informação que necessitem desta informação, garantindo sincronização em tempo real e rastreabilidade dos dados.
Este fluxo assegura que os diferentes eventos do sistema sejam comunicados de forma consistente e normalizada. O uso do FHIR permite não apenas a interoperabilidade entre sistemas heterogéneos, mas também uma maior eficiência no processamento e na integração dos dados, promovendo a continuidade e a qualidade do atendimento ao utente.
Todas as mensagens devem ser encapsula num Bundle do tipo message, tendo como primeiro recurso o MessageHeader, seguido do Patient (recurso foco da mensagem para todos os casos desta IG), e os restantes que sejam necessários para representar os dados de forma consistente, de acordo com os perfis desta IG.
Criação de novo Utente
A ocorrência de um evento de criação de novo utente deve ser enviada uma mensagem FHIR.
- MessageHeader (Obrigatório ser o primeiro recurso da lista de recursos encapsulados no bundle)
- MessageHeader.eventCoding = PATIENT_NEW
- MessageHeader.focus = Referencia para o recurso Patient
- Patient
- Os identifiers devem indicar:
- Patient.identifier.use
- Patient.identifier.system
- Patient.identifier.value
- Patient.identifier.type (system e code)
- O nome do Utente deve ser enviado em
- se conhecido (utente identificado):
- Patient.name.family (nome de familia)
- Patient.name.given (primeiro nome e nomes do meio)
- se desconhecido (Utente não identificado)
- Practitioner
- Utilizador que fez os registos de criação (referenciado no MessageHeader.enterer)
- Medico de Familia (referenciado no Patient.generalPractitioner)
- Organization
- Entidade de origem (referenciado no MessageHeader.sender)
- Entidade de destino (referenciado no MessageHeader.destination.receiver)
- Centro de Saúde do Utente (referenciado no Patient.generalPractitioner)
- Coverage
- Referencia o Utente no elemento Coverage.beneficiary
- Referencia uma Entidade Responsável no elemento Coverage.payor
- Notas adicionais sobre Coverage:
- uma cobertura é um instrumento que cobre parcialmente ou totalmente as custas de prestação de cuidados de saúde. Podem existir diferentes tipos de coberturas ou beneficios atribuidos aos utentes.
- utentes beneficiários do SNS tem redução de custos estnado sujeitos apenas ao pagamento de taxas moderadpres, sendo o valor remanescente pago pelo SNS, ou estarem totalmente isentos por determinada condição (ex: insuficiencia economica, excombatentes, entre outros motivos).
- os utentes do SNS podem acumular vários motivos de isenções, o que pode dar origem a vários recursos coverage a referenciarem o mesmo utente.
- Os utentes podem ter coberturas adicionais como subsistemas de saúde, ou planos e/ou seguros de saúde
Atualização de dados do Utente
A ocorrência de um evento de atualização de dados do utente deve ser enviada uma mensagem FHIR.
- MessageHeader (Obrigatório ser o primeiro recurso da lista de recursos encapsulados no bundle)
- MessageHeader.eventCoding = PATIENT_UPDATE
- MessageHeader.focus = Referencia para o recurso Patient
- Patient
- Os identifiers devem indicar:
- Patient.identifier.use
- Patient.identifier.system
- Patient.identifier.value
- Patient.identifier.type (system e code)
- O nome do Utente deve ser enviado em
- se conhecido (utente identificado):
- Patient.name.family (nome de familia)
- Patient.name.given (primeiro nome e nomes do meio)
- se desconhecido (Utente não identificado)
- Practitioner
- Utilizador que fez os registos de criação (referenciado no MessageHeader.enterer)
- Medico de Familia (referenciado no Patient.generalPractitioner)
- Organization
- Entidade de origem (referenciado no MessageHeader.sender)
- Entidade de destino (referenciado no MessageHeader.destination.receiver)
- Centro de Saúde do Utente (referenciado no Patient.generalPractitioner)
- Coverage
- Referencia o Utente no Coverage.beneficiary
Fusão de Utentes
Associação de Utentes
Desassociação de Utentes
Mensagem de resposta com resultado aplicacional