The Development of A Graphical User Interface Engi
The Development of A Graphical User Interface Engi
Objectives: The Health Level Seven Interface Engine (HL7 IE), developed by Kyungpook National University, has been em-
ployed in health information systems, however users without a background in programming have reported difficulties in
using it. Therefore, we developed a graphical user interface (GUI) engine to make the use of the HL7 IE more convenient.
Methods: The GUI engine was directly connected with the HL7 IE to handle the HL7 version 2.x messages. Furthermore,
the information exchange rules (called the mapping data), represented by a conceptual graph in the GUI engine, were trans-
formed into program objects that were made available to the HL7 IE; the mapping data were stored as binary files for reuse.
The usefulness of the GUI engine was examined through information exchange tests between an HL7 version 2.x message
and a health information database system. Results: Users could easily create HL7 version 2.x messages by creating a concep-
tual graph through the GUI engine without requiring assistance from programmers. In addition, time could be saved when
creating new information exchange rules by reusing the stored mapping data. Conclusions: The GUI engine was not able to
incorporate information types (e.g., extensible markup language, XML) other than the HL7 version 2.x messages and the da-
tabase, because it was designed exclusively for the HL7 IE protocol. However, in future work, by including additional parsers
to manage XML-based information such as Continuity of Care Documents (CCD) and Continuity of Care Records (CCR),
we plan to ensure that the GUI engine will be more widely accessible for the health field.
Keywords: Health Level Seven, Medical Informatics, Computer Graphics, Software Design
tecture (CDA) [8], Continuity of Care Document (CCD) [9], use for parsing and creation of HL7 messages. However,
and Continuity of Care Record (CCR) [10]. Despite that the commercial GUI engines connected with commercial HL7
structure of health information is different, health informa- interface engines prevent users from utilizing another parser,
tion systems can exchange information by transforming the because these engines use self-developed parsers for HL7
information according to common standards [5,11]. and extensible markup language (XML). This makes it very
HL7 is the leading international standard for exchang- difficult to connect a specific HL7 parser with a commercial
ing health information, and many facilities are using HL7 GUI engine without analyzing the commercial GUI engine
in their health information systems through HL7 interface or negotiating with companies supplying the software. Thus,
engines [12-16] developed by various research facilities and even though some non-commercial HL7 interface engines
companies. While HL7 interface engines are useful for pars- such as HAPI [12] have been released as open source tech-
ing and creation of HL7 messages, computer programmers nology with powerful parsers for HL7 messages, HL7 inter-
are required for practical operation of the HL7 interface en- face engines without GUIs are not suitable for users without
gine and for connecting it with health information systems. programming knowledge.
However, it is unreasonable to request assistance from a pro- Unlike commercial programs, the HL7 version 2.x Mes-
grammer whenever it is necessary to create or modify HL7 sage Interface Engine developed in Kyungpook National
messages. The connection module between an HL7 interface University [13] (we refer to it as “HL7 IE” to distinguish it
engine and a health information system may be modified by from general HL7 Interface Engines) did not provide a GUI.
a small alteration of a rule or system in the facility and a new Therefore, it is desirable to realize convenient use of HL7
connection module would accordingly have to be developed IE by connecting a GUI engine that is accessible to non-
according to the healthcare provider's needs. However, the programmer users. However, it should be noted that it is
speed of developing a connection module may be subject to difficult to develop a GUI engine that is compatible with all
the availability of a computer programmer. If there is a lack parsers developed by other parties.
of understanding between a healthcare provider and a com- The purpose of this study was to develop a GUI engine that
puter programmer, more time is needed. provides a convenient interface between users and HL7 IE
Some commercial solutions have been developed to ad- (we hereafter refer to the HL7 IE combined with the GUI
dress these problems, including Symphonia from Orion [14], engine as “GUI-based HL7 IE”). The usefulness of the GUI
Iguana from Interfaceware [15], and Mapforce from Altova engine was confirmed through an evaluation that demon-
[16]. These solutions minimize programmer intervention strated the simplicity of producing a health information ex-
when healthcare providers try to process HL7 messages by change model based on HL7 messages.
providing a graphical user interface (GUI) that is easy to
Figure 1. Graphical user interface (GUI)-based HL7 version 2.x interface engine architecture. HL7 IE: Health Level Seven Interface En-
gine, HIS: Health Information System, JDBC: Java database connectivity.
Figure 2. Class diagram of graphical user interface (GUI) engine showing the field mapper and its graphical representation.
HL7 message types; items that represent database tables con- HL7 message creation using pre-defined data for “NodeBean”
nected to the GUI engine; and items related to functions for objects. The operations of item classes in the “ItemMaker_
transforming and creating data during field mapping. In Fig- Database” group execute the defined SQL queries, i.e., the
ure 3, the important role of “ItemBean” is to provide opera- “decode” operation of the item classes conducts the search of
tions (Java methods) such as “encode” and “decode” that are a specific database, while the “encode” operation performs
used to parse and compose health information. The details of tasks related to the database, such as inserting, updating,
operations are defined for each item class inherited from the and removing records. Groups and items can be represented
“ItemBean” class by overriding the operations. For example, graphically via the “ItemPanel” and new item groups or
the “decode” operation of item classes in the “ItemMaker_ items can be added to the GUI engine using the “ItemPanel.”
HL7_2_5” group performs parsing of an inputted HL7 mes-
sage, while the “encode” operation of item classes performs 4) Connection with the HL7 Version 2.x Interface Engine
Figure 4 shows the partial class structure of the HL7 IE for
the ADT_A01 message represented in Figure 5. Although
the properties of the MSH segment are “required” and “un-
repeatable” in the HL7 standard, HL7 IE designed the “ADT_
A01” object to have plural objects in “MSH,” providing a
consistent program structure. However, cardinality can be
limited by the properties of the MSH segment. “ADT_A01_
INSURANCE” class indicates a group containing segments
defined as “[{IN1 [IN2] [{IN3}] [{ROL}]}].” It is convenient
to manage these segments as a group, because the properties
of all segments in the group are “optional” and “repeatable.”
Here, the symbols “[]” and “{}” indicate the “optional” prop-
erty and the “repeatable” property, respectively.
The structure of classes related to HL7 messages in the GUI
engine also replicates that found in HL7 IE, as shown in
Figure 6. Classes in the GUI engine are directly connected
with those in HL7 IE, allowing effective parsing and creation
of HL7 messages. In the case of HL7 IE, “ADT_A01” class
was classified in the “Message” group, as shown in Figure 4.
However, in the case of the GUI engine, as shown in Figures
3 and 6, the “ADT_A01” class was classified in the “ItemBean”
group, because various information items such as “Database”,
“I/O”, “Functions”, and “HL7 2.x (messages)” are classified in
Figure 3. Class diagram of information items. the same manner in order to maintain the consistency and
the extensibility of the program. after parsing the transmitted HL7 message, and it transmits
a response message to the transmitter side of the SeniCare
2. Examination of the GUI Engine system. Although the health information systems (SeniCare)
We simulated information exchange between health infor- used in the simulation were identical, we regarded them as
mation systems (SeniCare, as designed by Kim et al. [1]) different systems because they were operated independently
using the GUI engine, as shown in Figure 7. In the simula- of each other. We assumed the following scenario when pro-
tion, a GUI-based HL7 IE transmits a message through the ducing an HL7 message in the simulation: “There was a new
network after creating an HL7 message based on the Seni- addition to the SeniCare new allergy information relating
Care database on the transmitter side. Another GUI-based to ‘Penicillin’ for an outpatient named ‘Alice Smith’ born in
HL7 IE updates the SeniCare database on the receiver side 1953, and we need to send the information to the Kyung-
Figure 6. Connection of the graphical user interface (GUI) engine with the Health Level Seven (HL7) interface engine.
Figure 7. Model of health information exchange using the graphical user interface (GUI) engines. HL7: Health Level Seven, IE: inter-
face engine.
Table 1. Time recorded upon creation of mapping data using the GUI engine and development of Java application program using HL7 IE
HL7 messages. might currently be better than that of the GUI engine, but
In terms of creation time of HL7 messages, as shown in we will update the functions of the GUI engine and confirm
Table 1, we found that the creation of HL7 messages by us- its usability based on continuous user feedback. The HL7
ing the GUI engine was faster than that by developing Java message parser in HL7 IE covers HL7 versions 2.1 to 2.5, and
application programs. Comparing the results of the first test hence the GUI engine can also deal with those versions of
and those of the other tests, the time was shortened as the items. We will update the items after developing newer ver-
tests continued, because the creation time could be saved by sions of the parsers, i.e., HL7 versions 2.6 and 2.7. In future
reusing the mapping data and the program that was made in research, we will include additional parsers to manage XML-
the first test. However, we found that creating HL7 messages based information such as CCR and CCD.
by developing java application programs involved almost 3
times longer time than that by using the GUI engine. From Conflict of Interest
the test results, we could conclude that the GUI engine pro-
vides a convenient and useful way to create HL7 messages No potential conflict of interest relevant to this article was
rather than direct use of HL7 IE. reported.
able from: http://www.hl7.org/implement/standards/ sity Health Network; c2001-2011 [cited at 2011 Aug 16].
cda.cfm. Available from: http://hl7api.sourceforge.net.
9. Health Level Seven International. Continuity of care 13. Tran T. A development of integrated personal health
document [Internet]. Ann Arbor, MI: Health Level record system to support continuity of care in Vietnam
Seven International; c2011 [cited at 2011 Aug 16]. Avail- [dissertation]. Daegu: Kyungpook National University;
able from: http://www.hl7.org/documentcenter/private/ 2008.
standards/cda/igs/HL7_CCD_final.zip. 14. Orion Health. Symphonia messaging & mapping tools
10. American Society for Testing and Materials (ASTM). [Internet]. Santa Monica, CA: Orion Health; c2002-2011
ASTM E2369 - 05e2 Standard specification for continu- [cited at 2011 Aug 16]. Available from: http://www.orion-
ity of care record (CCR) [Internet]. West Conshohock- health.com/products/symphonia.
en, PA: ASTM [cited at 2011 Aug 16]. Available from: 15. Interfaceware. Products: Iguana [Internet]. Ontario,
http://www.astm.org/Standards/E2369.htm. Canada: Interfaceware; c2011 [cited at 2011 Aug 16].
11. Li JS, Zhou TS, Chu J, Araki K, Yoshihara H. Design and Available from: http://www.interfaceware.com/iguana.
development of an international clinical data exchange html.
system: the international layer function of the Dolphin 16. Altova. MapForce: graphical data mapping, conversion,
Project. J Am Med Inform Assoc 2011; 18: 683-689. and integration tool [Internet]. Beverly, MA: Altova;
12. University Health Network. Hapi: the free, open, and c2011 [cited at 2011 Aug 16]. Available from: http://
best HL7 parser and library for Java [Internet]. Univer- www.altova.com/mapforce.html.