Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo...

61
© 2005-2012, HL7 Argentina 1 Introducción a HL7 v2.X Jornada HL7 HL7 Argentina Mar del Plata Argentina

Transcript of Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo...

Page 1: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 1

Introducción a HL7 v2.X

Jornada HL7

HL7 Argentina Mar del Plata

Argentina

Page 2: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 2

Contenido

1. Recordatorio / Objetivos

2. Documentación de HL7 v2

3. Cómo leer el estándar: capítulos

4. Eventos disparadores

5. Estructura de mensajes. Sintaxis

abstracta

Page 3: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 3

Contenido

1. Elementos de V2: campos, segmentos,

separadores, opcionalidad

2. Tipos de Datos

3. Vocabulario en HL7 V2.X

4. ACK y reporte de errores

5. Herramientas, Interfaces, Motores

Page 4: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 4

Tareas al enfocar una interface

1. Entender los requerimientos de interoperabilidad

2. Definir para cada caso el estándar aplicable y los artefactos (mensajes, llamadas, documentos) requeridos

3. Trabajar el vocabulario

4. Especificar el entorno de comunicaciones

5. Determinar el movimiento de datos a artefacto y viceversa.

6. Construir la interface

7. Documentar la implementación

Recordatorio

Page 5: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 5

Objetivos

Objetivos de este módulo

Conocer el ALCANCE del estándar: para qué puede

usarse.

Entender la MECANICA del intercambio de mensajes

Poder ESCRIBIR un encabezado de mensaje HL7 (y

algún otro fragmento)

Poder LEER un mensaje HL7 V2.X y “entenderlo”.

Conocer superficialmente los TIPOS DE DATOS de

HL7 V2.X

Page 6: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 6

Alcance

1. Una vez que entendimos los

requerimientos de interoperabilidad: ¿qué requerimientos de los que encontramos nos

puede cubrir el estándar HL7 V2.x?

1. Documentación de

HL7 v2

2. Cómo leer el

estándar: capítulos

Page 7: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 7

Alcance

Qué significa HL7

Qué es HL7 v2.x

Entorno de comunicaciones

Dominios o capítulos

Page 8: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 8

Un protocolo para el intercambio de información clínica

Arquitectura de comunicaciones del modelo ISO-OSI

1 Física

2 Enlace

3 Red

4 Transporte

Communicación

Función

5 Sesión

6 Presentación

7 Aplicación HL7

¿Qué significa siete en HL7? – para la versión 2x

Alcance

Page 9: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 9

¿Qué es HL7 v2.x?

Es un protocolo para el intercambio de información

clínica a través de mensajes

NO es una aplicación

NO es una estructura de datos o especificación de base

de datos

NO es una arquitectura para diseñar aplicaciones

hospitalarias

NO es una especificación para un ruteador de mensajes

Alcance

Page 10: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 10

Entorno de comunicaciones El estándar HL7 asume que el entorno de comunicaciones

proveerá lo siguiente:

Trasmisión sin errores. Las aplicaciones pueden asumir que recibirán correctamente toda cadena de bytes trasmitida. Esto implica el chequeo de errores es realizado en un nivel inferior.

Conversión de caracteres. En el caso de que diferentes máquinas utilicen distintas representaciones de caracteres (ej. ASCII-EBCDIC) será el entorno de comunicaciones el que realice esta tarea.

Largo del mensaje. HL7 no especifica ninguna restricción al largo de un mensaje.

Alcance

Page 11: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 11

El capítulo 2 define como se codifican y decodifican los mensajes.

El resto de los capítulos representa el trabajo de un comité técnico sobre un área de la informática en salud. Este trabajo es aprobado posteriormente por el consenso de todos los miembros de HL7.

Este comité (al que puede ingresar cualquier miembro) es el responsable de incorporar agregados o cambios.

El capítulo contiene la información requerida para implementar mensajes referidos al área en cuestión y referencias al contenido de otros capítulos.

Ejemplo: ’TURNOS’ refiere obviamente a Pacientes, pero agrega contenido propio.

Alcance

¿Que representa un capítulo?

Page 12: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 12

Cómo leer el estándar

Alcance

Conocer profundamente el capítulo 2 (control).

(por eso existe la Certificación Internacional en HL7 v2.x ‘Control’: el dominio de ‘Control’ permite entender con facilidad el resto del estándar.

Cada capítulo contiene los elementos requeridos para armar mensajes referidos al área en cuestión:

1. introducción / alcance

2. eventos

3. definiciones de mensajes

4. ejemplos

5. temas pendientes de resolución

Page 13: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 13

Alcance

Una vez definido el o los capítulos

involucrados, debo definir los eventos

disparadores que generan mensajes y

cuáles debo utilizar.

(Siempre y cuando decida utilizar mensajería HL7 V2, veremos más

adelante el tipo de decisiones involucradas)

Alcance

Page 14: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 14

Paradigmas de respuestas HL7

Sistema

A

ORM msg

ORR (opt)

Aceptar ACK (opt)

Aceptar ACK (opt)

Sistema

B

Evento

disparador

Evento

disparador

Eventos disparadores

Page 15: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 15

Modelo básico de transacciones HL7

RED

ENVIA

MENSAJE

Sistema A

Sistema B

RECIBE MENSAJE

Evento disparador

RECIBE

RESPUESTA

ENVIA RESPUESTA

Eventos disparadores

Page 16: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 16

Cuándo Un evento A01 es enviado cuando se realiza el

ingreso/admisión del paciente.

Qué Normalmente, esta información es ingresada por

el sistema de admisión de pacientes e informada al resto de los sistemas que conforman la organización

Uso Por ejemplo, un evento A01 puede ser usado

para notificar al sistema de Laboratorio que un paciente ha sido admitido y al que se le puede fehacientemente solicitar estudios.

Ejemplo de evento disparador

Eventos disparadores

Page 17: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 17 JORNADA HL7 MDP

MSH|^~\&|NSI||LAB||20010827120759||ADT^A01|NSI1|P|2.3||||

AL<cr>

EVN|A01|18000101000000<cr>

PID|1||60719^^^^HI|26690949^^^^DNI|TORRALBA^AIDA||1978011

3000000|F|||POTOSI 4032 108^^CAPITAL FEDERAL^^1899<cr>

NK1|1|CAMUS^ALBERTO|PAD|RIVADAVIA 253|42539686<cr>

PV1|1|I|301|R|||1436^PEREZ^JORGE^ALBERTO|1026^LOPEZ^NORBE

RTO|998^GARCIA^ALEJANDRO|M|||A|4|A0|N|1026^LOPEZ^NORBER

TO|OB|H0100240|||||||||||||||||ALV||||||||2001082309513

0|20010823102455<cr>

IN1|1|INT^^HI|2^^^^HI~347^^^^NSI|PLAN DE SALUD<cr>

Un mensaje es la unidad transferida entre sistemas informáticos. Esta

compuesto de por un grupo de segmentos en una secuencia definida. El

primer segmento (MSH) identifica el tipo de mensaje y el evento disparador

que hizo que el mensaje sea enviado.

Elementos de Mensajes HL7 V2.X

Page 18: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 18 JORNADA HL7 MDP

¿Qué es un mensaje HL7 abstracto?

Describe los Datos …

Cuándo son enviados …

Y cuales son las condiciones de error …

Pero NO describe la cadena de Bytes que conforman el mensaje.

Elementos de Mensajes HL7 V2.X

Page 19: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 19 JORNADA HL7 MDP

[...] opcional, {...} permite repetirse

MSH Encabezado de Mensaje EVN Tipo de evento PID Identificación del paciente [ PD1 ] Datos adicionales demográficos [{ NK1 }] Familiares a cargo PV1 Información del episodio [ PV2 ] Información adicional del episodio [{ DB1 }] Información de discapacidades [{ ALG }] Información sobre alergias [{ DG1 }] Diagnóstico [ DRG ] Grupo relacionado de Diagnóstico [{ PR1 Procedimento [{ ROL }] Rol }] [{ GT1 }] Garante [{ IN1 Datos de la obra social [ IN2 ] Datos de la obra social - Addicionales [ IN3 ] Datos de la obra social - Addicionales }] [ ACC ] Información de Accidente

Ejemplo de mensaje HL7 abstracto

(ADT^A01)

Elementos de Mensajes HL7 V2.X

Page 20: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 20 JORNADA HL7 MDP

Segmentos

Características de los segmentos

Un segmento HL7 es una agrupación de campos.

Los segmentos dentro de un mensaje: Pueden ser REQUERIDOS u OPCIONALES

Pueden ocurrir UNA SOLA VEZ o permitir REPETICIONES

Se identifican por un código único de tres caracteres denominado ‘SEGMENT ID’

HL7 permite en cada implementación definir segmentos específicos para intercambiar información no prevista Segmentos Z..

Elementos de Mensajes HL7 V2.X

Page 21: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 21 JORNADA HL7 MDP

El segmento PV1 es utilizado por las aplicaciones de registración y admisión para comunicar la información específica de la visita del paciente

SEQ LEN DT OPT RP# TBL# ITEM# ELEMENT NAME … 2 1 IS R 0004 00132 PATIENT

CLASS 3 80 PL O 00133 ASSIGNED

PATIENT LOC 4 2 IS O 0007 00134

ADMISSION TYPE …

3.3.3.0 PV1 field definitions

3.3.3.2 Patient class (IS) 00132

Definition: This field is used by systems to categorize patients by site. It does not have a consistent industry-wide definition. It is subject to site-specific variations. Refer to user-defined table 0004 - Patient class for suggested values.

Especificación de segmentos Elementos de Mensajes HL7 V2.X

Page 22: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 22 JORNADA HL7 MDP

Definición de segmento PV1

S E Q L E N D T O P T R P / # T B L # I T E M # E L E M E N T N A M E

1 4 S I O 0 0 1 3 1 S e t I D - P V 1

2 1 I S R 0 0 0 4 0 0 1 3 2 P a t i e n t C l a s s

3 8 0 P L O 0 0 1 3 3 A s s i g n e d P a t i e n t L o c a t i o n

4 2 I S O 0 0 0 7 0 0 1 3 4 A d m i s s i o n T y p e

5 2 0 C X O 0 0 1 3 5 P r e a d m i t N u m b e r

6 8 0 P L O 0 0 1 3 6 P r i o r P a t i e n t L o c a t i o n

7 6 0 X C N O Y 0 0 1 0 0 0 1 3 7 A t t e n d i n g D o c t o r

8 6 0 X C N O Y 0 0 1 0 0 0 1 3 8 R e f e r r i n g D o c t o r

9 6 0 X C N O Y 0 0 1 0 0 0 1 3 9 C o n s u l t i n g D o c t o r

1 0 3 I S O 0 0 6 9 0 0 1 4 0 H o s p i t a l S e r v i c e

1 1 8 0 P L O 0 0 1 4 1 T e m p o r a r y L o c a t i o n

1 2 2 I S O 0 0 8 7 0 0 1 4 2 P r e a d m i t T e s t I n d i c a t o r

1 3 2 I S O 0 0 9 2 0 0 1 4 3 R e a d m i s s i o n I n d i c a t o r

1 4 3 I S O 0 0 2 3 0 0 1 4 4 A d m i t S o u r c e

1 5 2 I S O Y 0 0 0 9 0 0 1 4 5 A m b u l a t o r y S t a t u s

1 6 2 I S O 0 0 9 9 0 0 1 4 6 V I P I n d i c a t o r

1 7 6 0 X C N O Y 0 0 1 0 0 0 1 4 7 A d m i t t i n g D o c t o r

1 8 2 I S O 0 0 1 8 0 0 1 4 8 P a t i e n t T y p e

• PV1 - Atributos del “Patient Visit Segment”

Elementos de Mensajes HL7 V2.X

Page 23: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 23 JORNADA HL7 MDP

Campos Campo

Un campo es una cadena de caracteres definida por un tipo de datos de HL7.

El apendice A del estándar, el diccionario de datos, brinda un listado alfabético de los campos, listados de codificación recomendada, y una referencia cruzada de los campos contra los segmentos

3.3.2.5 Patient name (XPN) 00108

Components: <family name (ST)> ^ <given name (ST)> ^ <middle

initial or name (ST)> ^ <suffix (e.g., JR or III) (ST)> ^

<prefix (e.g., DR) (ST)> ^ <degree (e.g., MD) (ST)> ^ <name

type code (ID) >

Elementos de Mensajes HL7 V2.X

Page 24: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 24 JORNADA HL7 MDP

Caracteres de Codificación

Delimitadores: | ^ ˜ \ & <CR>

Al construir un mensaje, se utilizan determinados

caracteres como DELIMITADORES

Terminador de Segmento <CR> (ASCII 13)

Separador de Campo | (ASCII 124)

Separador de Componente ^ (ASCII 94)

Separador de Subcomponente & (ASCII 38)

Caracter de Repetición ~ (ASCII 126)

Caracter de Escape \ (ASCII 92)

Son “modificables”, excepto <CR>

Elementos de Mensajes HL7 V2.X

Page 25: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 25 JORNADA HL7 MDP

Resumen de Elementos HL7 V2.X

mensaje: formado por segmentos separados entre sí por <CR>.

segmento: formado por campos separados por el separador de campos (|1)

campo: formado por uno o más componentes separados por el separador de componentes

(^1) y es de un tipo de datos específico.

componente: formado por uno o más subcomponentes separados por el separador de subcomponentes (&1)

1 (puede ser modificado)

Elementos de Mensajes HL7 V2.X

Page 26: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 26 JORNADA HL7 MDP

Resumen de Opcionalidad HL7 V2.X

Un segmento puede ser opcional o repetitivo.

Ejemplo: “Diagnóstico(s)”

Un campo puede ser opcional o repetitivo.

Ejemplo: “Teléfono(s)”

Un componente de un campo puede ser

opcional. Ejemplo: ‘Inicial Media de Nombre”

Un subcomponente de un componente puede

ser opcional. Ejemplo: “Grado de precisión de la

fecha”

Elementos de Mensajes HL7 V2.X

Page 27: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 27 JORNADA HL7 MDP

Resumen de Elementos (del mensaje al atributo)

Elementos de Mensajes HL7 V2.X

Mensaje Abstracto Tabla de atributos para cada

segmento

Narrativa para cada atributo

Def. de Tipos de Datos

Page 28: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 28 JORNADA HL7 MDP

Alfanuméricos (ST,TX,FT)

Numéricos (CQ,MO,NM,SI,SN)

Identificadores (ID,IS,HD,EI,RP,PL,PT)

Fecha/Hora (DT,TM,TS)

Valores Codificados (CE,CF,CK,CN,CX,XCN)

Genéricos (CM)

Forma de Onda (CD,MA,NA,ED)

Precios (CP)

Finanzas (FC)

Consultas extendidas (QSC,QIP,RCD)

Archivos maestros (DLN,JCC,VH)

Registros médicos (PPN)

Series temporales (DR,RI,TQ)

Datos Demográficos (AD,PN,TN,XAD,XPN,XON,XTN) XPN data type: <family name (ST)> ^ <given name (ST)> ^ <middle initial or

name (ST)> ^ <suffix (e.g., JR or III) (ST)> ^ <prefix (e.g., DR) (ST)> ^ <degree

(e.g., MD) (ST)> ^ <name type code (ID) >

Tipos de Datos

Tipos de Datos

Page 29: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 29 JORNADA HL7 MDP

Tipos de Datos Alfanuméricos

ST – STRING

Cadena de caracteres

Justificado a izquierda con espacios a derecha

opcionales. Se acepta cualquier caracter ASCII

imprimible

Tipos de Datos

Page 30: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 30 JORNADA HL7 MDP

Tipos de Datos Alfanuméricos

TX – TEXT

Texto

Texto preparado para su visualización o impresión

Tipos de Datos

Page 31: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 31 JORNADA HL7 MDP

Tipos de Datos Alfanuméricos

FT – TEXT

Texto formateado

Este tipo de datos se derivo del TX permitiendo la

inserción de instrucciones de formateo embebidas

Tipos de Datos

Page 32: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 32 JORNADA HL7 MDP

Tipos de Datos Numéricos Numéricos

CQ (cantidad compuesta)

MO (dinero)

NM (numérico)

SI (id de secuencia)

SN (numérico estructurado)

Tipos de Datos

Page 33: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 33 JORNADA HL7 MDP

Tipos de Datos Numéricos Numéricos

CQ – Cantidad compuesta Cantidad con unidades

El primer componente es la cantidad, el segundo la unidad en la cual se expresa la cantidad.

<cantidad (NM)>^<unidad (CE)>

|123.7^kg| |150^lb&&ANSI+|

Tipos de Datos

Page 34: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 34

Tipos de Datos Numéricos Numéricos

MO – Dinero

Tipo de dato para dinero.

El primer componente es la cantidad y el segundo la denominación de la moneda

|99.50^USD|

Tipos de Datos

Page 35: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 35 JORNADA HL7 MDP

Tipos de Datos Numéricos Numéricos

NM – Numérico Tipo de dato numérico

Un número representado por caracteres ASCII numéricos con un signo y punto decimal opcional.

|-1233.22|

SI – Id de Secuencia Un entero positivo

|1233|

Tipos de Datos

Page 36: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 36 JORNADA HL7 MDP

Tipos de Datos Numéricos Numéricos

SN – Números estructurados

Ejemplos:

|>^100| Mayor que 100

|^100^-^200| Entre 100 y 200

|^1^:^128| Título 1:128 (resultado de serología)

|^2^+| Positivo “2 cruces” (respuesta categ.)

Tipos de Datos

Page 37: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 37 JORNADA HL7 MDP

Tipos de Datos Fecha / Hora

DT: Fecha -YYYY[MM[DD]] Permite impresión (solo año, solo año/mes)

TM: Hora -HH[MM[SS[.S[S[S]]]]]][+/-ZZZZ] Siempre en formato de 24 hs, permite especificar

diferencia con tiempo universal coordinado (Greenwich)

TS: Time Stamp -YYYY[MM[DD[HH[MM[SS[.S[S[S]]]]]]]][+/-ZZZZ] ^ <grado de precision] Permite especificar el tiempo preciso del evento, con

hora y fecha

Tipos de Datos

Page 38: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 38 JORNADA HL7 MDP

Tablas e Identificadores HL7 provee tablas para utilizar en los mensajes

Tablas definidas por HL7

Tablas definidas por el usuario

Identificadores

ID Valor para tablas definidas por HL7

IS Valor para tablas definidas por el usuario

HD Denominador Jerárquico (Hierarchic Designator)

EI Idenficador de Entidad

RP Puntero de referencia

PL Ubicación de Paciente

PT Tipo de Procesamiento

Tipos de Datos

Page 39: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 39 JORNADA HL7 MDP

Ejemplos de tablas Tablas definidas por el usuario

User 0002Marital

Status

PID-16, NK1-

14, GT1-32,

IN2-44

0002 A Separated

0002 D Divorced

0002 M Married

0002 S Single

0002 W Widowed

Tipos de Datos

Page 40: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 40 JORNADA HL7 MDP

Ejemplos de tablas Tablas definidas por HL7

HL7 0027 Priority OM4-13

0027 S Stat (do immediately)

0027 A As soon as possible (a priority

lower than stat)

0027 R Routine

0027 P Preoperative (to be done prior to

surgery)

0027 T Timing critical (do as near as

possible to requested time)

Tipos de Datos

Page 41: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 41 JORNADA HL7 MDP

Identificadores Identificadores

ID – Valor codificado por HL7 Debe ser elegida de una lista definida por HL7

Ejemplo : Sexo : F/M/O/U

IS – Valor codificado por el USUARIO Debe ser elegida de una lista definida por las partes

que consensuan una implementacion determinada

Ejemplo : Religión

Tipos de Datos

Page 42: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 42 JORNADA HL7 MDP

Identificadores Identificadores

HD – Hierachic Designator (Denominador Jerárquico)

EI – Identificador de Entidad

<identificador de entidad (ST)>^

<ID de namespace (IS)> ^

<ID universal (ST)> ^

<Tipo ID universal (ID)>

El Identificador de entidad es único dentro del objeto definido

por los componentes 2 a 4

Tipos de Datos

Page 43: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 43 JORNADA HL7 MDP

Punteros de referencia Identificadores

RP – Puntero de Referencia Este tipo de datos transmite informacion acerca de datos

almacenados en otro sistema.

<pointer (ST)>^<application ID(HD)> ^<type of data(ID)>^<subtype(ID)

Tipos de datos referenciados:

TIFF - PICT

DICOM - FAX

JOT - BASIC

ISDN - PostScript

JPEG - GIF

HTML - RTF

Tipos de Datos

Page 44: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 44 JORNADA HL7 MDP

Ejemplo: Ubicación de personas PL – Ubicación de personas

Lógicamente el orden es:

1 Tipo de ubicacion de persona

2 Conjunto de edificios (facility)

3 Edificio

4 Piso

5 Sector (Sala, etc. -Point of Care)

6 Habitación

7 Cama

8 Descripción de Ubicación

9 Estado de Ubicación

El orden sintáctico es:

<point of care (IS)> ^

<room (IS)> ^

<bed (IS)> ^

<facility (HD)> ^

<location status (IS)> ^

<person location type (IS)> ^

<building (IS)> ^

<floor (IS)> ^

<location description (ST)>

PV1|1|I|01-02^11^23|

Tipos de Datos

Page 45: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 45 JORNADA HL7 MDP

Tipos de Datos PT – Tipo de Procesamiento

<processing ID (ID)> ^ <processing type (ID)>

Processing ID: D=Debug

P=Producción

T=Prueba/Capacitación

Processing Mode: A=Archivo

R=Restore

I=Carga Inicial

Tipos de Datos

Page 46: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 46 JORNADA HL7 MDP

Tipos de Datos Valores Codificados

CE- Elementos codificados

CF- Elementos codificados con valores formateados

CK- Compuesto con digito verificador

CN- Número compuesto

CX- Número compuesto con digito verificador

XCN-Número compuesto extendido

CWE Codificados con Excepciones

CNE Codificados sin Excepciones

Tipos de Datos

Page 47: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 47 JORNADA HL7 MDP

Vocabulario en v 2.x

¿Dónde se presentan ‘problemas de vocabulario’?

Tablas HL7 (se ‘guardan’ o se ‘codifican’)

Campos codificados (prácticas, diagnósticos, sexo administrativo, tipo de muestra, etc.)

Identificadores de entidades (personas, pacientes, médicos, prestadores, hospitales, servicios, etc.)

Posibilidad de usar el cap. 8 para compartir tablas maestras o cualquier otra estrategia.

Vocabulario en v 2.x

Page 48: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 48 JORNADA HL7 MDP

Reglas de proceso Secuencia de intercambio de mensajes

Paso 1. El sistema emisor construye un mensaje HL7 basado en datos de la aplicación y lo envía al sistema receptor.

Paso 2. El sistema receptor recibe el mensaje y … a) Valida sintácticamente el mensaje de acuerdo a reglas de

iniciación basadas en el segmento MSH. Si falla envía un mensaje de rechazo al emisor; si no continua ...

b) Pasa el mensaje a la aplicación, la cual:

1) crea un mensaje de respuesta, o …

2) crea un mensaje de error, o …

3) crea un mensaje de rechazo.

c) Envía el mensaje de respuesta, error o rechazo.

ACK y reporte de errores

Page 49: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 49 JORNADA HL7 MDP

Encabezado del mensaje - Segmento MSH

Campo Notas MSH-3-sending application

MSH-4-sending facility

MSH-5-receiving application

MSH-6-receiving facility

MSH-7-date/time of message Este campo no es utilizado en la lógica de procesamiento del protocolo HL7. Es opcional.

MSH-9-message type

MSH-10-message control ID Identificador único de mensaje utilizado para responder al mensaje inicial.

MSH-11-processing ID

MSH-12-version ID

MSH-13-sequence number

MSH-14-continuation pointer

ACK y reporte de errores

Page 50: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 50 JORNADA HL7 MDP

Mensaje ACK – Respuesta general

Mensaje de uso general para indicar un acuse de

recibo de un mensaje. Indica si hubo o no un error al

procesar el mensaje.

ACK General acknowledgment Chapter

MSH Message Header 2

MSA Message acknowledgment 2

[ ERR ] Error 2

ACK y reporte de errores

Page 51: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 51 JORNADA HL7 MDP

Reglas mínimas de validación Criterios mínimos a validar en la recepción

de mensajes:

El valor del campo MSH-9-message type debe ser el de un tipo de mensaje reconocido por la aplicación receptora.

El valor del campo MSH-12-version ID (versión de HL7) debe ser la apropiada.

El valor del campo MSH-11-processing ID (Producción /Prueba/Debug) debe ser corresponder la aplicación receptora.

En caso de que cualquiera de falle, se rechaza el mensaje y

se crea un mensaje ACK, con AR en el campo

MSA-1-acknowledgement code

ACK y reporte de errores

Page 52: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 52 JORNADA HL7 MDP

Procesamiento de la aplicación Procesamiento de mensajes a nivel

aplicación:

Una vez que la validación inicial del protocolo, analizando el encabezado MSH, se ha realizado se ejecuta una de las siguientes acciones: 1) Se procesa satisfactoriamente el mensaje,

generando una respuesta con el valor AA en MSA-1-ack code.

2) Se crea una respuesta de error, proveyendo la información del error y el valor AE en el campo MSA-1

3) Falla al procesar el mensaje (Rechazo) por razones ajenas al contenido o formato (Caída del sistema, error interno, etc). Enviandose un mensaje con el valor AR en el campo MSA-1

ACK y reporte de errores

Page 53: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 53 JORNADA HL7 MDP

Especificación del tipo de respuesta En cada envío de un mensaje se puede

especificar el campo MSH-15-Accept acknowledgment type

Este campo identifica las condiciones de

requerimiento de mensajes de respuesta. Este campo es requerido para el modo extendido.

Valor Descripción

AL Siempre requiere respuesta

NE Nunca requiere respuesta

ER Unicamente ante un error

SU Unicamente cuando es satisfactorio

ACK y reporte de errores

Page 54: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 54 JORNADA HL7 MDP

Herramientas, interfaces y motores Hay que tomar decisiones acerca de herramientas para:

Generación de mensajes (cómo y cuándo partir de nuestros datos y llegar a generar el texto del mensaje)

Decodificación de mensajes (que hacer cuando se recibe un mensaje y como mapear los datos obtenidos a nuestro sistema)

Enviar y recibir los mensajes (bajo nivel, ruteo de mensajes)

Control, registro y auditoria (¿que pasa cuando la interface no funciona? ¿que pasa cuando un mensaje no llega? ¿que pasa si queremos revisar el contenido de un mensaje enviado previamente?)

Herramientas, interfaces, motores

Page 55: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 55 JORNADA HL7 MDP

Generación/Decodificación de Mensajes

Opciones:

Desarrollo propio

Open source

Componentes comerciales

Middleware

Herramientas, interfaces, motores

Page 56: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 56 JORNADA HL7 MDP

Desarrollo propio

Herramientas, interfaces, motores

Los mensajes no son otra cosa que cadenas de caracteres.

Axioma: Podemos agregar a cualquier aplicación existente en cualquier plataforma utilizando cualquier lenguaje de programación la capacidad de generar mensajes HL7.

Desventaja: Caro en tiempo de desarrollo, pruebas y validación. Posibilidades de error.

Es muy dificil programar un parser, a menos que sea limitado en alcance (específico para algunos capítulos, eventos y uso de los mismos)

Ventajas: Libertad, Independencia, Posibilidad de re-uso posterior.

Page 57: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 57 JORNADA HL7 MDP

Herramientas de uso libre (v2.x)

HAPI : Interface HL7 open source (2.1 a 2.6)

http://hl7api.sourceforge.net/

MIRTH (Connect/Results/Match)

(2.x, V3, CDA, xml en gral, DICOM)

http://www.mirthcorp.com/community/overview

(Hay más pero son las mas usadas)

Herramientas, interfaces, motores

Page 58: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 58 JORNADA HL7 MDP

Componentes comerciales Hay disponibles diversos componentes comerciales para generación y decodificación de mensajes V2

Algunos de ellos (no es publicidad, es información):

Chameleon www.Interfaceware.com

Neointegrate www.neotool.com

IDK Interface Engine www.linktools.com

Symphonia www.orionhealth.com

En general permiten agregar componentes que generan objetos para integrar con programas en Visual Studio, Java, etc o permiten mapear directamente los datos recibidos en mensajes a la base de datos.

Desventaja: $$ gastados comprando el producto, capacitación, pruebas y validación. Dependencia posterior del proveedor según la flexibilidad del producto. Costo de licencia run-time (si es que existe).

Ventajas: Aprovechamiento más veloz. No nos preocupamos por ‘la interface’.

Herramientas, interfaces, motores

Page 59: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 59 JORNADA HL7 MDP

Middleware específico

Se encargan de todos los aspectos de la integración : comunicación, registro, codificación y decodificación.

Big Guys:

Biztalk (Microsoft)

http://www.microsoft.com/biztalk/en/us/accelerator-hl7.aspx

Healthcare Transaction Base HTB (Oracle) http://www.oracle.com/solutions/integration/health.h

tml

Sun (Componentes para BPEL)

Herramientas, interfaces, motores

Page 60: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 60 JORNADA HL7 MDP

Herramientas de Envío/Recepción

Desarrollo propio Es bastante sencillo desarrollar una interface de bajo nivel a

través de TCP (MLLP)

También se pueden implementar a través de e-mail y web services.

Componentes Los mismos vendedores de componentes comerciales ofrecen

soluciones para envío y/o recepción

Open/Source Vienen en general con soluciones MLLP

Colas de mensajería (permiten ruteo, persistencia, etc) MQSeries (IBM)

MSMQ (Microsoft)

Advanced Queueing (Oracle)

Java Queue

Herramientas, interfaces, motores

Page 61: Introducción a HL7 · El estándar HL7 asume que el entorno de comunicaciones proveerá lo siguiente:

© 2005-2012, HL7 Argentina 61 JORNADA HL7 MDP

Motores de Mensajería

Los motores de mensajería son productos

de middleware específico para HL7

destinados a las grandes instalaciones

(hospitales, financiadores). Tienen en

cuenta ruteo, registro, auditoría,

traducción entre versiones (2.3->2.4, etc.),

transposición de mensajes (transformar un

mensaje en otro), etc.

Herramientas, interfaces, motores