Pular para conteúdo

Convenções

Regras compartilhadas por todos os sistemas da demonstração.

Identificação do cidadão (CPF)

O CPF é o identificador de negócio do Patient, no sistema de identificação próprio da demo:

"identifier": [
  {"system": "https://demo-cbis.example/fhir/cpf", "value": "00000000000"}
]

Busca de paciente por CPF (usada por Lab+, CIMAN, Meu PEP e iSUS APS):

curl 'http://localhost:8080/fhir/Patient?identifier=https://demo-cbis.example/fhir/cpf|00000000000'

Tag de origem (meta.tag)

Todo recurso gravado carrega uma tag que identifica qual sistema o criou, no sistema https://demo-cbis.example/fhir/source-system:

Código Sistema
isus-aps iSUS APS (Atenção Primária)
labmais Lab+ (Laboratório)
ciman CIMAN (Vigilância)
sigo SiGO (Regulação)
maissaude Mais Saúde (Hospital)
meupep Meu PEP (Cidadão)
hubsaude Hub Saúde (Barramento)
"meta": {
  "tag": [
    {
      "system": "https://demo-cbis.example/fhir/source-system",
      "code": "labmais",
      "display": "Lab+"
    }
  ]
}

Duas regras de ouro:

  1. O criador aplica a tag ao gravar o recurso.
  2. Quem atualiza recurso alheio preserva a tag existente — por exemplo, o Lab+ conclui o ServiceRequest criado pelo iSUS APS sem trocar a tag isus-aps. É assim que as linhas do tempo mostram a origem correta de cada evento.

A tag também serve de filtro de busca (_tag):

# Todos os laudos emitidos pelo Lab+
curl 'http://localhost:8080/fhir/DiagnosticReport?_tag=https://demo-cbis.example/fhir/source-system|labmais'

Categorias de pedido (ServiceRequest.category)

O mesmo tipo de recurso, ServiceRequest, transporta dois pedidos diferentes. A categoria (sistema https://demo-cbis.example/fhir/category) separa as filas de trabalho:

Código Significado Quem consome
laboratorio Pedido de exame laboratorial Worklist do Lab+
regulacao Pedido de internação (regulação assistencial) Fila do SiGO

URLs base e headers

Ambiente Base FHIR
Local (Docker Compose) http://localhost:8080/fhir
Publicado http(s)://showcase-fhir.<domínio desta página>/fhir — os exemplos desta documentação são reescritos automaticamente para o domínio em que ela está aberta
  • Escritas: Content-Type: application/fhir+json.
  • Buscas retornam um Bundle do tipo searchset; com _include, os recursos relacionados (por exemplo o Patient de cada pedido) vêm no mesmo Bundle.

Leituras refletem gravações imediatamente

O HAPI da demo roda com HAPI_FHIR_REUSE_CACHED_SEARCH_RESULTS_MILLIS=-1 (cache de busca desligado). Uma gravação aparece na busca seguinte, sem a espera de até 60 s da configuração padrão do HAPI.