InicioBlogPerfil PacienteCl: Cómo Modelar el RUN como Identificador FHIR® en Chile
Guías técnicas9 min de lectura

Perfil PacienteCl: Cómo Modelar el RUN como Identificador FHIR® en Chile

Guía técnica para implementar el identificador RUN/RUT en el perfil PacienteCl de CL Core v1.9.4. Algoritmo del dígito verificador, sistemas de identificación oficiales, ejemplo JSON completo y errores frecuentes.

Equipo FhironActualizado:

¿Qué es el perfil PacienteCl?

PacienteCl es el perfil CL Core v1.9.4 que adapta el recurso Patient de FHIR R4 al contexto chileno. Sus características principales: el RUN (Rol Único Nacional) como identificador primario, las comunas por decreto 817, la región de residencia, la nacionalidad, y el pueblo originario.

El identificador RUN en FHIR

En Chile, el identificador universal del paciente es el RUN (Rol Único Nacional), también llamado RUT cuando se refiere a personas jurídicas. CL Core define un sistema oficial de identificación para el RUN que deben usar todas las implementaciones FHIR.

Tipo de identificadorSistema FHIRCuándo usarlo
RUN (persona natural)http://www.registrocivil.cl/run + CSTipoIdentificador#01Pacientes chilenos con RUN vigente
PasaporteCSTipoIdentificador#02Pacientes extranjeros
DNI extranjeroCSTipoIdentificador#03Residentes extranjeros
Identificador provisorio MINSALCSTipoIdentificador#04Antes de inscripción en RRC (incluye recién nacidos)

Algoritmo del dígito verificador

El RUN chileno tiene el formato XXXXXXXX-Y donde X son los dígitos del RUN y Y es el dígito verificador (0-9 o K). El algoritmo módulo 11 calcula Y a partir de los dígitos del RUN.

typescript
function calcularDV(rut: number): string {
  let suma = 0;
  let multiplicador = 2;
  let rutTemp = rut;

  while (rutTemp > 0) {
    suma += (rutTemp % 10) * multiplicador;
    rutTemp = Math.floor(rutTemp / 10);
    multiplicador = multiplicador < 7 ? multiplicador + 1 : 2;
  }

  const resto = 11 - (suma % 11);
  if (resto === 11) return "0";
  if (resto === 10) return "K";
  return resto.toString();
}

// Uso
calcularDV(15654738); // → "7"  (RUN: 15.654.738-7)

Ejemplo completo PacienteCl

json
{
  "resourceType": "Patient",
  "meta": {
    "profile": [
      "https://hl7chile.cl/fhir/ig/clcore/StructureDefinition/CorePacienteCl"
    ]
  },
  "identifier": [
    {
      "use": "official",
      "type": {
        "coding": [
          {
            "system": "https://hl7chile.cl/fhir/ig/clcore/CodeSystem/CSTipoIdentificador",
            "code": "01",
            "display": "RUN"
          }
        ]
      },
      "system": "http://www.registrocivil.cl/run",
      "value": "15654738-7"
    }
  ],
  "name": [
    {
      "use": "official",
      "family": "Soto Fuentes",
      "given": ["María", "Fernanda"]
    }
  ],
  "gender": "female",
  "birthDate": "1985-03-12",
  "address": [
    {
      "extension": [
        {
          "url": "https://hl7chile.cl/fhir/ig/clcore/StructureDefinition/ComunasCl",
          "valueCoding": {
            "system": "https://hl7chile.cl/fhir/ig/clcore/CodeSystem/CSCodComunasCL",
            "code": "13101",
            "display": "Santiago"
          }
        },
        {
          "url": "https://hl7chile.cl/fhir/ig/clcore/StructureDefinition/RegionesCl",
          "valueCoding": {
            "system": "https://hl7chile.cl/fhir/ig/clcore/CodeSystem/CSCodRegionCL",
            "code": "13",
            "display": "Región Metropolitana de Santiago"
          }
        }
      ],
      "country": "CL"
    }
  ],
  "communication": [
    {
      "language": {
        "coding": [
          {
            "system": "urn:ietf:bcp:47",
            "code": "es-CL",
            "display": "Español (Chile)"
          }
        ]
      },
      "preferred": true
    }
  ]
}

Errores frecuentes con el RUN

  • Usar puntos en el número sin guion: '15.654.738' en lugar de '15.654.738-7'.
  • Usar el sistema http://hl7.org/fhir/sid/cl-rut que ya no es el sistema oficial en CL Core v1.9.4.
  • Dígito verificador con K en minúscula: '15.654.738-k' en lugar de '15.654.738-K'.
  • Omitir el campo use: 'official' cuando el paciente tiene múltiples identificadores.
  • Usar el número de ficha local como valor en lugar del RUN del paciente.
¿Qué hago si el paciente no tiene RUN (recién nacido o extranjero)?
CL Core v1.9.4 define tipos de identificador alternativos en CSTipoIdentificador: code 02 (Pasaporte), 03 (DNI extranjero) y 04 (identificador provisorio MINSAL — incluye recién nacidos antes de inscripción en RRC). El system del identifier para no-RUN puede ser una URI propia del emisor o una URN OID acordada con el receptor.
¿El RUT de persona jurídica es válido en PacienteCl?
PacienteCl está diseñado para personas naturales. El RUT de persona jurídica no aplica aquí. Para organizaciones usa el perfil OrganizacionCl.
¿Fhiron valida el dígito verificador del RUN?
Sí. Fhiron Inspect implementa el algoritmo módulo 11 del RUN chileno y rechaza con error cualquier identificador con dígito verificador incorrecto.

Valida tus recursos FHIR® contra CL Core ahora mismo

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

Empezar gratis
E

Equipo Fhiron

Fundador · Ingeniero · Fhiron

Ingeniero de infraestructura y fundador de Fhiron. Apasionado por la tecnología y la interoperabilidad. Crea herramientas para simplificar el desarrollo de integraciones con HL7® FHIR®.