KR101434608B1 - Apparatus and Method for Managing Information, and Computer-Readable Recording Medium - Google Patents

Apparatus and Method for Managing Information, and Computer-Readable Recording Medium Download PDF

Info

Publication number
KR101434608B1
KR101434608B1 KR1020120101175A KR20120101175A KR101434608B1 KR 101434608 B1 KR101434608 B1 KR 101434608B1 KR 1020120101175 A KR1020120101175 A KR 1020120101175A KR 20120101175 A KR20120101175 A KR 20120101175A KR 101434608 B1 KR101434608 B1 KR 101434608B1
Authority
KR
South Korea
Prior art keywords
information
data
input
message
unit
Prior art date
Application number
KR1020120101175A
Other languages
Korean (ko)
Other versions
KR20140034618A (en
Inventor
조훈
김화선
이인근
Original Assignee
경북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경북대학교 산학협력단 filed Critical 경북대학교 산학협력단
Priority to KR1020120101175A priority Critical patent/KR101434608B1/en
Publication of KR20140034618A publication Critical patent/KR20140034618A/en
Application granted granted Critical
Publication of KR101434608B1 publication Critical patent/KR101434608B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/22Social work or social welfare, e.g. community support activities or counselling services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Child & Adolescent Psychology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 정보관리장치, 정보관리방법, 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 본 발명의 실시예에 따른 정보관리장치는 입력된 제1 정보를 파싱하여 필드를 분해하는 파싱부, 제1 정보에 의한 제2 정보를 생성하기 위하여 GUI 기반의 도구를 이용해 매핑 데이터를 생성하는 매핑부, 매핑 데이터를 참조하여 제1 정보를 변환하는 변환부, 및 변환한 제1 정보를 통합하여 제2 정보를 생성하는 통합부를 포함한다.The present invention relates to an information management apparatus, an information management method, and a computer-readable recording medium, and an information management apparatus according to an embodiment of the present invention includes a parsing unit parsing input first information to decompose fields, A mapping unit for generating mapping data using a GUI-based tool to generate second information based on the mapping information, a conversion unit for converting the first information with reference to the mapping data, And the like.

Description

정보관리장치, 정보관리방법, 및 컴퓨터 판독가능 기록매체{Apparatus and Method for Managing Information, and Computer-Readable Recording Medium}[0001] The present invention relates to an information management apparatus, an information management method, and a computer-readable recording medium,

본 발명은 정보관리장치, 정보관리방법, 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 더 상세하게는 예컨대 의료 정보 시스템에서 의료인이 직접 자신의 의료 지식에 기반하여 HL7(Health Level Seven) 등의 의료정보 교환 표준 메시지를 GUI(Graphical User Interface) 기반의 도구를 이용해 새로운 메시지를 생성 및 관리하고, 나아가 데이터베이스와 연계할 수 있는 정보관리장치, 정보관리방법 및 컴퓨터 판독가능 기록매체에 관한 것이다.The present invention relates to an information management apparatus, an information management method, and a computer-readable recording medium. More particularly, the present invention relates to a medical information system, such as a medical information system such as HL7 (Health Level Seven) An information management method, and a computer-readable recording medium capable of generating and managing a new message using a GUI (Graphical User Interface) -based exchange standard message and further linking with a database.

의료 및 건강관리 분야에서 정보의 전산화를 위한 많은 노력으로 인해 EMR(Electronic Medical Record), EHR(Electronic Health Record) 등과 관련한 다양한 의료 정보 시스템이 개발되고 있다. 그러나 병원에서 운영되는 의료 정보 시스템에서의 정보 구조, 예컨대 데이터베이스 및 데이터 구조가 이들 표준과 상이한 경우가 대부분이므로, 정보 교환을 위한 약속이 필요하다. 이에 따라, 기존 의료 정보 시스템 간의 상호운용성(Interoperability)을 위해 HL7, DICOM, HL7의 CDA(Clinical Document Architecture)[g], HL7의 CCD (Continuity of Care Document: HL7 CDA R2), ASTM의 CCR(Continuity of Care Document) 등의 다양한 정보 표준이 개발되었다. 그리고 의료 정보 시스템을 통해 생성되는 의료 정보를 이러한 의료 표준에 따라 전송 및 수신함으로써 의료 정보 시스템 간의 정보 교환은 원활하게 이루어질 수 있다.Many medical information systems related to EMR (Electronic Medical Record) and EHR (Electronic Health Record) are being developed due to the efforts for computerization of information in medical and health care fields. However, since information structures in hospital-run medical information systems, such as databases and data structures, are often different from these standards, a commitment to information exchange is needed. Therefore, the CDM (Clinical Document Architecture) [g] of HL7, DICOM, and HL7, the Continuity of Care Document (HL7 CDA R2) of HL7, and the CCR (Continuity of ASTM) of the HL7 are used for interoperability between existing medical information systems. of Care Document) have been developed. The information exchange between medical information systems can be smoothly performed by transmitting and receiving the medical information generated through the medical information system according to the medical standard.

특히 HL7을 이용한 정보 교환을 위해 HL7 V. 2 메시지를 생성하고 해석하는 도구의 필요성에 따라 지난 십 수년간 연구 기관과 회사에서 개발한 다양한 HL7 파서와, 이를 이용한 HL7 인터페이스 엔진(Interface Engine)이 개발되어 사용되고 있다. 이들 인터페이스 엔진들은 컴퓨터 프로그래밍 언어로 개발되어 있고, 이들 엔진들을 이용하여 실제 HL7 메시지를 생성하는 별도의 응용 프로그램을 개발하여 실제 병원 정보 시스템과 연동 운영하기 위해서는 프로그램 전문가의 개입이 필수적이다. 즉, HL7 메시지 생성을 위해서는 정보 시스템에 저장된 많은 데이터 중에서 필요한 데이터만을 선별하고, 이들 데이터가 HL7 메시지의 특정 위치에 위치하도록 설계를 하여야 하며, 실제 HL7 인터페이스 엔진을 이용하여 문자열 형태의 HL7 메시지를 생성하여 네트워크를 통해 전송한다. 또한 수신측 정보 시스템에서는 수신한 HL7 메시지를 HL7 인터페이스 엔진을 이용하여 파싱을 수행하며, 파싱된 데이터를 특정 형태로 변형하거나 저장하는 작업이 필요하다. 따라서 각 병원의 정보 시스템이 비록 HL7 인터페이스 엔진을 사용한다 하더라도, 각 기관의 정보시스템의 특성에 따라 전송된 정보를 활용하기 위해서는 프로그램 전문가의 개입이 필수적이라 하겠다.In particular, various HL7 parsers developed by research institutes and companies for the past decades and an HL7 interface engine (Interface Engine) have been developed based on the need for tools to generate and interpret HL7 V. 2 messages for information exchange using HL7 . These interface engines are developed in computer programming languages. Intervention of program experts is essential to develop a separate application program that generates actual HL7 messages using these engines and operate them in conjunction with the actual hospital information system. That is, in order to generate HL7 message, only necessary data among a lot of data stored in the information system should be selected, and these data should be designed to be located at a specific position of the HL7 message. HL7 message engine And transmits it through the network. In addition, the receiving side information system performs parsing of the received HL7 message using the HL7 interface engine, and it is necessary to modify or store the parsed data into a specific form. Therefore, even if the information system of each hospital uses the HL7 interface engine, intervention of the program specialist is essential to utilize the transmitted information according to the characteristics of the information system of each institution.

그러나 이러한 의료 정보의 변환은 의료 실무자의 주관적 요구와, 상황에 따른 다양한 변환 방법을 사용하여야 한다. 그리고 이 요구들이 병원 정보 시스템에 적용되어 운영되어야 한다. 그러므로 이러한 요구들을 프로그램 개발자에게 전달하여 개발하는 일련의 개발 작업이 안정적일 수는 있으나 많은 시간과 노력이 필요한 단점이 있다. 예를 들면, 기관의 업무가 프로그램 전문가에게 종속되거나, 업무제시 과정에서 발생하는 개념적 차이로 인해 개발이 늦어질 수 있다.However, the conversion of medical information should use the subjective requirements of medical practitioners and various conversion methods according to the situation. These requirements should be applied to the hospital information system. Therefore, although a series of development tasks that transfer these needs to the program developer and develop them can be stable, it requires a lot of time and effort. For example, agency work may be dependent on program professionals, or development may be delayed due to conceptual differences that arise during the course of task presentation.

이러한 문제점을 개선하기 위해 종래에는 Orion 사의 Symphony, Interfaceware 사의 IGUANA, Altova 사의 Mapforce와 같은 제품을 통해 프로그래머의 개입을 최소화하고, 편리한 GUI(Graphical User Interface)를 이용하여 쉽게 정보 교환을 수행할 수 있는 방법을 제공하고 있다.In order to solve these problems, it has been possible to minimize the intervention of programmers through products such as Orion's Symphony, Interfaceware's IGUANA and Altova's Mapforce, and to easily exchange information using a convenient GUI (Graphical User Interface) .

그러나 이들 도구들은 상용 도구로써 자체 개발된 HL7 파서를 사용하고 있으며, 기 개발 운영 중인 병원 정보 시스템에 적용하기 위해서는 별도의 커스터 마이징(customizing) 작업이 필요한 문제점이 있다.However, these tools use a proprietary HL7 parser as a commercial tool, and there is a problem that a customizing work is required to apply to the hospital information system which is being developed and operated.

본 발명의 실시예는 예컨대 의료 정보 시스템에서 의료인이 직접 자신의 의료 지식에 기반하여 HL7과 같은 의료정보 교환 표준 메시지를 GUI 기반의 도구를 이용해 새로운 메시지를 생성 및 관리하고, 나아가 데이터베이스와 연계할 수 있는 정보관리장치, 정보관리방법 및 컴퓨터 판독가능 기록매체를 제공함에 그 목적이 있다.For example, in the medical information system according to the embodiment of the present invention, a medical person directly generates a health information exchange standard message such as HL7 based on his medical knowledge, generates and manages a new message using a GUI-based tool, And an object of the present invention is to provide an information management apparatus, an information management method, and a computer readable recording medium.

본 발명의 실시예에 따른 정보관리장치는 입력된 제1 정보를 파싱(parsing)하여 필드를 분해하는 파싱부, 상기 제1 정보에 의한 제2 정보를 생성하기 위하여 GUI(Graphical User Interface) 기반의 도구를 이용해 매핑 데이터를 생성하는 매핑부, 상기 매핑 데이터를 참조하여 상기 제1 정보를 변환하는 변환부, 및 상기 변환한 제1 정보를 통합하여 상기 제2 정보를 생성하는 통합부를 포함한다.The information management apparatus according to an exemplary embodiment of the present invention includes a parsing unit parsing input first information to decompose a field, a graphical user interface (GUI) -based parser for generating second information by the first information, A mapping unit for generating mapping data using a tool, a conversion unit for converting the first information with reference to the mapping data, and an integration unit for integrating the converted first information to generate the second information.

상기 정보관리장치는 상기 생성한 제2 정보를 인코딩하여 출력하는 인터페이스부를 더 포함하는 것을 특징으로 한다.The information management apparatus further includes an interface unit for encoding and outputting the generated second information.

또한 상기 정보관리장치는 상기 도구를 이용해 트리 구조로 표현된 각 필드 간의 연결 정보를 프로그램 코드로 변환하며, 상기 변환한 코드를 상기 변환부로 제공하는 필드 맵퍼(Field Mapper)를 더 포함하는 것을 특징으로 한다.The information management apparatus may further include a field mapper converting the connection information between the fields expressed in a tree structure using the tool into a program code and providing the converted code to the conversion unit. do.

상기 변환부는 상기 제1 정보의 필드 순서를 변경하는 것을 특징으로 한다.And the converting unit changes the field order of the first information.

본 발명의 실시예에 따른 정보관리방법은 입력된 제1 정보를 파싱하여 필드를 분해하는 단계, 상기 제1 정보에 의한 제2 정보를 생성하기 위하여 GUI 기반의 도구를 이용해 매핑 데이터를 생성하는 단계, 상기 매핑 데이터를 참조하여 상기 제1 정보를 변환하는 단계, 상기 변환한 제1 정보를 통합하여 상기 제2 정보를 생성하는 단계를 포함한다.The information management method according to an embodiment of the present invention includes parsing the input first information to decompose fields, generating mapping data using a GUI-based tool to generate second information based on the first information, Converting the first information with reference to the mapping data, and generating the second information by integrating the converted first information.

상기 정보관리방법은 상기 생성한 제2 정보를 인코딩하여 출력하는 단계를 더 포함하는 것을 특징으로 한다.The information management method may further include encoding and outputting the generated second information.

또한 상기 정보관리방법은 상기 도구를 이용해 트리 구조로 표현된 각 필드 간의 연결 정보를 프로그램 코드로 변환하는 단계, 및 상기 변환한 코드를 상기 제1 정보의 변환시 제공하는 단계를 더 포함하는 것을 특징으로 한다.The information management method further includes converting the connection information between the fields expressed in a tree structure using the tool into a program code, and providing the converted code at the time of converting the first information. do.

나아가 상기 제1 정보를 변환하는 단계는, 상기 제1 정보의 필드 순서를 변경하는 것을 특징으로 한다.Further, the step of converting the first information is characterized by changing the field order of the first information.

본 발명의 실시예에 따른 컴퓨터 판독가능 기록매체는 정보관리방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서, 상기 정보관리방법은, 입력된 제1 정보를 파싱하여 필드를 분해하는 단계, 상기 제1 정보에 의한 제2 정보를 생성하기 위하여 GUI 기반의 도구를 이용해 매핑 데이터를 생성하는 단계, 상기 매핑 데이터를 참조하여 상기 제1 정보를 변환하는 단계, 상기 변환한 제1 정보를 통합하여 상기 제2 정보를 생성하는 단계를 포함한다.A computer-readable recording medium according to an embodiment of the present invention is a computer-readable recording medium including a program for executing an information management method, the information management method comprising the steps of: parsing input first information to decompose a field Generating mapping information by using a GUI-based tool to generate second information based on the first information, converting the first information with reference to the mapping data, And generating the second information by integrating.

도 1은 본 발명의 실시예에 따른 의료정보 시스템을 나타내는 도면,
도 2는 도 1의 제1 단말기에 표시되는 GUI 화면을 예시하여 나타낸 도면,
도 3은 도 1의 제1 또는 제2 정보관리장치의 구조를 예시한 블록다이어그램,
도 4는 도 1의 송신부의 개념 모델을 나타내는 도면,
도 5는 도 4의 동작을 구체적으로 표현하여 나타낸 도면,
도 6은 도 1의 수신부의 개념 모델을 나타내는 도면,
도 7은 도 6의 동작을 구체적으로 표현하여 나타낸 도면,
도 8은 본 발명의 실시예에 따른 HL7 툴킷의 아키텍처를 설명하기 위한 도면,
도 9는 필드 맵퍼의 그래픽 표시를 위한 데이터 구조를 예시한 도면,
도 10은 정보 아이템의 그룹 다이어그램,
도 11은 HL7 인터페이스 엔진의 부분 그룹 다이어그램,
도 12는 본 발명의 실시예에 따른 메시지를 예시하여 나타낸 도면,
도 13은 본 발명의 실시예에 따른 HL7 툴킷과 HL7 인터페이스 엔진의 연결을 설명하기 위한 도면, 그리고
도 14는 본 발명의 실시예에 따른 정보관리방법을 나타내는 흐름도이다.
1 shows a medical information system according to an embodiment of the present invention,
FIG. 2 is a diagram illustrating a GUI screen displayed on the first terminal of FIG. 1;
FIG. 3 is a block diagram illustrating the structure of the first or second information management apparatus of FIG. 1,
4 is a diagram showing a conceptual model of the transmitter of FIG. 1,
5 is a diagram specifically illustrating the operation of FIG. 4,
Figure 6 is a diagram illustrating a conceptual model of the receiver of Figure 1;
FIG. 7 is a diagram specifically illustrating the operation of FIG. 6,
8 is a view for explaining the architecture of the HL7 toolkit according to the embodiment of the present invention,
9 is a diagram illustrating a data structure for graphical display of a field mapper,
10 shows a group diagram of information items,
11 is a partial group diagram of the HL7 interface engine,
12 illustrates an exemplary message according to an embodiment of the present invention,
13 is a diagram for explaining the connection between the HL7 toolkit and the HL7 interface engine according to the embodiment of the present invention, and
14 is a flowchart illustrating an information management method according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 실시예에 따른 의료정보 시스템을 나타내는 도면이고, 도 2는 도 1의 제1 단말기에 표시되는 GUI 화면을 예시하여 나타낸 도면이며, 도 3은 도 1의 제1 또는 제2 정보관리장치의 구조를 예시한 블록다이어그램이다. 또한 도 4는 도 1의 송신부의 개념 모델을 나타내는 도면이고, 도 5는 도 4의 동작을 구체적으로 표현하여 나타낸 도면이며, 도 6은 도 1의 수신부의 개념 모델을 나타내는 도면이고 도 7은 도 6의 동작을 구체적으로 표현하여 나타낸 도면이다.FIG. 1 is a view showing a medical information system according to an embodiment of the present invention, FIG. 2 is a view illustrating a GUI screen displayed on the first terminal of FIG. 1, FIG. 2 is a block diagram illustrating a structure of an information management apparatus. FIG. 4 is a diagram showing a concrete example of the operation of FIG. 4, FIG. 6 is a diagram showing a conceptual model of the receiver of FIG. 1, and FIG. 7 is a diagram 6 is a view specifically expressing the operation of FIG.

도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 의료정보 시스템은 송신부(100) 및 수신부(110)를 포함한다.As shown in FIG. 1, the medical information system according to the embodiment of the present invention includes a transmitter 100 and a receiver 110.

여기서 송신부(100) 즉, 송신측 정보시스템의 데이터베이스에 기반하여 HL7 메시지를 생성하여 전송하고, 수신부(110) 즉 수신측 정보시스템에서는 전달받은 HL7 메시지를 분석하여 데이터베이스에 저장함과 동시에 확인(ACK) 메시지를 반환할 수 있다. 가령 메시지의 생성을 위해 다음 시나리오를 가정할 수 있다. "1953년생 Hune Cho라는 외래 환자의 페니실린(Penicillin)에 대한 새로운 알레르기 정보를 추가한다." 이를 위해 송신측에서는 ADT_A60(update adverse reaction information) 형태의 HL7 메시지를 생성하고, 이를 수신측으로 전송하여 정보의 업데이트를 요청할 수 있을 것이다.Here, the HL7 message is generated and transmitted based on the transmitter 100, that is, the database of the sender information system. The receiver 110 analyzes the received HL7 message and stores it in the database, You can return a message. For example, the following scenario may be assumed for the generation of a message. "Adds new allergies to penicillin, a 1953 outpatient named Hune Cho." To this end, the transmitting side may generate an HL7 message in the form of ADT_A60 (update adverse reaction information) and send it to the receiver to request the update of the information.

위의 기능을 수행하기 위하여 송신부(100)는 제1 단말기(101), 제1 정보관리장치(103), 제1 데이터베이스(105)의 일부 또는 전부를 포함할 수 있다. 여기서, 일부 또는 전부를 포함한다는 것은 제1 정보관리장치(103)가 정보 생성부라는 명칭 하에 제1 단말기(101)에 포함되어 구성되거나, 제1 데이터베이스(105)가 저장부라는 명칭 하에 제1 정보관리장치(103)에 포함되어 구성될 수 있으며, 나아가 제1 데이터베이스(105)가 메모리부라는 명칭 하에 제1 단말기(101)에 통합되어 구성될 수도 있음을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.The transmitter 100 may include some or all of the first terminal 101, the first information management device 103, and the first database 105 to perform the above functions. Here, the part or all of the information is included in the first terminal 101 under the name of the information generating section, or the first database 105 is stored in the first terminal 101 under the name of the storage section, Information management apparatus 103 and further that the first database 105 may be integrated into the first terminal 101 under the name of a memory section, Explain that they are all included to help.

제1 단말기(101)는 데스크탑 컴퓨터, 노트북, 휴대폰 등과 같이 의료 정보 메시지, 가령 HL7 메시지를 생성하기 위하여 매핑 데이터를 생성하기 위한 GUI 화면을 표시해 주는 장치이다. 여기서 매핑 데이터란 도 2에서와 같이 제1 단말기(101)에 표시된 GUI 화면을 이용하여 의료인과 같은 비전문가, 더 정확하게는 HL7 메시지의 생성에 관여할 수 없는 비프로그래머가 가령 마우스의 간단한 조작만으로 자신이 원하는 메시지를 생성하여 전송할 수 있도록 하는 참조 정보이다.The first terminal 101 is a device for displaying a GUI screen for generating a medical information message such as a desktop computer, a notebook computer, a mobile phone, etc., for example, mapping data for generating an HL7 message. 2, a non-programmer who can not participate in the generation of an unprofessional, more precisely, an HL7 message by using a GUI screen displayed on the first terminal 101, It is reference information that enables to generate and transmit a desired message.

GUI 화면과 관련하여 좀더 살펴보면, 도 2에서 제1 단말기(101)는 필드들 간의 매핑 데이터의 생성을 위해 사용자 친화적인 GUI를 제공함으로써 프로그램 비전문가도 편리하게 데이터의 관리를 가능하도록 할 수 있다. 컴퓨터 프로그램은 대부분 텍스트로 구성되어 있어 프로그램을 이용하기 위해서는 특정 프로그램의 문법을 이해해야만 한다. 그러나 사람이 그러한 구조를 이해하기에 손쉬운 방법 중 하나는 그래프나 트리 구조의 정보 표현 방법이다. 따라서 본 발명의 실시예는 도 2와 같이 그래프와 트리 형태로 정보 구조를 표현하고, 마우스를 이용하여 단순히 선을 연결하여 트리로 표현된 각 필드 간의 연결 정보를 생성하도록 한다. 이렇게 사용자가 도표로(graphically) 생성한 연결 정보는 필드 맵퍼(Field Mapper)를 통해 프로그램 코드로 자동 변환하여 컴퓨터 프로그램인 데이터 변환기(Data Translator)에서 참조할 수 있도록 한다. 이와 관련해서는 이후에 자세히 다루기로 한다.2, the first terminal 101 provides a user-friendly GUI for generating mapping data between fields, thereby making it possible for the program specialist to conveniently manage data. Most of the computer programs are composed of text, so in order to use a program, it is necessary to understand the grammar of a specific program. However, one of the easiest ways for people to understand such a structure is how to express information in a graph or tree structure. Therefore, the embodiment of the present invention expresses the information structure in the form of a graph and a tree as shown in FIG. 2, and connects the lines simply by using a mouse to generate connection information between the fields represented by the tree. The connection information generated graphically by the user is automatically converted into program code through a field mapper so that it can be referred to by a computer program, a data translator. We will discuss this in more detail later.

예컨대, 본 발명의 실시예에 따른 HL7 툴킷의 GUI는 도 2에서와 같이, 기능별로 4가지 영역으로 나누어 구성될 수 있다. ①은 프로그램 운영에 필요한 메뉴 및 단축 버튼으로써, 프로그램의 저장, 불러오기, 데이터베이스 연결, 파싱의 시작 및 종료 관련 기능의 컨트롤 패널(혹은 컨트롤 영역)이다. ②는 사용자가 매핑 데이터를 생성하기 위한 패널이다. 이 패널에서 필드 간 매핑 정보는 선으로 표현되며, 특정 정보 구조는 트리 형태로 표현된다. ③은 매핑 데이터 생성이 가능한 정보의 종류별 요소를 나타낸다. 예를 들어, 입력되는 HL7 메시지가 ADT_A01인 경우, 이 패널에서 ADT_A01항목을 선택하여 ② 패널에 삽입한 후 매핑 작업을 수행할 수 있다. ④는 프로그램 사용에 관한 정보를 제공하는 패널로써, 이 패널을 통해 사용자는 데이터의 입출력 정보, 시스템의 상태, 그리고 사용 기록 등의 정보를 확인할 수 있다.For example, as shown in FIG. 2, the GUI of the HL7 toolkit according to the embodiment of the present invention can be divided into four areas for each function. (1) is a menu and a shortcut button necessary for program operation, and is a control panel (or control area) for functions related to program storage, retrieval, database connection, and start and end of parsing. ② is a panel for user to generate mapping data. In this panel, mapping information between fields is represented by a line, and a specific information structure is expressed in a tree form. ③ indicates the elements of information that can generate mapping data. For example, if the input HL7 message is ADT_A01, you can select the ADT_A01 item in this panel, insert it in ② panel, and perform the mapping operation. ④ is a panel that provides information on program usage. Through this panel, the user can check information such as data input / output information, system status, and usage history.

또한 제1 정보관리장치(103)는 일종의 서버일 수 있으며, 제1 데이터베이스(105)에 연동할 수 있다. 제1 정보관리장치(103)는 도면에 별도로 나타내지는 않았지만, 제어부를 포함할 수 있으며, 도 1에서와 같이, 가령 HL7 툴킷, 일종의 프로그램 또는 알고리즘을 저장하고, 저장한 툴킷을 구동하여 새로운 메시지를 생성하는 제1 정보 생성부(103_1) 및 외부 장치와의 통신을 수행하기 위한 제1 인터페이스부(103_2)를 포함할 수 있다. 가령 본 발명의 실시예에 따른 툴킷은 도 2에서와 같이 제1 정보 생성부(103_1) 내에 독립적인 프로그램으로 구성될 수 있지만, 필요에 따라서는 자바(java)로 개발된 도 3에서와 같은 정보 시스템의 첨부 모듈로 형성될 수도 있다.Also, the first information management device 103 may be a kind of server, and may be linked to the first database 105. [ The first information management apparatus 103 may include a controller, not shown separately in the figure, and may store a HL7 toolkit, a kind of program or algorithm, for example, as shown in FIG. 1, And a first interface unit 103_2 for performing communication with an external device. For example, the toolkit according to the embodiment of the present invention may be configured as an independent program in the first information generating unit 103_1 as shown in FIG. 2, Or as an attachment module of the system.

가령 첨부 모듈로 구성되는 경우, 본 발명의 실시예에 따른 제1 정보관리장치(103)는 도 3에서와 같이 입력부(300), 파싱부(310), 매핑부(320), 변환부(330), 통합부(340) 및 출력부(350)의 일부 또는 전부를 포함할 수 있다. 여기서 일부 또는 전부를 포함한다는 것은 일부 구성 요소가 생략되거나, 다른 구성 요소에 통합되어 구성될 수 있는 것을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.3, the first information management apparatus 103 according to the embodiment of the present invention includes an input unit 300, a parsing unit 310, a mapping unit 320, a conversion unit 330 ), An integrating unit 340, and an output unit 350. [0035] The inclusion of some or all of them in this specification means that some of the constituent elements may be omitted or integrated into other constituent elements, and the description is made to include all of them in order to facilitate a sufficient understanding of the invention.

이후에 다시 설명하겠지만, 본 발명의 실시예에 따른 제1 정보관리장치(103)는 입력부(300)를 통해 환자에 대한 의료 정보, 즉 제1 정보를 수신할 수 있다. 이때 의료 정보는 가령 기존의 HL7 메시지의 형태로서 인터넷을 통해 다른 서버에서 제공되는 의료 정보이거나, 다양한 방식으로 제공될 수 있는 의료 정보이다. 예를 들어, 도 1의 제1 데이터베이스(105)에서 제공되는 의료 정보이거나, 소켓 (socket)을 통해 외부와의 네트워크 통신을 통해 제공되는 의료 정보일 수 있다.As will be described later, the first information management apparatus 103 according to the embodiment of the present invention can receive medical information, that is, first information, about the patient through the input unit 300. In this case, the medical information is, for example, medical information provided from another server through the Internet in the form of an existing HL7 message, or medical information that can be provided in various ways. For example, it may be medical information provided in the first database 105 of FIG. 1, or medical information provided through network communication with the outside via a socket.

파싱부(310)는 입력된 메시지의 파싱, 즉 분해하는 역할을 수행한다. 여기서 메시지의 파싱이란 필드 간 데이터를 구분하는 것으로 이해될 수 있을 것이다.The parsing unit 310 parses or decomposes the input message. Here, parsing of a message may be understood as distinguishing between fields.

그리고 매핑부(320)는 화면에 표시되는 GUI 화면을 통해 사용자, 즉 프로그램 비전문가가 화면상에서 선을 서로 연결하여 생성한 트리 구조에 근거하여 매핑 데이터를 생성한다. 이와 같은 매핑 데이터는 입력부(300)로 입력된 의료 정보 즉 제1 정보를 이용하여 가령 의료 시스템의 표준 규격을 벗어나지 않는 범위에서 새로운 의료 정보 즉 제2 정보를 생성할 때 참조하는 데이터일 수 있다.The mapping unit 320 generates mapping data based on a tree structure created by a user, that is, a program non-expert, connecting lines on the screen through a GUI screen displayed on the screen. The mapping data may be data to be referred to when generating new medical information, that is, second information, within a range that does not deviate from standard specifications of the medical system, for example, using the medical information input to the input unit 300, i.e., first information.

변환부(330)는 매핑부(320)에서 제공한 매핑 데이터에 근거하여 파싱부(310)에서 파싱된 메시지를 변환하여 출력한다. 여기서, 변환한다는 것은 필드 간 순서를 변환하거나, 필드 내의 데이터를 재정렬하는 것 등을 의미할 수 있으며, 나아가 필드 사이에 새로운 필드를 생성해 넣는 것을 의미할 수도 있다. 따라서 본 발명의 실시예에서는 변환이라는 것의 의미에 특별히 한정하지는 않을 것이다.The conversion unit 330 converts the parsed message in the parsing unit 310 based on the mapping data provided by the mapping unit 320 and outputs the message. Here, the conversion may mean converting the order between fields, rearranging the data in the field, or the like, and may also mean creating a new field between fields. Therefore, in the embodiment of the present invention, the meaning of conversion is not particularly limited.

통합부(340)는 변환부(330)에서 변환된 필드 간 데이터들을 통합하는 역할을 수행한다. 여기서 통합한다는 것은 입력부(300)에 입력된 제1 정보를 새로운 제2 정보로 변환하여 생성한 것을 의미한다. 즉 외부로 출력하기 위한 데이터 포맷을 새로이 형성한 것이다. 그러나 이와 같은 통합부(340)는 제1 정보관리장치(103)에서 생략될 수도 있을 것이다. 다시 말해, 변환부(330)에서 변환된 제2 정보를 바로 출력할 수도 있을 것이다.The integrating unit 340 integrates the inter-field data converted by the converting unit 330. Here, the integration means that the first information input to the input unit 300 is converted into new second information. That is, a data format for outputting data to the outside is newly formed. However, such an integration unit 340 may be omitted in the first information management apparatus 103. [ In other words, the conversion unit 330 may directly output the converted second information.

출력부(330)는 통합부(340)에서 생성된 제2 정보를 도 1의 제1 인터페이스부(103_2)로 출력한다. 이러한 출력부(330)는 제1 인터페이스부(103_2)와의 연결을 위한 커넥터 등으로 이루어질 수 있지만, 제1 정보관리장치(100)에서 생략되어 구성되어도 무관할 것이다.The output unit 330 outputs the second information generated by the integration unit 340 to the first interface unit 103_2 of FIG. The output unit 330 may include a connector for connection with the first interface unit 103_2, but may be omitted from the first information management apparatus 100. [

제1 정보관리장치(103)의 제1 인터페이스부(103_2)는 출력부(330)에서 제공된 제2 정보를 변환하여 전송할 수 있다. 예컨대, 제1 인터페이스부(103_2)는 도 4에서와 같은 과정을 거친 후 네트워크로 전송할 수 있다. HL7 메시지의 생성을 위해 필요한 기본 정보는 의료정보시스템의 데이터베이스의 정보와, HL7 메시지의 데이터 타입과 다른 경우에는 HL7 툴킷에서 제공하는 함수(Function)들을 이용하여 데이터를 변형한다. 또한 데이터베이스에 포함되지 않은 부가 정보는 사용자가 직접 입력하여 작성한다. 이러한 정보는 HL7 인코더를 통해 문자열 형태의 HL7 메시지를 생성할 수 있을 것이다.The first interface unit 103_2 of the first information management apparatus 103 may convert and transmit the second information provided by the output unit 330. [ For example, the first interface 103_2 can be transmitted to the network after the process as shown in FIG. The basic information necessary for the generation of the HL7 message is transformed using the information of the database of the medical information system and the functions provided by the HL7 toolkit when the data type differs from the data type of the HL7 message. The additional information not included in the database is directly input by the user. This information could be used to generate HL7 messages in string form via the HL7 encoder.

도 5는 도 4의 동작 개념을 구체적으로 표현하여 나타낸 도면으로서, 도 5에서 (a)는 입력 형태를 지정하는 것으로서 의료정보시스템의 데이터베이스에서 정보를 추출하는 것을 의미한다. (b)와 (c)는 각각 의료정보시스템의 데이터베이스에서 HL7 메시지 생성과 관련된 환자의 정보와 의사의 정보를 나타낸다. 그리고 (c)는 데이터베이스의 자료를 변형하여 HL7 데이터타입에 맞추기 위한 HL7 툴킷에서 제공하는 함수들이다. 예를 들면, 송신측 정보시스템에서는 환자의 성(Gender)을 남:1, 여:0으로 표현한 반면, HL7에서는 남:M, 여:F로 표현해야 한다. 따라서 Equals라는 function(즉, 입력 데이터가 1과 같으면 출력을 M으로, 그렇지 않으면 F로 변환하도록 사용자가 정의함을 의미)을 이용하여 메시지를 생성한다. 그리고 (f)를 통해 사용자가 직접 정보를 입력한다. 이러한 정보들은 ADT_A60의 메시지 구조를 나타내는 (e)의 각 필드들과 연결하여 HL7 메시지 생성을 위한 인코딩을 수행하게 된다. 단, (f)에서 입력한 정보는 (e)에서 바로 입력할 수도 있으나, HL7 메시지의 구조가 복잡하므로 편의를 위해 작성해야 할 필드들을 (f)를 통해 별도로 작성할 수 있도록 한다. 그리고 (g)는 생성한 HL7 메시지를 네트워크를 통해 전송함을 의미한다. 도 5에서와 같이 경우에 따라서는 GUI를 통해 텍스트(Text) 형태로 확인할 수도 있을 것이다.FIG. 5 is a diagram showing in detail the operation concept of FIG. 4. FIG. 5 (a) designates an input form, which means information is extracted from the database of the medical information system. (b) and (c) show patient information and physician information related to HL7 message generation in the database of the medical information system, respectively. And (c) are functions provided by the HL7 toolkit for modifying data in the database to fit the HL7 data type. For example, in a transmitting-side information system, the patient's gender should be expressed as M: 1, F: 0, while in HL7, M: M, F: F. Thus, a function called Equals (ie, if the input data is equal to 1, the output is changed to M, otherwise it is defined by the user). Then, the user directly inputs information through (f). This information is combined with the fields of (e) indicating the message structure of ADT_A60 to perform encoding for generating the HL7 message. However, since the structure of the HL7 message is complex, fields to be created for convenience can be separately created through (f). And (g) means that the generated HL7 message is transmitted through the network. In some cases, as shown in FIG. 5, it may be confirmed in the form of text through the GUI.

제1 데이터베이스(105)는 제1 단말기(101)를 통해 의료인이 작성한 환자의 의료 정보를 저장하거나, 외부와의 통신에 의해 제공된 환자의 의료 정보를 저장할 수 있다. 그리고 저장한 정보는 제1 단말기(101)의 요청시 출력해 줄 수 있을 것이다. 또한 제1 데이터베이스(105)는 제1 정보관리장치(103)가 정보 변환 등의 과정을 수행할 때, 필요한 정보를 추가로 제공해 줄 수도 있을 것이다.The first database 105 may store the medical information of the patient created by the medical person through the first terminal 101 or may store the medical information of the patient provided by communication with the outside. The stored information may be output at the request of the first terminal 101. In addition, the first database 105 may further provide necessary information when the first information management apparatus 103 performs a process such as information conversion.

반면, 수신부(110)는 제2 정보관리장치(111), 제2 단말기(113) 및 제2 데이터베이스(115)의 일부 또는 전부를 포함할 수 있다. 여기서, 일부 또는 전부를 포함한다는 것은 송신부(100)에서 설명한 내용과 크게 다르지 않으므로 더 이상의 설명은 생략한다.On the other hand, the receiving unit 110 may include some or all of the second information management apparatus 111, the second terminal 113, and the second database 115. Here, it is not so different from what is described in the transmitter 100 that some or all of them are included, and further explanation will be omitted.

제2 정보관리장치(111)는 송신부(100)에서 새로이 생성하여 전송한 제2 정보, 가령 HL7 메시지를 수신하여 제2 인터페이스부(111_1)를 통해 디코딩 과정 등을 수행할 수 있으며, HL7 메시지를 분석하여 제2 데이터베이스(115)에 저장함과 동시에 확인(ACK) 메시지를 송신부(100)로 반환할 수 있다. 이러한 관점에서 볼 때, 제2 정보관리장치(111)는 제1 정보관리장치(103)와 달리 확인 메시지를 생성하여 주는 확인 메시지 생성부를 더 포함할 수도 있을 것이다.The second information management apparatus 111 may receive the second information, for example, the HL7 message, which is newly generated and transmitted by the transmission unit 100, and may perform a decoding process or the like through the second interface unit 111_1. And stores the resultant in the second database 115 and returns an acknowledgment (ACK) message to the transmitter 100. In this regard, the second information management apparatus 111 may further include an acknowledgment message generating unit for generating an acknowledgment message unlike the first information managing apparatus 103. [

제2 인터페이스부(111_1)의 동작 과정을 도 6을 참조하여 좀더 살펴보면, 네트워크로 전송된 HL7 메시지는 도 6에서와 같이 HL7 디코더를 통해 분석한 후, 데이터베이스, 즉 제2 데이터베이스(115)에 반영한다. 그리고 전송된 메시지의 수신 확인 응답 메시지를 생성하여 송신측으로 전송해주게 된다. 이는 별도의 제어부가 확인 메시지 생성부에서 생성된 응답 메시지를 제2 인터페이스부(111_1)를 통해 전송하는 방식으로 이루어질 수도 있을 것이다.6, the HL7 message transmitted to the network is analyzed through the HL7 decoder as shown in FIG. 6 and then reflected in the database, that is, the second database 115 do. Then, an acknowledgment message of the transmitted message is generated and transmitted to the sender. This may be achieved by a method in which a separate control unit transmits the response message generated by the acknowledgment message generating unit through the second interface unit 111_1.

도 7은 도 6의 동작을 구체적으로 표현하여 나타낸 도면으로서, (h)는 네트워크를 통해 데이터를 입력받는 것을 의미한다. (i)는 네트워크를 통해 전송된 HL7 메시지를 디코딩하여 표현한다. (j)는 수신측 의료정보시스템의 데이터베이스에서 수정할 환자(Hune Cho)에 관련한 레코드를 찾기 위한 시퀀스로서 데이터베이스의 테이블을 연결한 것을 보여 준다. 선택된 레코드의 내용과 전송된 알레르기(Allergy)와 관련된 내용을 (k)에서 병합하여 (g)를 통해 데이터베이스를 수정한다. 여기서 IAM segment에서 Allergy Action Code에 따라 기존의 데이터의 내용을 변형(A:추가, D:삭제 등)하기 위해 Union과 Equals function을 사용하였다(e.g., Allergy Action Code가 A인 경우에는 chartcontent 테이블에 있는 allergy 정보에 전송된 allergy 정보를 병합하여 데이터베이스를 수정한다). (m)에서는 전송된 메시지에 따라 데이터베이스의 수정이 완료된 경우, 송신측에 수신 응답 메시지를 생성하여 (n)에서 네트워크를 통해 ACK-A60 메시지의 송신측으로 전송하게 되는 것이다.FIG. 7 is a diagram specifically showing the operation of FIG. 6, wherein (h) means input of data through a network. (i) decodes and expresses the HL7 message transmitted over the network. (j) shows a table of the database connected as a sequence for searching a record related to a patient (Hune Cho) to be modified in the database of the receiving-side medical information system. The contents of the selected record and the contents related to the transmitted allergy are merged in (k) to modify the database through (g). In the IAM segment, Union and Equals functions are used to transform (A: addition, D: delete, etc.) the contents of existing data according to Allergy Action Code (eg, Allergy Action Code A is in the chartcontent table modify the database by merging the allergy information sent to the allergy information). (m), when the modification of the database is completed according to the transmitted message, the transmitting side generates a receiving response message and transmits the receiving response message to the transmitting side of the ACK-A60 message through the network at (n).

이와 같은 과정에 따라 제2 단말기(113)는 송신측에서 전송하여 제2 데이터베이스(115)에 저장된 또는 기저장된 정보가 갱신된 데이터를 불러내어 특정 환자의 최근 의료 기록을 확인해 볼 수 있게 되는 것이다.According to this process, the second terminal 113 can transmit the data stored in the second database 115 or the updated data stored in the second database 113 to check the recent medical records of a specific patient.

이와 같은 점을 제외한 기타 수신부(110)의 제2 정보관리장치(111)의 제2 인터페이스부(111_1) 및 제2 정보 생성부(111_1), 제2 단말기(113) 및 제2 데이터베이스(115)는 송신부(100)의 제1 단말기(101), 제1 정보관리장치(103)의 제1 정보 생성부(103_1) 및 제1 인터페이스부(103_2), 제1 데이터베이스(105)와 크게 다르지 않으므로 더 이상의 설명은 생략하도록 한다. 여기서, 제2 정보 생성부(111_1)는 정보 분석을 수행하기 위한 분석부를 포함할 수도 있을 것이다.The second interface 111_1 and the second information generation unit 111_1, the second terminal 113 and the second database 115 of the second information management apparatus 111 of the other reception unit 110 except for this point, Is not much different from the first terminal 101 of the transmitter 100, the first information generator 103_1 and the first interface 103_2 of the first information management apparatus 103, and the first database 105, The above description is omitted. Here, the second information generation unit 111_1 may include an analysis unit for performing information analysis.

상기의 구성 결과, 기존 컴퓨터 프로그램 개발자와 의료인 사이의 의료 정보에 대한 인식의 차이로 인해 가령 HL7 메시지 관리 프로그램의 개발이 쉽지 않았지만, 본 발명에 따라 의료인이 직접 자신의 의료 지식에 기반하여 HL7 메시지를 직접 생성할 수 있게 되어 정보 교환이 용이하게 될 것이다.As a result of the above configuration, it is not easy to develop the HL7 message management program due to the difference in recognition of the medical information between the existing computer program developer and the medical person. However, according to the present invention, It is possible to directly generate the information, which facilitates information exchange.

도 8은 본 발명의 실시예에 따른 HL7 툴킷의 아키텍처를 설명하기 위한 도면이고, 도 9는 필드 맵퍼의 그래픽 표시를 위한 데이터 구조를 예시한 도면이며, 도 10은 정보 아이템의 그룹 다이어그램이다. 또한 도 11은 HL7 인터페이스 엔진의 부분 그룹 다이어그램이고, 도 12는 본 발명의 실시예에 따른 메시지를 예시하여 나타낸 도면이며, 도 13은 본 발명의 실시예에 따른 HL7 툴킷과 HL7 인터페이스 엔진의 연결을 설명하기 위한 도면이고, 도 14는 본 발명의 실시예에 따른 정보관리방법을 나타내는 흐름도이다.FIG. 8 is a view for explaining the architecture of the HL7 toolkit according to the embodiment of the present invention, FIG. 9 is a diagram illustrating a data structure for graphical display of a field mapper, and FIG. 10 is a group diagram of information items. 11 is a partial group diagram of an HL7 interface engine, FIG. 12 is a diagram illustrating a message according to an embodiment of the present invention, and FIG. 13 is a diagram illustrating a connection between an HL7 toolkit and an HL7 interface engine according to an embodiment of the present invention FIG. 14 is a flowchart illustrating an information management method according to an embodiment of the present invention.

본 발명의 실시예에 따른 HL7 툴킷은 기본적으로 HL7 메시지와 의료정보 시스템의 데이터베이스 간의 정보 교환을 위한 도구이다. 따라서 이 툴킷을 통해 HL7 메시지에 포함된 정보를 의료 정보 시스템의 데이터베이스에 저장하는 것뿐만 아니라, 의료정보 시스템의 데이터베이스의 정보를 기반으로 HL7 메시지를 생성하거나, HL7 메시지로부터 다른 형태의 HL7 메시지 생성, 그리고 데이터베이스 사이의 정보 교환이 가능하다.The HL7 toolkit according to the embodiment of the present invention is basically a tool for exchanging information between the HL7 message and the database of the medical information system. Therefore, this toolkit can be used not only to store the information contained in the HL7 message in the database of the medical information system but also to generate the HL7 message based on the information of the medical information system database or to generate another form of HL7 message from the HL7 message, It is also possible to exchange information between databases.

도 8에서 볼 수 있듯이, HL7 툴킷은 네 가지 형태로 정보를 입출력할 수 있다. GUI 상황에서 키보드 입력, 파일로 저장된 데이터, 소켓을 통한 네트워크, 그리고 데이터베이스에 저장되어 있는 HL7 메시지 등 문자열 형태의 HL7 메시지의 입력 및 출력이 가능하다. 그리고 의료 정보 시스템의 정보를 교환하기 위해서 데이터베이스의 연결을 통한 정보의 입력 및 출력뿐만 아니라, 간단한 구조, 가령 구분자로 구분된 구조의 문자열의 파싱 및 생성도 가능할 수 있다.As can be seen from Fig. 8, the HL7 toolkit can input and output information in four forms. In the GUI context, it is possible to input and output HL7 message in the form of string such as keyboard input, data stored in file, network via socket, and HL7 message stored in database. In order to exchange information of the medical information system, it is possible to not only input and output information through the connection of the database but also a simple structure, for example, parsing and generating a string of structures separated by delimiters.

HL7 툴킷은 HL7 메시지의 파싱 및 생성을 목적으로 하기 때문에, 가령 HL7 인터페이스엔진을 포함할 수 있다. 단, 사용자가 직접 HL7 인터페이스엔진의 구조 및 프로그램적 이해를 필요로 하지 않고, 단순히 변환하고자 하는 정보들의 구조, 가령 HL7의 경우에는 HL7 Structure, 정보시스템의 Relational 데이터베이스에서는 각 테이블의 구조만을 이해하고, 각 정보 구조에서 변환하고자 하는 데이터를 지칭하는 필드 간의 연결 정보만을 GUI로 표현된 필드 맵퍼를 통해 디자인하기만 하면 된다. 이렇게 디자인된 매핑 데이터는 독립적으로 저장 가능하고, 또한 이 매핑 데이터는 도 8에서와 같이 데이터 변환기(Data Translator)가 설치되어 있는 정보시스템에서 정보 교환을 위한 기본 정보로 이용하여, 입력 메시지를 파싱한 데이터를 재구성하여 새로운 데이터를 생성하는 정보 교환 작업이 수행된다. 여기서 필드는 relational 데이터베이스에서 테이블의 칼럼(column)을 나타내며, HL7에서 실제 데이터를 표현하기 위한 Primitive data type을 지칭할 수 있다.The HL7 toolkit is intended for parsing and generation of HL7 messages, and may therefore, for example, include an HL7 interface engine. However, the structure of the HL7 interface engine and the program need not be understood by the user, and only the structure of the information to be converted, such as the HL7 structure in the HL7 structure and the relational database of the information system, Only the connection information between the fields indicating the data to be converted in each information structure is designed through the field mapper represented by the GUI. The mapping data thus designed can be stored independently and this mapping data is used as basic information for information exchange in an information system in which a data translator is installed as shown in FIG. 8, An information exchange operation is performed in which data is reconstructed to generate new data. Here, the field represents a column of a table in the relational database, and may refer to a primitive data type for representing actual data in HL7.

도 9는 필드 맵퍼의 그래픽 표시를 위한 데이터 구조를 나타낸 것으로서, 그래픽 패널에서 사용자가 디자인한 매핑 정보는 컴퓨터가 이해할 수 있는 형태로 변환하여 저장되어야 하기 때문에, 필드 맵퍼의 구성 요소는 다음과 같이 두 가지 영역으로 나누어 설계될 수 있다. 사용자가 개념적으로 매핑 데이터를 생성할 수 있도록 하기 위한 그래픽 구성 요소(graphical component), 사용자가 디자인한 매핑 정보의 표현을 위한 요소, 다시 말해 각 필드 정보를 표현하기 위한 NodeBean, 필드들이 모여 정보 구조를 표현하기 위한 TreeBean, 특정 정보 구조와 관련된 정보를 나타내기 위한 Instance Bean, 그리고 필드간 연결 정보를 나타내기 위한 LinkageBean, 그리고 이들 모든 정보는 MappingDataBean에 포함하여 하나의 객체로 관리할 수 있도록 한다. 또한 하나의 MappingDataBean의 객체로 표현된 매핑 데이터는 Serializable Interface를 구현함으로써 파일로 저장하여 배포 가능하도록 한다. 또한 이러한 정보는 InstancePane, LinkagePane, DesignPane의 그래픽 표현 객체들을 통해 각각 정보구조, 연결정보, 전체 매핑 정보의 그래픽 표현이 가능하도록 한다.FIG. 9 shows a data structure for graphical display of a field mapper. Since the mapping information designed by a user in the graphic panel must be converted into a computer-understandable format and stored, the components of the field mapper are It can be designed by dividing into branches. A graphical component for allowing a user to conceptually generate mapping data, an element for expressing mapping information designed by a user, that is, a NodeBean for representing each field information, An instance bean for representing information related to a specific information structure, and a LinkageBean for representing inter-field connection information, all of which can be managed by a single object included in the MappingDataBean. Also, the mapping data represented by one MappingDataBean object can be stored in a file by distributing Serializable Interface. In addition, this information enables graphical representations of information structure, connection information, and global mapping information through InstancePane, LinkagePane, and DesignPane graphical representation objects, respectively.

본 발명의 실시예에 따른 HL7 툴킷은 기본적으로 4가지 종류의 정보 아이템(이하, Information items라 함)를 다룬다. 즉, 정보의 입출력 채널을 지정하기 위한 IO 관련 items, 데이터베이스와의 연결을 통한 테이블 정보들을 나타내기 위한 Database 관련 items, HL7 구조에서 메시지들을 나타내기 위한 items, 그리고 필드 매핑 과정에서 데이터의 변형 및 새로운 데이터의 생성을 위한 다양한 도구를 나타내는 Tool 관련 items이다. 이들 items은 종류별로 분류되어, 도 2의 panel ③과 같이 사용자가 직접 선택하여 사용할 수 있도록 한다. 또한 items 객체들은 ItemBean의 encode(), decode() 메소드(operation)를 오버라이딩함으로써, 각 item 객체마다 각자의 특성에 따른 인코딩 및 디코딩 작업을 수행할 수 있도록 한다. 예를 들어, ItemMaker_HL7_2_4 그룹에 포함된 item 객체에서 decode() 메소드는 HL7 메시지를 파싱하는 작업을 수행하며, decode() 메소드에서는 HL7 메시지를 생성하는 작업을 수행한다. 반면에 ItemMaker_Database 그룹에 포함된 item 객체에서 decode() 메소드는 특정 SQL query로 데이터베이스를 검색한 결과를 얻는 작업을 수행하며, encode() 메소드는 입력된 데이터를 데이터베이스에 저장하는 작업을 수행한다. 또한 이들 items 들은 ItemPanel 객체를 이용하여 graphical representation 이 가능하도록 하고, 차후에 다양한 종류의 Information item 을 추가하여 사용할 수 있도록 확장성을 고려하여 시스템을 설계하게 된다.The HL7 toolkit according to the embodiment of the present invention basically deals with four kinds of information items (hereinafter referred to as information items). That is, IO-related items for specifying information input / output channels, Database-related items for representing table information through connection with databases, items for displaying messages in HL7 structure, Tool-related items that represent various tools for generating data. These items are classified into categories and can be selected and used by the user as shown in panel 3 of FIG. In addition, the items object overrides the encode () and decode () methods of the ItemBean so that each item object can perform encoding and decoding according to its own characteristics. For example, in the itemMaker_HL7_2_4 group item, the decode () method parses the HL7 message, and the decode () method creates the HL7 message. On the other hand, in the item object contained in the ItemMaker_Database group, the decode () method performs the operation of retrieving the database with a specific SQL query, and the encode () method performs the operation of storing the input data in the database. In addition, these items are designed to enable graphical representation using ItemPanel object, and to be able to add various kinds of information items in the future.

HL7 툴킷에서 설계한 매핑 정보를 이용하기 위해서는 HL7 V. 2 .x Message의 파싱 및 생성이 가능해야 하므로, HL7 인터페이스엔진과의 연동이 필수적이다. 즉, 입력된 HL7 메시지를 HL7 인터페이스엔진을 통해 파싱한 결과를 실시간으로 사용자 화면에 보여주거나, 사용자가 HL7 툴킷을 통해 입력한 데이터를 HL7 인터페이스엔진에 전달하여 HL7 메시지의 생성이 가능해야 한다. 따라서 HL7 툴킷의 HL7 관련 모듈의 객체 구조를 HL7 인터페이스엔진의 객체 구조와 동일하게 구성하는 것이 효과적이다. HL7 인터페이스엔진의 데이터 구조는 도 11에서와 같이 HL7 표준의 메시지 구조와 유사하게 설계함으로써 누구나 쉽게 이해할 수 있도록 한다. In order to use the mapping information designed by the HL7 toolkit, it is necessary to interwork with the HL7 interface engine as it must be able to parse and generate HL7 V.2.x messages. That is, it is necessary to display the result of parsing the inputted HL7 message through the HL7 interface engine on the user's screen in real time, or to transmit the data inputted by the user through the HL7 toolkit to the HL7 interface engine to generate the HL7 message. Therefore, it is effective to configure the object structure of the HL7 related module of the HL7 toolkit to be the same as the object structure of the HL7 interface engine. The data structure of the HL7 interface engine is designed to be similar to that of the HL7 standard message structure as shown in FIG.

도 11은 도 12의 ADT_A01 메시지 구조의 일부에 대한 객체 구조를 보인다. 여기서 MSH segment는 ADT_A01에서 required 이면서 non repeatable이지만, HL7 인터페이스엔진에서는 프로그램의 일관성을 위해서 1:n으로 표현하도록 하였고, 정책적으로 1개의 MSH 객체만 존재하도록 프로그래밍 되면 된다. 또한, ADT_A01_INSURANCE는 [{IN1 [IN2] [{IN3}] [{ROL}] }]의 segment들의 그룹으로서 이 그룹의 속성은 optional, repeatable이므로 그룹 단위로 관리하는 것이 효과적임을 알 수 있다. 여기서 기호 ‘[]’ 는 optional을 의미하고, ‘{}’ 는 repeatable을 의미한다.FIG. 11 shows an object structure for a part of the ADT_A01 message structure of FIG. Here, the MSH segment is required and non-repeatable in ADT_A01, but in the HL7 interface engine, it is expressed as 1: n for consistency of the program, and only one MSH object needs to be programmed to exist as a policy. In addition, ADT_A01_INSURANCE is a group of [{IN1 [IN2] [{IN3}] [{ROL}]}] segments, and the attribute of this group is optional and repeatable. Here, the symbol '[]' means optional, and '{}' means repeatable.

HL7 툴킷에서는 도 13과 같이 Interface Engine의 메시지와 같은 객체 구조를 따른다. 즉, HL7 툴킷의 item으로서 Tree에서 Node로 표현된 각 필드의 값을 HL7 Interface Engine의 객체와 직접 연결함으로써 메시지의 파싱 및 생성이 효과적으로 이루어질 수 있게 된다. 단, 도 11에서 HL7 Interface Engine에서 ADT_A01 객체는 Message 그룹으로 분류하였으나, HL7 툴킷에서는 HL7 이외에도 Database, IO, Tool 등의 다양한 정보 items이 존재하므로 이들과의 일관성을 유지하기 위해 ItemBean의 그룹으로 분류하였다.The HL7 toolkit follows the same object structure as the message of the Interface Engine as shown in FIG. That is, by connecting the value of each field expressed by Tree to Node as an item of HL7 toolkit directly with the object of HL7 Interface Engine, the message can be parsed and generated effectively. However, in the HL7 toolkit, various information items such as database, IO, and tool exist in addition to HL7, so they are classified into a group of ItemBean in order to maintain consistency with them. .

도 14는 본 발명의 실시예에 따른 정보관리방법을 나타내는 흐름도이다.14 is a flowchart illustrating an information management method according to an embodiment of the present invention.

설명의 편의상 도 14를 도 1 또는 도 8과 함께 참조하면, 본 발명의 실시예에 따른 제1 정보관리장치(103)는 입력된 제1 정보를 파싱하여 필드를 분해한다(S1400). 여기서, 제1 정보는 가령 환자의 의료 정보로서 제1 정보관리장치(103)가 연동하고 있는 제1 데이터베이스(105)가 될 수 있으며, 외부와의 네트워크 통신을 통해 입력되는 정보일 수 있을 것이다.For convenience of description, FIG. 14 is described with reference to FIG. 1 or FIG. 8, where the first information management apparatus 103 according to the embodiment of the present invention parses input first information to decompose fields (S1400). Here, the first information may be, for example, the first database 105 in which the first information management apparatus 103 cooperates as medical information of the patient, and may be information input via network communication with the outside.

이어 제1 정보관리장치(103)는 GUI 기반의 도구를 이용하여 매핑 데이터를 생성한다(S1410). 여기서, GUI 기반의 도구란 의료인과 같은 프로그램 비전문가가 컴퓨터와 같은 자신의 단말기에서 화면에 표시되는 그래프 등을 이용하여 마우스로 간단히 선을 연결하여 정보의 트리 구조를 형성할 수 있는 도구에 해당될 수 있다.Next, the first information management device 103 generates mapping data using a GUI-based tool (S1410). Here, the GUI-based tool may be a tool for a program non-specialist such as a medical person to construct a tree structure of information by simply connecting lines with a mouse using a graph displayed on the screen of the user's own terminal have.

또한 제1 정보관리장치(103)는 매핑 데이터에 기반하여 분해된 제1 정보, 가령 메시지를 변환한다(S1420). 여기서, 변환은 필드 순서의 변경, 필드 내 데이터 구조의 변경, 또는 데이터의 재정렬, 필드 내 새로운 필드를 생성하는 것 등을 의미할 수 있다. Also, the first information management device 103 converts the decomposed first information, e.g., a message, based on the mapping data (S1420). Here, the conversion may mean changing the field order, changing the data structure in the field, or reordering the data, creating a new field in the field, and so on.

이후 제1 정보관리장치(103)는 변환된 데이터들을 통합하여 새로운 제2 정보, 즉 새로운 메시지를 생성하게 된다(S1430). 물론 새로이 생성된 메시지는 의료 시스템의 표준 규격을 벗어나지 않는 것이 바람직하며, 이에 근거해 볼 때 S1420 단계에서 메시지를 변환하는 과정도 이를 만족하는 것이 바람직하다.Thereafter, the first information management apparatus 103 merges the converted data to generate new second information, i.e., a new message (S1430). Of course, it is desirable that the newly generated message does not deviate from the standard of the medical system. Based on this, it is preferable that the process of converting the message in step S1420 satisfies this.

그리고 제1 정보관리장치(103)는 새로이 생성된 메시지를 인코딩 등의 정보 변환 과정을 통해 제2 정보관리장치(111)의 수신부(110)로 전송해 줄 수 있다.The first information management apparatus 103 may transmit the newly generated message to the reception unit 110 of the second information management apparatus 111 through an information conversion process such as encoding.

도 15 내지 도 24는 본 발명의 실시예에 따른 데이터베이스 관리방법(혹은 정보관리방법)을 설명하기 위한 도면이다.15 to 24 are diagrams for explaining a database management method (or an information management method) according to an embodiment of the present invention.

본 발명의 실시예에 따른 데이터베이스 관리방법은 그래프 형태의 인터페이스(혹은 인터페이스 창)에서 데이터베이스 테이블에서의 필드를 단순 연결하여 순차적으로 데이터베이스를 검색, 수정 및 삭제하는 방법을 포함한다. 여기서, 검색이란 본 발명의 실시예에 따른 HL7 툴킷이 사용자, 가령 의사의 요청에 따라 데이터베이스(105)의 테이블에 저장된 데이터를 불러와 처리하는 것을 의미할 수 있다.A database management method according to an embodiment of the present invention includes a method of sequentially searching for, modifying, and deleting a database by simply linking fields in a database table in a graphical interface (or an interface window). Here, the search may mean that the HL7 toolkit according to the embodiment of the present invention calls and processes the data stored in the table of the database 105 at the request of the user, for example, a physician.

도 15 내지 도 24를 도 1 및 도 2와 함께 참조하면, 본 발명의 실시예에 따른 정보관리장치는 데이터베이스 테이블 아이템 목록(도 2의 ③ 참조)에서 특정 아이템을 클릭한 후 디자인 패널, 즉 화면상에 추가하게 되면 도 1에 도시된 데이터베이스(105)의 테이블에 저장되어 있는 데이터를 검색하고 수정할 수 있는 새로운 아이템이 생성된다. 도 15는 phr 데이터베이스에 patient라는 테이블의 아이템이 등록된 화면을 보여주고 있다.Referring to FIGS. 15 to 24 together with FIG. 1 and FIG. 2, the information management apparatus according to the embodiment of the present invention clicks a specific item in a database table item list (see 3 of FIG. 2) A new item is created that can retrieve and modify the data stored in the table of the database 105 shown in FIG. 15 shows a screen in which an item of a table named patient is registered in the phr database.

도 15의 테이블 아이템(도 2의 ② 참조)에서 [RECORDS] 노드를 가령 마우스 오른쪽 버튼으로 클릭하면 새로운 창이 뜨게 되는데, 이와 같은 창을 통해 현재 테이블에 저장되어 있는 모든 기록(record)을 확인할 수 있다. 가령 도 16의 상단 텍스트 입력 창에 SQL Query를 직접 입력하여 그 결과를 확인할 수도 있을 것이다.If you right-click the [RECORDS] node in the table item (see 2 in FIG. 2) of FIG. 15, a new window is displayed. Through this window, all the records stored in the current table can be checked . For example, you can enter the SQL Query directly in the upper text input window of FIG. 16 and check the result.

아이템에서 테이블 내의 기록을 가져오는 방법은 두 가지가 있을 수 있다. 첫째는 phr.patient 노드의 입력으로 SQL Query를 전달하는 방법이고, 둘째는 [QUERY] 노드와 그 하위 노드인 Input Query 노드를 통해 SQL Query를 사용자가 정의한 규칙에 기반하여 상황에 따라 자동으로 생성하는 방법이다. 물론 아이템에서 테이블에 기록을 추가하거나, 기존의 기록을 수정하는 방법 또한 위의 기록을 가져오는 방법과 동일할 수 있다.There are two ways to retrieve records from an item in a table. The first is to pass SQL Query as input of phr.patient node and the second is to automatically generate SQL Query based on user defined rules through [QUERY] node and its subordinate Input Query node Method. Of course, adding a record to a table in an item, or modifying an existing record may also be the same as bringing the above record.

먼저 데이터 검색 방법에서, Input Item에서 데이터베이스 노드에 SQL Query를 직접 입력하는 방법에 대하여 살펴본다. 이러한 방법에서는 도 17에서와 같이, 다수의 기록을 검색 결과로 얻을 수 있는데 현재 아이템에서는 단 하나의 결과만이 각 노드에 저장될 수 있다. 따라서 이 경우 가장 처음에 출력되는 결과를 노드에 저장한다. 그리고 데이터베이스 노드를 검색하기 위하여 Input 아이템에 정의되어 있는 Database 노드를 마우스 오른쪽 버튼으로 클릭하면 나타나는 텍스트 입력 창에 "Select * from patient where code = 1"를 직접 입력할 수 있다.First, in the data retrieval method, a method of inputting SQL Query directly to a database node from an input item will be described. In this method, as shown in FIG. 17, a plurality of records can be obtained as a search result. In the current item, only one result can be stored in each node. Therefore, in this case, the first output result is stored in the node. You can directly type "Select * from patient where code = 1" in the text input window that appears when you right-click the Database node defined in the Input item to search the database node.

이어, 상황에 따른 Query의 자동 생성에 대하여 살펴본다. 이러한 방법은 도 18에서와 같이, Input Item에서 Input Query 노드에 SQL Query를 직접 입력한다. 단, 상황에 따라 SQL Query가 바뀌어야 할 경우, (#1, #2,...)와 같이 대체할 부분을 #(숫자) 형식으로 질의를 생성하고, 이 위치에 대체될 문자를 Input Query 노드의 하위 노드인 input sub. 노드에 순서대로 입력한다. 예를 들어, Input Query 노드는 "SELECT * from patient where code = #1", input sub. 노드는 "11"을 입력할 경우, "SELECT * from patient where code = 11"의 데이터베이스 검색 질의가 자동으로 생성된다. 단, 여기에서 input sub. 노드에 사용자가 직접 값을 입력할 수도 있으나, 검색에 사용될 값은 HL7 메시지나 다른 데이터베이스로부터 전달받는 경우가 대부분이므로, input sub. 노드의 입력을 통해 값을 전달받도록 할 수도 있을 것이다.Next, the automatic generation of the query according to the situation will be described. In this method, as shown in FIG. 18, the SQL Query is directly input to the Input Query node in the Input Item. However, if SQL Query needs to be changed according to the situation, a query is generated in the form of # (number) such as (# 1, # 2, ...) Input sub. Enter the nodes in order. For example, the input query node is "SELECT * from patient where code = # 1", input sub. When the node enters "11", a database search query of "SELECT * from patient where code = 11" is automatically generated. Here, input sub. You can enter the value directly into the node, but the value to be used for retrieval is often received from an HL7 message or another database. You may also be able to get the value passed through the node's input.

여기서, input sub. 노드의 추가 방법은 input sub. 노드에서 마우스 오른쪽 버튼을 클릭하면 도 22에서와 같은 팝업 메뉴가 나타나는데, 그 메뉴 중에서 ADD New 라는 메뉴를 클릭한다.Here, input sub. The method of adding a node is input sub. When a right mouse button is clicked on a node, a pop-up menu as shown in FIG. 22 is displayed. In this menu, ADD New menu is clicked.

도 19 내지 도 23을 참조하면, Item은 도 19에서와 같이 기본적으로 트리(Tree) 형태를 보인다. 그리고 트리를 구성하는 노드들이 각각 중요한 의미를 지닌다. 즉 노드에 데이터가 입력되고, 입력된 데이터가 처리되면 그 결과가 특정 노드에 저장되게 되며, 그 노드로부터 처리된 데이터를 가져올 수 있다. 이러한 데이터의 흐름을 노드 간의 단순 연결만으로 수행 가능하다. 두 Item에 있는 노드들 간에 데이터 전송 통로를 설정하기 위해서는 노드의 옆에 있는 사각형 위에 마우스 커서를 이동한 후 마우스 오른쪽 버튼을 클릭한다. 그 상태에서 마우스를 이동하면 선택한 사각형에서 마우스까지 실선이 생성되는데, 연결하고자 하는 다른 Item의 노드 옆에 있는 사각형으로 이동한 후 마우스 버튼을 놓으면 통로가 생성된다. 단, 한 노드의 출력은 다수의 노드 입력으로 연결될 수 있다. 그리고 연결선을 삭제하려면 특정 연결선을 클릭한 후 마우스의 오른쪽 버튼을 클릭하여 나오는 “DELETE" 버튼을 클릭하면 된다.Referring to FIG. 19 to FIG. 23, an Item is basically a tree form as shown in FIG. And the nodes that make up the tree are important. That is, when data is input to the node and the input data is processed, the result is stored in the specific node, and the processed data can be fetched from the node. This data flow can be performed by simple connection between nodes. To set up a data transfer path between nodes in two items, move the mouse cursor over the rectangle next to the node and click the right mouse button. Moving the mouse in that state will create a solid line from the selected rectangle to the mouse. Move to the rectangle next to the node of the other item you want to connect and release the mouse button to create the path. However, the output of one node can be connected to a number of node inputs. To delete a connection line, click on the specific connection line and click the right button of the mouse and click the "DELETE" button.

도 20을 참조하여, I/O 그룹에 있는 Input, Output, 그리고 Functions 그룹에 있는 Division, Union이라는 Item을 예로 들어 설명한다.Referring to FIG. 20, an item named Division, Union in the Input, Output, and Functions groups in the I / O group will be described as an example.

Input Item은 5개의 데이터 출력 노드(노드 우측의 사각 박스)가 있고, Output Item은 4개의 데이터 입력 노드(노드 좌측의 사각 박스)가 있다. 또한 Division Item은 하나의 입력 노드(Division)가 있고, 2개의 출력 노드(data, data)가 있다. 그리고 입출력이 정해지지 않는 노드(delimiter)가 있다. Union Item 은 Division Item과 반대로 노드의 입출력 방향이 결정되어 있다. 그리고, 도 20에서와 같이 각 노드들 사이에는 선으로 연결되어 있으며, 이 선이 노드에 있는 데이터가 이동할 수 있는 통로가 된다. 각 Item에 있는 트리의 최상위에 있는 노드는 입력되는 데이터를 처리하거나 출력할 데이터를 생성할 목적으로 사용되며, 그 아래에 있는 노드들은 분석된 개별 데이터가 저장될 임시 저장 공간에 해당된다.The Input Item has five data output nodes (the right square box of the node) and the Output Item has four data input nodes (the square box on the left of the node). In addition, a Division Item has one input node and two output nodes (data, data). There is also a delimiter where input and output are not specified. In contrast to the Division Item, the direction of input / output of a node is determined for a Union Item. As shown in FIG. 20, each node is connected by a line, and this line is a path through which data in the node can move. The node at the top of the tree in each Item is used to process the input data or to generate the data to be output, and the nodes below it correspond to the temporary storage space where the analyzed individual data will be stored.

도 20은 사용자가 직접 입력한 문자 “A|B”를 Division Item에서 사용자가 지정한 구분자(delimiter) “|”로 분해한 후, 분해한 “A”, “B” 데이터를 Union Item에 있는 노드로 전달한다. Union Item은 data 노드에 저장된 데이터를 사용자가 지정한 구분자 “-”를 이용해 재결합하여 “A-B”를 생성하고, 그 결과를 Output Item의 Text 노드로 전달한다. 이 Text 노드는 전달된 데이터를 저장하여 사용자가 직접 확인할 수 있도록 하는 노드이다.FIG. 20 is a flowchart showing a process of decomposing a letter " A | B " directly input by a user into a delimiter " | & . The Union Item creates the "A-B" by reassembling the data stored in the data node using the delimiter "-" specified by the user and passes the result to the Text node of the Output Item. This Text node is a node that stores the transferred data and allows the user to check it directly.

Item에서 트리의 최상위 노드는 데이터의 디코딩을 위한 입력 또는 하위 노드에 저장된 데이터를 조합하여 새로운 메시지 생성을 위한 인코딩을 위한 출력 용도로 사용된다.In the Item, the top node of the tree is used as an output for encoding for generating a new message by combining the data for decoding the data or the data stored in the lower node.

그리고 각 노드에 데이터를 입력하거나 저장된 데이터를 확인하기 위해서는 마우스 커서를 노드에 대고 마우스 오른쪽 버튼을 클릭하면 입, 출력을 위한 창이 뜨게 된다. 이는 도 21 및 도 22에 나타내고 있다.To input data to each node or to check the stored data, place the mouse cursor on the node and click the right mouse button to open the window for inputting and outputting. This is shown in FIG. 21 and FIG.

또한 창에서 다양한 버튼이 존재할 수 있는데, 이 버튼을 통해 트리에서 노드를 관리(혹은 생성 및 삭제)할 수 있다. "ADD New" 버튼은 현재 노드 아래쪽에 새로운 노드를 추가하라는 의미이고, "Remove"는 현재 노드를 삭제하라는 의미이다. "SAVE"는 현재 입력된 데이터를 저장, "CLEAR"는 데이터를 삭제하고 그 값을 널(null)로 만드는 의미이고, "Close" 버튼은 현재 창을 닫으라는 의미로 사용될 수 있다.There are also various buttons in the window that allow you to manage (or create and delete) nodes in the tree. The "ADD New" button means to add a new node to the bottom of the current node, and "Remove" to delete the current node. "SAVE" means storing currently input data, "CLEAR" means deleting data and making its value null. "Close" button can be used to close the current window.

또한 도 23에서와 같이 각 Item은 마우스로 크기를 조절할 수 있다. Item의 제목에 마우스 커서를 위치하여 좌측 버튼을 클릭하면 해당 Item이 활성화된다. 활성화되었다는 의미로 진한 사각 라인이 Item 주변에 생성된다. 그 상태에서 상, 하, 좌, 우, 중앙이나 대각방향 모서리에 마우스 커서를 이동하면 박스 크기를 조정할 수 있도록 마우스 커서가 변형된다. 이 상태에서 마우스 왼쪽 버튼을 클릭한 상태에서 크기를 조절하면 된다.Also, as shown in FIG. 23, each item can be resized with a mouse. Position the mouse cursor on the title of the item and click the left button to activate the item. A dark square line is created around the Item, meaning it is activated. In that state, when the mouse cursor is moved to the upper, lower, left, right, center, or diagonal corner, the mouse cursor is deformed so that the box size can be adjusted. In this state, click the left mouse button and adjust the size.

계속해서 특정 필드의 값에 대한 검색에 대하여 살펴본다. 이와 같은 방법은 데이터베이스 사이의 연결을 통해 연관되는 데이터를 검색하고자 할 경우 쉽게 사용할 수 있는 방법에 해당된다. 즉 데이터베이스의 특정 테이블에서 FK로 설정된 필드에서의 특정 값을 다른 테이블의 PK 필드에서 순차적으로 검색하고자 할 경우 이용된다. 이 방법은 테이블 Item의 필드 노드의 출력을 다른 테이블의 입력으로 전달하여 연쇄적으로 검색을 수행할 수 있다.Continue to look for the search for the value of a particular field. Such a method is an easy-to-use method for retrieving data associated with a database connection. That is, it is used when a specific value in a field set to FK in a specific table of the database is to be sequentially retrieved in the PK field of another table. This method can perform a cascade search by passing the output of the field node of the table Item to the input of another table.

도 24에서, 사용자가 입력한 질의를 통해 patient의 한 기록을 검색하여 각 노드에 그 값이 저장된다. 이 상태에서 patient Item의 person_code 노드의 출력을 person Item의 code 노드의 입력으로 전달함으로써, person item에서는 전달받은 값에 해당하는 기록을 검색하여 그 결과를 저장한다. 도 24의 경우에는 patient 테이블에서 person_code가 FK가 되며, person 테이블에서는 code가 PK가 되는 경우이다. 그러나 반드시 이러한 경우가 아니더라도 가능하지만, 결과가 없을 수도 있으며, 또한 하나 이상 존재할 경우에는 가장 처음 출력되는 값을 표시하게 된다.In FIG. 24, a record of a patient is retrieved through a query input by a user, and the value is stored in each node. In this state, the output of the person_code node of the patient Item is passed to the input of the code node of the person Item, so that the person item retrieves the record corresponding to the received value and stores the result. In the case of FIG. 24, the person_code is FK in the patient table and the code is PK in the person table. However, it is possible to do this, but there may be no result, and if more than one exists, the first output value is displayed.

한편 데이터 수정 및 추가와 관련해서는 Input Item에서 데이터베이스 노드에 SQL Query를 직접 입력하는 방법과, 상황에 따른 Query의 자동 생성 방법이 있는데, 이는 위에서 이미 언급한 바 있다.Meanwhile, regarding data modification and addition, there is a method of directly inputting SQL Query to the database node in the input item and a method of automatically generating a query according to the situation, which has already been mentioned above.

여기서, SQL Query를 직접 입력하는 방법은 테이블에 기록을 삽입하거나 수정하는 방법 중에서 사용자가 직접 SQL Query를 입력할 수도 있는데, 이와 관련해서는 데이터 검색 부분에서 설명한 부분과 크게 다르지 않으므로 더 이상의 설명은 생략하도록 한다.Here, as a method of directly inputting SQL Query, it is possible to input SQL Query directly from among the methods of inserting or modifying the records in the table. Since this is not so different from the portion described in the data retrieval portion, do.

또한 상황에 따른 Query의 자동 생성 방법도 위의 데이터 검색 부분에서 설명한 방법과 크게 다르지 않지만, 다만 사용자는 테이블에서의 데이터의 수정 및 삽입에 관한 Query를 Output Query 노드에 입력하고, 변형되는 값을 output sub. 노드에 직접 입력하거나 외부에서 입력받아 처리할 수 있다는 점에서 차이가 있다.Also, the automatic generation method of the query according to the situation is not much different from the method described in the data retrieval section above, but the user inputs the query about the modification and insertion of the data in the table into the output query node, sub. But it can be directly input to the node or input from the outside or processed.

한편 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. The codes and code segments constituting the computer program may be easily deduced by those skilled in the art. Such a computer program may be stored in a computer readable medium and read and executed by a computer to implement an embodiment of the present invention. As the storage medium of the computer program, a magnetic recording medium, an optical recording medium, a carrier wave medium, or the like may be included.

이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.While the invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.

100: 송신부 101: 제1 단말기
103: 제1 정보관리장치 103_1: 제1 정보생성부
103_2: 제1 인터페이스부 105: 제1 데이터베이스
110: 수신부 111: 제2 정보관리장치
111_1: 제2 인터페이스부 111_2: 제2 정보생성부
113: 제2 단말기 115: 제2 데이터베이스
300: 입력부 310: 파싱부
320: 매핑부 330: 변환부
340: 통합부 350: 출력부
100: transmission unit 101: first terminal
103: first information management apparatus 103_1: first information generating unit
103_2: first interface unit 105: first database
110: Receiver 111: Second information management device
111_1: second interface unit 111_2: second information generating unit
113: second terminal 115: second database
300: input unit 310: parsing unit
320: mapping unit 330: conversion unit
340: Integrated unit 350: Output unit

Claims (9)

입력된 제1 정보를 파싱(parsing)하여 필드를 분해하는 파싱부;
상기 제1 정보에 의한 제2 정보를 생성하기 위하여 GUI(Graphical User Interface) 기반의 도구를 이용해 매핑 데이터를 생성하는 매핑부;
상기 매핑 데이터를 참조하여 상기 제1 정보를 변환하는 변환부;
상기 도구를 이용해 트리 구조로 표현된 각 필드 간의 연결 정보를 프로그램 코드로 변환하며, 상기 변환한 코드를 상기 변환부로 제공하는 필드 맵퍼(Field Mapper); 및
상기 변환한 제1 정보를 통합하여 상기 제2 정보를 생성하는 통합부;를
포함하는 정보관리장치.
A parser for parsing the input first information to decompose the field;
A mapping unit for generating mapping data using a graphical user interface (GUI) -based tool to generate second information based on the first information;
A conversion unit for converting the first information with reference to the mapping data;
A field mapper for converting connection information between each field represented by a tree structure using the tool into a program code and providing the converted code to the conversion unit; And
And an integration unit for integrating the converted first information to generate the second information
The information management apparatus comprising:
제1항에 있어서,
상기 생성한 제2 정보를 인코딩하여 출력하는 인터페이스부;를 더 포함하는 것을 특징으로 하는 정보관리장치.
The method according to claim 1,
And an interface unit for encoding and outputting the generated second information.
(삭제)(delete) 제1항에 있어서,
상기 변환부는 상기 제1 정보의 필드 순서를 변경하는 것을 특징으로 하는 정보관리장치.
The method according to claim 1,
Wherein the converting unit changes the field order of the first information.
입력된 제1 정보를 파싱(parsing)하여 필드를 분해하는 단계;
상기 제1 정보에 의한 제2 정보를 생성하기 위하여 GUI(Graphical User Interface) 기반의 도구를 이용해 매핑 데이터를 생성하는 단계;
상기 매핑 데이터를 참조하여 상기 제1 정보를 변환하는 단계;
상기 도구를 이용해 트리 구조로 표현된 각 필드 간의 연결 정보를 프로그램 코드로 변환하는 단계;
상기 변환한 코드를 상기 제1 정보의 변환시 제공하는 단계; 및
상기 변환한 제1 정보를 통합하여 상기 제2 정보를 생성하는 단계;를
포함하는 정보관리방법.
Parsing the input first information to decompose the field;
Generating mapping data using a graphical user interface (GUI) -based tool to generate second information based on the first information;
Converting the first information with reference to the mapping data;
Converting connection information between fields expressed in a tree structure into program codes using the tool;
Providing the converted code during the conversion of the first information; And
Integrating the converted first information to generate the second information;
Included information management methods.
제5항에 있어서,
상기 생성한 제2 정보를 인코딩하여 출력하는 단계;를 더 포함하는 것을 특징으로 하는 정보관리방법.
6. The method of claim 5,
Encoding the generated second information, and outputting the encoded second information.
(삭제)(delete) 제5항에 있어서,
상기 제1 정보를 변환하는 단계는,
상기 제1 정보의 필드 순서를 변경하는 것을 특징으로 하는 정보관리방법.
6. The method of claim 5,
Wherein the converting the first information comprises:
And changing the field order of the first information.
정보관리방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서,
상기 정보관리방법은,
입력된 제1 정보를 파싱(parsing)하여 필드를 분해하는 단계;
상기 제1 정보에 의한 제2 정보를 생성하기 위하여 GUI(Graphical User Interface) 기반의 도구를 이용해 매핑 데이터를 생성하는 단계;
상기 매핑 데이터를 참조하여 상기 제1 정보를 변환하는 단계;
상기 도구를 이용해 트리 구조로 표현된 각 필드 간의 연결 정보를 프로그램 코드로 변환하는 단계;
상기 변환한 코드를 상기 제1 정보의 변환시 제공하는 단계; 및
상기 변환한 제1 정보를 통합하여 상기 제2 정보를 생성하는 단계; 를
포함하는 컴퓨터 판독가능 기록매체.
A computer-readable recording medium containing a program for executing an information management method,
The information management method includes:
Parsing the input first information to decompose the field;
Generating mapping data using a graphical user interface (GUI) -based tool to generate second information based on the first information;
Converting the first information with reference to the mapping data;
Converting connection information between fields expressed in a tree structure into program codes using the tool;
Providing the converted code during the conversion of the first information; And
Integrating the converted first information to generate the second information; To
/ RTI >
KR1020120101175A 2012-09-12 2012-09-12 Apparatus and Method for Managing Information, and Computer-Readable Recording Medium KR101434608B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120101175A KR101434608B1 (en) 2012-09-12 2012-09-12 Apparatus and Method for Managing Information, and Computer-Readable Recording Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120101175A KR101434608B1 (en) 2012-09-12 2012-09-12 Apparatus and Method for Managing Information, and Computer-Readable Recording Medium

Publications (2)

Publication Number Publication Date
KR20140034618A KR20140034618A (en) 2014-03-20
KR101434608B1 true KR101434608B1 (en) 2014-09-16

Family

ID=50644997

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120101175A KR101434608B1 (en) 2012-09-12 2012-09-12 Apparatus and Method for Managing Information, and Computer-Readable Recording Medium

Country Status (1)

Country Link
KR (1) KR101434608B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101760772B1 (en) * 2015-05-21 2017-07-25 (주)비케이에스엔피 Method for providing electronic medical record form, server providing electronic medical record form, and electronic medical record device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101629144B1 (en) * 2015-03-12 2016-06-09 한양대학교 에리카산학협력단 The apparatus and method for simplifying hl7 message for real-time biometric data monitoring
US11177041B1 (en) 2018-07-20 2021-11-16 MedAmerica Data Services, LLC Method and system for cardiac risk assessment of a patient using historical and real-time data
US11482322B1 (en) * 2018-07-20 2022-10-25 MedAmerica Data Services, LLC Patient trackerboard tool and interface
US11501859B1 (en) 2018-07-20 2022-11-15 MedAmerica Data Services, LLC Patient callback tool and interface
US11626192B1 (en) 2018-07-20 2023-04-11 MedAmerica Data Services, LLC Real time parser for use with electronic medical records

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090046290A (en) * 2007-11-05 2009-05-11 경북대학교 산학협력단 System and method for managing of medical information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090046290A (en) * 2007-11-05 2009-05-11 경북대학교 산학협력단 System and method for managing of medical information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101760772B1 (en) * 2015-05-21 2017-07-25 (주)비케이에스엔피 Method for providing electronic medical record form, server providing electronic medical record form, and electronic medical record device

Also Published As

Publication number Publication date
KR20140034618A (en) 2014-03-20

Similar Documents

Publication Publication Date Title
KR101434608B1 (en) Apparatus and Method for Managing Information, and Computer-Readable Recording Medium
US9361069B2 (en) Systems and methods for defining a simulated interactive web page
US10109027B1 (en) Database access and community electronic medical records system
CN101739390B (en) Data transformation based on a technical design document
US20090132285A1 (en) Methods, computer program products, apparatuses, and systems for interacting with medical data objects
US20050228803A1 (en) Adapter framework for line-of-business application integration
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
US20180075042A1 (en) Reusable transformation mechanism to allow mappings between incompatible data types
US8688626B2 (en) Software tool for generating technical business data requirements
US11681693B2 (en) Database interface method and system
US20100251156A1 (en) Facilitating Discovery and Re-Use of Information Constructs
US11176125B2 (en) Blended retrieval of data in transformed, normalized data models
US20190138282A1 (en) System and methods for development of visual business applications
CN110889013A (en) Data association method, device, server and storage medium based on XML
Ulmer et al. Towards a pivotal-based approach for business process alignment
Rinker et al. A multi-model reviewing approach for production systems engineering models
CN114281797A (en) Method for quickly creating basic level data aggregation warehouse based on agile low-code platform
US10255564B2 (en) Context specific resource editors
Hui et al. HIWAS: enabling technology for analysis of clinical data in XML documents
Shankar et al. Use of Protégé-2000 to Encode Clinical Guidelines.
CN101223520A (en) Creation of segmentation definitions
Abdelhedi et al. Conceptual modeling of a document-oriented NoSQL database
CN115774767B (en) Geographic information metadata processing method and device
US20230185587A1 (en) System and method to support human data entry and conversion to expression in intermediate form for research knowledge
JP4865323B2 (en) Graphic information processing device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170725

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180724

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190725

Year of fee payment: 6