Ley 21.668PreciosDocumentación
Iniciar sesión
InicioBlogLos 10 errores más comunes al validar FHIR® contra CL Core (y cómo corregirlos)
Guías técnicas14 min de lectura

Los 10 errores más comunes al validar FHIR® contra CL Core (y cómo corregirlos)

Los errores de validación FHIR más frecuentes al implementar CL Core v1.9.4 en Chile: RUT con dígito verificador incorrecto, comunas inválidas, géneros fuera del ValueSet, y más. Con ejemplos JSON y soluciones.

Equipo FhironActualizado:

Después de procesar miles de validaciones FHIR en Chile, estos son los diez errores más frecuentes que encuentran los equipos al implementar los perfiles CL Core v1.9.4. Cada uno incluye el mensaje de error que verás en el OperationOutcome y cómo corregirlo.

Error 1: RUT con dígito verificador incorrecto

El perfil PacienteCl exige que el identificador RUT tenga un dígito verificador válido según el algoritmo módulo 11. El error más común es enviar el RUT sin guion, con puntos, o con el dígito verificador calculado incorrectamente.

json
// ❌ Incorrecto — sin guion, sistema erróneo
{
  "identifier": [{
    "system": "http://hl7.org/fhir/sid/cl-rut",
    "value": "156547387"
  }]
}

// ✅ Correcto — guion, sistema CL Core, dígito verificador válido
{
  "identifier": [{
    "system": "http://www.registrocivil.cl/run",
    "value": "15654738-7"
  }]
}

Error 2: Sistema de terminología incorrecto para comunas

Las comunas en CL Core deben usar el CodeSystem oficial publicado en el IG de HL7® Chile, no el código INE ni ningún sistema local. El código de la comuna debe corresponder al listado del decreto 817.

json
// ❌ Incorrecto: sistema no reconocido por CL Core
{
  "extension": [{
    "url": "ComunasCl",
    "valueCoding": {
      "system": "http://www.ine.cl/comunas",
      "code": "13101"
    }
  }]
}

// ✅ Correcto
{
  "extension": [{
    "url": "https://hl7chile.cl/fhir/ig/clcore/StructureDefinition/ComunasCl",
    "valueCodeableConcept": {
      "coding": [{
        "system": "https://hl7chile.cl/fhir/ig/clcore/CodeSystem/CSCodComunasCL",
        "code": "13101",
        "display": "Santiago"
      }]
    }
  }]
}

Error 3: Género fuera del ValueSet permitido

El campo gender en Patient usa el ValueSet de AdministrativeGender de FHIR R4. CL Core no agrega códigos adicionales: los únicos valores válidos son male, female, other, unknown. Valores como 'masculino', 'M', o 'hombre' son rechazados.

Error 4: meta.profile no apunta al perfil CL Core

El validador necesita saber contra qué perfil validar. Sin la URL correcta en meta.profile, el recurso se valida contra el perfil base de FHIR R4 y los errores CL Core no se detectan (ni se aplican las restricciones). Cada recurso CL Core debe declarar su perfil.

json
// ✅ Correcto — declara el perfil CL Core
{
  "resourceType": "Patient",
  "meta": {
    "profile": [
      "https://hl7chile.cl/fhir/ig/clcore/StructureDefinition/CorePacienteCl"
    ]
  }
}

Error 5: Profesional sin identificador reconocido

El perfil PrestadorCl espera que los profesionales de salud lleven al menos un identificador reconocido: usualmente el RUN o el registro RNPI de la Superintendencia de Salud. Enviar el recurso sin ningún identificador genera hallazgos de validación.

Error 6: Medicamento sin código TFC

Para medicamentos, la práctica recomendada es codificar con terminologías estándar como ATC (OMS) mientras la Terminología Farmacéutica Chilena (TFC, ISP) no tenga canónico oficial publicado. Los códigos de sistemas propietarios o de farmacias no son interoperables.

Error 7: Fechas sin zona horaria

FHIR R4 acepta fechas parciales (2026-04), pero cuando se especifica hora debe incluirse la zona horaria. Omitir la zona horaria en dateTime produce warnings que pueden convertirse en errores según el contexto.

json
// ❌ Fecha con hora sin zona horaria
"period": { "start": "2026-04-15T09:00:00" }

// ✅ Fecha con hora y zona horaria
"period": { "start": "2026-04-15T09:00:00-04:00" }

Error 8: Referencias sin resourceType

Las referencias FHIR entre recursos deben incluir el resourceType cuando son referencias relativas. Una referencia como {"reference": "12345"} es ambigua; debe ser {"reference": "Patient/12345"}.

Error 9: Diagnóstico sin código CIE-10 reconocido

El binding de diagnósticos en CL Core es extensible y admite CIE-10 (ICD-10) o SNOMED CT. Los códigos locales del HIS o versiones antiguas como CIE-9 quedan fuera de los ValueSets reconocidos y generan hallazgos de validación.

Error 10: Usar el perfil base en lugar del perfil CL Core

El error conceptual más común: implementar Patient (FHIR R4 base) en lugar de PacienteCl (CL Core). El sistema puede funcionar localmente pero los recursos no serán interoperables con el bus MINSAL. La migración posterior es mucho más costosa que hacerlo bien desde el inicio.

Fhiron Inspect detecta todos estos errores automáticamente y los devuelve en español con referencia exacta al perfil CL Core que falla. Puedes validar tu primer recurso gratis con el plan Free.
¿Cómo calculo el dígito verificador del RUT?
El dígito verificador del RUT chileno usa el algoritmo módulo 11. Se multiplican los dígitos del RUT (de derecha a izquierda) por la secuencia 2,3,4,5,6,7,2,3,... se suman los productos, se divide por 11 y el dígito verificador es 11 menos el resto (con K para 10 y 0 para 11). Fhiron valida este algoritmo automáticamente.
¿Dónde encuentro el listado oficial de comunas del decreto 817?
El CodeSystem de comunas está publicado en la Guía CL Core v1.9.4 de HL7 Chile (hl7chile.cl). Fhiron tiene este ValueSet precargado y valida contra él en tiempo real.
¿Qué es un OperationOutcome en FHIR?
OperationOutcome es el recurso FHIR estándar para comunicar el resultado de una operación, incluyendo errores de validación. Cada issue tiene: severity (error, warning, information), code (el tipo de error), diagnostics (descripción del problema) y expression (la ruta FHIRPath del campo que falla).

Valida tus recursos FHIR® contra CL Core ahora mismo

Plan Free sin tope práctico de validaciones. Sin tarjeta de crédito.

Empezar gratis
E

Equipo Fhiron

Fundador · Ingeniero · Fhiron

Ingeniero de infraestructura y fundador de Fhiron. Construye la capa de validación CL Core que le faltaba a quien integra HL7® FHIR® en Chile: errores en español, terminologías chilenas al día y un motor que no persiste datos clínicos.