Validar operação : Visão geral
Importante
A API do Azure para FHIR será desativada em 30 de setembro de 2026. Siga as estratégias de migração para fazer a transição para o serviço FHIR® dos Serviços de Dados de Saúde do Azure até essa data. Devido à desativação da API do Azure para FHIR, novas implantações não serão permitidas a partir de 1 de abril de 2025. O serviço FHIR dos Serviços de Dados de Saúde do Azure é a versão evoluída da API do Azure para FHIR que permite aos clientes gerir serviços FHIR, DICOM e MedTech com integrações noutros serviços do Azure.
No artigo Armazenar perfis na API do Azure para FHIR, você percorreu os conceitos básicos dos perfis FHIR e armazená-los. Este artigo irá guiá-lo através de como usar $validate
para validar recursos em relação a perfis. Validar um recurso em relação a um perfil significa verificar se o recurso está em conformidade com o perfil, incluindo as especificações listadas em Resource.meta.profile
ou em um Guia de Implementação.
$validate
é uma operação no Fast Healthcare Interoperability Resources (FHIR)® que permite garantir que um recurso FHIR esteja em conformidade com os requisitos de recursos básicos ou com um perfil especificado. Essa operação garante que os dados na API do Azure para FHIR tenham os atributos e valores esperados. Para obter informações sobre como validar a operação, visite HL7 FHIR Specification. Por especificação, o Modo pode ser especificado com $validate
, como criar e atualizar:
create
: A API do Azure para FHIR verifica se o conteúdo do perfil é exclusivo dos recursos existentes e se é aceitável ser criado como um novo recurso.update
: Verifica se o perfil é uma atualização em relação ao recurso existente nomeado (ou seja, não são feitas alterações nos campos imutáveis).
Há diferentes maneiras fornecidas para você validar o recurso:
- Valide um recurso existente com a operação validar.
- Valide um novo recurso com a operação validar.
- Valide no recurso CREATE/ UPDATE usando o cabeçalho.
A API do Azure para FHIR sempre retornará um OperationOutcome
como os resultados de validação para $validate operação. A API do Azure para serviço FHIR faz a validação em duas etapas, uma vez que um recurso é passado para $validate ponto de extremidade - a primeira etapa é uma validação básica para garantir que o recurso possa ser analisado. Durante a análise de recursos, erros individuais precisam ser corrigidos antes de prosseguir para a próxima etapa. Uma vez que o recurso é analisado com sucesso, a validação completa é conduzida como segunda etapa.
Nota
Todos os conjuntos de valores a serem usados para validação devem ser carregados no servidor FHIR. Isso inclui quaisquer Valuesets que façam parte da especificação FHIR, bem como quaisquer ValueSets definidos nos Guias de Implementação. Apenas conjuntos de valores totalmente expandidos que contêm uma lista completa de todos os códigos são suportados. Não há suporte para quaisquer definições de ValueSet que façam referência a fontes externas.
Validando um recurso existente
Para validar um recurso existente, use $validate
em uma GET
solicitação:
GET http://<your Azure API for FHIR base URL>/{resource}/{resource ID}/$validate
Por exemplo:
GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Patient/a6e11662-def8-4dde-9ebc-4429e68d130e/$validate
Neste exemplo, você está validando o recurso a6e11662-def8-4dde-9ebc-4429e68d130e
Paciente existente em relação ao recurso Paciente base. Se for válido, você obterá um OperationOutcome
exemplo de código como o seguinte:
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "information",
"code": "informational",
"diagnostics": "All OK"
}
]
}
Se o recurso não for válido, você receberá um código de erro e uma mensagem de erro com detalhes sobre por que o recurso é inválido. Um exemplo OperationOutcome
é retornado com mensagens de erro e pode se parecer com o exemplo de código a seguir:
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "invalid",
"details": {
"coding": [
{
"system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
"code": "1028"
}
],
"text": "Instance count for 'Patient.identifier.value' is 0, which is not within the specified cardinality of 1..1"
},
"location": [
"Patient.identifier[1]"
]
},
{
"severity": "error",
"code": "invalid",
"details": {
"coding": [
{
"system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
"code": "1028"
}
],
"text": "Instance count for 'Patient.gender' is 0, which is not within the specified cardinality of 1..1"
},
"location": [
"Patient"
]
}
]
}
Neste exemplo, o recurso não estava de acordo com o perfil de paciente fornecido, que exigia um valor de identificador de paciente e sexo.
Se quiser especificar um perfil como parâmetro, você pode especificar a URL canônica para o perfil a ser validado, como o exemplo a seguir para o perfil base HL7 para heartrate
:
GET https://myAzureAPIforFHIR.azurehealthcareapis.com/Observation/12345678/$validate?profile=http://hl7.org/fhir/StructureDefinition/heartrate
Validando um novo recurso
Se quiser validar um novo recurso que está carregando na API do Azure para FHIR, você pode fazer uma POST
solicitação: o servidor sempre retornará um OperationOutcome como resultado.
POST http://<your Azure API for FHIR base URL>/{Resource}/$validate
Por exemplo:
POST https://myAzureAPIforFHIR.azurehealthcareapis.com/Patient/$validate
Esta solicitação validará o recurso. Quando os recursos de validação não são criados no serviço FHIR, você precisará enviar uma solicitação POST sem $validate para criar recurso.
Valide no recurso CREATE/ UPDATE usando o cabeçalho.
Por padrão, a API do Azure para FHIR é configurada para desativar a validação no recurso Create/Update
. Esta capacidade permite validar no Create/Update
, usando o x-ms-profile-validation
cabeçalho. Defina 'x-ms-profile-validation' como true para validação.
Nota
No serviço FHIR de código aberto, você pode alterar a definição de configuração do servidor, sob CoreFeatures.
{
"FhirServer": {
"CoreFeatures": {
"ProfileValidationOnCreate": true,
"ProfileValidationOnUpdate": false
}
}
Próximos passos
Neste artigo, você aprendeu como validar recursos em perfis usando $validate
o . Para saber mais sobre os outros recursos suportados pela API do Azure para FHIR, consulte
FHIR® é uma marca registada da HL7 e é utilizada com a permissão da HL7.