Cadastrar/Atualizar
| Endpoint | POST /fhir/resources/Encounter |
|---|---|
| Autenticação | 🔓 Chave de API |
| Status | Implementado |
Modelagem da API - Request
- Headers
- Body
| Opção | Tipo | Requerido | Descrição | Exemplo | |||||
|---|---|---|---|---|---|---|---|---|---|
| x-api-key | string | Sim | Chave de autenticação do cliente, fornecida durante a configuração do ambiente. | ||||||
| Content-Type | string | Sim | application/json | ||||||
required | object Classificação do encontro. |
| id | string (id) ^[A-Za-z0-9\-\.]{{1,64}}$ Qualquer combinação de letras, números, "-" e ".", com um limite de 64 caracteres. (Pode ser um número inteiro, um OID não prefixado, UUID ou qualquer outro padrão de identificador que atenda a essas restrições.) Os IDs não diferenciam maiúsculas de minúsculas. |
required | Array of objects (Identifier) Identificador(es) pelo qual este recurso é distinguido. |
Array of objects (Encounter_Location) Lista de locais onde o paciente esteve durante este encontro. | |
object (Meta) Os metadados sobre um recurso. Este conteúdo do recurso é normalmente mantido pelo sistema gestor do registro. | |
required | Array of objects (Encounter_Participant) A lista de pessoas responsáveis pela prestação do serviço. |
object A hora de início e fim do encontro. | |
| resourceType required | string Default: "Encounter" Indica o tipo do recurso transacionado. |
object A organização (instalação) responsável por este encontro | |
| status | string Enum: "planned" "arrived" "triaged" "in-progress" "onleave" "finished" "cancelled" "entered-in-error" "unknown" Situação atual desse encontro. |
required | object O paciente presente no encontro. |
{- "class": {
- "code": "EMER",
- "display": "emergency",
}, - "id": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81",
- "identifier": [
- {
- "system": "{host}/fhir/resources/NamingSystem/hippocrates-api--model-name",
- "use": "usual",
- "value": "12345"
}
], - "location": [
- {
- "location": {
- "display": "Virtual Appointment"
}
}
], - "meta": {
- "lastUpdated": "2022-05-25T18:42:06.551129+00:00",
- "versionId": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81"
}, - "participant": [
- {
- "individual": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Practitioner"
}, - "type": [
- {
- "coding": [
- {
- "code": "ATND",
- "display": "attender",
}
], - "text": "attender"
}
]
}
], - "period": {
- "end": "2022-05-23T19:00:00+00:00",
- "start": "2022-05-23T19:00:00+00:00"
}, - "resourceType": "Encounter",
- "serviceProvider": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/sorting-hat-api--care-unit",
- "use": "usual",
- "value": "4"
}, - "type": "Organization"
}, - "status": "finished",
- "subject": {
- "type": "Patient"
}
}Exemplos de Requisições
Dados básicos
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Encounter \
--header 'Content-Type: application/json' \
--header 'x-api-key: <inserir API Key aqui>' \
--data '{
"class": {
"code": "EMER",
"display": "emergency encounter",
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
},
"identifier": [
{
"system": "https://www.acmesaude.com.br/integracao/hospitalizacao",
"use": "usual",
"value": "1126"
}
],
"location": [
{
"display": "Clínica de Exemplo"
}
],
"participant": [
{
"individual": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/profissional",
"value": "10162"
},
"type": "Practitioner"
}
}
],
"period": {
"end": "2015-01-17T16:30:00+00:00",
"start": "2015-01-17T16:00:00+00:00"
},
"resourceType": "Encounter",
"status": "finished",
"subject": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/paciente",
"use": "usual",
"value": "440623"
},
"type": "Patient"
}
}'
A resposta será o recurso criado com seu respectivo ID. Exemplo:
{
"class": {
"code": "EMER",
"display": "emergency encounter",
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
},
"identifier": [
{
"system": "https://www.acmesaude.com.br/integracao/hospitalizacao",
"use": "usual",
"value": "1126"
}
],
"location": [
{
"display": "Clínica de Exemplo"
}
],
"participant": [
{
"individual": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/profissional",
"value": "10162"
},
"type": "Practitioner"
}
}
],
"period": {
"end": "2015-01-17T16:30:00+00:00",
"start": "2015-01-17T16:00:00+00:00"
},
"resourceType": "Encounter",
"status": "finished",
"subject": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/paciente",
"use": "usual",
"value": "440623"
},
"type": "Patient"
},
"id": "1268435b-5ae5-499c-bd75-635252d67901"
}
Adicionando diagnóstico - CID (Condition)
Para associar um pronto atendimento a um diagnóstico (Condition), é necessário enviar ambos os recursos em um Bundle, conforme o exemplo a seguir:
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Bundle \
--header 'Content-Type: application/json' \
--header 'x-api-key: <inserir API Key aqui>' \
--data '{
"resourceType": "Bundle",
"type": "transaction",
"entry": [
{
"fullUrl": "urn:uuid:813f7b4e-c6f1-4af4-878a-3072fef1d521",
"resource": {
"resourceType": "Condition",
"identifier": [
{
"system": "https://www.acmesaude.com.br/integracao/condition/",
"use": "usual",
"value": "89232"
}
],
"subject": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/paciente/",
"value": "440623"
}
},
"code": {
"coding": [
{
"code": "R06.7",
"system": "http://hl7.org/fhir/sid/icd-10"
}
]
},
"category": [
{
"coding": [
{
"code": "event",
"system": "https://landing-zone-api.nilo.services/fhir/resources/CodeSystem/condition-category"
}
]
}
],
"recorder": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/profissional/",
"value": "5032932"
},
"type": "Practitioner"
}
},
"request": {
"method": "POST",
"url": "Condition"
}
},
{
"fullUrl": "urn:uuid:923f7b4e-c6f1-4af4-878a-3072fef1d522",
"resource": {
"class": {
"code": "EMER",
"display": "emergency encounter",
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
},
"diagnosis": [
{
"condition": {
"reference": "urn:uuid:813f7b4e-c6f1-4af4-878a-3072fef1d521",
"type": "Condition"
}
}
],
"identifier": [
{
"system": "https://www.acmesaude.com.br/integracao/hospitalizacao",
"use": "usual",
"value": "1126"
}
],
"location": [
{
"display": "Clínica de Exemplo"
}
],
"participant": [
{
"individual": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/profissional",
"value": "10162"
},
"type": "Practitioner"
}
}
],
"period": {
"end": "2015-01-17T16:30:00+00:00",
"start": "2015-01-17T16:00:00+00:00"
},
"resourceType": "Encounter",
"status": "finished",
"subject": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/paciente",
"use": "usual",
"value": "440623"
},
"type": "Patient"
}
},
"request": {
"method": "POST",
"url": "Encounter"
}
}
]
}'
Note que o campo diagnosis do recurso Encounter referencia o Condition criado no mesmo Bundle através do campo fullUrl.
A resposta será um Bundle com os dois recursos criados e seus locations (recurso/ID).
Exemplo:
{
"entry": [
{
"response": {
"location": "Condition/c61b5f58-32b0-477b-b75a-54e306952082",
"status": "200 OK"
}
},
{
"response": {
"location": "Encounter/1268435b-5ae5-499c-bd75-635252d67901",
"status": "200 OK"
}
}
],
"id": "c7a06cb3-bf96-4234-bf19-a1e0dfa06ac7",
"meta": {
"lastUpdated": "2025-12-18T21:11:20.265367+00:00",
"versionId": "MTc2NjA5MjI4MDI2NTM2NzAwMA"
},
"resourceType": "Bundle",
"type": "batch-response"
}
Para criar um Encounter sem diagnóstico utilizando Bundle, remova o recurso Condition do array entry e omita o campo diagnosis do Encounter.
Modelagem da API - Response
- ✔ 200
- ✘ 400
- ✘ 500
required | object Classificação do encontro. |
| id | string (id) ^[A-Za-z0-9\-\.]{{1,64}}$ Qualquer combinação de letras, números, "-" e ".", com um limite de 64 caracteres. (Pode ser um número inteiro, um OID não prefixado, UUID ou qualquer outro padrão de identificador que atenda a essas restrições.) Os IDs não diferenciam maiúsculas de minúsculas. |
required | Array of objects (Identifier) Identificador(es) pelo qual este recurso é distinguido. |
Array of objects (Encounter_Location) Lista de locais onde o paciente esteve durante este encontro. | |
object (Meta) Os metadados sobre um recurso. Este conteúdo do recurso é normalmente mantido pelo sistema gestor do registro. | |
required | Array of objects (Encounter_Participant) A lista de pessoas responsáveis pela prestação do serviço. |
object A hora de início e fim do encontro. | |
| resourceType required | string Default: "Encounter" Indica o tipo do recurso transacionado. |
object A organização (instalação) responsável por este encontro | |
| status | string Enum: "planned" "arrived" "triaged" "in-progress" "onleave" "finished" "cancelled" "entered-in-error" "unknown" Situação atual desse encontro. |
required | object O paciente presente no encontro. |
{- "class": {
- "code": "EMER",
- "display": "emergency",
}, - "id": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81",
- "identifier": [
- {
- "system": "{host}/fhir/resources/NamingSystem/hippocrates-api--model-name",
- "use": "usual",
- "value": "12345"
}
], - "location": [
- {
- "location": {
- "display": "Virtual Appointment"
}
}
], - "meta": {
- "lastUpdated": "2022-05-25T18:42:06.551129+00:00",
- "versionId": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81"
}, - "participant": [
- {
- "individual": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Practitioner"
}, - "type": [
- {
- "coding": [
- {
- "code": "ATND",
- "display": "attender",
}
], - "text": "attender"
}
]
}
], - "period": {
- "end": "2022-05-23T19:00:00+00:00",
- "start": "2022-05-23T19:00:00+00:00"
}, - "resourceType": "Encounter",
- "serviceProvider": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/sorting-hat-api--care-unit",
- "use": "usual",
- "value": "4"
}, - "type": "Organization"
}, - "status": "finished",
- "subject": {
- "type": "Patient"
}
}required | Array of objects Uma coleção de mensagens de erro, aviso ou informação que resultado de uma ação do sistema. |
| resourceType required | string Default: "OperationOutcome" Indica o tipo do recurso transacionado. |
{- "issue": [
- {
- "code": "exception",
- "details": {
- "text": "Parâmetro enviado inválido"
}, - "severity": "error"
}
], - "resourceType": "OperationOutcome"
}