Connecting eHealth blog

Editar mensajes HL7 con 7Edit

Trabajar directamente con mensajes HL7 no es fácil. De entre todas las herramientas de este tipo disponibles en la red nosotros solemos utilizar 7Edit.

En este artículo hablaremos sobre los mensajes HL7 v2 (en adelante omitiremos la versión v2) y comprobaremos como usar una herramienta adecuada facilita su manipulación. HL7 V2 es uno de los estándares HL7 más importantes.

Mensajes HL7 y necesidad de una herramienta

Antes de hablar de la herramienta, resumamos en pocas líneas qué es un mensaje HL7 y cómo se estructura.

Un mensaje HL7 es una cadena de texto que puede ser expresada tanto en lenguaje XML (v2.x XML), como en la nomenclatura de pipes (‘I’), esta última es la forma más habitual y la que utilizaremos en el resto del artículo. Ambas opciones son equivalentes y es posible la conversión en ambos sentidos.

Un mensaje HL7 tiene una estructura en función del tipo de mensaje y del evento disparador del mismo. A su vez, esta estructura se compone de segmentos.

Cada tipo de mensaje se explica en un capítulo específico del estándar HL7. La versión 2.6 de HL7 se compone de 17 capítulos y los tipos de mensajes o segmentos soportados los podemos consultar en este apéndice.

Segmentos

Las características de estos segmentos (obligatoriedad, cardinalidad, etc.) son las que definen la estructura del mensaje mediante lo que conocemos como mensaje abstracto. A continuación se muestra un ejemplo:

Estructura de un mensaje HL7
Estructura de un mensaje HL7 – Fuente http://www.hl7spain.org/wp-content/uploads/2012/08/SemHL7_Detalles_V2.pdf

Campos

Asimismo, los segmentos a su vez se componen de campos, con sus propias características de obligatoriedad, cardinalidad, etc. Estos campos, a su vez, se componen de componentes y subcomponentes. Continuando con el ejemplo anterior, un posible mensaje que cumple la estructura es:

Mensaje HL7
Mensaje HL7 – Fuente: http://www.hl7spain.org/wp-content/uploads/2012/08/SemHL7_Detalles_V2.pdf

Componentes y subcomponentes

Los componentes y subcomponentes de cada campo dependen del tipo de dato utilizado para representarlo. En HL7 existen muchos tipo de datos que están en continua evolución a lo largo de sus versiones. Los más habituales son:

Tipos de datos HL7
Tipos de datos HL7 – Fuente (http://www.hl7spain.org/documents/tutoriales_HL7/SemHL7_Detalles_V2.pdf)

Todo esto está muy bien explicado en la sección de recursos de HL7Spain de donde hemos obtenido las ilustraciones anteriores.

Según lo anterior, es fácil comprobar que es muy difícil trabajar con este tipo de mensajes sin una herramienta que nos facilite su manipulación. Ya que cometeríamos muchos errores fácilmente evitables y perderíamos mucho tiempo (¡y por lo tanto dinero!).

En nuestro caso esta herramienta se llama 7Edit.

7Edit y sus características

7Edit es un software privativo con un tipo de licencia de uso por usuario, pero que realmente resulta rentable a poco que lo utilicemos.

Advertencia: no estamos afiliados ni asociados de ningún modo con 7Edit o sus creadores Real Seven LLC.

Cabecera de 7Edit
Cabecera de 7Edit

Aunque en su web ya se describen sus características, nosotros vamos a mencionar las que nos resultan más interesantes desde un punto de vista práctico:

Navegación y edición de mensajes HL7

La navegación y edición de mensajes HL7 es la característica fundamental y más importante de la herramienta. Nos proporciona una ventana con un navegador en forma de árbol, para explorar y editar el mensaje HL7 de forma rápida y sencilla según la estructura del mensaje (segmentos, campos, tipos de datos, repeticiones, componentes, subcomponentes, etc.). Esta ventana se encuentra sincronizada con la ventana principal de la aplicación donde tenemos el texto del mensaje HL7.

Validación de mensajes HL7

Esta característica nos permite validar y en muchos casos corregir de manera automática los mensajes HL7 en base a perfiles de validación configurables por los usuarios. Estos perfiles nos permiten ser más o menos restrictivos a la hora de manipular mensajes y son configurables a nivel de mensajes, segmentos, campos y definiciones.

Esto es muy útil, por ejemplo, a la hora de contrastar la mensajería real con la documentación proporcionada por el proveedor cuando consumimos mensajería HL7, ya que en muchos casos no hay una correspondencia estricta.

Por otro lado, también es útil para comprobar que la mensajería que nuestra aplicación está generando cumple las especificaciones establecidas.

Envío y recepción de mensajes HL7

7Edit nos permite configurar perfiles de envío y de recepción para conexiones TCP/IP, serial, MLLP, etc. Esto es muy útil para realizar pruebas sobre la marcha a la vez que vamos trabajando con los mensajes.

Por ejemplo, si nuestra aplicación genera y devuelve mensajes de tipo ACK con tipos de errores específicos, resulta muy sencillo forzar errores mediante un perfil de validación. Enviaríamos los mensajes mediante un perfil de envío y recibiríamos los ACK mediante un perfil de recepción para su posterior análisis en la propia aplicación.

Otras características

Además de todo lo anterior, la herramienta nos ofrece otras muchas características muy útiles como:

  • personalización de definiciones y tablas,
  • construcción de segmentos Z (para los casos en que el estándar HL7 no define la información a intercambiar),
  • exportación e importación entre la versión XML y la nomenclatura de pipes,
  • comparación de mensajes, etc.

En su web podemos acceder a un vídeo donde en 5 minutos se da una introducción a los mensajes HL7 y se ilustra la potencia de esta herramienta.

En resumen, 7Edit es una herramienta que nos facilita mucho la vida a la hora de trabajar con mensajes HL7. De entre las muchas herramientas analizadas y probadas es la que nosotros hemos elegido y recomendamos.

Aclaramos que no estamos afiliados ni relacionados con 7Edit de ningún modo más allá de ser usuarios.

Próximamente, publicaremos una serie de artículos sobre Mirth Connect, la herramienta de motor de integración de referencia sobre la que basamos nuestros desarrollos.

Francisco J. CarrascoEditar mensajes HL7 con 7Edit

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Resumen de la Política de Privacidad

Responsable: Caduceus Software S.L.
Finalidad: Atender tu solicitud de publicar un comentario en este artículo. Además, si marcas "Recibir nuevos artículos por correo electrónico", suscribirte a nuestra lista de correo, .
Legitimación: Para poder publicar el comentario a tu nombre necesitamos tu nombre, email, web (opcional). Para evitar spam, tus datos personales y otra información técnica pueden ser enviados a un sistema automático de reconocimiento de spam (Akismet). Para suscribirte a nuestra lista de correo necesitamos tu correo electrónico.
Destinatarios: Tus datos para el comentario no se compartirán ni se cederán a terceros. Si marcas "Recibir nuevos artículos por correo electrónico", añadiremos tu dirección de correo y tu nombre a nuestra lista en MailChimp, una compañía estadounidense que cumple y respeta la privacidad de datos. Podrás darte de baja en cualquier momento.
Derechos: Puedes ejercer tus derechos escribiendo a info@caduceus.es o en nuestro formulario de contacto (https://www.caduceus.es/contacto/).

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.