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:

[View:http://www.youtube.com/watch?v=qewOJPxz4-c]

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

This entry was posted in 12677, 13856. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>