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.3. Algoritmo del dígito verificador, sistemas de identificación oficiales, ejemplo JSON completo y errores frecuentes.
¿Qué es el perfil PacienteCl?
PacienteCl es el perfil CL Core v1.9.3 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 identificador | Sistema FHIR | Cuándo usarlo |
|---|---|---|
| RUN (persona natural) | https://rnpi.superdesalud.gob.cl/ | Pacientes chilenos con RUN vigente |
| Pasaporte | https://hl7chile.cl/fhir/ig/clcore/CodeSystem/CSIdentificadores | Código: PAS — pacientes extranjeros |
| DNI extranjero | https://hl7chile.cl/fhir/ig/clcore/CodeSystem/CSIdentificadores | Código: DNI — residentes extranjeros |
| Recién nacido (sin RUN) | https://hl7chile.cl/fhir/ig/clcore/CodeSystem/CSIdentificadores | Código: NNNxxx — antes de inscripción en RRC |
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.
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
{
"resourceType": "Patient",
"meta": {
"profile": [
"https://hl7chile.cl/fhir/ig/clcore/StructureDefinition/CorePacienteCl"
]
},
"identifier": [
{
"use": "official",
"system": "https://rnpi.superdesalud.gob.cl/",
"value": "15.654.738-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.3.
- 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)?›
¿El RUT de persona jurídica es válido en PacienteCl?›
¿Fhiron valida el dígito verificador del RUN?›
Valida tus recursos FHIR contra CL Core v1.9.3 ahora mismo
Plan Free incluye 100 validaciones/mes. Sin tarjeta de crédito.
Empezar gratisBernardo Cajales
Fundador y CEO — Fhiron
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.