Transformació de Models de l'Estàndard de Salut HL7 a UML/OCL


Health Level Seven Internacional (HL7) is a non-profit organization which follows the ANSI regulations and whose goal is to develop standards for the exchange, integration and retrieval of electronic information in the health domain. It gives support to clinical practice and the management, delivery and evaluation of health services. The HL7 standards allow for the semantic interoperability among almost all the health institutions, domains and fields.

HL7 Version 3 is a specific interoperability standard in the health domain of HL7 design to manage the majority (if not all) of the health-related communications by using a relatively small set of constructs. The standard specifies the storyboards, the trigger events and the interactions between the clinical applications to have a common representation of the messaging tasks, such as updating a patient's payment account, registering a new observation in a diagnostic, or handing in a request form for a blood analysis to a lab.

The standard establishes the information that each message or clinical document should contain and how it is structured through the definition of a great set of information models. These models contain special constructs defined using a language which is incompatible with UML, thus making it difficult for software engineering experts to learn the nuances and details of the regulations. Moreover, there are very few tools that support V3 models, and their maturity level is low. To tacke this challenge we propose a transformation process to automatically obtain the UML equivalent models given one of the XML representations (MIFs) of the information models in the HL7 standard.

Our transformation is based on the ATL framework, which includes a language for model transformation and a set of tools. The tools have been developed on top of Eclipse, which provides ways of producing a set of target models given a set of source models. For the transformation a new HL7 V3 metamodel has been developed together with the ATL rules to translate from the models from HL7 V3 to UML. UML's metamodel is already specified in the Eclipse platform.

The transformation starts with the MIF files of the HL7 V3 standard. They contain the most detailed XML representation of the graphical information in the HL7 V3 standard. The MIF files are processed and become instances of the HL7 V3 metamodel. Then, the ATL engine executes a set of transformation rules specified in the context of HL7 V3 metamodel to translate its elements to the UML metamodel. As a result, for each HL7 V3 model, the tranformation automatically produces a UML model, which is a valid instance of the UML metamodel.

We have tested our automatic transformation process with the standard edition HL7 V3 2010, which contains 870 MIF files. The general process has a temporal cost of approximately 3 minutes in a computer with an Intel Core i7 2.8GHz processor and 8 GB DDR3 RAM memory. Considering the fact that the standard editions of HL7 V3 are released yearly, and the preliminary versions every four months, the execution time of our transformation is satisfactory. The 870 resulting UML models contain 19,815 classes, 55,234 attributes and 19,053 associations. These models are compatible with UML and semantically identical, and they are available right after the transformation process.



Quant a


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:

Treball Futur


Below we point out some potential areas for future work, in regards to the evolution of the transformation of the HL7 models to UML:

  • Application of the transformation from UML models to equivalent HL7 models. This alternative transformation allows HL7 experts to easily understand health models created using UML.
  • The execution of the transformation needs to be performed inside Eclipse. It would be better to create an independent tool or a web service to increase the usability of the transformation for non-technical users.
  • Integration of specific HL7 constructs in the existing UML CASE tools.