Validar operación: Información general

Importante

Azure API for FHIR se retirará el 30 de septiembre de 2026. Siga las estrategias de migración para realizar la transición al servicio FHIR de Azure Health Data Services en esa fecha. Debido a la retirada de Azure API for FHIR, no se permitirán nuevas implementaciones a partir del 1 de abril de 2025. El servicio FHIR de Azure Health Data Services es la versión evolucionada de Azure API for FHIR que permite a los clientes administrar los servicios FHIR, DICOM y MedTech con integraciones en otros servicios de Azure.

En el artículo Perfiles de almacén de Azure API for FHIR , ha seguido los conceptos básicos de los perfiles de FHIR y los almacena. Este artículo le guiará a través de cómo usar $validate para validar los recursos con perfiles. Validar un recurso en un perfil significa comprobar si el recurso se ajusta al perfil, incluidas las especificaciones enumeradas en Resource.meta.profile o en una Guía de implementación.

$validate es una operación en Fast Healthcare Interoperability Resources (FHIR®) que permite asegurarse de que un recurso de FHIR se ajusta a los requisitos de recursos base o a un perfil especificado. Esta operación garantiza que los datos de Azure API for FHIR tengan los atributos y valores esperados. Para obtener información sobre la operación de validación, visite especificación de FHIR de HL7. Por especificación, el modo se puede especificar con $validate, como crear y actualizar:

  • create: Azure API for FHIR comprueba que el contenido del perfil es único de los recursos existentes y que es aceptable crearlo como un nuevo recurso.
  • update: comprueba que el perfil es una actualización del recurso existente designado (que no se realiza ningún cambio en los campos inmutables).

Hay diferentes maneras de validar el recurso:

  • Validar un recurso existente con la operación de validación.
  • Valide un nuevo recurso con la operación de validación.
  • Valide en el recurso CREATE/UPDATE mediante el encabezado .

Azure API for FHIR siempre devolverá como OperationOutcome resultado de validación para $validate operación. El servicio Azure API for FHIR realiza dos pasos de validación, una vez que se pasa un recurso a $validate punto de conexión, el primer paso es una validación básica para asegurarse de que se puede analizar el recurso. Durante el análisis de recursos, es necesario corregir errores individuales antes de continuar con el paso siguiente. Una vez que el recurso se analiza correctamente, la validación completa se realiza como segundo paso.

Nota:

Los conjuntos de valores que se van a usar para la validación deben cargarse en el servidor FHIR.  Esto incluye los conjuntos de valores que forman parte de la especificación de FHIR, así como los conjuntos de valores definidos en guías de implementación.  Solo se admiten los conjuntos de valores totalmente expandidos que contienen una lista completa de todos los códigos.  No se admiten las definiciones de ValueSet que hagan referencia a orígenes externos.

Validación de un recurso existente

Para validar un recurso existente, use $validate en una solicitud GET:

GET http://<your Azure API for FHIR base URL>/{resource}/{resource ID}/$validate

Por ejemplo:

GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Patient/a6e11662-def8-4dde-9ebc-4429e68d130e/$validate

En este ejemplo, va a validar el recurso a6e11662-def8-4dde-9ebc-4429e68d130e Paciente existente en el recurso De paciente base. Si es válido, obtendrá un OperationOutcome ejemplo como el ejemplo de código siguiente:

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "information",
            "code": "informational",
            "diagnostics": "All OK"
        }
    ]
}

Si el recurso no es válido, obtendrá un código de error y un mensaje de error con detalles sobre por qué el recurso no es válido. Un ejemplo OperationOutcome se devuelve con mensajes de error y podría ser similar al ejemplo de código siguiente:

{
    "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"
            ]
        }
    ]
}

En este ejemplo, el recurso no se ajustaba al perfil de paciente proporcionado, que requería un valor de identificador de paciente y un género.

Si desea especificar un perfil como parámetro, puede especificar la dirección URL canónica con la que se va a validar el perfil, como el ejemplo siguiente para el perfil base de HL7 para heartrate:

GET https://myAzureAPIforFHIR.azurehealthcareapis.com/Observation/12345678/$validate?profile=http://hl7.org/fhir/StructureDefinition/heartrate

Validación de un recurso nuevo

Si desea validar un nuevo recurso que va a cargar en Azure API for FHIR, puede realizar una POST solicitud: El servidor siempre devolverá operationOutcome como resultado.

POST http://<your Azure API for FHIR base URL>/{Resource}/$validate

Por ejemplo:

POST https://myAzureAPIforFHIR.azurehealthcareapis.com/Patient/$validate

Esta solicitud validará el recurso. En el caso de los recursos de validación no se crean en el servicio FHIR, deberá enviar una solicitud POST sin $validate para crear recursos.

Valide en el recurso CREATE/UPDATE mediante el encabezado .

De forma predeterminada, Azure API for FHIR está configurado para no participar en la validación en el recurso Create/Update. Esta funcionalidad permite validar en Create/Update, mediante el x-ms-profile-validation encabezado . Establezca "x-ms-profile-validation" en true para la validación.

Nota:

En el servicio FHIR de código abierto, puede cambiar la configuración del servidor, en CoreFeatures.

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

Pasos siguientes

En este artículo, ha aprendido a validar los recursos con perfiles mediante $validate. Para más información sobre las otras características admitidas de Azure API for FHIR, consulte

FHIR® es una marca registrada de HL7 y se usa con su permiso.