Design and Implementation of HL7 V3 Gateway

Jun. 2005 Journal of Electronic Science and Technology of China Vol.3 No.2 Design and Implementation of HL7 V3 Gateway ZHU Sui-hui, RAO Ni-ni (Scho...
Author: Adele Murphy
4 downloads 1 Views 219KB Size
Jun. 2005

Journal of Electronic Science and Technology of China

Vol.3 No.2

Design and Implementation of HL7 V3 Gateway ZHU Sui-hui, RAO Ni-ni (School of Life Science and Technology, University of Electronic Science and Technology of China Chengdu 610054 China)

Abstract Although the health data exchange standard of Health Level 7(HL7) V2.x (Version 2.0-2.5) has been widely used in hospital and has served well in these few years, the process that hospitals apply the standard of data transfer is very difficult. Because there is no explicit methodology in the HL7 V2.x development process, the gateway design is very complex. However, V3 strives to improve the V2 process and its outcomes. In this paper, the authors present an HL7 V3 gateway design based on the Web Services which can solve the problems of the HL7 V2.x. Web Services is an information exchange protocol regardless of the implementation platform, and is currently the main technology in enterprise application integration (EAI). We firstly introduce how to build HL7 V3 gateway with Web Services, then focus on the design of HL7 gateway, finally realize the parsing and transmission of HL7 V3 message. Key words HL7 V2.x gateway; web services; HL7 V3 gateway It is necessary to develop and adopt a standard to support meaningful information representation and exchange among disparate medical information systems. The Health Level Seven (HL7) Organization, established in 1987, is one of several ANSI-accredited standards developing organizations (SDOs) operating in the healthcare domain. HL7 provides a standard for the exchange, management and integration of data that support clinical patient care, management, delivery and evaluation of healthcare services. The term “Level 7” refers to the highest level of the open system interconnection (OSI) model of the International Organization for Standardization (ISO). HL7 V2.5 received ANSI approval on June 26, 2003, and since 1996 the V3.0 expressed in XML (Extensible Markup Language) had been developed. The HL7 V2.x development process is entirely ad hoc, so the parsing and transmission of the message have become the implementation bottleneck of the HL7 V2.x gateway[1,2]. In this paper, the authors present an HL7 V3 gateway design based on the Web Services technology, which provides an easy implementation structure to open the bottleneck of V2.x.

1

Background

HL7 V3 is more robust and rigorous than V2.x. So its implementation and wide applications will cause a revolution change in the medical information Received 2004-06-26

industry, also it will bring economy growing to many software companies. HL7 V3 has received more and more attention from governments, medical information industry and software industry [3~5]. Although many software industrial magnates, such as Microsoft and SUN, provide their solutions for HL7 V3, there is no HL7 V3 product so far, for the HL7 V3 has not yet been published. Moreover, the HL7 V3 XML Schema is so complex that it is not widely supported by current XML tools. In China, the main researches for HL7 focus on the HL7 V2.x, yet no mature HL7 V2.x product has come to the market so far. Therefore, most of hospital information systems are currently connected by means of the custom interface, which lack of unified interface standard. It is very difficult to develop the HL7 V2.x because the V2.x message is expressed by the complex crabbed syntax, and is not easy to understand. Although a few HL7 V2.x gateway products are available now, the development of these products must experience the process beginning from the bottom, which results in the high cost and long period. The gateway development has become the bottleneck of HL7 applications. Compared with the HL7 V2.x, the new HL7 V3 adopts XML to serve as a messaging syntax. XML has exploded onto the computing scene in recent years. It has gained rapid acceptance for it enables diverse

No.2

109

ZHU Sui-hui et al: Design and Implementation of HL7 V3 Gateway

computer systems to share data more easily, regardless of operating system or programming language. There are dozens of XML tools, including parsers and editors available for nearly every operating system and every programming language, such as Java, Perl, Python, C#, C, C++, and Ruby. Therefore the HL7 massage parsing benefits from the XML technology[6~8]. In the next sections, HL7 V3 gateway design and implementation based on XML technology are discussed.

WSDL after querying the UDDI registry database. 3) The services requestor (PRPA_AR101001) invokes the services provided by the services provider (PRPA_AR101002) through the SOAP according to the WSDL. HL7 V3 web service registry Database

UDDI registry 1. Publish WSDL

2. Get WSDL

2

HL7 V3 and Web Services

There are a great variety of XML technologies for implementing HL7 V3, including Web Services, ebXML (electronic business extensible markup language), MLLP (minimal lower layer protocol) and so on. While only Web Services containing several protocols and technologies, provides a complete services framework. Web Services is currently widely used in EAI (enterprise application integration), Further, there are many manufacturers, e.g. Microsoft, IBM, SUN, Oracle, Borland etc, to develop and exploit Web Services. So Web Services is adopted in this paper. A web service is any service available over the Internet, using a standardized XML message system, and untied to any operating system or programming language. Web Services contains the following technologies: XML (extensible markup language), SOAP (simple object access protocol), HTTP (hypertext transfer protocol), WSDL (web service definition language), and UDDI (universal description, discovery and integration). In brief, Web Services is a technique that uses HTTP to encapsulate XML and transmit them through the Internet. Then the Hl7 V3 message expressed in XML can be served as the payload of HTTP and transmitted among heterogeneous medical information systems. As depicted in Fig.1, the HL7 V3 web service architecture contains three major roles: HL7 V3 web service provider, HL7 V3 web service registry database and HL7 V3 web service requestor. The interaction among them will be shown in the following processing. 1) The HL7 V3 provider such as Person Comprehensive Tracker (PRPA_AR101002) publishes its service description WSDL to the UDDI registry. 2) The HL7 V3 web service requestor such as Person Comprehensive Informer (PRPA_AR101001) gets the

WSDL HL7 V3 web service requester Java, VB, C++

3. SOAP

HL7 V3 web service provider Java, .net

HL7 V3 XML message inside

Fig.1

HL7 V3 web service architecture

The WSDL provides a way to describe services. It describes what the services (service data structure) are, how to access the services (method to access) and where to access the services (the access address). Fig.2 shows the WSDL text structure, used in the HL7 V3 Web Services. The HL7 V3 message XML Schema in the type tag is the service data structure. The UDDI helps service requestor find proper service provider. The UDDI registry contains the detail information about each service provider and the WSDL document. The UDDI encodes three types of information about Web Services: “white pages” information including the name and the contact details about the service provider’s business or company, respectively; “yellow pages” information providing a categorization based on business and service types; “green pages” information including technical data about the service. HL7 V3 XML Schema HL7 V3 message output and input operation with HL7 V3 message banding network protocol

110

Journal of Electronic Science and Technology of China

HL7 V3 web service address Fig.2

Vol.3

In Fig.3, the gateway web server is the well-known Apache Tomcat; the SOAP Engine is Apache Axis; the client uses Java (SUN J2SDK1.4.2_03); the J2EE application server is SUN J2EE 1.4 SDK; the database is pure Java Mckoi SQL database. Why everything is Java? It is very simple for Java is “write once, run anywhere”[11].

WSDL text structure for HL7 V3 message services

The SOAP provides a standard packaging structure for transporting XML documents over a variety of standard Internet technologies, including SMTP, HTTP, and FTP. It is the cornerstone of interoperability. It uses XML protocol based on text to communicate with the distributed system, instead of other binary format distributed computing protocol (e.g. CORBA, RMI, DCOM). This makes SOAP independent on hardware platform, operation system, program language, and network hardware platform. Therefore, the HL7 V3 XML message can be transmitted among heterogeneous medical information systems. For example, NET clients can invoke EJBs exposed through SOAP, and Java clients can invoke NET Components exposed through SOAP[9, 10].

Write HL7 V3 XML Schema

Write WSDL

Publish WSDL to UDDI

Generate server skeletons

Write service implement code

Generate client SOAP proxy

Write client code

Compile & deploy

Test

P

Fig.4

3

HL7 V3 gateway implementation work flow

Design and Implementation of HL7 V3 Gateway

Fig.3 shows the HL7 V3 gateway demo structure. The two medical information systems are connected through HL7 V3 gateway. The message between system A and HL7 V3 gateway is the SOAP packaging HL7 V3 XML message. System B is the legacy system adopting J2EE platform, and it interoperates with HL7 V3 gateway through Java RMI (remote method invocation) protocol. Medical information system A

HL7 V3 gateway

SOAP HL7 client Java

Tomcat web server

Medical information system B

RMI

J2EE application server

JDBC

Data Base

Axis SOAP engine

EJB

EJB

Fig.3

HL7 V3 gateway demo structure

Patient Information: Name: John Williams Age: 26 Patient ID: 2.16.840.1.113883.2.4:123 Address: Jianshebei Road, UESTC Cheng, Sichuan Phone: 028 83201111 Job Title: Student School: UESTC, Chengdu, Sichuan

Fig.5

Client query interface

No.2

ZHU Sui-hui et al: Design and Implementation of HL7 V3 Gateway

Fig.4 shows the HL7 V3 gateway implementation process. 1) Write XML Schema according the HL7 V3 standard (2004.Mar ballot), here the authors chose two messages: Find Candidates Query and Find Candidates Response (see in the Patient Administration Domain: Person Topic). 2) Write the WSDL document using the first step XML Schema. 3) Use Axis WSDL2Java tool to generate client stubs and server skeletons, and publish the WSDL to UDDI registry; 4) Write and compile the client test codes and service implement codes; 5) Deploy the services to the Apache Axis server and do test through the client. Fig.5 shows the client query user interface. If you query patients whose last name is John, the Client

111

SOAP proxy will convert the text field string “smith” into one HL7 V3 XML message enveloped in SOAP, and sends the SOAP to the HL7 gateway. The HL7 gateway firstly takes the HL7 V3 XML message out of the SOAP envelope, then checks if the XML message is valid and compliant to the HL7 V3 standard, whether sends an error message back to the client. Secondly, the gateway parses the XML message into Java data structure and invokes the J2EE application with RMI. The legacy J2EE application returns the query result to the gateway. At last the gateway marshals the Java content into XML data, and sends them back to the client. As seen in Fig.5, there are 2 patients whose last names are John.

Fig.6 HL7 V3 XML message

Fig.6 shows the HL7 V3 XML message transmitted between the client and gateway that intercepted by the Axis TCP monitor tools.

4

Conclusions

The HL7 V3 gateway implements the parsing and transmission of HL7 XML message, with the well

interoperable Web Services technology. It provides an open and HL7 standardized compliant platform for heterogeneous medical information systems. In the future work, the authors will adopt the WS-Security (Web Services Security) technology to secure the HL7 V3 gateway. The WS-Security is an open standard to simplify the securing of XML-based

112

Journal of Electronic Science and Technology of China

Internet transactions using PKI and digital certificates. With WS-Security, developers can integrate authentication, digital signature, and encryption services, such as certificate processing and revocation status checking, into applications in few hours, without the constraints and complications associated with proprietary PKI software toolkits[12]. References [1] Shakir A. HL7 Version 3 Advanced Tutorial[EB/OL]. http://www.hl7.org/library/committees/mnm/presentations /Version%203%20Advanced%20Tutorial%20%28W7%29 %2Ezip, 2003-09-15 [2] Shakir A. HL7 Development Framework Tutorial[EB/OL]. http://www.hl7.org/library/committees/mnm/presentations/ HL7%20Development%20Framework%20Tutorial%20AP R%2D2003%2Eppt, 2003-04-30 [3] Yan H, He Y H. About HL7 V3[J]. Journal of International Medical Device, 2003, 9(1): 11-14 (in Chinese) [4] Zhang Q, Gao S K. Design and realization of HL7 gateway[J]. Journal of Biomedical Engineering, 2003, 20(1): 111-115 (in Chinese) [5] Liu X P. HL7 applied solution[J]. Journal of International Medical Device, 2003, 9(1): 29-31 (in Chinese) [6] Liou D M, Huang E W, Chen T T, et al. Design and Implementation of a Web-Based HL7 Validation System[Z]. Proceedings of IEEE EMBS International Conference on Information Technology Applications in Biomedicine, Arlington, VA USA, 2000. 347-352 [7] Berler A, Konnis G, Pavlopoulos S, et al. Use of XML Technology in a Virtual Patient Record Infrastructure[Z].

Vol.3

Proceedings of 2003 4th International IEEE EMBS Special Topic Conference on Information Technology Applications in Biomedicine, Birmingham, UK, 2003. 118-121 [8] Harold E R. Processing XML with Java: A Guide to SAX, DOM, JDOM, JAXP and TrAX[M]. Boston, MA USA: Addison-Wesley, 2002. 136-164 [9] Harvey M D. Java Web Services for Experienced Programmers[M]. Upper Saddle River, NJ USA: Prentice Hall PTR, 2002. 85-456 [10] Graham S. Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI[M]. Indianapolis, Indiana USA: Sams Publishing, 2001. 79-359 [11] Horton I. Beginning Java 2, SDK 1.4 Edition[M]. Hoboken, NJ USA: Wrox Press, 2002. 80-255 [12] Galgraith B, Hankison W. Professional Web Services Security[M]. Hoboken, NJ USA: Wrox Press, 2002. 343-363

Brief Introduction to Author(s) ZHU Sui-hui (朱穗辉) was born in Guangdong Province, China, in 1979. He received the B.S. degree in biomedical engineering from the University of Electronic Science and Technology of China, Chengdu, in 2002. He is now pursuing M.S. degree with School of Life Science and Technology, UESTC. His research interests include HL7 and PACS. Email: [email protected]. RAO Ni-ni (饶妮妮) is now a professor and doctoral advisor with School of Life Science and Technology, UESTC. Her current interests include security in telemedicine, signal processing and Bioinformatics.

Suggest Documents