Compartilhar via


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 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 dos Serviços de Dados de Saúde do Azure para serviço FHIR é a versão evoluída da API do Azure para FHIR que permite aos clientes gerenciar os serviços FHIR, DICOM e serviço de tecnologia médica com integrações a outros serviços do Azure.

No artigo Armazenar perfis na API do Azure para FHIR , você percorreu os conceitos básicos dos perfis FHIR e os armazenou. 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 um Guia de Implementação.

$validate é uma operação em FHIR® (Fast Healthcare Interoperability Resources) que permite garantir que um recurso FHIR esteja em conformidade com os requisitos de recurso base ou 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 Especificação HL7 FHIR. De acordo com a especificação, o modo pode ser especificado com $validate, como create e update:

  • 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, nenhuma alteração é feita nos campos imutáveis).

Existem diferentes maneiras fornecidas para você validar o recurso:

  • Valide um recurso existente com a operação de validação.
  • Valide um novo recurso com validar operação.
  • Valide no recurso CREATE/UPDATE usando o cabeçalho.

A API do Azure para FHIR sempre retornará um OperationOutcome como os resultados da validação para $validate operação. O serviço API do Azure para FHIR faz a validação em duas etapas, depois 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. Depois que o recurso é analisado com êxito, a validação completa é conduzida como segunda etapa.

Observação

Todos os conjuntos de valores que devem ser usados para validação devem ser carregados no servidor FHIR.  Isso inclui todos os Valuesets que fazem parte da especificação FHIR, bem como todos os ValueSets definidos nos Guias de Implementação.  Somente conjuntos de valores totalmente expandidos que contêm uma lista completa de todos os códigos são suportados.  Não há suporte para definições de ValueSet que fazem 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 exemplo de OperationOutcome 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 o motivo pelo qual o recurso é inválido. Um exemplo OperationOutcome é retornado com mensagens de erro e pode ser semelhante ao seguinte exemplo de código:

{
    "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 em conformidade com o perfil do paciente fornecido, que exigia um valor de identificador de paciente e sexo.

Se você quiser especificar um perfil como um parâmetro, poderá 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 você quiser validar um novo recurso que está carregando na API do Azure para FHIR, poderá 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

Essa solicitação validará o recurso. Se os recursos de validação não forem criados no serviço FHIR, você precisará enviar uma solicitação POST sem $validate para criar o recurso.

Valide no recurso CREATE/UPDATE usando o cabeçalho.

Por padrão, a API do Azure para FHIR é configurada para recusar a validação no recurso Create/Update. Esse recurso permite validar em Create/Update, usando o x-ms-profile-validation cabeçalho. Defina 'x-ms-profile-validation' como true para validação.

Observação

No serviço FHIR de software livre, você pode alterar a definição de configuração do servidor, em CoreFeatures.

{
   "FhirServer": {
      "CoreFeatures": {
            "ProfileValidationOnCreate": true,
            "ProfileValidationOnUpdate": false
        }
}

Próximas etapas

Neste artigo, você aprendeu a validar recursos em perfis usando $validateo . Para saber mais sobre os outros recursos com suporte da API do Azure para FHIR, confira

FHIR® é uma marca registrada da HL7 e é usado com a permissão da HL7.