Design and Implementation of a Reusable and Extensible HL7 Encoding/Decoding Framework

재사용성과 확장성 있는 HL7 인코딩/디코딩 프레임워크의 설계 및 구현

  • 김정선 (한양대학교 컴퓨터공학과) ;
  • 박승훈 (경희대학교 전자정보학부) ;
  • 나연묵 (단국대학교 공학부 컴퓨터공학전공)
  • Published : 2002.02.01

Abstract

this paper, we propose a flexible, reusable, and extensible HL7 encoding and decoding framework using a Message Object Model (MOM) and Message Definition Repository (MDR). The MOM provides an abstract HL7 message form represented by a group of objects and their relationships. It reflects logical relationships among the standard HL7 message elements such as segments, fields, and components, while enforcing the key structural constraints imposed by the standard. Since the MOM completely eliminates the dependency of the HL7 encoder and decoder on platform-specific data formats, it makes it possible to build the encoder and decoder as reusable standalone software components, enabling the interconnection of arbitrary heterogeneous hospital information systems(HISs) with little effort. Moreover, the MDR, an external database of key definitions for HL7 messages, helps make the encoder and decoder as resilient as possible to future modifications of the standard HL7 message formats. It is also used by the encoder and decoder to perform a well formedness check for their respective inputs (i. e., HL7 message objects expressed in the MOM and encoded HL7 message strings). Although we implemented a prototype version of the encoder and decoder using JAVA, they can be easily packaged and delivered as standalone components using the standard component frameworks like ActiveX, JAVABEAN, or CORBA component.

HL7 (Health Level 7)은 Healthcare 환경의 이질적 시스템간에 임상 및 관리정보의 교환을 가능하게 하는 국제 표준 프로토콜로서 표준 인코딩 규칙에 따른 다양한 HL7 메시지 양식을 정의하고 있다. 본 논문에서는 메시지 객체 모델(Message Object Model)과 메시지 정의 저장소(Message Definition Repository)를 이용하여 유연성, 재사용성, 확장성이 탁월한 HL7 인코딩/디코딩 프레임워크의 설계 및 구현을 제시한다. 메시지 객체 모델은 HL7 메시지를 구성하는 객체들과 그들 간의 다양한 관계를 나타내는 추상적 HL7 메시지 양식으로서, 세그먼트, 필드, 컴포넌트 등과 같은 HL7 메시지의 표준 구성요소들 간의 논리적 관계를 반영하는 동시에 표준안에 의해 규정된 구조적 제약사항을 만족하도록 하여 준다. 메시지 객체 모델은 플랫폼 종속적인 데이터 양식과 상관없이 독립적으로 HL7 인코더와 디코더를 구축할 수 있도록 하여 주기 때문에 최소의 노력으로 임의의 이질적 병원 정보 시스템들을 상호 연결할 수 있도록 한다. 한편, HL7 메시지들을 정의하고 있는 외부 데이터베이스인 메시지 정의 저장소는 표준 HL7 메시지 양식이 수정되더라도 인코더와 디코더의 구현이 영향을 받지 않게 하여 준다. 게다가, 메시지 정의 저장소는 인코더와 디코더 각각의 입력(즉, 메시지 객체 모델로 표현된 HL7 메시지 객체와 인코딩된 HL7 메시지 문자열)에 대하여 합법성 여부를 조사하는 데 유용하게 사용된다. 본 논문에서는 프로토타입 HL7 인코더와 디코더의 구현을 위해 JAVA를 이용하였지만, 제시된 인코딩/디코딩 프레임워크는 인코더와 디코더를 ActiveX, JAVABEAN 또는 CORBA 객체 등과 같이 독립된 표준 컴포넌트로서 쉽게 구현될 수 있도록 하여 준다.

Keywords

References

  1. Health Level Seven Standard version 2.3.1., www.hl7.org
  2. Arnold, K. and Gosling, J., The Java Programming Language, Sun Microsystems, Inc., 1996
  3. Robert Seliger, SIGOBT Mapping HL7 Messages to Objects, Version 1,0, Revision B, August 14, 1996
  4. Cox, B., Object-Oriented Programming: An Evolutionary Approach, Addison-Wesley, 1986
  5. Booch, G., Rumbaugh, J., and Jacobson, I., The Unified Modeling Language User Guide, Addison-Wesley, 1999
  6. Gamma, E., Helm, R., Johnson, R., and Vlissides, J., Design Patterns: Elements of Object-Oriented Software. Addison-Wesley, 1995
  7. Document Object Model (DOM), a working draft of the W3C, http://www.w3.org/DOM/
  8. Chang, D., and Harkey, D., Client/Server Data Access with Java and XML, John Wiley & Son's Inc., 1998
  9. Charles, E., and Kahn, Jr., 'Self-Documenting Structured Reports using Open Information Standards,' Proceedings of 9th World Congress on Medical Informatics, IOS Press, pp. 403-407, 1998
  10. Platt, D., The Essence of COM with Activex: A Programmer's Workbook, Prentice Hall, 2000
  11. Vanhelsuwe, L., Mastering JavaBeans, SYBEX Inc., 1997
  12. Siegel, J., CORBA 3 Fundamentals and Programming, 2nd Edition, John Wiley & Son's Inc., 2000