Pular para o conteúdo principal

Cadastrar/Atualizar

EndpointPOST /fhir/resources/Group
Autenticação🔓 Chave de API
StatusImplementado
Comportamento
  • O campo identifier é obrigatório e é a chave de upsert: um identifier já existente atualiza o grupo, um novo cria.
  • Apenas name é persistido. Os campos type e actual são aceitos por conformidade FHIR, mas ignorados.
  • active: true cria/atualiza o grupo; active: false remove o grupo (ver Possíveis Erros).

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


Exemplo de requisição CURL

curl --request POST \
--url https://landing-zone-api.nilo.services/fhir/resources/Group \
--header 'Content-Type: application/json' \
--header 'x-api-key: <inserir API Key aqui>' \
--data '
{
"active": true,
"actual": true,
"identifier": [
{
"system": "https://sistema.externo.com.br/cohort",
"use": "usual",
"value": "ca303a51-e82e-4041-9fbf-c3b4b4d4f695"
}
],
"name": "Teste Escrita cohort",
"resourceType": "Group",
"type": "person"
}
'


Modelagem da API - Response


Operação bem sucedida.
resourceType
required
any
Value: "Group"
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.

object (Meta)

Os metadados sobre um recurso. Este conteúdo do recurso é normalmente mantido pelo sistema gestor do registro.

required
Array of objects (Identifier)
active
required
any
Value: true
type
required
any
Value: "person"
actual
required
any
Value: true
name
required
string (string) ^[ \r\n\t\S]+$

Uma sequência de caracteres.

{
  • "resourceType": "Group",
  • "id": "903dAAe9-c57f-4eb3-bd1c-65XXd41exx81",
  • "meta": {
    },
  • "identifier": [
    ],
  • "active": true,
  • "type": "person",
  • "actual": true,
  • "name": "string"
}

Possíveis Erros


Criação de grupo com active: false

Um grupo não pode ser criado já removido. Ao enviar active: false para um identifier que ainda não existe, a requisição é rejeitada.

Erro retornado

{
"issue": [
{
"code": "business-rule",
"details": {
"text": "The cohort cannot be created with active False."
},
"expression": [
"Group.active"
],
"severity": "error"
}
],
"resourceType": "OperationOutcome"
}

Exemplo de payload que gera o erro

{
"active": false,
"identifier": [
{
"system": "https://sistema.externo.com.br/cohort",
"use": "usual",
"value": "ca303a51-e82e-4041-9fbf-c3b4b4d4f695"
}
],
"name": "Grupo novo",
"resourceType": "Group",
"type": "person"
}

Remoção de grupo que contém pacientes

Um grupo não pode ser removido (active: false) enquanto houver pacientes associados a ele. Remova os pacientes do grupo antes de removê-lo.

Pré-condição do exemplo abaixo: o grupo com o identifier informado já existe e contém pacientes associados.

Erro retornado

{
"issue": [
{
"code": "business-rule",
"details": {
"text": "The Group cannot be deactivated as it contains patients."
},
"severity": "error"
}
],
"resourceType": "OperationOutcome"
}

Exemplo de payload que gera o erro

{
"active": false,
"identifier": [
{
"system": "https://sistema.externo.com.br/cohort",
"use": "usual",
"value": "7d1f2b9c-4a6e-4c8d-9f21-2b3c4d5e6f70"
}
],
"name": "Grupo com pacientes",
"resourceType": "Group",
"type": "person"
}