Cadastrar/atualizar
| Endpoint | POST /fhir/resources/Condition |
|---|---|
| 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 | ||||||
object Situação da condição. | |
object Identificação da condição, problema ou diagnóstico. | |
object Encontro onde a condição foi identificada. | |
| 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. |
object (Meta) Os metadados sobre um recurso. Este conteúdo do recurso é normalmente mantido pelo sistema gestor do registro. | |
Array of objects (Annotation) Informações adicionais sobre a Condição. | |
| recordedDate | string^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-... Momento em que a condição foi registrada. |
object Quem registrou a condição. | |
| resourceType required | string Default: "Condition" Indica o tipo do recurso transacionado. |
required | object Paciente que possui a condição. |
object A situação de verificação do estado da condição. |
{- "clinicalStatus": {
- "coding": [
- {
- "code": "resolved"
}
], - "text": "resolved"
}, - "code": {
- "text": "Cefaléia"
}, - "encounter": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Encounter"
}, - "id": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81",
- "identifier": [
- {
- "system": "{host}/fhir/resources/NamingSystem/hippocrates-api--model-name",
- "use": "usual",
- "value": "12345"
}
], - "meta": {
- "lastUpdated": "2022-05-25T18:42:06.551129+00:00",
- "versionId": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81"
}, - "note": {
- "authorReference": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...ional",
- "use": "usual",
- "value": "34743544644"
}, - "type": "Practitioner"
}, - "text": "Sintomas de dor e cançasso."
}, - "recordedDate": "2022-05-25T18:42:06+00:00",
- "recorder": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Practitioner"
}, - "resourceType": "Condition",
- "subject": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Patient"
}, - "verificationStatus": {
- "coding": [
- {
- "code": "confirmed"
}
], - "text": "confirmed"
}
}Exemplos CURL
Criar evento clínico (Condition)
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Condition \
--header 'Content-Type: application/json' \
--header 'x-api-key: <inserir API Key aqui>' \
--data '{
"resourceType": "Condition",
"identifier": [
{
"system": "https://www.acmesaude.com.br/integracao/condition",
"use": "usual",
"value": "55123"
}
],
"category": [
{
"coding": [
{
"system": "https://landing-zone-api.nilo.services/fhir/resources/CodeSystem/condition-category",
"code": "event"
}
]
}
],
"code": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/icd-10",
"code": "I10",
"display": "Hipertensão essencial"
}
],
"text": "Hipertensão essencial"
},
"subject": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/paciente",
"value": "456"
},
"type": "Patient"
},
"recorder": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/profissional",
"value": "82944"
},
"type": "Practitioner"
},
"onsetDateTime": "2025-01-15"
}'
A informação do evento clínico só será exibida no NiloCare quando a Condition estiver referenciada no campo diagnosis de um Encounter.
O campo diagnosis deve referenciar exclusivamente Encounters dos tipos:
- Hospitalização —
class.code: "IMP"(ver Eventos › Hospitalização) - Pronto Atendimento —
class.code: "EMER"(ver Eventos › Pronto Atendimento)
Para criar a Condition e vinculá-la a um Encounter em uma única requisição, utilize um Bundle conforme o exemplo abaixo.
Bundle para criar Condition e Evento na mesma requisição
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": "55123"
}
],
"category": [
{
"coding": [
{
"system": "https://landing-zone-api.nilo.services/fhir/resources/CodeSystem/condition-category",
"code": "event"
}
]
}
],
"code": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/icd-10",
"code": "I10",
"display": "Hipertensão essencial"
}
],
"text": "Hipertensão essencial"
},
"subject": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/paciente",
"value": "456"
},
"type": "Patient"
},
"recorder": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/profissional",
"value": "82944"
},
"type": "Practitioner"
},
"onsetDateTime": "2025-01-15"
},
"request": {
"method": "POST",
"url": "Condition"
}
},
{
"fullUrl": "urn:uuid:923f7b4e-c6f1-4af4-878a-3072fef1d522",
"resource": {
"resourceType": "Encounter",
"identifier": [
{
"system": "https://www.acmesaude.com.br/integracao/evento",
"use": "usual",
"value": "1126"
}
],
"status": "finished",
"class": {
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code": "IMP",
"display": "inpatient encounter"
},
"subject": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/paciente",
"use": "usual",
"value": "456"
},
"type": "Patient"
},
"participant": [
{
"individual": {
"identifier": {
"system": "https://www.acmesaude.com.br/integracao/profissional",
"value": "82944"
},
"type": "Practitioner"
}
}
],
"period": {
"start": "2025-01-15T08:00:00+00:00",
"end": "2025-01-17T16:00:00+00:00"
},
"diagnosis": [
{
"condition": {
"reference": "urn:uuid:813f7b4e-c6f1-4af4-878a-3072fef1d521",
"type": "Condition"
}
}
]
},
"request": {
"method": "POST",
"url": "Encounter"
}
}
]
}'
Note que o campo diagnosis do Encounter referencia a Condition criada no mesmo Bundle através do campo fullUrl.
O backend identifica o tipo do recurso pelo campo category:
- O código
event(sistema Nilo) indica que o recurso será persistido como Condition (evento clínico). - A associação com o Encounter pode ser feita via
Encounter.diagnosis[].condition(no Bundle) ou viaCondition.encounterdiretamente na Condition.
Possíveis erros
Os erros são retornados no formato OperationOutcome.
Exemplo:
{
"issue": [
{
"code": "structure",
"details": {
"text": "Patient not found"
},
"severity": "error",
"expression": [
"Condition.subject"
]
}
],
"resourceType": "OperationOutcome"
}
Os principais campos são:
details: Descrição do erro.expression: Caminho do recurso onde o erro ocorreu.
Erros conhecidos
Patient not found
Recorder not found
Diagnosis not found
Modelagem da API - Response
- ✔ 200
- ✘ 400
- ✘ 500
object Situação da condição. | |
object Identificação da condição, problema ou diagnóstico. | |
object Encontro onde a condição foi identificada. | |
| 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. |
object (Meta) Os metadados sobre um recurso. Este conteúdo do recurso é normalmente mantido pelo sistema gestor do registro. | |
Array of objects (Annotation) Informações adicionais sobre a Condição. | |
| recordedDate | string^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-... Momento em que a condição foi registrada. |
object Quem registrou a condição. | |
| resourceType required | string Default: "Condition" Indica o tipo do recurso transacionado. |
required | object Paciente que possui a condição. |
object A situação de verificação do estado da condição. |
{- "clinicalStatus": {
- "coding": [
- {
- "code": "resolved"
}
], - "text": "resolved"
}, - "code": {
- "text": "Cefaléia"
}, - "encounter": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Encounter"
}, - "id": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81",
- "identifier": [
- {
- "system": "{host}/fhir/resources/NamingSystem/hippocrates-api--model-name",
- "use": "usual",
- "value": "12345"
}
], - "meta": {
- "lastUpdated": "2022-05-25T18:42:06.551129+00:00",
- "versionId": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81"
}, - "note": {
- "authorReference": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...ional",
- "use": "usual",
- "value": "34743544644"
}, - "type": "Practitioner"
}, - "text": "Sintomas de dor e cançasso."
}, - "recordedDate": "2022-05-25T18:42:06+00:00",
- "recorder": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Practitioner"
}, - "resourceType": "Condition",
- "subject": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Patient"
}, - "verificationStatus": {
- "coding": [
- {
- "code": "confirmed"
}
], - "text": "confirmed"
}
}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"
}