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.3 en Chile: RUT con dígito verificador incorrecto, comunas inválidas, géneros fuera del ValueSet, y más. Con ejemplos JSON y soluciones.

Bernardo CajalesActualizado:

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.3. 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": "https://rnpi.superdesalud.gob.cl/",
    "value": "15.654.738-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",
    "valueCoding": {
      "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 código DEIS

El perfil PrestadorCl exige que los profesionales de salud tengan su identificador DEIS (código del registro nacional de profesionales del MINSAL). Enviar solo el RUT sin el identificador DEIS produce un error de cardinalidad.

Error 6: Medicamento sin código TFC

MedicamentoCl exige que los medicamentos usen el Formulario Nacional de Medicamentos (TFC) como CodeSystem. Códigos de sistemas propietarios o de farmacias no son válidos en CL Core.

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 perfil DiagnosticoCl exige que los diagnósticos usen códigos CIE-10 (ICD-10) del ValueSet reconocido. Códigos locales del HIS o versiones CIE-9 no son válidos.

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 Bridge 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.3 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 v1.9.3 ahora mismo

Plan Free incluye 100 validaciones/mes. Sin tarjeta de crédito.

Empezar gratis
B

Bernardo Cajales

Fundador y CEOFhiron

Ingeniero y fundador de Fhiron. Especialista en interoperabilidad FHIR para el estándar del sistema de salud, con foco en la Guía CL Core v1.9.3 del MINSAL y la Ley 21.668 de Historia Clínica Electrónica Única.