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.
¿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 identificador | Sistema FHIR | Cuándo usarlo |
|---|---|---|
| RUN (persona natural) | http://www.registrocivil.cl/run + CSTipoIdentificador#01 | Pacientes chilenos con RUN vigente |
| Pasaporte | CSTipoIdentificador#02 | Pacientes extranjeros |
| DNI extranjero | CSTipoIdentificador#03 | Residentes extranjeros |
| Identificador provisorio MINSAL | CSTipoIdentificador#04 | Antes 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.
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",
"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)?›
¿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 ahora mismo
Plan Free incluye 100 validaciones/mes. Sin tarjeta de crédito.
Empezar gratisEquipo 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®.