Cadastrar/atualizar
Endpoint | POST /fhir/resources/ |
---|---|
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 |
abatementDateTime | string^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-... Momento estimado ou real em que a condição terminou. |
clinicalStatus | string Enum: "active" "recurrence" "relapse" "inactive" "remission" "resolved" 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. |
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. | |
onsetDateTime | string^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-... Momento estimado ou real em que a condição começou. |
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 possuí a condição. |
object Enum: "unconfirmed" "provisional" "differential" "confirmed" "refuted" "entered-in-error" A situação de verificação do estado da condição. |
{- "abatementDateTime": "2022-05-25T18:42:06+00:00",
- "clinicalStatus": "active",
- "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."
}, - "onsetDateTime": "2022-05-25T18:42:06+00:00",
- "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": "confirmed"
}
Exemplos CURL
Criar conduta
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Condition \
--header 'Content-Type: application/json' \
--header 'x-api-key: ???' \
--data '{
"identifier": [
{
"system": "https://sistemacliente.com.br/fhir/Condition",
"use": "usual",
"value": "123"
}
],
"subject": {
"identifier": {
"system": "https://sistemacliente.com.br/fhir/Patient",
"value": "456"
},
"type": "Patient"
},
"encounter": {
"identifier": {
"system": "https://sistemacliente.com.br/fhir/Encounter",
"value": "16400"
},
"type": "Encounter"
},
"note": [
{
"text": "Aqui vai a nota"
},
{
"text": "Aqui vai outra nota"
}
],
"resourceType": "Condition",
"verificationStatus": {
"coding": [
{
"code": "provisional",
"system": "http://terminology.hl7.org/CodeSystem/condition-ver-status",
"display": "provisional"
}
]
}
}'
Bundle para criar Atendimento e Conduta na mesma Request
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Bundle \
--header 'Content-Type: application/json' \
--header 'x-api-key: ???' \
--data '{
"resourceType": "Bundle",
"type": "transaction",
"entry": [
{
"fullUrl": "urn:uuid:813f7b4e-c6f1-4af4-878a-3072fef1d520",
"resource": {
"class": {
"code": "VR",
"display": "virtual",
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
},
"identifier": [
{
"system": "https://sistemacliente.com.br/fhir/Encounter",
"use": "usual",
"value": "16400"
}
],
"participant": [
{
"individual": {
"identifier": {
"system": "https://sistemacliente.com.br/fhir/Practitioner",
"use": "usual",
"value": "82944"
},
"type": "Practitioner"
},
"type": [
{
"coding": [
{
"code": "ATND",
"display": "attender",
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
}
],
"text": "attender"
}
]
}
],
"resourceType": "Encounter",
"status": "finished",
"subject": {
"identifier": {
"system": "https://sistemacliente.com.br/fhir/Patient",
"use": "usual",
"value": "456"
},
"type": "Patient"
}
},
"request": {
"method": "POST",
"url": "Encounter"
}
},
{
"fullUrl": "urn:uuid:8a5a8983-d90f-4a03-b7ec-673bcb556e11",
"resource": {
"identifier": [
{
"system": "https://sistemacliente.com.br/fhir/Condition",
"use": "usual",
"value": "123"
}
],
"subject": {
"identifier": {
"system": "https://sistemacliente.com.br/fhir/Patient",
"value": "456"
},
"type": "Patient"
},
"encounter": {
"identifier": {
"system": "https://sistemacliente.com.br/fhir/Encounter",
"value": "16400"
},
"type": "Encounter"
},
"note": [
{
"text": "Aqui vai a nota"
},
{
"text": "Aqui vai outra nota"
}
],
"resourceType": "Condition",
"verificationStatus": {
"coding": [
{
"code": "provisional",
"system": "http://terminology.hl7.org/CodeSystem/condition-ver-status",
"display": "provisional"
}
]
}
},
"request": {
"method": "POST",
"url": "Condition"
}
}
]
}'
- O Bundle é um recurso FHIR que permite agrupar múltiplos recursos em uma única requisição.
- Ele é útil para criar ou atualizar vários recursos relacionados de uma só vez, como um Atendimento e suas Condutas associadas.
- Observe que o
identifier
emencounter.identifier
deCondition
é o mesmoidentifier
doEncounter
no Bundle.
Possíveis erros
Os erros são retornados no formato OperationOutcome
.
Exemplo:
{
"issue": [
{
"code": "structure",
"details": {
"text": "Encounter not found"
},
"severity": "error",
"expression": [
"Condition.encounter"
]
}
],
"resourceType": "OperationOutcome"
}
Os principais campos são:
details
: Descrição do erro.expression
: Caminho do recurso onde o erro ocorreu.
Erros conhecidos
Patient does not exist
Encounter's patient does not match the resource's patient
Encounter not found
Modelagem da API - Response
- ✔ 200
- ✘ 400
- ✘ 500
object Atendimento onde a condição foi identificada. | |
required | Array of objects (Identifier) Identificador(es) pelo qual este recurso é distinguido. |
Array of objects (Annotation) Condutas e orientações para o atendimento. | |
resourceType required | string Default: "Condition" Indica o tipo do recurso transacionado. |
required | object Paciente que possui a condição. |
required | object Value: "provisional" A situação de verificação do estado da condição. |
{- "encounter": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Encounter"
}, - "identifier": [
- {
- "system": "{host}/fhir/resources/NamingSystem/hippocrates-api--model-name",
- "use": "usual",
- "value": "12345"
}
], - "note": {
- "text": "Sintomas de dor e cansaço."
}, - "resourceType": "Condition",
- "subject": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/...unit",
- "use": "usual",
- "value": "12345"
}, - "type": "Patient"
}, - "verificationStatus": "provisional"
}
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"
}