I.

에이전트 기술 기반의 의료 시맨틱 웹서비스

Medical Semantic Web Services Based on Agent Technologies

Hyunsik Kim, Hoon Jin, Jaehyuk Choi, Incheol Kim

* Department of Computer Science, Kyonggi University, Suwon 443-760, advance7@kyonggi.ac.kr

Abstract: In this work, we developed a software tool, SWEEP, which supports dynamic composition and execution of semantic web services. The SWEEP system takes advantages of BDI(Belief, Desire, Intention) architecture, which is one of important agent technologies. It deals effectively with inherent uncertainty and dynamics of web services. And we developed some medical semantic web services: some are personalized web services for recommending medical centers and doctors, the others are EMR-based web services for appointment, encounter and billing.  All EMR web services are built upon an open-source EMR system called OSCAR. Using these medical web services, we investigate the applicability and efficiency of the SWEEP system.

Keyword: medical web services, service composition and execution, BDI, agent technologies, EMR

서 론

현대 사회에 들어서 의료 환경이 변화되면서 의료 정보시스템은 단순히 한 의료 기관 내에서 이루어지는 환자 진료서비스 지원이라는 측면을 넘어서서 환자에 대한 종합적이면서도 다양한 정보 서비스를 지원하는 방향으로 발전하고 있다. 이러한 변화에 따라 의료정보시스템 간의 상호운영성(interoperability)을 위한 의료 온톨로지의 구축과 활용, 그리고 이에 기초한 의료 시맨틱 웹서비스 개발에 관한 연구가 활발히 진행되고 있다. 하지만 의료 시맨틱 웹서비스 기술의 실용화를 위해서는, 서비스 발견(discovery)과 선택(selection), 서비스 조합(composition)과 실행(execution)을 효과적으로 지원할 수 있는 지원도구와 수행환경이 먼저 개발되어야 한다.

본 연구에서는 지능형 에이전트 기술인 BDI(Belief Desire Intention) 구조를 바탕으로 자동화된 시맨틱 웹서비스 조합과 실행을 제공하는 소프트웨어 도구인 SWEEP시스템을 개발하였다. 현재 SWEEP 시스템은 W3C 표준 서비스 온톨로지인 OWL-S에 기초하고 있으며, 따라서 OWL-S로 기술된 웹서비스 명세에 따라 웹서비스 조합과 실행 기능을 제공한다. 일반적으로 인터넷 웹환경은 불확실성(uncertainty)과 가변성(dynamics)이 공존하는 대표적인 열린 세계(open world)이다. 이러한 환경에서는 제한적인 정보를 바탕으로 미리 웹서비스들을 조합해두거나 각 서비스의 실제 동작현황을 점검하지 않고 웹서비스를 호출하는 방식 등은 효과를 얻기 힘들다. SWEEP시스템의 엔진부인 BDI 구조는 이러한 웹서비스 환경의 특성에 특히 효과적으로 대처할 수 있는 장점을 가지고 있다.

본 연구는 보건복지부 보건의료기술진흥사업의 지원에 의하여 이루어진 것임.(0412-MI02-0404-0002)

또한, 본 연구에서는 SWEEP 시스템과 연동 가능한 두 가지 유형의 의료 시맨틱 웹서비스들을 시범 개발하였다.  첫 번째 유형은 개인 환자가 특정 의료기관에 내원하기 전에 본인의 질병 증상에 기초하여 적합한 전문의료기관과 전문의사를 조회해 볼 수 있는 개인화된 웹서비스들이고, 두 번째 유형은 특정 의료기관내에서 이루어지고 있는 EMR시스템 서비스의 일부를 웹서비스 형태로 제공하는 EMR기반의 웹서비스들이다. 특히 본 연구에서는 대표적인 오픈 소스 EMR 시스템 중의 하나인 OSCAR(Open Source Clinical Application Resource)를 중심으로 EMR기반의 웹서비스들을 개발하였다. 끝으로 이와 같이 개발된 웹서비스들을 이용하여 SWEEP 시스템의 적용성과 효율성을 점검하여 보았다.

II. SWEEP시스템

시맨틱 웹서비스 조합을 위한 기존 연구들은 대부분 FF, HSP, JSHOP 등 전통적인 인공지능 계획기(planner)들을 이용하고 있다. 하지만 인공지능 계획기 기술은 현재 OWL-S와 WSMO와 같은 표준 시맨틱 웹서비스 프레임워크를 지원하기에는 몇 가지 기술적 제한점을 가지고 있다. 첫째, 현재 인공지능 계획기들은 아직 RDF나 OWL 등으로 표현된 온톨로지들을 수용하기 위한 효과적인 지원 기능을 갖고 있지 못하다. 둘째, 대부분의 인공지능 계획기들은 단위 서비스들의 시퀀스(sequence)만을 생성할 수 있을 뿐, OWL-S 등과 같은 표준 웹서비스 명세에서 요구하는 반복(iteration), 선택(choice), 분할병행(split) 구조의 조합서비스를 생성할 수 없다. 셋째, 현재 인공지능 계획기들은 대부분 서비스 조합을 위해 단위 서비스의 전조건(precondition)과 후조건(effect)만을 고려할 수 있을 뿐, 표준 시맨틱 웹서비스 명세의 IOPE(Input, Output, Precondition, Effect) 모두를 지원할 수 없다. 즉, 각 서비스의 입력 데이터와 출력 데이터 간의 데이터 종속성을 계획에 포함하지 못하고 있다. 끝으로, 현재의 인공지능 계획기들은 닫힌 세계(closed world)를 가정하고 있으며, 따라서 인터넷 웹환경의 개방성과 불확실성 등에 효과적으로 대응하지 못한다.

본 연구에서 제안하는 SWEEP시스템에서는 에이전트 기술인 BDI 구조를 시맨틱 웹서비스 조합과 실행에 도입함으로써 오프라인(off-line) 방식의 계획이 갖는 한계에 대해 제한적이나마 온라인(on-line) 방식의 계획처리 기능을 제공하여 이의 단점을 개선하고자 하였다. 또한 서비스의 계획과 실행을 분리하여 접근함으로써 조합된 서비스들의 검증과 감시 기능까지도 제공할 수 있다. SWEEP의 구성요소들을 살펴보면, 크게 질의부, 실행부, 호출부로 나뉠 수 있다. 질의부에는 GUI를 갖고, 사용자로부터의 요구가 명세된 OWL-S파일을 읽어 들여서 서비스 수행 목표를 삼는 과정과 최종 모의 실행과정을 통해서 알게 되는 사용자의 정보를 입력 받는 과정, 그리고 최종 서비스 수행결과를 제공하는 과정으로 나뉘며, 이를 수행할 질의 처리기(Query Processor)가 존재한다.

그림  SWEEP 구조

실행부에는 사전에 UDDI4OWL-S에 등록된 서비스 명세들에 대해 서비스-계획 변환기에 의해 변환하여 저장소에 보유중인 계획들과, 질의 처리기로부터 입력된 목표 계획을 대상으로 계획들의 조합 및 실행을 담당하는 실행 엔진과 서비스-계획 변환기(OWL-S2Plan Converter), 실제 수행 가능한 계획들에 대한 목록 정보를 담당하는 계획 조정기(Plan Handler), UDDI4OWL-S와의 중개역할 및 엔진에 의해 수행 예정된 OWL 파일들을 관리하고 WSDL 정보를 추출하는 역할을 담당하는 OWL 조정기(OWL Handler), 그리고 온톨로지를 사용하는 경우 추론과정을 담당하는 추론기(Reasoner)와 저장소(KB)가 포함된다. 호출부의 경우, OWL 조정기로부터 넘겨받은 WSDL 정보들을 실제로 호출하여 서비스를 수행하는 서비스 호출기(Web Service Invoker)가 존재한다. 입력된 서비스 명세를 계획으로 변환하는 과정은 [표 1]과 [표 2]에서 나타내었다. OWL-S의 경우 인수로서 IOPE를 사용하게 되는데, 이들은 계획에서 헤더영역의 지식변수(FACT), 목표(GOAL), 조건(CONTEXT, PRECONDITION), 영향(EFFECTS)으로 변환될 수 있다. 또한 제어구조(Sequence, Split, Split-Join, Repeat-While)는 Split와 Split-Join 만을 제외하고 JAM 계획에서 제공되는 행위제어(action-control)들로 표현이 가능하다 [표 1]에서는 실제로 질병 검색 기능을 제공하는 서비스를 나타내었다.

표 1 질병명 검색을 위한 OWL-S 명세

입력된 OWL-S 명세를 JAM 계획으로 변환하게 되면 [표 2]와 같이 나타낼 수 있다.

표 2 질병명 검색을 위한 JAM 계획 명세

이전 서비스로부터 자동으로 주어지는 변수인 UserMethod는 그 값에 대하여 미리 PRECONDITION부를 통해 현재 계획의 수행가능여부를 판단하게 된다. 그리고 OWL-S로부터 사용된 입력변수인 Pain은 JAM 계획에서 변수로 선언되어 지식 영역(world model)에 놓이게 된다. 계획 수행 결과로서 구해져야 하는 값은 임의의 변수 $disease_name을 통해 실제 원격 프로시져 호출을 담당하는 (나)에서 사용된다. [표 1]의 (가)는 JAM 계획상에서 직접 표현할 방법이 없으므로 OWL API를 이용한 별도의 처리를 통해 이용되어야 한다.

그림 2 SWEEP 실행 화면

SWEEP에서는 사용자가 서비스 요구를 입력하면, 이용 가능한 서비스들의 명세가 JAM 단위 계획들로 변환되고 이들을 바탕으로 목표 서비스를 위한 동적 계획생성과 실행이 수행된다. 이때 이용 가능한 서비스들의  명세는 UDDI4OWL-S를 통해 얻도록 설계하였으며, SWEEP에서는 이들 OWL-S명세에 대한 자동화된 JAM 계획변환 기능을 제공한다. [그림 2]는 SWEEP시스템의 한 실행화면을 보여주고 있다.

III. 응용 웹서비스들

또한, 본 연구에서 개발한 첫 번째 유형의 의료 웹서비스들은 개인 환자가 특정 의료기관에 내원하기 전에 본인의 질병 증상에 기초하여 적합한 전문의료기관과 전문의사를 조회해 볼 수 있는 개인화된 웹서비스들이다. 단위 서비스들과 이들 간의 상호 의존관계는 [그림 3]과 같다.

그림 3 전문 의료 기관 및 전문 의사 조회 웹서비스들

본 연구에서 개발한 두 번째 유형의 의료 웹서비스들은 특정 의료기관내에서 이루어지고 있는 EMR시스템 서비스의 일부를 웹서비스 형태로 제공하는 EMR기반의 웹서비스들이다. 특히 본 연구에서는 대표적인 오픈 소스 EMR 시스템 중의 하나인 OSCAR(Open Source Clinical Application Resource)를 중심으로 EMR기반의 웹서비스들을 개발하였다.

그림 4 SWEEP시스템과 EMR기반의 웹서비스 연동

현재의 EMR 시스템은 사용자의 진료 예약에서부터 결제까지 다양한 서비스를 제공하고 있다. 따라서 EMR시스템의 다양한 기능을 웹서비스 형태로 제공하는 것은 서로 이질적인 단위 시스템들 간의 상호운용성을 높일 수 있고, 환자뿐만 아니라 의사, 간호사 등 의료기관 구성원들 모두에게도 매우  유용하다고 판단된다. 한편, 각 의료기관별 EMR시스템들은 각기 제공 가능한 서비스의 종류와 서비스 세부명세가 다를 수 있다. 따라서 각 의료기관별로 자관의 웹서비스 목록과 서비스 세부명세 파일들을 제공하는 서비스 디렉토리(Service Directory)가 필요하다.

[그림 4]는 SWEEP시스템과 EMR기반의 웹서비스들과의 연동구조를 나타내고 있다. SWEEP시스템을 통해 사용자의 요구에 부합되는 EMR기반의 웹서비스들이 결정되면 이들에 대한 직접적인 서비스 호출에 앞서 먼저 해당 의료기관의 서비스 디렉토리 를 조회하여 세부적인 서비스의 종류와 주소, 입력데이터 양식 등에 대한 정보를 얻은 후 서비스를 호출하게 된다. 이때 서비스 디렉토리 모듈은 역시 하나의 독립적인 웹서비스 형태로 동작하며, 해당 의료 기관에서 제공하는 웹서비스들에 대한 상세 정보를 응답 메시지로 보내준다. [그림 5]는 웹서비스화된 OSCAR시스템의 일부 기능을 나타내고 있다.

SWEEP과 연동을 위해 사용한 OSCAR시스템의 내부를 살펴보면 예약(Appointment)에서부터 진료(Encounter), 결제(Billing)뿐만 아니라 다양한 기능을 제공하고 있다. 이러한 OSCAR의 기능을 시맨틱 웹서비스 실행기인 SWEEP과의 연동 실험을 위해 기능을 크게 예약(Appointment), 진료(Encounter), 처방(RX service), 결제(Billing)로 나누어 각 기능을 웹서비스화하여 연동 실험하였다. [그림 6]은 해당 웹서비스를 이용하기 위한 사용자 인터페이스와 이를 이용하여 실제 서비스를 이용한 결과를 의료 시스템 상에서 확인한 모습을 나타내고 있다.

그림 5 EMR 기반의 웹서비스들

IV. 결 론

본 논문에서는 시맨틱 웹서비스 지원도구로서, SWEEP 시스템을 개발하였다. SWEEP시스템은 불확실성(uncertainty)과 가변성(dynamics)이 존재하는 인터넷 웹서비스 환경에서 동적 웹서비스 조합과 실행 기능을 제공한다. 본 논문에서는 또한 SWEEP 시스템과 연동 가능한 몇 가지 의료 시맨틱 웹서비스들을 시범 개발하였다.

그림 6 EMR 기반의 웹서비스 실행화면

특히 본 연구에서는 대표적인 오픈 소스 EMR 시스템 중의 하나인 OSCAR(Open Source Clinical Application Resource)를 중심으로 EMR기반의 웹서비스들을 개발하였다. 그리고 이들을 본 연구에서 개발된 SWEEP 시스템과 연동해봄으로써, SWEEP시스템을 통해 개인화된 인터넷 웹서비스뿐만 아니라 EMR기반의 병원업무 웹서비스들도 효과적으로 이용할 수 있다는 것을 확인할 수 있었다. 현재 진행되고 있는 의료정보시스템의 표준화 작업이 더욱 성숙되면 환자중심의 다양한 의료 웹서비스 개발이 용이해질 것이며, 이에 따라 의료 시맨틱 웹서비스 지원도구인 SWEEP시스템과 관련 웹서비스들의 응용범위도 더욱 넓어 질 것으로 기대된다.

참고문헌

1. 진훈, 최재혁, 김인철 “BDI 에이전트 구조 기반의 시맨틱 웹서비스 실행기” 한국정보과학회 추계학술대회 2005.

2. Hoon Jin, In-Cheol Kim, "Plan-based Coordination of Multi-Agent System for Protein structure Prediction" LNAI 3397, pp. 224-232 AIS 2004

3. L. Cabral, J.Domingue, E. Motta, T. Payne and F. Hakimpour, "Approaches to Semantic Web Services: An Overview and comparisons", Proc. of the First European Semantic Web Symposium (ESW2004), Heraklion, Crete, Greece. 10-12 May 2004.

4. M. Paolucci, A. Ankolekar, N.Srinivasan, and K. Sycara, "The DAML-S Virtual machine", In 2nd ISWC2003, Sep 2003.

5. Marcus J. Huber, "JAM: A BDI-theoretic mobile Agent Architecture", Proc. of the Third International Conference on Autonomous Agents (Agents'99), pp 236-243, Seattle, WA, May 1999.

6. M.Zaremba, C. Bussler: Towards Dynamic Execution Semantics in Semantic Web Services, Proc. of the Workshop on Web Service Semantics, WWW2005, Chiba, Japan, 2005.