Pular para conteúdo

4 · Worklist do laboratório

Sistema: Lab+ (Laboratório) · Recurso: ServiceRequest (leitura)

O Lab+ não recebe nenhuma mensagem do iSUS APS. A worklist é apenas uma busca FHIR: todo ServiceRequest de categoria laboratorio que ainda esteja active é um pedido pendente.

Leitura — pedidos pendentes

curl 'http://localhost:8080/fhir/ServiceRequest?category=https://demo-cbis.example/fhir/category|laboratorio&status=active&_include=ServiceRequest:subject'

O parâmetro _include=ServiceRequest:subject traz o Patient de cada pedido no mesmo Bundle, evitando uma segunda rodada de buscas para exibir nome e CPF na worklist:

Resposta (Bundle searchset, resumida)
{
  "resourceType": "Bundle",
  "type": "searchset",
  "entry": [
    {
      "search": {"mode": "match"},
      "resource": {
        "resourceType": "ServiceRequest",
        "id": "10",
        "status": "active",
        "code": {"text": "Hemograma completo"},
        "subject": {"reference": "Patient/42"},
        "authoredOn": "2026-09-10T09:35:00-03:00",
        "requester": {"display": "UBS Vila Esperança — iSUS APS"}
      }
    },
    {
      "search": {"mode": "include"},
      "resource": {
        "resourceType": "Patient",
        "id": "42",
        "name": [{"text": "João da Silva"}]
      }
    }
  ]
}

Por que o pedido some da worklist depois

No passo 5, o Lab+ grava o resultado e, na mesma transaction, muda o status do ServiceRequest para completed. Como a busca acima filtra status=active, o pedido desaparece da worklist no instante em que o laudo é publicado — tudo ou nada.