La integración entre el sistema PACS y el HIS (Hospital Information System) es la columna vertebral del flujo de trabajo de imagen médica. Sin esta integración, el técnico tiene que introducir manualmente los datos del paciente en la modalidad, con el consiguiente riesgo de error y la pérdida de tiempo. Con ella, el flujo es automático: el médico solicita un estudio, la modalidad ya tiene los datos, y el informe vuelve al HIS sin intervención manual.
Este artículo describe el flujo técnico completo usando HL7 v2.x, el protocolo de mensajería más extendido en los HIS instalados en hospitales españoles y europeos.
Conceptos fundamentales de HL7 v2.x
HL7 v2.x es un protocolo de mensajería basado en texto delimitado por pipes (|) y tildes (~). Cada mensaje tiene una estructura de segmentos, donde cada segmento comienza con un identificador de tres letras (MSH, PID, ORC, OBR, etc.) seguido de campos separados por |.
El protocolo de transporte más habitual es MLLP (Minimal Lower Layer Protocol), que define un framing mínimo para transmitir mensajes HL7 sobre TCP/IP. Cada mensaje va envuelto entre un byte de inicio (0x0B) y dos bytes de fin (0x1C 0x0D).
Estructura de un mensaje HL7
MSH|^~\&|SENDER|SENDER_FAC|RECEIVER|RECEIVER_FAC|YYYYMMDDHHMMSS||TYP^EVT|MSG_ID|P|2.5
[segmentos adicionales]
Los campos más importantes del MSH:
- MSH.3: Aplicación emisora (p. ej.
HIS) - MSH.5: Aplicación receptora (p. ej.
PACS) - MSH.9: Tipo de mensaje (
ORM^O01,ORU^R01, etc.) - MSH.10: ID único del mensaje
- MSH.12: Versión de HL7 (
2.5,2.6,2.7)
El flujo completo de un estudio de imagen
El flujo estándar para un estudio diagnóstico tiene cuatro etapas:
- Registro del paciente → HIS envía
ADT^A04oADT^A08al PACS - Solicitud de imagen → HIS envía
ORM^O01al PACS para crear el ítem en la worklist - Adquisición → La modalidad consulta la MWL (C-FIND) y envía MPPS (N-CREATE/N-SET) al terminar
- Resultado → PACS envía
ORU^R01al HIS con el informe del radiólogo
Veamos cada paso con ejemplos reales.
Paso 1: Registro/actualización de paciente (ADT^A08)
El HIS notifica al PACS cuando se registra o actualiza un paciente:
MSH|^~\&|HIS|HOSPITAL|PACS|PACS|20250315093000||ADT^A08|ADT001|P|2.5
EVN|A08|20250315093000
PID|1||98765432^^^HIS^PI||MARTINEZ^LUCIA^MARIA||19820514|F|||
C/ GRAN VIA 45^PISO 3^MADRID^^28013^ES^H||+34612345678|
|SPA|SIN_COD|RCC||||||ESPANA
PV1|1|O|||||||||||||||||||CONSULTA_EXT
Campos clave del PID:
PID.3: Identificador del paciente en el HISPID.5: Nombre en formatoApellido^Nombre^Segundo_nombrePID.7: Fecha de nacimientoYYYYMMDDPID.8: Sexo (M,F,U)
El PACS debe responder con un ACK confirmando la recepción:
MSH|^~\&|PACS|PACS|HIS|HOSPITAL|20250315093001||ACK^A08|ACK001|P|2.5
MSA|AA|ADT001
Donde MSA.1 es el código de acknowledgement: AA (Application Accept), AE (Application Error) o AR (Application Reject).
Paso 2: Solicitud de estudio (ORM^O01)
Este es el mensaje más importante para el flujo de imagen. El médico crea la solicitud en el HIS, y el HIS la envía al PACS para crear el ítem en la Modality Worklist:
MSH|^~\&|HIS|HOSPITAL|PACS|PACS|20250315094500||ORM^O01|ORM002|P|2.5
PID|1||98765432^^^HIS^PI||MARTINEZ^LUCIA^MARIA||19820514|F
PV1|1|O|||||||87654^DR RODRIGUEZ^CARLOS|
ORC|NW|ORD-2025-0842|||SC||||20250315094500|||87654^DR RODRIGUEZ^CARLOS
OBR|1|ORD-2025-0842||71046^RX TORAX 2P^LN|||20250315|||||
|||87654^DR RODRIGUEZ^CARLOS||||||CR|||^^PACS_MWL^PACS|||SC
ZDS|2.25.123456789.1.2.3.4.5.6.7.8|^^RAD^20250315
Campos críticos del ORC (Common Order):
ORC.1: Tipo de orden (NW=nueva,CA=cancelar,XO=cambiar)ORC.2: Número de orden del HIS (Placer Order Number)ORC.5: Estado de la orden (SC=scheduled,CA=cancelled)
Campos críticos del OBR (Observation Request):
OBR.4: Código del procedimiento solicitado (LOINC o código local):71046^RX TORAX 2P^LNOBR.16: Médico solicitanteOBR.24: Modalidad DICOM:CR,CT,MR,US, etc.OBR.27: AE Title de la modalidad de destino
El PACS procesa este ORM y crea automáticamente el ítem correspondiente en la MWL DICOM, de forma que cuando la modalidad haga el C-FIND, ya aparezca el paciente y el procedimiento.
Paso 3: Cancelación de orden (ORM^O01 con ORC.1=CA)
Si el médico cancela la solicitud desde el HIS, se envía:
MSH|^~\&|HIS|HOSPITAL|PACS|PACS|20250315100000||ORM^O01|ORM003|P|2.5
PID|1||98765432^^^HIS^PI||MARTINEZ^LUCIA^MARIA||19820514|F
ORC|CA|ORD-2025-0842|||CA||||20250315100000
OBR|1|ORD-2025-0842||71046^RX TORAX 2P^LN
El PACS debe eliminar o marcar como cancelado el ítem de la MWL correspondiente.
Paso 4: Resultado del estudio (ORU^R01)
Una vez el radiólogo ha validado el informe en el PACS, éste envía el resultado al HIS:
MSH|^~\&|PACS|PACS|HIS|HOSPITAL|20250315153000||ORU^R01|RPT004|P|2.5
PID|1||98765432^^^HIS^PI||MARTINEZ^LUCIA^MARIA||19820514|F
PV1|1|O|||||||87654^DR RODRIGUEZ^CARLOS
OBR|1|ORD-2025-0842||71046^RX TORAX 2P^LN|||20250315|
||||||||87654^DR RODRIGUEZ^CARLOS||||||CR|20250315153000||F
OBX|1|TX|59380-7^Impression^LN||Campos pulmonares de morfología y densidad
normal. Senos costofrénicos libres. Silueta cardiomediastínica normal.
No se observan consolidaciones, derrames ni neumotórax.||||||F|||20250315153000
OBX|2|TX|59378-1^Radiologist^LN||DRA. GARCIA FERNANDEZ, ANA|||||||F
Campos clave del OBX (Observation/Result):
OBX.2: Tipo del resultado (TX=texto,ST=string,NM=numérico)OBX.3: Código del resultado (LOINC 59380-7 para impresión diagnóstica)OBX.5: Valor — el texto del informeOBX.11: Estado del resultado (F=final,P=preliminary,C=corrected)
Programación de citas: SIU^S12/S13
El mensaje SIU (Scheduling Information Unsolicited) gestiona la programación de citas:
MSH|^~\&|HIS|HOSPITAL|PACS|PACS|20250315110000||SIU^S12|SIU005|P|2.5
SCH|APP-2025-001||||||ECOGRAFIA ABDOMINAL|10|MIN|^^10^20250316133000^20250316134000
PID|1||98765432^^^HIS^PI||MARTINEZ^LUCIA^MARIA||19820514|F
RGS|1|A
AIG|1|A|||US_EQUIPO_1^SALA ECOGRAFIA^PACS
AIL|1|A|RAD_SALA_US^SALA ECOGRAFIA 1
AIP|1|A|45678^DRA GARCIA^ANA^RADIOLOGA
SIU^S12 = nueva cita; SIU^S13 = modificación; SIU^S15 = cancelación.
Validación y errores comunes
Error MSA.1=AE (Application Error): El PACS ha recibido el mensaje pero no puede procesarlo. Posibles causas:
- PID.3 no encontrado en la base de datos
- Código de procedimiento no reconocido
- ORC.2 duplicado (orden ya existe)
Error de parsing: Los caracteres especiales en nombres o direcciones deben ser escapados. El separador de repetición (~), el separador de componentes (^) y el carácter de escape (\) deben seguir las reglas de codificación HL7.
Codificación de caracteres: En mensajes con nombres españoles (acentos, ñ), asegúrate de que MSH.18 especifica UNICODE UTF-8 o 8859/1, y que el transporte MLLP usa la misma codificación.
Configuración típica del gateway HL7
Un PACS como Medisfera expone un listener MLLP en el puerto 2575 (estándar IANA para HL7). La configuración típica incluye:
- Puerto de escucha: 2575 (TCP)
- Timeout de conexión: 30 segundos
- Keep-alive: activado
- ACK mode: immediate (antes de procesar) o application (después de procesar)
- Retry en caso de fallo: 3 intentos con backoff exponencial
- Dead-letter queue: mensajes no procesables después de N intentos
Para entornos con múltiples HIS o transformaciones complejas de mensajes, se recomienda usar un motor de integración como Mirth Connect como intermediario. Mirth actúa como adaptador: normaliza los mensajes del HIS antes de enviarlos al PACS, permitiendo mapear códigos locales a estándares, añadir campos faltantes y transformar formatos.
Conclusión
La integración HL7 entre PACS y HIS no es compleja técnicamente, pero requiere atención al detalle: codificaciones de caracteres, acknowledgements correctos, manejo de cancelaciones y sincronización de estados. Un gateway bien configurado elimina el trabajo manual de entrada de datos en las modalidades y cierra el ciclo de información clínica de forma automática.
El primer paso siempre es obtener la especificación de interfaz HL7 del HIS (el “HL7 Interface Specification Document”) y verificar qué versión de HL7, qué eventos y qué campos obligatorios espera cada sistema.