Saltar al contenido

Errores Estructurales

Los errores estructurales se detectan durante la fase de validación más temprana. Indican problemas con la estructura JSON básica del recurso, la presencia de elementos no reconocidos o problemas con la propiedad resourceType. Estos errores deben resolverse antes de que otras fases de validación puedan producir resultados significativos.

Códigos de Error

IDSeveridadMensaje
STRUCTURE_UNKNOWN_ELEMENTerrorUnknown element ‘{element}’
STRUCTURE_INVALID_JSONerrorInvalid JSON: {error}
STRUCTURE_NOT_OBJECTerrorResource must be a JSON object
STRUCTURE_NO_RESOURCE_TYPEerrorMissing ‘resourceType’ property
STRUCTURE_UNKNOWN_RESOURCEerrorUnknown resourceType ‘{type}’

STRUCTURE_UNKNOWN_ELEMENT

Se encontró un elemento en el recurso que no está definido en el StructureDefinition para este tipo de recurso. Esto frecuentemente indica un error tipográfico en el nombre del elemento o un elemento que pertenece a un tipo de recurso diferente.

Ejemplo – recurso inválido:

{
  "resourceType": "Patient",
  "nmae": [
    {
      "family": "Smith"
    }
  ]
}

El elemento nmae no está definido en el StructureDefinition de Patient. El nombre correcto del elemento es name.

Corrección:

{
  "resourceType": "Patient",
  "name": [
    {
      "family": "Smith"
    }
  ]
}
Los elementos desconocidos se detectan comparando cada propiedad en el JSON contra las entradas ElementDefinition.path en el snapshot del StructureDefinition del recurso. No se utilizan listas de elementos hardcodeadas.

STRUCTURE_INVALID_JSON

La entrada no es JSON válido. El validador no pudo parsear el contenido antes de que cualquier validación a nivel FHIR pudiera comenzar.

Ejemplo – recurso inválido:

{
  "resourceType": "Patient",
  "name": [
    { "family": "Smith", }
  ]
}

La coma final después de "Smith" no es JSON válido.

Corrección: Asegúrate de que la entrada sea JSON bien formado. Usa un linter de JSON o la validación integrada de tu editor para detectar errores de sintaxis antes de ejecutar el validador FHIR.


STRUCTURE_NOT_OBJECT

El valor JSON de nivel superior no es un objeto. Los recursos FHIR deben representarse como objetos JSON (encerrados entre llaves).

Ejemplo – recurso inválido:

[
  { "resourceType": "Patient" }
]

Se proporcionó un array JSON en lugar de un objeto JSON.

Corrección: Asegúrate de que el recurso sea un único objeto JSON en el nivel superior:

{
  "resourceType": "Patient"
}

Si necesitas validar múltiples recursos, envuélvelos en un recurso Bundle de FHIR o valida cada uno individualmente.


STRUCTURE_NO_RESOURCE_TYPE

El objeto JSON no contiene una propiedad resourceType. Todo recurso FHIR debe declarar su tipo usando esta propiedad.

Ejemplo – recurso inválido:

{
  "name": [
    {
      "family": "Smith"
    }
  ]
}

Corrección: Agrega la propiedad resourceType:

{
  "resourceType": "Patient",
  "name": [
    {
      "family": "Smith"
    }
  ]
}

STRUCTURE_UNKNOWN_RESOURCE

El valor de resourceType no coincide con ningún tipo de recurso FHIR conocido. Esto puede indicar un error tipográfico, un tipo de recurso personalizado que no ha sido cargado o una discrepancia de versión.

Ejemplo – recurso inválido:

{
  "resourceType": "Pateint",
  "name": [
    {
      "family": "Smith"
    }
  ]
}

El valor Pateint no es un tipo de recurso FHIR válido (nota el error tipográfico).

Corrección: Usa el nombre correcto del tipo de recurso. Los nombres de tipos de recurso FHIR son sensibles a mayúsculas y usan PascalCase:

{
  "resourceType": "Patient",
  "name": [
    {
      "family": "Smith"
    }
  ]
}
El conjunto de tipos de recurso conocidos está determinado por los StructureDefinitions cargados en el validador. Si estás usando un tipo de recurso personalizado definido en una Implementation Guide, asegúrate de que el StructureDefinition correspondiente esté cargado.
Última actualización