Health Level Seven Internacional (HL7) es una organización sin fines de lucro que sigue las regulaciones de ANSI y cuyo objetivo es desarrollar estándares para el intercambio, integración y recuperación de información electrónica en el dominio de la salud. Da soporte a la práctica clínica y a la gestión, prestación y evaluación de servicios de salud. Los estándares HL7 permiten la interoperabilidad semántica entre casi todas las instituciones de salud, dominios y campos.
La versión 3 de HL7 es un estándar de interoperabilidad específico en el dominio de salud del diseño de HL7 para administrar la mayoría (si no todas) de las comunicaciones relacionadas con la salud mediante el uso de un conjunto relativamente pequeño de construcciones. El estándar especifica los guiones gráficos, los eventos de activación y las interacciones entre las aplicaciones clínicas para tener una representación común de las tareas de mensajería, como actualizar la cuenta de pago de un paciente, registrar una nueva observación en un diagnóstico o entregar un formulario de solicitud para un Análisis de sangre a un laboratorio.
La norma establece la información que cada mensaje o documento clínico debe contener y cómo se estructura a través de la definición de un gran conjunto de modelos de información. Estos modelos contienen construcciones especiales definidas usando un lenguaje que es incompatible con UML, lo que dificulta que los expertos en ingeniería de software aprendan los matices y detalles de las regulaciones. Además, hay muy pocas herramientas que admiten los modelos V3, y su nivel de madurez es bajo. Para enfrentar este desafío, proponemos un proceso de transformación para obtener automáticamente los modelos equivalentes de UML dada una de las representaciones XML (MIF) de los modelos de información en el estándar HL7.
Nuestra transformación se basa en el marco ATL, que incluye un lenguaje para la transformación del modelo y un conjunto de herramientas. Las herramientas se han desarrollado sobre Eclipse, que proporciona formas de producir un conjunto de modelos de destino dado un conjunto de modelos de origen. Para la transformación, se ha desarrollado un nuevo metamodelo HL7 V3 junto con las reglas de ATL para traducir de los modelos de HL7 V3 a UML. El metamodelo de UML ya está especificado en la plataforma Eclipse.
La transformación comienza con los archivos MIF del estándar HL7 V3. Contienen la representación XML más detallada de la información gráfica en el estándar HL7 V3. Los archivos MIF se procesan y se convierten en instancias del metamodelo HL7 V3. Luego, el motor ATL ejecuta un conjunto de reglas de transformación especificadas en el contexto del metamodelo HL7 V3 para traducir sus elementos al metamodelo UML. Como resultado, para cada modelo HL7 V3, la transformación produce automáticamente un modelo UML, que es una instancia válida del metamodelo UML.
Hemos probado nuestro proceso de transformación automática con la edición estándar HL7 V3 2010, que contiene 870 archivos MIF. El proceso general tiene un costo temporal de aproximadamente 3 minutos en una computadora con un procesador Intel Core i7 2.8GHz y 8 GB de memoria RAM DDR3. Considerando el hecho de que las ediciones estándar de HL7 V3 se lanzan anualmente y las versiones preliminares cada cuatro meses, el tiempo de ejecución de nuestra transformación es satisfactorio. Los 870 modelos UML resultantes contienen 19,815 clases, 55,234 atributos y 19,053 asociaciones. Estos modelos son compatibles con UML y son semánticamente idénticos, y están disponibles justo después del proceso de transformación.
Related publications
This study has been carried out by researchers from the GMC (Grup de Recerca en Modelització Conceptual de Sistemes d'Informació) group at Universitat Politècnica de Catalunya-BarcelonaTech.
For any question or comment, do not hesitate to get in touch with us by sending an e-mail to: avillegas@essi.upc.edu
Below we point out some potential areas for future work, in regards to the evolution of the transformation of the HL7 models to UML: