Skip to main content

Erros

Requisições

Obter token

{
"access_token": "longa sequencia aqui. Este token será necessário, o valor deste campo, em todas as demais requisições. Ele será fornecido por meio do header X-Authorization-Server, conforme detalhado abaixo.",
"scope": "read write",
"token_type": "jwt",
"expires_in": 1800000
}

O valor da propriedade access_token será empregado em todas as demais requisições. As requisições fazem uso deste valor por meio do header X-Authorization-Server. Em particular, o valor deste header deve ser fornecido no seguinte formato:

X-Authorization-Server: Bearer <valor-de-access-token-aqui>

Convém observar que esta não é a única informação de segurança exigida, outro header, Authorization, cujo valor deve ser o CNS do requisitante, também deve ser fornecido nas requisições aos serviços EHR.

Código inválido CNS

Na consulta por profissional via CNS, se o código CNS é inválido, por exemplo, então tem-se o resultado abaixo:

{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "processing",
"diagnostics": "Resource Practitioner/<codivo-invalido> is not known"
}
]
}

Submeter bundle com identificador inválido do solicitante

O identificador do solicitante, após devidamente cadastrado, pode ser recuperado conforme ilustrado abaixo, pelo Portal de Serviços:

image

O identificador que acima segue ocultado, deve ser fornecido no lugar do texto "qualquer", no trecho da requisição (bundle), conforme ilustrado abaixo:

    "identifier": {
"system": "http://www.saude.gov.br/fhir/r4/NamingSystem/BRRNDS-qualquer",
"value": "valor-unico-do-bundle-para-o-lab"
},

Se o valor "qualquer" não é substituído pelo identificador do solicitante, a resposta será aquela abaixo:

{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "security",
"diagnostics": "(EHR-ERR881) Você não possui autorização para utilizar esse sistema de origem: http://www.saude.gov.br/fhir/r4/NamingSystem/BRRNDS-qualquer"
}
]
}

(422) Submeter recurso com número que não é único para o laboratório

Este identificador é aquele fornecido por meio da propriedade identifier.value do bundle.

{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "processing",
"diagnostics": "(EHR-ERR866) O identifier informado já foi utilizado para cadastrar outro documento e não pode ser repetido."
}
]
}

Erros

Requisições dependem de valores de entrada

A consulta a um estabelecimento de saúde via seu CNES exige que o código correspondente seja fornecido na URL, por exemplo, https://ehr-services.hmg.saude.gov.br/api;fhir/r4/Organization/2337991. Se o código, neste exemplo, 2337991 ou outro não é fornecido, então você receberá como resposta o conteúdo abaixo:

{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "processing",
"diagnostics": "Invalid request: The FHIR endpoint on this server does not know how to handle GET operation[Organization/] with parameters [[]]"
}
]
}

Requisição com consistência verificada

A consulta por CNES retorna a resposta abaixo se o profissional de saúde em nome do qual a requisição é feita (valor omitido na resposta abaixo) não possui vínculo com a credencial também omitida.

{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "security",
"diagnostics": "(EHR-ERR906) Profissional CNS <numero aqui> não autorizado, pois não possui vínculo CBO autorizado em nenhum dos estabelecimentos autorizados para a credencial <numero aqui>."
}
]
}

(401) Token empregado para a requisição expirou

Lembre-se de que o token, quando obtido, tem uma validade de 30 minutos. Após estes 30 minutos qualquer requisição que o utilize irá retornar algo similar ao conteúdo abaixo:

{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "security",
"diagnostics": "(EHR-ERR882) O token de certificado usado para autorizar o acesso não é válido. JWT expired at 2020-08-19T23:54:28Z. Current time: 2020-08-20T11:00:27Z, a difference of 39959356 milliseconds. Allowed clock skew: 0 milliseconds."
}
]
}

(422) Valor de "status" diferente de "final"

Se tentar submeter um laudo, cujo status é diferente de final, conforme ilustrado abaixo

image

e compatível com o perfil Estado da Observação, terá como resposta

{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "processing",
"diagnostics": "(EHR-ERR924) Ao enviar um documento é obrigatório utilizar o status: final"
}
]
}