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.