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 | Sí | 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:
-
Valida el recurso según la especificación del FHIR y la definición del recurso base
-
Comprueba la conformidad con los perfiles especificados cuando se proporciona el parámetro
profile -
Valida en función del modo (
createo) especificadoupdate -
Devuelve los resultados de la validación detallados, incluidos los errores, las advertencias y los mensajes informativos
-
No realiza ninguna operación de almacenamiento, solo de validación
-
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