Validación de los recursos del FHIR con $validate - AWS HealthLake

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Validación de los recursos del FHIR con $validate

AWS HealthLake ahora admite la $validate operación con los recursos del FHIR, lo que le permite validar un recurso según la especificación del FHIR y comprobar su conformidad con un perfil específico o una definición de recurso base sin realizar ninguna operación de almacenamiento. Esta operación resulta especialmente útil cuando se necesita:

  • Validar los requisitos de conformidad con el CMS del FHIR

  • Pruebe los recursos antes de usarlos en producción

  • Proporcione comentarios de validación en tiempo real a medida que los usuarios editan los datos clínicos

  • Reduzca el envío de datos no válidos para crear y actualizar APIs

Uso

La $validate operación se puede invocar en los recursos del FHIR mediante los métodos POST:

Operaciones admitidas

POST [base]/[type]/[id]/$validate POST [base]/[type]/$validate

Cargas útiles compatibles

Recurso de parámetros

HealthLake admite los siguientes $validate parámetros del FHIR:

Parámetro Tipo Obligatorio Descripción
resource Recurso El recurso que se va a validar
profile canonical No URL canónica del perfil con el que se va a realizar la validación
mode code No Modo de validación:create, o update
Recurso directo con parámetros de consulta

Parámetro Tipo Obligatorio Descripción
profile canonical No URL canónica del perfil con el que realizar la validación
mode code No Modo de validación:create, o update

Ejemplos

Solicitud POST de recurso con carga útil de ID y parámetros

POST [base]/Patient/example-patient/$validate Content-Type: application/fhir+json { "resourceType": "Parameters", "parameter": [ { "name": "resource", "resource": { "resourceType": "Patient", "id": "example-patient", "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1990-01-01" } }, { "name": "profile", "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" }, { "name": "mode", "valueString": "create" } ] }
Solicitud POST de carga útil sobre el tipo de recurso y los parámetros

POST [base]/Patient/$validate Content-Type: application/fhir+json { "resourceType": "Parameters", "parameter": [ { "name": "resource", "resource": { "resourceType": "Patient", "name": [ { "family": "Doe", "given": ["Jane"] } ], "gender": "female", "birthDate": "1985-05-15" } }, { "name": "profile", "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" }, { "name": "mode", "valueString": "update" } ] }
Solicitud POST de recurso con ID y carga útil de recurso directa

POST [base]/Patient/example-patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create Content-Type: application/fhir+json { "resourceType": "Patient", "id": "example-patient", "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1990-01-01" }
Solicitud POST de tipo de recurso y carga útil directa del recurso

POST [base]/Patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create Content-Type: application/fhir+json { "resourceType": "Patient", "id": "example-patient", "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1990-01-01" }
Respuesta de ejemplo

La operación devuelve un OperationOutcome recurso con los resultados de la validación:

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "information", "code": "informational", "diagnostics": "Validation successful" } ] }
Ejemplo de respuesta con errores de validación

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "required", "details": { "text": "Missing required element" }, "diagnostics": "Patient.identifier is required by the US Core Patient profile", "location": [ "Patient.identifier" ] }, { "severity": "warning", "code": "code-invalid", "details": { "text": "Invalid code value" }, "diagnostics": "The provided gender code is not from the required value set", "location": [ "Patient.gender" ] } ] }

Comportamiento

La $validate operación:

  1. Valida el recurso según la especificación del FHIR y la definición del recurso base

  2. Comprueba la conformidad con los perfiles especificados cuando se proporciona el parámetro profile

  3. Valida en función del modo (createo) especificado update

  4. Devuelve los resultados de la validación detallados, incluidos los errores, las advertencias y los mensajes informativos

  5. No realiza ninguna operación de almacenamiento, solo de validación

  6. Devuelve HTTP 200 OK cuando se puede realizar la validación, independientemente de si se han detectado problemas de validación

Modos de validación

  • crear: valida el recurso como si se estuviera creando (recurso nuevo)

  • actualizar: valida el recurso como si se estuviera actualizando (recurso existente)

Gestión de errores

La operación devuelve:

  • 200 OK: La validación se realizó correctamente (independientemente del resultado de la validación)

  • 400 Solicitud errónea: el formato o los parámetros de la solicitud no son válidos

  • 404 No se encontró: no se encontró el tipo de recurso o perfil

Para obtener más información sobre la especificación de la $validate operación, consulte la documentación de recursos $validate del FHIR R4.