Referencia de Errores
Referencia de Errores
El GoFHIR Validator produce issues de validación estructurados que están alineados con la salida del HL7 FHIR Validator. Cada issue incluye un identificador de mensaje legible por máquinas, un nivel de severidad, un diagnóstico legible por humanos y la expresión FHIRPath que identifica el elemento con problemas.
Estructura del Issue
Cada issue de validación contiene los siguientes campos:
| Campo | Tipo | Descripción |
|---|---|---|
| Severity | error | warning | information | Qué tan crítico es el problema |
| Code | string | El tipo de issue FHIR (ej., structure, value, processing) |
| Diagnostics | string | Una descripción legible por humanos del problema |
| Expression | string[] | Expresión(es) FHIRPath que apuntan al elemento |
| MessageID | string | Un identificador estable y legible por máquinas para el error |
Ejemplo de issue en JSON (formato OperationOutcome):
{
"severity": "error",
"code": "value",
"diagnostics": "Value 'not-a-date' is not a valid date format",
"expression": ["Patient.birthDate"],
"details": {
"text": "TYPE_INVALID_DATE"
}
}Placeholders en los Mensajes
Los mensajes de diagnóstico usan placeholders que se reemplazan con valores específicos del contexto en tiempo de ejecución:
| Placeholder | Descripción | Ejemplo |
|---|---|---|
{path} | FHIRPath al elemento | Patient.identifier |
{value} | El valor encontrado | not-a-date |
{expected} | El valor o tipo esperado | dateTime |
{min} | Cardinalidad o conteo mínimo | 1 |
{max} | Cardinalidad o conteo máximo | 1 |
{count} | Conteo real encontrado | 0 |
{type} | El tipo de dato encontrado | string |
{element} | El nombre del elemento | unknownField |
{valueSet} | URL del ValueSet | http://hl7.org/fhir/ValueSet/gender |
{constraint} | Clave del constraint | ele-1 |
{profile} | URL del perfil | http://hl7.org/fhir/StructureDefinition/Patient |
{system} | URL del sistema de códigos | http://loinc.org |
{url} | URL de extension o recurso | http://example.org/ext |
{error} | Mensaje de error subyacente | unexpected token |
{human} | Texto legible del constraint | All FHIR elements must have a @value or children |
{slice} | Nombre del slice | Observation.component:diastolic |
Manejo programático de errores. Utiliza el campo
MessageID para identificar errores específicos en tu código en lugar de parsear el texto del diagnóstico. Los MessageID son estables entre versiones y no se ven afectados por cambios de redacción en los mensajes de diagnóstico.Categorías de Errores
Navega la referencia de errores por categoría:
Estructura JSON, elementos desconocidos, resourceType
Violaciones de ocurrencias mínimas y máximas
Formato de primitivos y discrepancias de tipos complejos
Validación de codificación, binding y ValueSet
Extensions desconocidas, inválidas y modifier
Referencias inválidas, targets y resolución
Fallos en evaluación de constraints FHIRPath
Fallos en coincidencia de valores fijos y patrones
Coincidencia de slices, cardinalidad y slicing cerrado
Resolución de perfiles y discrepancias de tipos
Última actualización