Pular para o conteúdo principal

Cadastrar/atualizar

EndpointPOST /fhir/resources/Condition
Autenticação🔓 Chave de API
StatusImplementado

Modelagem da API - Request


OpçãoTipoRequeridoDescriçãoExemplo
x-api-keystringSimChave de autenticação do cliente, fornecida durante a configuração do ambiente.
Content-TypestringSimapplication/json

Exemplos CURL


Criar evento clínico (Condition)

Criar evento clínico

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"
}'

Visibilidade no NiloCare

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:

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

Bundle com Condition e Encounter

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.

Regras de roteamento

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 via Condition.encounter diretamente 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

Paciente não encontrado

Patient not found

Profissional não encontrado

Recorder not found

Código de diagnóstico não encontrado

Diagnosis not found


Modelagem da API - Response


Operação bem sucedida.
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": {
    },
  • "code": {},
  • "encounter": {
    },
  • "id": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81",
  • "identifier": [
    ],
  • "meta": {
    },
  • "note": {
    },
  • "recordedDate": "2022-05-25T18:42:06+00:00",
  • "recorder": {
    },
  • "resourceType": "Condition",
  • "subject": {
    },
  • "verificationStatus": {
    }
}