온톨로지를 이용한 한의학 원격 문진시스템의 설계와 시험적 구현

Design of online traditional medical consultation systemand it's preliminary implementation

Seon-Ho Kim1, Choong-Hee Ahn1, Kyung-Mo Park1

1 Department of Biomedical Engineering, Kyunghee Univ

Abstract: This paper presents the preliminary implementation of onlinetraditional medical consultation system. The implementation consists of 7 parts including the ontology which is developed for intelligent data acquisition and representation by us, two interface modules, JENA parser, xml documents system for patient data, relational DB system for traditional medical knowledge and the inference module for diagnosis.

We expect our work contributes for the development of system which can facilitate both the online based oriental medical diagnosis and the management of consultation by medical provider.

Keyword: Ontology, XML, medical consultation, online

Ⅰ. 서론

원격 진료는 환자와 의사가 동일하지 않은 공간과 시간에 위치해 있을 때 환자의 정보와 진료진의 관여(intervention)가 상호역동적(interactively)으로 이루어지도록 하는 것이 중요한 관건이라고 할 수 있다. 따라서, 방법론에 있어서 중요한 점은 환자의 객관적 상태와 주관적 상태나 의견을 지능적으로 획득하는 것이라고 할 수 있는데, 환자의 영상을 전송하는 방법이나, 온라인을 통한 원격 상담 등이 원격진료의 초기 시도라고 할 수 있다. 이러한 방법들은 환자의 진단에 대한 구체적인 증거를 확보하기 위해서는 필수적인 방향이라고 할 수 있다. 그러나 실제 원격 진료가 구현되기 위해서는 이러한 기능들이 지능적으로 이루어져야 하지만 그러지 못한 실정이다.1-3)

현재 한의학은 장비들을 통한 객관적인 증거보다는, 환자의 주관적인 증상의 호소와 이에 대한 문진(問診)을 통해 진료가 이루어지고 있으며 이러한 한의학의 특성을 고려한 원격진료 방법론이 개발되어야 한다. 따라서, 환자의 매우 다양한 상태에 대한 표현을 어떻게 구현할 것인가의 문제와 이에 대한 한의사의 진단과정을 어떻게 시스템으로 구현할 것인지가 핵심적인 문제이며, 본 연구에서는 그 점을 온톨로지를 기반으로 한 시스템을 구축하여 해결하고자 했다.

온톨로지4-7)는 특정 도메인에 대하여 사람들이 사물에 대한 생각을 추상화한 모델이라고 할 수 있는데, 본 시스템에서는 환자가 온라인 상에서 자신의 증상을 가능한 쉽고 적절하게 입력하도록 하며 또한 입력된 상태를 분석하여 진단명을 추출해주는 역할을 하고 있다.

본 연구의 목적은 이러한 온톨로지를 기반으로 구현된 지능시스템을 통해 환자가 자신의 질병을 보다 쉽게 파악하고, 의사 또한 온라인을 통하여 그 과정을 모니터링하여 원격 진단시스템의 신뢰성을 향상시키는데 있다.

Ⅱ. 방법

1. 개요

개발된 한의학 원격 문진시스템은 크게 환자가 사용하는 부분과 의사가 사용하는 부분으로 나누어져 있으며, 각 부분은 환자들의 정보와 진단에 필요한 온톨로지, 각종 자료들이 저장된 서버에 연결되어 있다.

먼저, 환자측 인터페이스를 통해 환자가 자신의 증상을 입력한다. 그러면 온톨로지와 자연어와 증상용어 번역을 위한 데이터베이스를 통해 그 증상을 해석하여 그 환자에게 맞는 질문을 자동으로 생성해 준다. 또 자동 생성된 질문에 대해 환자가 대답하는 반복적인 과정을 통해서 진단명을 도출해내며, 이 모든 과정과 환자의 개인 신상정보, 증상, 진단명은 구조화된 문서(XSD, XML based Structured Document) 형태로 기록되어 서버에 저장된다. 서버에 저장된 데이터들은 의사측 인터페이스를 통해 다시 검토할 수 있으며, 템플릿을 통해 환자에게 보낼 권고사항을 간편하게 작성할 수 있도록 구성되어 있다.

2. 진단 시스템 시나리오

진단 과정은 크게 환자의 증상 입력, 온톨로지를 통한 진단명 추론으로 나누어진다.

먼저, 인터페이스 상에서 환자가 입력한 증상은 자연어처리를 통해 해석되는데, 입력된 증상의 텍스트를 유의어 데이터베이스를 기반으로 형태소 분석하여 추론에 사용할 단어들을 추출한다.

유의어 데이터베이스는 증상과 그 증상의 해당 부위에 관련된 단어들로 구성되어 있으며, 각 단어들의 유의어를 함께 저장하여 자연어 처리시 보다 유연한 해석이 가능하도록 하였다.

Fig . 진단과정의 흐름도

이렇게 자연어 처리를 통하여 획득된 환자의 증상들을 초기값으로 가능한 병명의 목록을 온톨로지를 통해 생성해낸다. 이 목록 중 환자에게 해당할 가능성이 높은 병명을 우선으로 하여 그 병명의 진단요건을 만족시키는데 추가적으로 필요한 정보를 얻기 위해 질문을 하게 되며, 이에 따른 환자의 응답을 받아들여서 위의 과정을 반복한다. 여기서 각 병명의 진단요건은 온톨로지에 기술되어 있어서, 그 정보를 바탕으로 환자에게 할 질문을 선택한다.

모든 질문 과정이 끝나면 병명이 확정되어 환자에게 알려준다.

3. 온톨로지

온톨로지를 만드는데 적용된 진단 요건은 Table1과 같다. 각 요건은 '속성과 증상이 결합된 형태', '증상', '다른 진단요건의 하위증상'의 조합으로 되어있으며, 이 진단요건들은 protege8)를 사용하여 OWL9-10) 문서로 작성하였다.

Table . 진단요건의 예 - 기허증(氣虛證)

항목	진 단 요 건	비 고
1	간헐적인(sp1) 호흡단기, 아침에만 나타나는 (sp2) 신피핍력, 소기라언 중에 하나는 반드시 있어야 한다.	[호흡기계 肺]
2	음식무미, 면색창백, 식후창만 중에 둘은 반드시 있어야 한다.	[소화기계 脾]
3	요통, 요슬산연, 신불납기증 관련 증상 중에 두 개의 component는 있어야 한다.	[생식기계 腎]
4	위의 4항목 중에 2개 이상을 충족해야 한다.

4. 의사측 인터페이스

의사는 시스템의 진단 과정과 그 추론 결과가 올바르게 도출되었는지를 모니터링하고 환자에게 추가로 필요한 정보를 요구하거나 권고사항을 보내어 진단의 전 과정을 최종적으로 관리하는 역할을 한다.

Fig . 작성된 OWL Ontology 문서

이를 위해 의사측 인터페이스는 진단의 과정 동안 저장된 XSD를 읽어들여서 환자의 개인정보, 진단명, 주증, 차증 및 질문․답변 과정을 포함한 질병 정보를 보여준다.

특히 XSD에 저장된 환자들의 목록은 이름별, 방문한 날짜별로 정렬하여 윈도우 탐색기와 비슷한 트리로 보여주어 의사가 환자들의 정보를 쉽게 검색할 수 있도록 하였다.

또한 의사는 템플릿을 통하여 환자에게 권고사항을 쉽게 발송할 수 있다. 이 템플릿은 진단 온톨로지 및 한의학 정보 데이터베이스를 사용하며, 이 정보들을 바탕으로 권고사항을 작성하면 자동으로 이메일 형식으로 보낼 수 있도록 문서를 생성해준다.  이 문서에는 환자의 병명이 어떤 증상으로 인해 추론되었는지, 그 질병을 치료하기 위해서는 어떤 처방을 사용하는 것이 좋은지에 대한 설명이 자동으로 추가된다.

이 때 환자의 병에 대한 설명은 위에서 기술한 온톨로지를 사용하였다. 그리고 한의학 정보 데이터베이스는 한의학의 진단명인 증(證)과 그 개념, 증상, 처방, 약물 등이 저장되어 있어서 환자를 위한 설명을 생성할만한 데이터를 갖추고 있을 뿐만 아니라, 한의학적으로 필요한 다른 많은 정보를 포함하고 있어서 의사도 참고할 수 있도록 되어 있다.

Ⅲ. 결과

본 진단 시스템을 개발한 환경은 다음과 같다. 환자측 인터페이스는 Visual C++(Microsoft corporation)를, 의사측 인터페이스는 Visual Studio.NET(Microsoft corporation)을 사용하여 구현하였으며, DBMS는 Microsoft Office Access와 MS-SQL Server(Microsoft corporation)을 사용하였다.

또 진단 시스템에 사용된 온톨로지는 protege 2.1(Stanford Medical Informatics)을 사용하여 작성하였다.

1. 환자측 인터페이스

환자는 등록번호, 이름, 비밀번호를 통하여 로그인 하게 되며, 서버에 등록된 환자의 데이터들이 저장되어 있다. 등록자 명단에 없을 경우에는 새로운 등록과정을 거치면 DB에 추가된다.

환자가 자신의 증상에 대해 입력한 텍스트는 자연어 처리되어 증상을 도출해내고, 그 증상을 근거로 추론하여 새로운 질문들을 생성한다. 이 때 먼저 자연어 처리를 통해 환자의 증상이 올바르게 추출되었는지 확인하기 위해 Fig3 와 같은 인터페이스를 통해 자신이 해당하는 증상을 선택하도록 한다. 그 이후에는 질문하는 증상에 대해 ‘예’ 또는 ‘아니오’를 선택하는 방식으로 질문이 생성되기 때문에 단순히 마우스로 인터페이스상의 버튼을 클릭하는 방식으로 진행이 가능하다.

Fig . 주소증상 입력

2. 의사측 인터페이스

의사측 인터페이스의 주화면에는 등록된 환자목록 트리와 정보가 표시된다. 인터페이스 주화면 중앙부 리스트에는 진단 시스템의 질문에 대한 환자의 답변과 함께 그에 따른 정보를 함께 표시하고 있다. 또한 진단시스템이 병명을 잘못 추론했을 경우를 대비하여 주화면 하단에는 환자의 증과 관련된 다른 병명을 나열하고, 클릭하면 그 병에 대한 정보를 보여주어 다른 병의 가능성을 의사가 참고할 수 있도록 하였다.

Ⅳ. 고찰 및 결론

Fig . 의사측 인터페이스 주화면

본 연구의 목적을 다시 정리하면, 온톨로지를 이용하여 환자의 진단을 보다 쉽고 간편하게 수행하고, 그 결과를 의사가 관리함으로써 환자와 시스템, 의사가 직접 만나지 않더라도 유기적으로 진단할 수 있는 시스템을 설계하고자 했다.

이 시스템의 평가를 위해서는 실제 병원이 등에서 적용해보는 것이 가장 좋으나, 실제 상용목적이 아닌 연구목적으로 개발되었기 때문에 아직 신뢰성 있는 평가를 시행하지 못했다. 그러나 최근들어 각광 받고 있는 OWL온톨로지를 사용하여 보다 지능화된 원격 진료시스템을 개발하고 한 것에 큰 의의가 있다고 할 수 있다.

따라서, 이 연구는 추가적인 연구가 절실하다. 먼저 진단을 위한 온톨로지가 보다 자세하게 기술될 필요가 있다. 현재 OWL언어가 온톨로지 언어로서는 가장 풍부한 표현력을 가지고 있다고 할 수 있으나, 여전히 한의학의 많은 개념들을 표현하기 위해서는 역부족인 점이 많다. 이러한 점을 해결하기 위해 진단 온톨로지가 더 복잡하게 기술되어서, 개발상의 효율이 떨어지게 하는 요인이 되고 있다.

진단 과정에서 해결되어야 할 과제는 자연어처리 문제이다. 환자가 자신의 증상을 입력하였을 때 그 문장을 해석하기 위해 본 연구에서는 유의어 데이터베이스를 사용하고 있으나, 다양한 방식의 서술을 모두 수용하기에는 한계를 가질 수 밖에 없다. 이러한 부분은 자연어 처리에 관하여 연구하는 다른 연구와 협력할 필요가 있다고 생각된다.

다른 문제점으로는 진단시스템이 의사의 판단과 다르게 진단했을 때의 수정문제이다. 온톨로지가 제작될 때 많은 의사의 검증을 거쳐 개발되어야 하겠지만, 한의학은 한의사 주관이 많이 작용하기 때문에 다른 진단결과를 원할 수도 있어서 이에 따른 온톨로지의 수정은 필수적이라고 할 수 있다. 그러나 의사가 온톨로지를 직접 수정하는 것은 큰 어려움이 따르기 때문에, protege같은 다소 전문적인 온톨로지 언어 개발 도구보다는 의사가 직관적으로 개념을 표현할 수 있도록 돕는 프로그램의 개발이 필요하다.

이 시스템의 적용에 있어서 가장 큰 문제점은 의사와 환자의 인식일 것이다. 이러한 시스템에 대한 인식과 신뢰성이 뒤따르지 못한다면 연구로 그칠 뿐, 발전이 없을 것이기 때문이다. 그러나 앞에서 언급한 여러 문제점들을 보완하여 연구하고 의료분야의, 특히 한의학 분야에서 새로운 방향성을 제시할 수 있을 것으로 기대된다.

* 감사의 글

This study was supported by a grant of the Korea Health 21 R&D Project, Ministry of Health & Welfare. (03-PJ1-PG10-51300-0003)

참고문헌

1. 김광민, 유선국, 정석명, 김동근, 김선호, 김남현, 병원간 응급 진료를 위한 멀티미디어 원격 진료 시스템의 설계, 대한의료정보학회지2002;8(4):1-9

2. 김영보, 홍옥진, 한상환, 최계춘, 박순남, 이상목, 하기춘, 라동건, 인터넷을 이용, 언론기관과 함께 한 원격의료상담 예의 분석, 대한의료정보학회지 1998;4(1):57-63

3. 최진욱, 김영한, 이상구, 이재옥, 오병희, 조한익, 초고속망 원격진단 시스템의 개발, 대한의료정보학회지 1997;3(2):141-146

4. 박경모, 임희숙, 박종현, Protege를 이용한 한의학의 구조화된 증상 입력을 위한 온톨로지 개발, 동의생리병리학회지 2003;17(5):1151-1156

5. 임희숙, 온톨로지 기반 전자진료부 입력 인터페이스 설계 및 구현, 경희대학교 동서의료공학과, 2004

6. Steffen Staab, Rudi Studer (2004), Handbook on Ontologies, Springers-Verlag Berlin Heidelberg

7. M. Uschold, M. Gruninger, Ontologies: principles, methods and Applications, The Knowledge Engineering Review, 1996;11(2):93-136

8. Protege-2000 Documentation Home Page, http://protege.stanford.edu/doc/users_guide/index.html

9. OWL Web Ontology Language Guide, http://www.w3.org/TR/2004/REC-owl-guide-20040210

10. OWL Web Ontology Language Reference, http://www.w3.org/TR/2004/REC-owl-ref-20040210