Cadastrar/atualizar
Endpoint | POST /fhir/resources/Patient |
---|---|
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 |
active | boolean^true|false$ Se o registro deste paciente está em uso ativo |
Array of objects (Address) O(s) endereço(s) para o indivíduo. | |
birthDate | string^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-... A data de nascimento do indivíduo. |
Array of objects (Patient_Communication) Uma linguagem que pode ser usada para se comunicar com o paciente sobre sua saúde. | |
deceasedBoolean | boolean^true|false$ Indica se o indivíduo é falecido ou não. |
deceasedDateTime | string^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-... A data e hora do falecimento do indivíduo. |
Array of Extension-Patient-cohort (object) or Extension-Patient-cadavericDonor (object) or Extension-Patient-genderIdentity (object) or Extension-Patient-religion (object) or Extension-Patient-isLead (object) or Extension-Patient-sendWelcomingMessage (object) or Extension-Patient-createOnboardingScheduling (object) or Extension-Patient-status (object) Pode ser usado para representar informações adicionais que não fazem parte da definição básica do recurso. Qualquer implementador pode definir uma extensão, aqui apresentamos as extensões utilizadas no contexto Nilo, extensões externas a esse contexto são ignoradas. | |
gender | string Enum: "male" "female" "other" "unknown" O sexo que o paciente é considerado para fins de administração e manutenção de registros. |
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) non-empty Um conjunto de códigos de identificação para este paciente (IDs, CPF, RG, ...). Ao menos um identificador usado como CPF ou identificador externo é obrigatório e deve ser único, as regras de namespace para leitura e escrita são definidas durante a implantação. |
object Organização, departamento ou sub-departamento guardiã do prontuário do paciente. | |
object Estado civil de um paciente | |
object (Meta) Os metadados sobre um recurso. Este conteúdo do recurso é normalmente mantido pelo sistema gestor do registro. | |
Array of objects (HumanName) O(s) nome(s) associado(s) ao paciente. | |
resourceType required | string Default: "Patient" Indica o tipo do recurso transacionado. |
Array of objects (ContactPoint) Um detalhe de contato (por exemplo, um número de telefone ou um endereço de e-mail) por qual o indivíduo pode ser contatado. Atenção: números de telefone sem alta confiança é recomendado enviar com use old ou temp, desse modo não sobrescreverá outros que possam ser mais atualizados. |
{- "active": true,
- "address": [
- {
- "city": "São Paulo",
- "country": "Brazil",
- "line": [
- "534 Erewhon St"
], - "postalCode": "39993-333",
- "state": "SP",
- "text": "534 Erewhon St PeasantVille, Rainbow, Vic 3999",
- "type": "both",
- "use": "home"
}
], - "birthDate": "1974-12-25",
- "communication": {
- "language": {
- "coding": [
- {
- "code": "pt-BR",
- "display": "Portuguese (Brazil)",
- "system": "urn:ietf:bcp:47"
}
]
}, - "preferred": true
}, - "deceasedBoolean": true,
- "deceasedDateTime": "2015-02-07T13:28:17",
- "extension": [
- {
- "valueIdentifier": {
- "system": "{host}/fhir/resources/NamingSystem/care-api--cohort",
- "use": "usual",
- "value": "3579"
}
}
], - "gender": "male",
- "id": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81",
- "identifier": [
- {
- "system": "{host}/fhir/resources/NamingSystem/hippocrates-api--model-name",
- "use": "usual",
- "value": "12345"
}
], - "managingOrganization": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/sorting-hat-api--care-unit",
- "use": "usual",
- "value": "4"
}, - "type": "Organization"
}, - "maritalStatus": {
- "coding": [
- {
- "code": "UNK",
- "display": "unknown",
}
], - "text": "unknown"
}, - "meta": {
- "lastUpdated": "2022-05-25T18:42:06.551129+00:00",
- "versionId": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81"
}, - "name": [
- {
- "family": "Donald",
- "given": [
- "Duck"
], - "text": "Duck Donald",
- "use": "official"
}
], - "resourceType": "Patient",
- "telecom": [
- {
- "system": "phone",
- "use": "mobile",
- "value": "+551155556473"
}
]
}
Exemplos de uso
Criação de Pacientes
Cadastro básico de paciente, somente com nome, telefone. Como o atributo active
não foi especificado, o sistema assumirá que esse paciente está ativo ("active": true
) como valor padrão.
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Patient \
--header 'Content-Type: application/json' \
--header 'x-api-key: <inserir API Key aqui>' \
--data '{
"resourceType": "Patient",
"identifier": [
{
"use": "usual",
"system": "https://www.acmesaude.com.br/integracao/paciente/",
"value": "507823709"
}
],
"name": [
{
"use": "official",
"family": "Silveira",
"given": [
"João"
]
}
],
"telecom": [
{
"system": "phone",
"value": "5521998765432",
"use": "mobile"
}
]
}'
Cadastrar um paciente sem realizar o envio de boas vindas, e com a liberação do agendamento da primeira consulta (onboarding).
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Patient \
--header 'Content-Type: application/json' \
--header 'x-api-key: <inserir API Key aqui>' \
--data '{
"resourceType": "Patient",
"identifier": [
{
"use": "usual",
"system": "https://www.acmesaude.com.br/integracao/paciente/",
"value": "507823709"
}
],
"name": [
{
"use": "official",
"family": "Silveira",
"given": [
"João"
]
}
],
"telecom": [
{
"system": "phone",
"value": "5521998765432",
"use": "mobile"
}
],
"extension": [
{
"url": "https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-sendWelcomingMessage",
"valueBoolean": false
},
{
"url": "https://landing-zone-api.nilo.services/fhir/resources/StructureDefinition/patient-createOnboardingScheduling",
"valueBoolean": true
}
]
}'
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Patient \
--header 'Content-Type: application/json' \
--header 'x-api-key: <inserir API Key aqui>' \
--data '{
"resourceType": "Patient",
"identifier": [
{
"system": "https://servicos.receita.fazenda.gov.br/servicos/cpf/",
"value": "25184714057"
}
],
"name": [
{
"use": "official",
"family": "Silveira",
"given": [
"João"
]
}
],
"telecom": [
{
"system": "phone",
"value": "5521998765432",
"use": "mobile"
}
]
}'
Atualização de Pacientes
Para remover o nome social de um paciente, basta enviar o atributo period
definindo o sub-atributo end
com a data corrente(formato: YYYY-MM-DD
). Dessa maneira o sistema entende que essa informação deve ser removida do cadastro do paciente
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Patient \
--header 'Content-Type: application/json' \
--header 'x-api-key: <inserir API Key aqui>' \
--data '{
"resourceType": "Patient",
"identifier": [
{
"use": "usual",
"system": "https://www.acmesaude.com.br/integracao/paciente/",
"value": "507823709"
}
],
"name": [
{
"use": "official",
"family": "Silveira",
"given": [
"João"
]
},
{
"use": "usual",
"text": "João Silva",
"period": {
"end": "2021-01-01"
}
}
]
}'
curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Patient \
--header 'Content-Type: application/json' \
--header 'x-api-key: <inserir API Key aqui>' \
--data '{
"resourceType": "Patient",
"identifier": [
{
"use": "usual",
"system": "https://www.acmesaude.com.br/integracao/paciente/",
"value": "507823709"
}
],
"active": false
}'
Modelagem da API - Response
- ✔ 200
- ✘ 400
- ✘ 500
active | boolean^true|false$ Se o registro deste paciente está em uso ativo |
Array of objects (Address) O(s) endereço(s) para o indivíduo. | |
birthDate | string^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-... A data de nascimento do indivíduo. |
Array of objects (Patient_Communication) Uma linguagem que pode ser usada para se comunicar com o paciente sobre sua saúde. | |
deceasedBoolean | boolean^true|false$ Indica se o indivíduo é falecido ou não. |
deceasedDateTime | string^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-... A data e hora do falecimento do indivíduo. |
Array of Extension-Patient-cohort (object) or Extension-Patient-cadavericDonor (object) or Extension-Patient-genderIdentity (object) or Extension-Patient-religion (object) or Extension-Patient-isLead (object) or Extension-Patient-sendWelcomingMessage (object) or Extension-Patient-createOnboardingScheduling (object) or Extension-Patient-status (object) Pode ser usado para representar informações adicionais que não fazem parte da definição básica do recurso. Qualquer implementador pode definir uma extensão, aqui apresentamos as extensões utilizadas no contexto Nilo, extensões externas a esse contexto são ignoradas. | |
gender | string Enum: "male" "female" "other" "unknown" O sexo que o paciente é considerado para fins de administração e manutenção de registros. |
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) non-empty Um conjunto de códigos de identificação para este paciente (IDs, CPF, RG, ...). Ao menos um identificador usado como CPF ou identificador externo é obrigatório e deve ser único, as regras de namespace para leitura e escrita são definidas durante a implantação. |
object Organização, departamento ou sub-departamento guardiã do prontuário do paciente. | |
object Estado civil de um paciente | |
object (Meta) Os metadados sobre um recurso. Este conteúdo do recurso é normalmente mantido pelo sistema gestor do registro. | |
Array of objects (HumanName) O(s) nome(s) associado(s) ao paciente. | |
resourceType required | string Default: "Patient" Indica o tipo do recurso transacionado. |
Array of objects (ContactPoint) Um detalhe de contato (por exemplo, um número de telefone ou um endereço de e-mail) por qual o indivíduo pode ser contatado. Atenção: números de telefone sem alta confiança é recomendado enviar com use old ou temp, desse modo não sobrescreverá outros que possam ser mais atualizados. |
{- "active": true,
- "address": [
- {
- "city": "São Paulo",
- "country": "Brazil",
- "line": [
- "534 Erewhon St"
], - "postalCode": "39993-333",
- "state": "SP",
- "text": "534 Erewhon St PeasantVille, Rainbow, Vic 3999",
- "type": "both",
- "use": "home"
}
], - "birthDate": "1974-12-25",
- "communication": {
- "language": {
- "coding": [
- {
- "code": "pt-BR",
- "display": "Portuguese (Brazil)",
- "system": "urn:ietf:bcp:47"
}
]
}, - "preferred": true
}, - "deceasedBoolean": true,
- "deceasedDateTime": "2015-02-07T13:28:17",
- "extension": [
- {
- "valueIdentifier": {
- "system": "{host}/fhir/resources/NamingSystem/care-api--cohort",
- "use": "usual",
- "value": "3579"
}
}
], - "gender": "male",
- "id": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81",
- "identifier": [
- {
- "system": "{host}/fhir/resources/NamingSystem/hippocrates-api--model-name",
- "use": "usual",
- "value": "12345"
}
], - "managingOrganization": {
- "identifier": {
- "system": "{host}/fhir/resources/NamingSystem/sorting-hat-api--care-unit",
- "use": "usual",
- "value": "4"
}, - "type": "Organization"
}, - "maritalStatus": {
- "coding": [
- {
- "code": "UNK",
- "display": "unknown",
}
], - "text": "unknown"
}, - "meta": {
- "lastUpdated": "2022-05-25T18:42:06.551129+00:00",
- "versionId": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81"
}, - "name": [
- {
- "family": "Donald",
- "given": [
- "Duck"
], - "text": "Duck Donald",
- "use": "official"
}
], - "resourceType": "Patient",
- "telecom": [
- {
- "system": "phone",
- "use": "mobile",
- "value": "+551155556473"
}
]
}
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"
}