KR101221384B1 - 헬스케어 시스템 및 헬스케어 서비스 방법 - Google Patents

헬스케어 시스템 및 헬스케어 서비스 방법 Download PDF

Info

Publication number
KR101221384B1
KR101221384B1 KR1020110034182A KR20110034182A KR101221384B1 KR 101221384 B1 KR101221384 B1 KR 101221384B1 KR 1020110034182 A KR1020110034182 A KR 1020110034182A KR 20110034182 A KR20110034182 A KR 20110034182A KR 101221384 B1 KR101221384 B1 KR 101221384B1
Authority
KR
South Korea
Prior art keywords
data
ocl
healthcare
biometric data
code
Prior art date
Application number
KR1020110034182A
Other languages
English (en)
Other versions
KR20120116629A (ko
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 KR1020110034182A priority Critical patent/KR101221384B1/ko
Publication of KR20120116629A publication Critical patent/KR20120116629A/ko
Application granted granted Critical
Publication of KR101221384B1 publication Critical patent/KR101221384B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Biomedical Technology (AREA)
  • Pathology (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

본 발명은 헬스케어 시스템 및 헬스케어 서비스 방법을 개시한다. 상기 헬스케어 시스템은 비가공 생체 데이터를 수신하여 특징 데이터를 추출하는 특징 데이터 추출기; 상기 비가공 생체 데이터 및 특징 데이터를 메타모델 기반 생체 데이터로 변환하는 XML 변환 엔진; 상기 메타모델 기반 생체 데이터를 저장하는 저장소; 미리 결정된 헬스케어 서비스가 요청되면 관련 생체 데이터 추출을 위한 OCL 코드를 생성하는 OCL 코드 생성기; 상기 OCL 코드를 해석 및 실행함으로써 상기 메타모델 기반 생체 데이터를 추출하여 리턴하는 OCL 인터프리터를 포함한다. 그에 따라, 다양한 클라이언트 환경에서 동작하는 헬스케어 시스템이 제공된다.

Description

헬스케어 시스템 및 헬스케어 서비스 방법{Healthcare Systems and Healthcare Service Method}
본 발명은 SOA 기반 헬스케어 시스템 및 헬스케어 서비스 방법에 관한 것이다.
최근 유비쿼터스 컴퓨팅, 클라우드 컴퓨팅의 시대가 도래함에 따라 U-헬스케어(Healthcare) 서비스에 대한 요구가 급증하고 있다. 사용자는 시간과 장소에 구애받지 않고, 언제 어디서나 헬스케어 서비스에 접근하기를 원한다. 이러한 헬스케어 서비스는 사람의 생체로부터 얻어진 생체신호를 기반으로 질병의 조기발견과 예방에 도움을 주는 서비스가 대부분이다.
하지만 현재 개발되어 있는 헬스케어 서비스를 제공하는 시스템들은 고유한 플랫폼, 애플리케이션, 서로 다른 포맷을 사용한 생체데이터의 표현, 전용 단말기의 사용으로 서비스의 이용이 제한적이거나 범용적이지 못하다. 또한 생체신호 측정장치 모듈과 생체신호를 분석하고 건강상태를 평가하는 모듈이 하나의 시스템에 종속적으로 나타남으로써, 사용자는 다양한 헬스케어 서비스에 접근하기 어렵고, 시스템의 상호운용성을 보장하지 못한다.
생체신호를 기반으로 건강상태를 체크하고, 질병의 조기 발견과 예방에 도움을 주는 서비스를 제공하는 시스템은 Polar, HoneyWell, Biocom, Laxtha등 다양한 기업들이 참여하고 있다.
Polar사는 아디다스와 공동으로 개발한 세계최초 통합형 트레이닝 시스템을 개발하였고, Honeywell사는 HomMed LifeStream platform이라는 모니터링 시스템을 개발하여 환자의 상태를 모니터링하고, 이상이 있는 환자들에게 방문 간호사를 파견하는 서비스를 하고 있다.
Biocom과 Laxtha는 건강모니터링 시스템을 개발하여 개인의 신체정보를 이용하여 건강을 관리하는 패키지를 판매하고 있다.
이와 같은 주요 건강관리 서비스 시스템 외에도 IBM, PHILIPS, LG등 많은 업체에서 특정단말기를 생산하거나, 생체신호 측정기기를 통하여 측정된 생체정보를 자체 애플리케이션을 통하여 분석하고, 온라인으로 전송하여 위험요소 관리, 온라인 상담 등의 기능을 제공한다.
하지만 이러한 시스템들은 각기 다른 플랫폼 기반의 애플리케이션을 개발하거나 특정단말기기를 사용하고 있다. 또한 시스템마다 다른 생체데이터 포맷을 사용하여 데이터를 저장, 관리하기 때문에 통합된 건강관리 시스템의 구축이 어려우며, 벤더들마다의 특성으로 인하여 통합된 데이터베이스 구축이 어려운 현실이다.
건강을 진단하는 방법에 있어서도 수집된 생체신호 데이터에 종속적인 프로그래밍 언어를 사용하여 건강진단을 정의하고 평가 한다. 이는 하나의 의료기기에서 측정한 생체 데이터와 진단 방법을 다른 의료기기에서 사용할 수 없는 상호운용성 보장이 힘든 시스템이다.
따라서 기존의 다양한 건강관리 시스템간의 상호운용성을 보장하고, 다양한 생체신호 측정기기에서 측정된 데이터들을 관리하고, 이를 기반으로 건강상태를 체크할 수 있는 표준화된 건강관리 시스템이 필요하다.
소프트웨어 개발 비용을 절감하고 유연한 건강관리 시스템을 개발하기 위해서는 SOA의 기술을 이용하여 개발하는 것이 바람직하다.
SOA(Service Oriented Architecture)는 서비스의 관점에서 소프트웨어 아키텍처 기술이다. SOA를 적용함으로써 애플리케이션 중복 개발로 인한 비용을 감소시키고, 재사용성을 높일 수 있다. 또한 애플리케이션 전체나 일부가 서비스의 개념으로 인식되어, 서비스간의 결합을 통해 새로운 비즈니스 애플리케이션을 신속하고 비교적 쉽게 개발할 수 있다. 다시 말해 SOA는 서비스라 불리는 분할된 애플리케이션 조각들을 단위의 결합으로 연결하여 하나의 완성된 애플리케이션을 개발하기 위한 소프트웨어 아키텍처이다.
하지만 일반적으로 SOA기반의 응용 프로그램을 구성하는 SOA컴포넌트는 기업의 비즈니스 로직을 표현한다. 그러나 건강관리 시스템을 구성하는 SOA 컴포넌트는 기업의 비즈니스 로직 보다는 생체 데이터를 액세스하고, 그 데이터를 이용하여 신호처리를 수행하는 알고리즘 모듈이 주를 이룬다.
또한 기업용 응용프로그램에서 사용하는 데이터 구조와 건강관리 시스템에서 사용하는 데이터 구조는 서로 상이한 구조를 가진다.
기업용 응용프로그램이 처리하는 데이터는 구조체와 같은 형태로 많은 수의 row들을 가지는 데이터들을 처리하기 때문에 데이터베이스를 이용하여 데이터를 저장, 액세스하는 것이 효율적이다. 반면 생체신호 기반의 건강관리 시스템은 많은 수의 row보다는 하나의 column형식의 데이터를 처리하기 때문에 데이터베이스를 이용하는 것 보다 하나의 블록으로 쓰여진 파일구조를 이용하는 것이 훨씬 효율적이다.
이는 생체신호를 단일화된 파일에 저장하고 액세스 할 수 있는 모듈이 포함되어 있는 SOA기반의 컴포넌트를 설계하는 것이 적합하다고 할 수 있다.
하지만 데이터베이스에 저장된 데이터는 시맨틱 정보를 포함하고 있으며, 일관된 query를 통해 데이터에 접근할 수 있지만, 단순 파일 형태로 저장된 데이터는 시맨틱 정보를 표현하기 어려우며, 데이터에 액세스하는 방법 또한 매우 다양하여 일관적이 못하다. 그리고 건강관리 시스템마다 서로 다른 파일 포맷을 사용하기 때문에 다양한 클라이언트 환경에서 동작하는 범용적인 SOA기반의 컴포넌트를 구현하기 어렵다는 단점을 가진다.
본 발명은 전술한 문제를 해결하기 위해 안출된 것으로서, 본 발명의 목적은, 다양한 클라이언트 환경에서 동작하는 범용적인 SOA기반의 헬스케어 시스템 및 헬스케어 서비스 방법을 제공하는 데 있다.
전술한 문제를 해결하기 위한 본 발명의 일 실시예에 따른 헬스케어 서비스를 제공하는 헬스케어 시스템은 비가공 생체 데이터를 수신하여 특징 데이터를 추출하는 특징 데이터 추출기; 상기 비가공 생체 데이터 및 특징 데이터를 메타모델 기반 생체 데이터로 변환하는 XML 변환 엔진; 상기 메타모델 기반 생체 데이터를 저장하는 저장소; 미리 결정된 헬스케어 서비스가 요청되면 관련 생체 데이터 추출을 위한 OCL 코드를 생성하는 OCL 코드 생성기; 및 상기 OCL 코드를 해석 및 실행함으로써 상기 메타모델 기반 생체 데이터를 추출하여 리턴하는 OCL 인터프리터를 포함한다.
상기 헬스케어 시스템은 상기 미리 결정된 헬스케어 서비스가 요청되면 호출되며, 상기 OCL 코드 생성기에게 생체 데이터 추출을 위한 OCL 코드를 생성하도록 지시하는 하나 이상의 서비스 모듈을 더 포함할 수 있다.
또한, 본 발명의 다른 실시예에 따른 헬스케어 서비스를 제공하는 헬스케어 시스템은 비가공 생체 데이터를 수신하여 특징 데이터를 추출하는 특징 데이터 추출기; 상기 비가공 생체 데이터 및 특징 데이터를 메타모델 기반 생체 데이터로 변환하는 XML 변환 엔진; 상기 메타모델 기반 생체 데이터를 저장하는 저장소; 미리 결정된 헬스케어 서비스들에 관련된 OCL 코드 문서들을 각각 저장하며, 상기 미리 결정된 헬스케어 서비스가 요청되면 호출되며, 상기 미리 결정된 헬스케어 서비스에 관련된 OCL 코드를 상기 OCL 인터프리터로 제공하는 복수개의 서비스 모듈; 및 상기 OCL 코드를 해석 및 실행함으로써 상기 메타모델 기반 생체 데이터를 추출하여 리턴하는 OCL 인터프리터를 포함한다.
또한, 본 발명의 또 다른 실시예에 따른 헬스케어 서비스를 제공하는 방법은 비가공 생체 데이터를 수신하여 특징 데이터를 추출하는 단계; 상기 비가공 생체 데이터 및 특징 데이터를 메타모델 기반 생체 데이터로 변환하는 단계; 상기 메타모델 기반 생체 데이터를 저장하는 단계; 미리 결정된 헬스케어 서비스가 요청되면 상기 저장된 생체 데이터 추출을 위한 OCL 코드를 생성하는 단계; 및 OCL 인터프리터를 이용하여 상기 생성된 OCL 코드를 해석 및 실행함으로써 상기 메타모델 기반 생체 데이터를 추출하여 리턴하는 단계를 포함한다.
상기 비가공 생체 데이터는 호흡 데이터 및 보행 데이터를 포함할 수 있다.
상기 미리 결정된 헬스케어 서비스는 SOAP 메시지를 이용하여 요청될 수 있다.
상기 SOAP 메시지는 상기 미리 결정된 헬스케어 서비스에 관련된 파라미터값을 포함할 수 있다.
상기 SOAP 메시지는 HTTP를 통해 전송될 수 있다.
본 발명은 헬스케어 서비스의 요구사항을 충족시키기 위해 헬스케어 시스템을 구성하는 요소로 SOA 기반의 서비스를 설계하고 개발하였다. 본 발명에서는 생체신호를 메타모델기반의 XML 문서로 표현하고, 데이터에 질의(query)하거나, 생체신호의 상태를 체크하는 모듈을 OCL을 사용하여 개발하였다. 이것은 결국 표준화된 생체신호의 표현, 표준화된 명세언어를 사용하여 개발함으로써 상호운용성을 확보할 수 있다.
또한 생체신호의 액세스와 건강상태를 체크하는 모듈에 프로그래밍 언어를 사용하지 않고, 별도의 텍스트 기반의 명세언어인 OCL을 사용함으로써 급속하게 변화하는 서비스의 콘텐츠에 빠르게 대응하고, 유지보수의 비용을 절감할 수 있다는 장점을 발견하였다. 이러한 SOA구조는 헬스케어 서비스를 제공하는 서비스 컴포넌트 개발에 매우 적합하다고 판단된다. 더불어 SOAP 메시지를 이용하여 서비스를 호출함으로써 어떠한 플랫폼, 어떠한 프로그래밍 언어, 어떠한 단말기(PC, 스마트폰등)에 상관없이 서비스를 이용할 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 헬스케어 시스템의 블록 구성도를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따라 비가공 생체 데이터가 XML로 변환되는 일 예를 모식적으로 나타낸 도면이다
도 3은 본 발명에 따른 생체 신호 데이터와 생체 신호 데이터에 접근하기 위한 OCL 코드 문서 사이의 관계를 나타낸 도면이다.
도 4는 본 발명에 다른 헬스케어 시스템의 제어 흐름을 나타낸 도면이다
도 5는 도 4의 제어 흐름을 모식적으로 나타낸 도면이다.
도 6은 클라이언트가 헬스케어 시스템에 대하여 헬스케어 서비스 요청이 발생한 경우에 서버와 클라이언트 간의 메시지 흐름을 나타낸 도면이다.
도 7은 서버와 클라이언트 간에 송수신되는 SOAP 메시지들을 나타낸 도면이다.
이하에서는 첨부한 도면을 참조하여 바람직한 일 실시형태에 따른 UGR 감소용 조명 부재에 대해서 상세히 설명한다. 다만, 실시형태를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
또한, 도면에서의 각 구성요소들의 크기는 설명을 위하여 과장될 수 있으며, 실제로 적용되는 크기를 의미하는 것은 아니다.
도 1은 본 발명의 바람직한 실시예에 따른 헬스케어 시스템의 블록 구성도를 나타낸 도면이다.
도 1을 참조하면, 헬스케어 시스템은 외부 인터페이스(201), RR-간격 추출기(210), XML(eXtensible Markup Languag) 변환 엔진(220), XML 기반 생체 데이터 저장소(230), OCL 인터프리터(240), OCL 코드 생성기(250), 제1 서비스 모듈(260-1) 내지 제n 서비스 모듈(260-n)을 포함한한다.
먼저, RR-간격 추출기(210)는 외부 인터페이스(201)를 통해 비가공 생체 데이터를 수신할 수 있다. 이 경우 외부 인터페이스(201)는 SOAP 메시지의 형태를 갖는 비가공 생체 데이터를 수신한다. SOAP(Simple Object Access Protocol)은 XML기반의 메시지를 네트워크상에서 교환하는 형태의 프로토콜이다. W3C XML Protocol Working Group에서 표준화 작업을 하고 있으며, 웹 서비스에 액세스하기 위해 가장 많이 사용되는 메시지 교환 프로토콜이다. SOAP 메시지는 텍스트 기반의 XML로 작성되므로 플랫폼이나 개발 언어에 독립적이며, 그 활용성이 이미 검증되었다.
한편, RR-간격 추출기(210)에 의해 수신된 비가공 생체 데이터는 생체 신호 측정 기기에 의해 측정된 데이터로서, 특히 여러 가지 측정 가능한 생체신호를 포함할 수 있다. 이러한 생체 신호중 하나는 심전도(ECG; Electrocardiograph)로서, 데이터 건강 상태를 체크하기 위한 좋은 데이터로 활용된다.
구체적으로, 심전도(ECG) 측정기기 또는 심전도(ECG) 신호를 저장하고 있는 장치로부터 헬스케어 시스템으로 전송되는 ECG 비가공 데이터는 다양한 클라이언트(platform independent)에서 작성 가능하도록 SOAP 메시지로 만들어 전송한다. SOAP 메시지는 텍스트기반의 문서이므로 문자열 처리가 가능한 어떠한 프로그래밍 언어로도 작성할 수 있다.
한편, 본 실시예에서는 비가공 생체 데이터로서 ECG 비가공 데이터를 이용하지만, 본 발명은 이에 한정되지 않는다. 비가공 생체 데이터는 인간의 몸에서 측정 가능한 어떠한 생체 신호도 포함한다.
그에 따라, 본 실시예에서는 비가공 생체 데이터로부터 RR-간격을 추출하지만, 본 발명은 이에 한정되지 않는다. 즉, RR-간격 추출기(210)는 생체 신호로부터 특징 데이터를 추출하는 특징 데이터 추출기의 일 예이다. 그러므로, 특징 데이터 추출기로서 예컨대, 비가공 생체 데이터로부터 당업자에게 가능한 어떠한 형태의 특징 데이터를 추출할 수 있는 어떠한 장치 및 수단이 가능함은 당업자에게 자명하다. 따라서, 특징 데이터는 심전도(ECG) 신호로부터 추출된 RR-간격 및 HRV, 그리고, 호흡 신호로부터 추출된 들숨과 날숨 간의 간격, 보행 데이터로부터 추출된 발자국 사이의 간격 등을 포함할 수 있다.
요약하면, 헬스케어 시스템으로 전송되어진 비가공 생체 데이터, 예컨대 심전도 신호, 호흡 신호 또는 보행 신호는 예컨대, HRV 추출 모듈 또는 RR-간격 추출 모듈, 보행 신호 처리 모듈 등의 특징 데이터 추출기에 제공되어, 특징 데이터가 획득될 수 있다. 본 실시예에서, RR-간격 추출기(210)는 예컨대, 심전도로부터 RR-간격을 추출하여 XML 변환 엔진(220)으로 출력한다.
XML 변환 엔진(220)은 생체신호를 HL7 표준 메타모델기반의 XML로 표현함으로써 단순파일형태가 가지는 단점을 보완하고 상호운용성을 확보할 수 있으며 일관된 데이터 액세스 방법을 지원한다. 다시 말해, XML 변환 엔진(220)은 RR-간격과 같은 생체 신호 데이터를 메타모델기반의 XML로 변환한다.
또한, XML 변환 엔진(220)은 외부 인터페이스(201)를 통해 제공되는 비가공(raw) 생체 데이터를 수신할 수 있다. 이 경우에도, XML 변환 엔진(220)은 비가공 생체 데이터를 메타기반 XML로 변환한다. 다음으로, XML 변환 엔진(220)은 메타기반 XML을 XML 기반 생체 데이터 저장소(230)에 저장하거나 OCL 인터프리터(240)로 출력할 수 있다.
이러한, 비가공 생체 데이터가 XML로 변환되는 프로세스는 도 2에 모식적으로 나타내었다.
도 2는 본 발명의 일 실시예에 따라 비가공 생체 데이터가 XML로 변환되는 일 예를 모식적으로 나타낸 도면이다. 도 2에서는 비가공 생체 데이터가 심전도 비가공 데이터인 예를 설명한다.
도 2를 참조하면, 생체신호 측정기기 예컨대, 심전도 측정 기기에서 EH 5의 a)와 같은 심전도(ECG) 파형이 측정되면, 이 심전도(ECG) 파형으로부터 생체 데이터 예컨대, 도 2의 b)와 같은 형태로 심전도 데이터가 획득될 수 있다. 생체신호 측정기기로부터 얻어진 이러한 심전도 데이터는 비가공 데이터(raw data)로서 심전도의 모든 파형을 나타낸다. 본 발명에 따라, XML 변환 엔진(220)을 통해 메타모델 기반 심전도 데이터 예컨대, 도 2의 d)와 같은 메타모델 기반 심전도 데이터 즉, XML 문서로 변환된다.
또한, RR-간격 추출기(210)를 통해 비가공 심전도 데이터로부터 생체 신호의 특징 데이터, 예컨대, 도 2의 c)와 같은 RR-간격이 추출될 수 있다. RR-간격은 XML 변환 엔진(220)을 통해 도 2의 d)와 같은 메타모델 기반 심전도 데이터, 즉 XML 문서로 변환된다.
이와 같이, 본 발명에 따라, 비가공 생체 데이터로부터 특징 데이터가 추출되어 특징 데이터가 메타모델 기반 심전도 데이터로 변환되거나, 비가공 생체 데이터가 메타모델 기반 심전도 데이터로 변환된다.
다시 도 1을 참조하면, XML 기반 생체 데이터 저장소(230)에는 전술한 바와 같이 메타모델 기반 생체 데이터가 저장된다. 이와 같이 저장된 메타모델 기반 생체 데이터에 접근하여 원하는 데이터를 추출하고 건강상태를 체크할 수 있어야 한다. 이를 위해, 본 발명은 XML 기반 생체 데이터 저장소(230)에 저장된 메타모델 기반 생체 데이터에 접근하기 위해 OCL(Object Constraint Language)을 이용한다.
다시 말해, 메타모델 기반 생체 데이터에 접근하기 위해, OCL 코드 생성기(250)는 OCL을 이용하여 생체신호 데이터를 추출하고, 건강상태를 체크하기 위한 OCL 코드 문서를 생성한다. OCL(Object Constraint Language)은 OMG(Object Management Group)에서 표준으로 제정하고 UML(Unified Modeling Language)에서 모델의 구조적 제약 사항을 체계적으로 기술하기 위한 정형적 명세언어이다. UML 다이어그램에서 특정 요소에 대한 제약사항을 invariant, condition을 이용하여 나타낼 수 있으며, 기존 모델에서 누락된 요소를 함수로 정의하여 사용할 수 있다. 이러한 장점 때문에 OCL은 모델검증과 테스트케이스 생성과 같은 문제를 해결하기 위하여 사용한다. 보다 상세한 개념으로 설명하면 OCL은 객체에 대한 상태를 정의하거나, 객체가 가져야 할 제약조건과 같은 사항을 명세하는 수학적 명세언어이다. 또한 OCL은 메타모델 기반으로 작성된 데이터 모델에 적용하여, 객체의 상태를 추출하거나, 그 객체가 가져야 할 제약조건을 명시하는데 사용한다.
도 3은 본 발명에 따른 생체 신호 데이터와 생체 신호 데이터에 접근하기 위한 OCL 코드 문서 사이의 관계를 나타낸 도면이다.
도 3을 참조하면, 도 3의 b)는 메타모델 기반 생체 데이터 예컨대, 도 3의 a)와 같은 XML 문서에 접근하여 RR-간격을 추출하고, 이를 이용하여 최대산소 소모량을 구하는 OCL코드이다.
다시 도 1을 참조하면, OCL 코드 생성기(250)는 XML 기반 생체 데이터 저장소(230)에 저장된 생체신호 데이터에 대한 접근이 요구되면 OCL을 이용하여 생체신호 데이터를 추출하고, 건강상태를 체크하기 위한 OCL 코드 문서를 생성한다.
구체적으로, OCL 코드 생성기(250)는 예컨대, 건강상태를 체크하기 위한 복수개의 헬스케어 서비스 모듈(260-1, …, 260-n)로부터 XML 기반 생체 데이터 저장소(230)에 저장된 생체신호 데이터에 대한 접근 요청을 질의 형태로 수신할 수 있다. 복수개의 헬스케어 서비스 모듈(260-1, …, 260-n)은 외부 인터페이스(201)을 통해 클라이언트들로부터 전송된 미리 정의된 서비스에 대한 요청(request)을 수신할 수 있다. 이 경우, 클라이언트들은 SOAP 메시지를 이용하여 서비스를 호출할 수 있다. 상기 SOAP 메시지는 헬스케어 서비스 모듈을 호출하기 위한 파라미터값들을 포함할 수 있다. 파라미터값은 이름, 나이, 몸무게, 남성인지 여성인지의 여부에 대한 값을 포함한다
외부 인터페이스(201)는 SOAP 메시지를 수신하면 SOAP 메시지에 포함된 파라미터값에 기반하여 복수개의 헬스케어 서비스 모듈(260-1, …, 260-n) 중 하나를 호출할 수 있다.
일 실시예에 따라, 복수개의 헬스케어 서비스 모듈(260-1, …, 260-n), 즉 제1 내지 제n 서비스 모듈(260-1, …, 260-n)은 외부 인터페이스(201)에 의해 호출되면, 해당 서비스를 제공하기 위한 OCL 코드를 생성하도록 OCL 코드 생성기(250)에 지시할 수 있다. OCL 코드 생성기(250)는 요청된 질의에 대응하여 XML 기반 생체 데이터 저장소(230)에 저장된 생체신호 데이터를 추출하기 위한 OCL 코드를 생성한다. 이 경우, OCL 코드 생성기(250)는 복수개의 미리 결정된 OCL 코드 문서를 저장하고, 특정 생체신호 데이터가 요청되는 경우 이와 관련된 파라미터값만을 미리 결정된 OCL 코드 문서에 삽입하여, OCL 인터프리터(240)에 제공할 수 있다.
다른 실시예에 따라, 즉 제1 내지 제n 서비스 모듈(260-1, …, 260-n)은 미리 결정된 헬스케어 서비스에 대한 OCL 코드를 저장하고 있을 수 있다. 이 경우에는 OCL 코드 생성기(250)는 생략될 수 있다. 왜냐하면, 요청된 헬스케어 서비스에 응답하여, 해당 서비스 모듈이 자신에 저장되어 있는 OCL 코드 문서를 OCL 인터프리터로 제공할 수 있기 때문이다. 이와 같이 미리 정의된 서비스에 대한 OCL 코드값은 예컨대, 다음 표 1과 같이 정의될 수 있다.
moule name Description
getRRValues aECG XML Document로부터 R-Peak값을 추출
getRRAverage R-Peak값의 평균값 계산
getHRVm HRVm값
getPVO2MAX 분당 최대산소 소모량
getMaleCal 남성일 경우 칼로리 계산
getFemaleCal 여성일 경우 칼로리 계산
즉, OCL 코드는 메타모델 기반의 XML 데이터에 접근하여 데이터를 추출하는 용도 외에도 대상 모델의 상태를 체크할 수 있다. 비가공 데이터를 메타모델 기반의 XML 데이터로 표현하면 해당 비가공 데이터(raw data)가 가지는 상태를 체크할 수 있다. 본 발명은 예컨대, ECG 데이터를 이용하여 ECG 데이터가 가지는 상태를 체크함으로써 건강상태를 체크하는데 이용한다. 상기 표 1은 소스 코드 모듈들에 대한 설명이다. 프로그래밍언어에 종속적인 건강상태 체크 알고리즘을 사용하지 않고, 소스코드에 독립적인 텍스트기반의 OCL코드를 사용함으로써 유지보수가 쉬우며, 가독성이 높다는 장점을 가진다.
일반적으로 심전도(ECG) 신호를 기반으로 진단 가능한 공지된(wellknown) 지표로는 최대산소 소모량을 계산하여 예측가능한 칼로리 소모량, LF(Low Frequency)/HF(High Frequency)를 이용하여 예측가능한 자율신경계 반응 정도가 있다. 따라서, 서비스 모듈(260-1, …, 260-n)은 예컨대, 칼로리 소모량을 예측하는 서비스 모듈을 제공할 수 있다. 이 서비스 모듈은 ECG 신호에서 HRV(Heart rate variability)를 추출하여 운동상태에 따른 분당 최대산소 소모량을 구하고, 나이와 성별에 따라 분당 필요한 최대 산소소모량을 구한다. 즉, 해당 서비스 모듈은 예컨대, 다음 [수학식 1]과 같은 계산식으로 칼로리 소모량을 예측한다.
Figure 112011027066850-pat00001
상기 수학식 1에서, CAL은 칼로리 소모량을 나타내며, 남성에 해당하는 칼로리 소모량는 Male로 나타내며, 여성에 해당하는 칼로리 소모량은 Female로 나타낸다. %VO2max는 분당 최대 산호 소모량(Maximal Oxygen consumption per minute)을 나타내고, HRV는 평균 HRV(Average HRV)를 나타낸다. HRVR은 나이 그룹에 따른 평균 HRV(Average HRV according to age group)를 나타내며, HRVR은 나이 그룹에 따른 최대 HRV(Average HRV according to age group)를 나타낸다.
제1 내지 제n 서비스 모듈(260-1, …, 260-n)은 해당 헬스케어 서비스에 대한 OCL 코드를 OCL 인터프리터(240)로 제공한다.
OCL 인터프리터(240)는 OCL 코드 문서를 수신하면 OCL 코드 문서를 해석 및 실행하여 XML 기반 생체 데이터 저장소(230)에 저장된 생체신호 데이터를 추출하고, 추출된 생체신호 데이터를 제1 내지 제n 서비스 모듈(260-1, …, 260-n)중 해당 서비스 모듈에 리턴한다.
해당 서비스 모듈은 해당 코드 실행 결과를 수신하면 외부 인터페이스(201)에 제공한다. 외부 인터페이스(201)는 응답 SOAP 메시지에 헬스케어 서비스 요청에 대한 결과를 포함시켜 클라이언트로 전송할 수 있다.
이와 같이, 본 발명은 수학적 명세언어인 OCL을 사용하여 건강상태를 체크하는 서비스 모듈을 정의함으로써 언제든 변화 가능하고 새로운 건강상태를 체크하기 위한 모듈을 추가하기가 용이하다. 또한 프로그래밍언어를 이용한 정의보다 가독성이 높으며, 추가 및 삭제가 용이하고 재컴파일 등의 추가적인 작업이 필요하지 않다는 장점이 있다.
도 4는 본 발명에 다른 헬스케어 시스템의 제어 흐름을 나타낸 도면이고, 도 5는 도 4의 제어 흐름을 모식적으로 나타낸 도면이다.
도 4 및 도 5를 참조하면, 헬스케어 시스템은 먼저 단계 310에서 비가공 생체 데이터가 입력되는 지를 판단한다. 전술한 바와 같이, 비가공 생체 데이터는 비가공 심전도 데이터가 될 수 있다. 비가공 생체 데이터는 전술한 바와 같이, SOAP 메시지의 형태로 헬스케어 시스템에 입력되는 것이 바람직하다. 헬스케어 시스템은 비가공 생체 데이터가 입력되면, 단계 320에서 비가공 생체 데이터로부터 특징 데이터를 추출한다. 본 실시예에서는 비가공 생체 데이터로서 비가공 심전도 데이터가 사용되며, 그에 따라 비가공 심전도 데이터로부터 추출되는 특징 데이터는 RR-간격을 포함하며, HRV(Heart rate variability)을 포함할 수 있다.
이어서, 헬스케어 시스템은 단계 330에서 비가공 생체 데이터로부터 추출된 특징 데이터 예컨대, RR 데이터 및 비가공 생체 데이터를 메타모델 기반 XML 데이터, 즉 XML 문서로 변환하여, 단계 340에서 메타모델 기반 XML 문서를 예컨대, XML 기반 생체 데이터 저장소에 저장한다.
이후, 헬스케어 시스템은 단계 350에서 XML 기반 생체 데이터 저장소에 저장된 메타모델 기반 생체 데이터에 대한 접근 요청이 있는 지를 판단한다. 전술한 바와 같이, 클라이언트가 헬스케어 서비스를 요청한 경우, 클라이언트에 관련된 생체 데이터에 대한 접근 요구가 발생할 수 있다.
그러면, 헬스케어 시스템은 단계 360에서 생체 데이터 추출을 위한 OCL 코드를 생성할 수 있다. 다른 실시예에 따르면, 헬스케어 시스템은 해당 헬스케어 서비스에 대응한 OCL 코드 문서를 호출할 수 있다.
헬스케어 시스템은 단계 370에서 OCL 코드 문서를 OCL 인터프리터를 이용하여 해석 및 실행하여 XML 기반 생체 데이터 저장소에 저장된 생체 데이터를 추출하고, 단계 380에서 해당 생체 데이터를 클라이언트로 전송한다.
이어서, 도 6 및 도 7을 참조하여, 클라이언트가 헬스케어 시스템에 대하여 헬스케어 서비스 요청이 발생한 경우에 서버와 클라이언트 간의 메시지 흐름을 설명한다.
도 6은 클라이언트가 헬스케어 시스템에 대하여 헬스케어 서비스 요청이 발생한 경우에 서버와 클라이언트 간의 메시지 흐름을 나타낸 도면이다.
도 6을 참조하면, 먼저 클라이언트(410)는 단계 510에서 헬스케어 서비스가 요청되는 지를 판단한다. 클라이언트(410)는 도 5에 도시된 바와 같이, PC 기반 헬스케어 사용자 단말 및 스마트 기반 헬스케어 시스템 사용자 단말일 수 있다. 전술한 바와 같이, 본 발명의 헬스케어 특정 단말기가 아니라 어떠한 클라이언트 환경(플랫폼, 프로그래밍 언어, 단말기 종류)에서도 서비스를 제공받을 수 있도록 구성된다.
클라이언트(410)가 사용자로부터 헬스케어 서비스가 요청되면, 단계 520에서 해당 헬스케어 서비스를 위한 파라미터값을 획득한다. 파라미터값의 예로는 파라미터값은 이름, 나이, 몸무게, 남성인지 여성인지의 여부에 대한 값을 포함할 수 있다. 클라이언트(410)는 미리 정의된 헬스케어 서비스에 필요한 정보 즉, 관련 파라미터값을 사용자로부터 입력받을 수도 있다.
클라이언트(410)는 관련 파라미터값을 획득하면 단계 530에서 요청(request) SOAP 메시지를 생성하여 단계 540에서 서버(420)으로 전송한다. 즉, 클라이언트(410)는 SOAP메시지를 작성하여 HTTP를 통해 서버(420)로 전송한다. 이러한 요청 SOAP 메시지가 도 7에 도시되어 있다.
도 7은 서버와 클라이언트 간에 송수신되는 SOAP 메시지들을 나타낸 도면이다. 도 7의 a)는 요청 SOAP 메시지이며, 501은 헬스케어 서비스가 제공하는 WSDL(WebService Description Language)의 네임스페이스를 정의한 부분이다. 그리고 502는 헬스케어 서비스에 따라 칼로리 소모량을 얻어오기 위한 OCL 코드 모듈인 ‘getCalorie’ method를 호출하는데 필요한 파라미터의 값을 정의한다. 각각 순서대로 이름, 나이, 몸무게, 남성(0), 여성(1)에 대한 값을 나타낸다.
서버(420)는 요청 SOAP 메시지를 수신하면, 해당 단계 550에서 해당 헬스케어 서비스를 호출한다. 이어서, 서버(420)는 단계 560에서 해당 헬스케어 서비스에 대한 결과가 도출되는 지를 판단한다. 서버(420)는 해당 헬스케어 서비스에 대한 결과가 도출되었으면 단계 570에서 응답 SOAP 메시지를 생성하여 단계 580에서 클라이언트로 전송한다. 도 7의 b)는 응답 SOAP 메시지로서, 헬스케어 서비스를 호출한 후의 응답 메시지로서 <result> 엘리먼트에 ‘12’란 값이 리턴되었다. 즉 12 Kcal가 소모되었다.
본 실시예에서, 서버(420)는 헬스케어 시스템이지만, 서버(420)는 헬스케어 시스템과 구별된 장치일 수 있다. 서버(420)가 별도로 설치된 경우에는 서버(420)는 헬스케어 시스템으로 해당 헬스케어 서비스에 대한 값을 요청할 수도 있다.
전술한 바와 같은 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였다. 그러나 본 발명의 범주에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능하다. 본 발명의 기술적 사상은 본 발명의 전술한 실시예에 국한되어 정해져서는 안 되며, 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
201: 외부 인터페이스 210: RR-간격 추출기
220: XML 변환 엔진 230: XML 기반 생체 데이터 저장소
240: OCL 인터프리터 250: OCL 코드 생성기
260-1:제1 서비스 모듈 260-n: 제n 서비스 모듈

Claims (12)

  1. 헬스케어 서비스를 제공하는 헬스케어 시스템에 있어서,
    비가공 생체 데이터를 수신하여 특징 데이터를 추출하는 특징 데이터 추출기;
    상기 비가공 생체 데이터 및 특징 데이터를 메타모델 기반 생체 데이터로 변환하는 XML(eXtensible Markup Languag) 변환 엔진;
    상기 메타모델 기반 생체 데이터를 저장하는 저장소;복수개의 미리 결정된 OCL(Object Constraint Language) 코드 문서를 저장하고, 생체신호 데이터가 요청되는 경우, 상기 OCL 코드 문서들 중 상기 요청된 생체신호 데이터를 상기 저장소로부터 추출하기 위한 OCL 코드 문서에 상기 생체신호 데이터와 관련된 파라미터값을 삽입하여 출력하는 OCL 코드 생성기;
    헬스케어 서비스가 요청되면 호출되며, 상기 요청된 헬스케어 서비스에 관련된 생체신호 데이터를 요청하는 복수개의 헬스케어 서비스 모듈;
    헬스케어 서비스 요청 메시지를 수신하고 상기 헬스케어 서비스 요청 메시지에 포함된 파라미터값들에 기반하여 상기 복수개의 헬스케어 서비스 모듈 중 하나를 호출하는 외부 인터페이스; 및
    상기 OCL 코드를 해석 및 실행함으로써 상기 메타모델 기반 생체 데이터를 추출하여 리턴하는 OCL 인터프리터를 포함하는 것을 특징으로 하는 헬스케어 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 비가공 생체 데이터는 심전도 데이터, 호흡 데이터 및 보행 데이터를 포함하는 것을 특징으로 하는 헬스케어 시스템.
  5. 제1항 에 있어서,
    상기 헬스케어 서비스 요청 메시지는 SOAP(Simple Object Access Protocol) 메시지를 이용하여 생성되는 것을 특징으로 하는 헬스케어 시스템.
  6. 삭제
  7. 제5항에 있어서,
    상기 SOAP 메시지는 HTTP를 통해 전송되는 것을 특징으로 하는 헬스케어 시스템.
  8. 헬스케어 시스템에서 헬스케어 서비스를 제공하는 방법에 있어서,
    특징 데이터 추출기가 비가공 생체 데이터를 수신하여 특징 데이터를 추출하는 단계;
    XML (eXtensible Markup Languag) 변환 엔진이 상기 비가공 생체 데이터 및 특징 데이터를 메타모델 기반 생체 데이터로 변환하는 단계;
    저장소가 상기 메타모델 기반 생체 데이터를 저장하는 단계;
    외부 인터페이스가 헬스케어 서비스 요청 메시지가 수신되면 상기 헬스케어 서비스 요청 메시지에 포함된 파라미터값들에 기반하여 복수개의 헬스케어 서비스 모듈중 하나를 호출하는 단계;
    상기 호출된 헬스케어 서비스 모듈중 하나가 상기 요청된 헬스케어 서비스에 관련된 생체신호 데이터를 요청하는 단계;
    OCL 코드 생성기가 상기 복수개의 미리 결정된 OCL 코드 문서들 중 상기 요청된 헬스케어 서비스에 관련된 생체신호 데이터를 상기 저장소로부터 추출하기 위한 OCL 코드 문서에 상기 파라미터값들을 삽입하여 출력하는 단계; 및
    OCL 인터프리터가 상기 생성된 OCL 코드를 해석 및 실행함으로써 상기 메타모델 기반 생체 데이터를 추출하여 리턴하는 단계를 포함하는 것을 특징으로 하는 헬스케어 서비스 방법.
  9. 제8항에 있어서,
    상기 비가공 생체 데이터는 심전도 데이터, 호흡 데이터 및 보행 데이터를 포함하는 것을 특징으로 하는 헬스케어 서비스 방법.
  10. 제9항에 있어서,
    상기 헬스케어 서비스 요청 메시지는 SOAP(Simple Object Access Protocol) 메시지를 이용하여 생성되는 것을 특징으로 하는 헬스케어 서비스 방법.
  11. 삭제
  12. 제10항에 있어서,
    상기 SOAP(Simple Object Access Protocol) 메시지는 HTTP를 통해 전송되는 것을 특징으로 하는 헬스케어 서비스 방법.
KR1020110034182A 2011-04-13 2011-04-13 헬스케어 시스템 및 헬스케어 서비스 방법 KR101221384B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110034182A KR101221384B1 (ko) 2011-04-13 2011-04-13 헬스케어 시스템 및 헬스케어 서비스 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110034182A KR101221384B1 (ko) 2011-04-13 2011-04-13 헬스케어 시스템 및 헬스케어 서비스 방법

Publications (2)

Publication Number Publication Date
KR20120116629A KR20120116629A (ko) 2012-10-23
KR101221384B1 true KR101221384B1 (ko) 2013-01-11

Family

ID=47284845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110034182A KR101221384B1 (ko) 2011-04-13 2011-04-13 헬스케어 시스템 및 헬스케어 서비스 방법

Country Status (1)

Country Link
KR (1) KR101221384B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101526984B1 (ko) * 2012-12-10 2015-06-11 인제대학교 산학협력단 헬스케어 서비스를 위한 유저 단말 및 그 유저 단말을 이용한 헬스 케어 서비스 시스템 및 방법
CN110890151A (zh) * 2019-11-18 2020-03-17 重庆亚德科技股份有限公司 一种区域远程医疗信息系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110012947A (ko) * 2009-07-31 2011-02-09 경북대학교 산학협력단 U-헬스케어 시스템 및 서비스 제공방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110012947A (ko) * 2009-07-31 2011-02-09 경북대학교 산학협력단 U-헬스케어 시스템 및 서비스 제공방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김태웅·김희철."OSGi 컴포넌트플랫폼을 이용한 메타모델 기반의 건강관리 서비스 시스템 개발". 한국멀티미디어학회지 제14권 제1호 *

Also Published As

Publication number Publication date
KR20120116629A (ko) 2012-10-23

Similar Documents

Publication Publication Date Title
US11769586B2 (en) Medical cloud platform data sharing system and method based on third-party business
US9641589B2 (en) Extensibility for manipulation of medical data
Fayn et al. Toward a personal health society in cardiology
Trigo et al. Interoperability in digital electrocardiography: harmonization of ISO/IEEE x73-PHD and SCP-ECG
US20230368906A1 (en) Method and system for generating data analysis report of multi-parameter monitoring device
Kim et al. A healthcare system as a service in the context of vital signs: Proposing a framework for realizing a model
Andersen et al. Point-of-care medical devices and systems interoperability: A mapping of ICE and FHIR
Cuevas-González et al. ECG standards and formats for interoperability between mHealth and healthcare information systems: a scoping review
KR101221384B1 (ko) 헬스케어 시스템 및 헬스케어 서비스 방법
Jumaa et al. An XML-based framework for automating data exchange in healthcare
Martinez et al. Recent innovative advances in telemedicine: standard-based designs for personal health
Faro et al. A web 2.0 telemedicine system integrating TV-centric services and Personal Health Records
KR101526984B1 (ko) 헬스케어 서비스를 위한 유저 단말 및 그 유저 단말을 이용한 헬스 케어 서비스 시스템 및 방법
de Souza et al. Ontology-driven IoT system for monitoring hypertension
Trigo et al. On the seamless, harmonized use of ISO/IEEE11073 and openEHR
Cai et al. Generic data modeling for home telemonitoring of chronically ill patients.
KR20150144562A (ko) 생체데이터 분석 시스템 및 방법
US20150149205A1 (en) Integrated clinical decision supporting system and method
Gouaux et al. Smart devices for the early detection and interpretation of cardiological syndromes
Kim et al. Service-oriented architecture structure for healthcare systems utilising vital signs
Rajapaksha et al. A Mobile Application to Predict and Manage High Blood Pressure and Personalized Recommendations
Ko et al. Ontology and cdss based intelligent health data management in healthcare server
Yu et al. Design and implementation of real-time bio signals management system based on HL7 FHIR for healthcare services
Wang The implementation of a tele-homecare system with service oriented architecture and HL7 message transmission standard
Paschou et al. Mobile Healthcare Systems: Generating Dynamic Smartphone Apps to Serve Multiple Medical Specializations-Assisting Monitoring Patient@ Home and Health Record Follow-up

Legal Events

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

Payment date: 20160106

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180109

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190403

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200213

Year of fee payment: 8