Angel "Java" Lopez

NET, Java, PHP y Desarrollo de Software

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

.NET

ASP.NET

Windows Form

VB.NET

C#

Sitios

Blogs

Estudiando HL7

Ya escribí sobre el tema software para salud/medicina, en:

Primeras ideas para Hospital Information System de Código Abierto
Hacia un Hospital Information System de Código Abierto
Hacia una Historia Clínica Digital de Código Abierto

Desde hace un tiempo, estoy coleccionando información sobre el tema, en especial enlaces. Uno de los temas que surge en este tipo de aplicaciones, es HL7 (Health Level 7). ¿Qué es HL7? Podemos leer en el sitio:

http://www.hl7.com.au/FAQ.htm

Just as people from different countries with completely different native tongues are only able to communicate with each other if they can speak a common language, computer applications can only share information if they communicate with a common protocol. For people or computers to be able to share clinical data with one another, they must both:

  1. have functions to be able to physically communicate, e.g. speak & hear, send and receive documents and data files, share data and information. This is called "functional interoperability".
  2. speak a common language (in terms of nouns, verbs, grammatical structure, etc.) and share the same vocabulary that allows them to understand complex medical conditions and processes. This is called "semantic interoperability".

A group of healthcare computer systems users started developing the HL7 protocol in 1987 to create a common "language" that allows healthcare applications to share clinical data with each another. Over time the HL7 interoperability protocol became a nationally, internationally and globally accepted and accredited standard.

Es decir, HL7 es un standard para intercambiar datos, usando un lenguaje común, entre aplicaciones de salud. La misma gente de ese sitio, produjo este video:

Atención: hay una versión HL7 v2.x y luego apareció un V3 donde se pasó a un formato de mensaje XML (antes en la V2 los mensajes eran líneas de texto).

Mi colección de enlaces es

http://delicious.com/ajlopez/hl7

El sitio madre de HL7:

http://www.hl7.org

Un pantallazo de lo que es, se puede ver en la página de la Wikipedia

http://en.wikipedia.org/wiki/Health_Level_7

Un breve curso introductorio de 30 minutos:

Intro to HL7

Vean que ahí menciona que en V3 cambia el formato de serialización de mensajes: pasa a XML. Es un “gran” cambio con respecto a V2. Aparece Clinical Document Architecture (CDA). Recursos sobre CDA en: http://hl7book.net/index.php?title=CDA

Ayer, el bueno de @HiperiX me envió enlaces a sus posts:

Working with HL7 Part 1 | Blog of Gonzalo Brusella
Working with HL7 Part 2 | Blog of Gonzalo Brusella

Si quieren programar produciendo y consumiendo HL7, me parecieron potables:

http://hl7api.sourceforge.net/ (proyecto código abierto en Java)
http://nhapi.sourceforge.net/home.php (port a .NET)

Pero no vi que tuvieran soporte de V3.

Un glosario de HL7

HL7 Glossary Terms (pdf)

Tutorial interesante, uno de los primeros que leería:

HL7 Overview

Un interesante sitio, con material de V2, V3, CDA, etc:

HL7Book

Más tutoriales en

http://delicious.com/ajlopez/hl7+tutorial

Recursos y herramientas en:

HL7 Resources
HL7 Tools, Utilities and Resources
http://delicious.com/ajlopez/hl7+tools

Sobre el formato de los mensajes V2:

Understanding HL7 messages

Más técnicos sobre V2:

http://www.pbgh.org/programs/documents/LabDemoFinalReportAttach3.pdf
HL7 Format Details

Sobre mensajes en V3, con validación en línea, y ejemplos de instancia en:

http://tl7.intelliware.ca/validateMessage.faces

Los mensajes V3, al ser XML, se pueden describir en XSD. Alguien que intentó tomar los XSD para generar clases:

HL7 v3.0 MessageHandling

Tengo que leer con más detenimiento, el “approach” de

A software factory approach to HL7 Version 3 Solutions

Vean cómo ahí plantea un escenario donde hay DISTINTAS aplicaciones, de posiblemente distintos proveedores de software, que intercambian mensajes HL7:

Me pareció muy informativo, desde el punto de vista de desarrollo:

Understanding HL7 Version 3 from Developers perspective

Una comparación corta de V2 vs V3:

HL7 Standard

Dos productos comerciales:

Chamaleon HL7 Messaging Toolkit
Iguana HL7 Interfaces

Igualmente, una advertencia: no armaría un dominio de aplicación de salud, basado en lo que dice HL7. Los dominios se arman sobre la realidad, como una representación de la realidad. Lo bueno de HL7 es que es un destilación de la realidad donde nació: tiene conceptos médicos en los mensajes que puede ser interesante representar en nuestro dominio (dependiendo de la necesidad de nuestro cliente). Pero no confundiría el mapa con el territorio: basar un dominio en HL7 no veo que sea el camino. Basar un dominio en HL7, es como basar un sistema de comercio electrónico en lo que tiene que ir en los mensajes EDI, o una aplicación en general según lo que va en un XML.

Lo que sí veo es que una aplicación médica, en todo caso, deberá tener en algún momento un mapeador de su dominio a HL7.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Published Wed, Jun 2 2010 11:17 by lopez

Comments

# re: Estudiando HL7@ Thursday, June 03, 2010 7:37 AM

Hola Angel, algunos comentarios. La versión 2 de HL7 también soporta XML, es decir, vos podés optar entre enviar el mensaje en formato "pipe & hat" (texto) o formato XML. Los esquemas XML (.xsd) están disponibles para los miembros de HL7 en el sitio web de HL7. Por otro lado, CDA es una especificación para documentos clínicos que es independiente de la mensajería HL7. Vos podrías enviar un documento CDA mediante un mensaje V3 o un mensje V2 o podrías enviarlo sin necesidad de utilizar la mensajería de HL7.

A modo informativo, en la Argentina desde el 2003/4 las prepagas Galeno, Medicus, Omint y SMG están interoperando con los prestadores mediante mensajes HL7 V2 para transacciones de elegibilidad y autorizaciones de los pacientes.

Por último, la versión 3 de mensajería de HL7, así como muchos de sus "artifacts" lleva más de 10 años de desarrollo y en mi humilde opinión me parece de una altísima complejidad de implementación. Cabe aclarar que  en septiembre de 2009 salió la versión 2.5 de HL7.

Marcelo Ceitlin

# Ayuda CDA@ Sunday, March 13, 2011 12:37 AM

Saludos. Estoy trabajando en un proyecto para certificar un EHR Software, pero tengo el obstaculo de entender y aprender CDA en tan poco tiempo. Habra alguna herramienta que genere automaticamente el documento clinico del paciente enviandole todos los parametros? Lo estoy trabajando en PHP pero aun no he conseguido ningua herramienta adecuada para eso.

Marcelo, si tienes experiencia usando este tipo de archivo y me puedes dar una manita te lo agradeceria. Ademas no he encontrado a nadie que sepa del tema y hable espanol :(

Un saludo...

Josue

# re: Estudiando HL7@ Saturday, September 24, 2011 11:37 AM

Un aporte desde mi blog: informatica-medica.blogspot.com/.../hl7-normalizando-la-comunicacion-en.html

Saludos.

Pablo Pazos

# XSD'S HL7 VERSION 3@ Wednesday, June 06, 2012 11:46 AM

Hola Angel, buen dia.

Sabes si existe algun lugar de donde sepuedan descargar los xsd's de HL7 para la version 3 completo, ya que estoy generando mis clases java a partir de ellos pero me faltan muchos archivos y no puedo terminar de generar toda la estructura, de casualidad tendrias algun enlace o algun repositorio donde conseguirlos.

Saludos !!!

josue nolasco miranda

Leave a Comment

(required) 
(required) 
(optional)
(required) 
If you can't read this number refresh your screen
Enter the numbers above: