Connecting HL7 with software analysis. A model-based approach
Abstract
HL7 is an international organization that defines standards on health information systems. Most HL7 domain information models are designed according to an own graphic language. All this domain models are based in a unique metamodel. In the last years, many researchers have considered the possibility of using HL7 in the Model Driven Engineering (MDE) context. However, we have identified a weakness: most MDE tools do not support HL7 own model language, but all of them support UML standard model language. The present research area aims to connect HL7 with software analysis through a model-based approach.
Full text
1 Connecting HL7 with software analysis. A model-based approach.docx Connecting HL7 with software analysis. A model-based approach A. Martínez-García 1 , M.J. Escalona 2 and C.L. Parra-Calderón 1 1 Technological Innovation Group, “Virgen del Rocío” University Hospital, Seville, Spain 2 Web Engineering and Early Testing research group, University of Seville, Seville, Spain Abstract—HL7 is an international organization that defines standards on health information systems. Most HL7 domain information models are designed according to an own graphic language. All this domain models are based in a unique metamodel. In the last years, many researchers have considered the possibility of using HL7 in the Model Driven Engineering (MDE) context. However, we have identified a weakness: most MDE tools do not support HL7 own model language, but all of them support UML standard model language. The present research area aims to connect HL7 with software analysis through a model-based approach. Keywords— HL7, Model Driven Engineering, Metamodel, UML, Model Interchange Format. I. I NTRODUCTION HL7 (Health Level 7) [1] is an international non-profit organization that promotes and defines standards associated with health information systems. HL7 members develop standards related to exchange and modeling health information, with the objective of supporting clinical practice, management, development and evaluation in health services. A domain model is a conceptual model that describes concepts related to the problem domain [2,3]. It copes with concepts linked to the problem itself, instead of describing software system concepts. HL7 defines different domain models to explain each working problem or scenario that has been identified throughout the process. These conceptual schemes cover all areas that range from the necessary information to define system messages to clinical documents themselves. Model Driven Engineering (MDE) [2,3] is a new paradigm that centers on models creation and exploitation. Using MDE, we increase productivity since we maximize compatibility among systems (thanks to reutilization), simplifying the design process. Models act as systems basis. This way, we can separate applications’ conceptual definition from technology where they are executed. For this purpose, metamodel is a fundamental concept [2,3] as it describes concepts used in a specific model. There are many accepted notations to represent metamodels. In this case, we use UML class diagrams because they are the notation used both in HL7 and UML. HL7 has a metamodel, called Model Interchange Format (MIF) [4], from which we can model all HL7 domain models. HL7 has developed its own graphic language to model its models elements. Considering the wide range of entities that MIF needs to cover to collect all the necessary concepts in a general health system, we must argue that MIF is very extensive and is presented in such an abstract way that, although it results very interesting from the conceptual point of view, it can be difficult to manage. Keeping in mind that HL7 models are modeled in their own graphic language and the extension they present to cover all the necessary entities in a health system, we think that designing a software solution that should fulfill a HL7 standard is not an easy task for a software engineer. By contrast, software engineers generally know UML and they can design solutions by means of this standard. Besides, there are many MDE tools that, through a UML model, carry out a series of actions automatically, such as generating code or documentation. Therefore, working to connect HL7 with software analysis has been relevant for us. Our long-term objective is that software engineers can design their solutions using the UML metamodel and, in an automatic way, the HL7 metamodel. Consequently, we would offer the capability to use standard MDE tools that need the problem to be modeled with UML modeling, apart from simplifying solutions design. This article, lays the foundation for this research area that we have just begun and is motivated by our previous experiences, such as the Diraya Specialized Attention project [5,6]. In that project, we carried out a practical experience in the MDE context, consisting in applying NDT (Navigational Development Techniques) Web Engineering methodology [7,8] when performing the requirements and the analysis phases in a large-scale Web system that aimed to support the health information systems in Andalusia. This experience concluded that MDE could reduce the development time, as well as detects possible errors or inconsistencies in the early phases. The main target of the research presented in this paper is to use the HL7 metamodel in the MDE context. Figure 1 illustrates the general process that we aim to reach through this research.
2 Connecting HL7 with software analysis. A model-based approach.docx F ig. 1 Solution using the HL7 metamodel in the MDE context Secondary goals: • To propose a solution using the benefits of UML general proposed standard, the standards proposed by HL7, and MDE existing tools, to the software engineers working in the healthcare area. • To acquire a more complete knowledge both of HL7 and UML metamodels. • To take advantage of the potential of the existing tools that work with the new domain models exploitation paradigm: MDE. This paper is structured in the following way: After this introduction, Section II reviews and presents previous experiences. Then, Sections III and IV explain the method and results, respectively. Finally, Section V provides a discussion and Section VI states final conclusions. II. P REVIOUS EXPERIENCES Some members of the HL7 community have considered the need of using a modeling standard instead of the modeling language that defines the domain models generated from MIF. Previous experiences have studied the connection between HL7 v2.X and UML structures [9]. One of the first steps to use HL7 in MDE context consists in implementing MIF in a computer-workable language. There are experiences of implementation in computer-workable languages of specific domain model, for example HL7 v3, but they do not cover the HL7 metamodel completely [10]. A research team of the Polytechnic University of Cataluña has conducted an experience in this same line. They identified difficulties as a result of the use of HL7 modeling language, and proposed translating HL7 domain models into the UML nomenclature. They even implemented HL7 v3 domain model transformations to UML models [11]. The obstacle they may face is that the global HL7 community may not find it convenient to abandon the original MIF and, consequently, they may reject the proposal. No previous studies that intend to use HL7 in the MDE context making a correspondence between its metamodel elements and UML metamodel elements have been found, with the aim that the software engineer can use UML directly (being able to get help from all existing UML tools in the MDE context) and work automatically on the HL7 metamodel. III. M ATERIALS AND METHODS We are working to reach a solution in the MDE context evaluating the possibility of associating both metamodels, UML and HL7. To get this goal, firstly we have conceptually analyzed UML and HL7 metamodels and secondly, we have studied theoretically the correspondence between their elements. Below, table 1 shows the result of this correspondence study. T able 1 Correspondence between both metamodels HL7 Metamodel Diagram HL7 Metamodel Element UML Metamodel Element Information Model Class Class Attribute Property Structural_attribute Direct correspondence not found Association Association Composite_aggregation Direct correspondence not found Generalization_relationship Generalization State State Data types and Vocabulary domain Data_type Type Data_type_category Direct correspondence not found Attribute_type TypedElement Vocabulary_concept Direct correspondence not found Domain_version Direct correspondence not found Code_system Direct correspondence not found Coded_term Direct correspondence not found Concept_relationship Direct correspondence not found
3 Connecting HL7 with software analysis. A model-based approach.docx Use cases and Interaction Actor Actor Use_case UseCase Use_case_relationship DirectedRelationship Storyboard Direct correspondence not found Interaction Interaction Application_role Direct correspondence not found Messages design Design_information_model Direct correspondence not found DIM_class_row Direct correspondence not found DIM_attribute_row Direct correspondence not found DIM_relationship_row Direct correspondence not found DIM_state_row Direct correspondence not found Hierarchical_message_description Direct correspondence not found HMD_class_row Direct correspondence not found HMD_attribute_row Direct correspondence not found HMD_relationship_row Direct correspondence not found Message_type Direct correspondence not found As expected, there are many elements in the HL7 metamodel that we could not identify with UML (approximately 65% against 35% that we could identify). This is mainly because UML is a general standard and HL7 is a specific standard (healthcare) that defines specific elements for health needs. It is necessary to seek a solution using all HL7 metamodel conceptual richness in our MDE solution. For this purpose, we suggest the use of UML extensibility mechanisms. These extensibility mechanisms enable UML to be presented as an open standard that can model aspects not previously covered in its principal and general specification, allowing us to broaden the notation and semantics of this standard. Once theoretical foundations have been laid, we will use model transformation techniques in the MDE context, by ensuring that the results of these transformations are consistent with source models. This fact will reduce effort and errors, for these techniques allow automating models construction and text generation. IV. R ESULTS This research area is currently being addressed on a PhD thesis work. Even though the present work is still in its early stages, it has already previous experiences, such as the Diraya Specialized Attention project mentioned afore, which constitutes the first previous experience on this research topic. The short-term objective deals with designing a solution in the MDE context to connect both metamodels, UML and HL7, but focusing on requirements and analysis levels. We would also like to test these results in the NDT methodology context [7,8]. This methodology, developed mainly in the software projects context, has been applied in biosanitary fields related to HL7 and offers a suitable framework to focus the practical assessment of our results. In addition, we will execute a proof of concept in this line in the context of OncoInves project (code PI-0116-2012) by designing its scenario based on the EHR functional model, clinical research profile for HL7 [12], and therefore according to the HL7 metamodel underlying to any model. V. D ISCUSSION HL7 involves many standards development lines and working groups focused on different objectives. Each HL7 subgroup conducts the work based on a domain model. All these domain models are based on the same metamodel. We find it interesting to lead our work to these lines below, once the correspondence between UML and HL7 metamodels has been studied and the transformation between models has been implemented: • To design the software systems models by means of the UML standard and obtain the HL7 correspondence automatically. The learning curve of software engineers, who would like to design these systems in accordance with HL7, would be shorter as they would model directly in UML. Most software engineers know UML, since it is the most commonly used conceptual model language. • To use UML-based tools. There are lots of UML-based tools, both in open-source and private markets that allow designing a system with UML. Additionally, there are lots of tools that can use UML diagrams to make easier software engineers work, such as NDT [7,8]. • To align, in a simple way, the concepts used in HL7 models with a system of concepts in a health scenario: ISO 13940. Studying the correspondence between concepts used in the HL7 metamodel is the only requisite to align all HL7 models with a standard system of concepts, since all HL7 models are based on the same metamodel.
4 Connecting HL7 with software analysis. A model-based approach.docx • To certify the compliance of HL7 domain models with UML information systems designed models. Once UML models have been automatically transformed into HL7 models, a tool that reports on errors found will be designed. Thanks to Model-to-Model transformation (M2M), we will be able to validate models, as we will specify the metamodel with which the source model must comply. It may be interesting for HL7 to have a tool that can validate a UML requirement model, which should include the system requirements of HL7 functional model, in order to initiate a validation process of the existing systems. Moreover, our research must face up a challenge: We expect that software engineers can design systems using UML, and align them automatically with HL7 metamodel. Nevertheless, it raises the following question: What would happen, if we wanted them to be aligned with a specific HL7 model as, for example, RIM? We will have to find a solution to this challenge, and we may get it by aligning with HL7 Development Framework (HDF). VI. C ONCLUSIONS Domain models proposed by HL7 standards are very interesting from a conceptual point of view despite they are very complex. For this reason, software engineers who try to design systems based on these standards may find some difficulties when handling them, together with a long learning curve. Using HL7 standard in the MDE context remains an unexplored area, from which many benefits can be obtained as well as many research areas providing software engineers, who try to design health information systems with a solid support. A CKNOWLEDGMENT This research project has been supported by the Tempos project (code TIN2010-20057-C03-02), the NDTQ- Framework (code TIC-5789), the “Carlos III” Health Institute within the call Strategic Help in Health (PITeS project, code PI09/90518) and RETICS Innovation in Healthcare Technology call (code RD09/0077/00025). R EFERENCES 1. HL7 official web page at http://www.hl7.org/ 2. Schmidt DC (2006) Model-Driven Engineering. IEEE Computer 39(2):25-31 DOI 10.1109/MC.2006.58 3. Van Der Straeten R, Mens T, Van Baelen S (2009) Challenges in Model-Driven Software Engineering. Models in Software Engineering 5421:35-47 DOI 10.1007/978-3-642-01648-6_4 4. Spronk R, Ringholm C (2010) The HL7 MIF - Model Interchange Format. At http://www.ringholm.com/docs/03060_en_HL7_MIF.htm 5. Escalona MJ, Parra CL, Nieto J (2007)Diraya Project. The power of metamodels in real experiences with Web Engineering, Proceedings of XI International Congress on Project Engineering (AEIPRO), Lugo, Spain, 2007, pp 167 6. Escalona MJ, Parra CL, Martín FM, Nieto J, Llergó A, Pérez F (2008) A Practical Example From Model-Driven Web Requeriments. Information System Development. Challenges in Practice, Theory and Education 1:157-168 7. Escalona MJ, Aragón G (2008) NDT a Model-Driven Approach for Web Requirements. IEEE Transactions on Software Engineering 34:377-390 DOI 10.1109/TSE.2008.27 8. IWT2 Research Group at www.iwt2.org 9. Oemig F, Blobel B (2011) A formal analysis of HL7 version 2.x. Stud Health Technol Inform 169:704-708 DOI 10.3233/978-1-60750-806- 9-704 10. Bánfai B, Ulrich B, Török Z, Natarajan R, Ireland T (2009) Implementing an HL7 version 3 modeling tool from an Ecore model. Stud Health Technol Inform 150:157-161 DOI 10.3233/978-1-60750-044- 5-157 11. Ortiz D, Villegas A, Sancho MR, Olive A, Vilalta J (2011) Automatic transformation of HL7 v3 information models into equivalent UML models. HL7 Spain Technical Report. 12. HL7 EHR Clinical Research Functional Profile (CRFP), Release 1 at http://www.hl7.org/implement/standards/product_brief.cfm?product_i d=16 Author: Alicia Martínez-García Institute: “Virgen del Rocío” University Hospital Street: Manuel Siurot Avenue City: Seville Country: Spain Email: [email protected]