8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝...

90
개발 관리

Transcript of 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝...

Page 1: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

개발 관리

Page 2: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

개정 이력(전체)개정일 개정 분야 개정 내용 개정자 담당자

3개 사이트 지원 서비스 인터페이스를 위한 병원 환경 조사

3개 사이트 지원 서비스 인터페이스 시나리오 정의

저장소 초기 요구사항 정의

검증기 초기 요구사항 정의

저장소 유스케이스 모델 및 요구사항 명세서 정리

3개 사이트 지원 서비스 인터페이스 방안 정의

약물 상호 작용에 대한 요구 사항 2개 추가

3개 사이트 지원 스키마 매핑 애플리케이션 요구사항 1개 추가

저장소 WBS 추가

검증기 WSB 재작성

3개 사이트 지원 약물 상호 작용추가 요구사항 수용 방안 설계

3개 사이트 지원 진단 검사 용어 매핑 사례

3개 사이트 지원 A대 병원 지원 방안

저장소 Oss 목록 및 아키텍처 추가

검증기 1차 요구사항 (개념, 범위) 정의

DIA 인터페이스 XML 사용을 위한 NET 용 API 추가개발

저장소 접근법에 대한 재고찰-기술 아키텍처에 이슈 수정- WBS 수정

Page 3: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

개정 이력(전체)개정일 개정 분야 개정 내용 개정자 담당자 비고

저장소 Samson 미팅 후, 아키텍처에 반영(Change control 추가)

저장소 프로테제 collaboration 버전 분석

3개 사이트 지원 -변환기 약물 상호작용에 대한 요구사항 1개 추가-논의 사항 추가

3개 사이트 지원 스트레스 테스트를 위한 아키텍처

3개 사이트 지원 스트레스 테스트 처리 방법 결론(회의 결과)

3개 사이트 지원 –변환기 기 처방 정보 처리는 필요 없음(결론)

3개 사이트 지원 –엔진 DUR 중복성 처리(추후 일정을 고려하여 처리)

3개 사이트 지원-변환기 DDI 서비스 방법 정의 및 중복성 처리 개발

3개 사이트 지원-인터페이스 모듈

B대 특화 요구사항 지원을 위하여인터페이스 모듈 수정

Page 4: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

3개 사이트 지원

Page 5: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

개정 이력

개정일 개정 내용 개정자 확인자

서비스 인터페이스를 위한 병원 환경 조사

서비스 인터페이스 시나리오 정의

서비스 인터페이스 방안 정의

약물 상호 작용에 대한 요구 사항 2개 추가

스키마 매핑 애플리케이션 요구사항 1개 추가

약물 상호 작용추가 요구사항 수용 방안 설계

진단 검사 용어 매핑 사례

A 병원 지원 방안

약물 상호 작용에 대한 요구 사항 1개 추가-조교수님 논의 사항 추가

B대 스트레스 테스트 아키텍처 수립

스트레스 테스트 처리 방법 결론(회의 결과)

기 처방 정보 처리는 필요 없음(결론)

DUR 중복성 처리(추후 일정을 고려하여 처리)

Page 6: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

CCM

CDSS화면

EMR 화면

진단검사 DDI

…폐렴예방

약물 DBEMR DB

EMR DB

SIACDSS화면

EMR 화면

CDSS화면

EMR 화면

SIA

DIA

SIA

DIA

SIA LIS APPLIS APP

DDI APPDDI APP

폐렴 예방APP

폐렴 예방APP

KEIKEI

SIA: 서비스 인터페이스

DIA: 데이터 인터페이스

KEI: 지식 엔진 인터페이스

U-BRAIN

2009-05-08

Page 7: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

실행 흐름도(개요)

EMR 화면 OOO APPOOO APP EMR DB

CDSS요청

CDSS요청

추가 입력

지식 실행

지식 검색

[필요시] 데이터 요청

결과반환

결과반환

피드백입력

피드백 저장

U-BRAIN 저장소

2009-05-08

Page 8: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

실행 흐름도

EMR 화면 SIA DIAOOO APPOOO APP KEI EMR DB

CDSS요청

CDSS요청

CDSS화면CDSS 실행

생성추가 입력

CDSS 실행CDSS 실행

지식 실행

지식 실행지식 검색

[필요시] 데이터 요청데이타검색결과반환

결과반환결과반환

결과반환피드백입력

피드백 저장피드백 저장

U-BRAIN 저장소

2009-05-08

Page 9: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

사이트 지원 프로세스

지식 저작

지식 변환

Application 개발

지식 실행Application

운영

검증

지식/환경분석

가변적 요소

- 저작 환경- 변환기 활용여부- 지식 엔진 활용 범위

변환기 확장

DIA 확장

추가 변환대상 식별

CCM 분석 및환경 /지식추가

분석

엔진확장/튜닝

C병원을제외하면

각 병원에서맡아야 함

C병원을제외하면

각 병원에서맡아야 함

Page 10: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

서비스 인터페이스를 위한 환경 조사서C 병원

Page 11: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

서비스 인터페이스를 위한 환경 조사서B 대 병원

Page 12: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

서비스 인터페이스를 위한 환경 조사서A 병원

2009-04-29

Page 13: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

서비스 제공을 위한 시나리오 1안

화면CDSS

DB

APP

HTML 기반CDSS

결과 조회

Http & xml

DIA Service

CDSS Service

CDSS연계 모듈

CDSS 서비스 버튼

Http & xml

2009-05-21

Page 14: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

서비스 제공을 위한 시나리오 2안

화면CDSS

DB

APP

HTML 기반CDSS

결과 조회

Http & xml

CCM DIA Service

CDSS Service

CDSS연계 모듈

Http & xml

CCM화면생성기

CDSS 서비스 화면

2009-05-21

Page 15: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

서비스 제공을 위한 시나리오 적용 방안

• A병원, B 병원– 1안

• C 병원– 2안

2009-05-21

Page 16: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

통합 엔진

Page 17: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

u-BRAIN Architecture

Java Virtual MachineDBMS / FILE

RuleEngine

KnowledgeRepository

HTTP XML-RPC RMI

변환기

EHR지식프레임워크

Client API

MedicalFunction Lib

CDSS 애플리케이션

Data Interface AdaptorProcessEngine Rule Engine

Adaptor

RepositoryManager

2009-05-08

Page 18: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

Self Configurable u-BRAIN

Java Virtual MachineDBMS / FILE

RuleEngine

KnowledgeRepository

HTTP XML-RPC RMI

변환기

EHR지식프레임워크

Client API

MedicalFunction Lib

CDSS 애플리케이션

Data Interface AdaptorProcessEngine Rule Engine

Adaptor

RepositoryManager

Context에따라서

지식 저작방법/환경을변경해야 함 지식 종류에

따라서 프로세스엔진을 활용하지않을 수도 있음

2009-05-08

Page 19: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

u-BRAIN 확장

Java Virtual MachineDBMS / FILE

RuleEngine

KnowledgeRepository

HTTP XML-RPC RMI

변환기

EHR지식프레임워크

Client API

MedicalFunction Lib

CDSS 애플리케이션

Data Interface AdaptorProcessEngine Rule Engine

Adaptor

RepositoryManager

효율적 지식처리를 위한

지식처리함수를추가 개발해야 함

2009-05-08

Page 20: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항1: 약물상호작용

• 배경: SAGE 인코딩 과정 효율화(생산성 향상)– 성분 금기에 대한 방향성 문제 해결

• 내용– 현재 evidence statement 는 from, to로 방향성을

갖도록 되어 있음– 약물상호작용의 경우는 방향성이 없음

• 즉, A와 B 약물간 금기 관계가 있을 경우는 자동으로 B와A 약물간 금기 관계가 성립함

• Evidence-statement 를 이용할 경우, A->B와 B-> A 금기관계를 두번 모델링해야 함

– 한번의 모델링으로 2개의 금기 관계를 처리할 수있어야 함

2009-05-25

Page 21: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항1: 약물상호작용

• 변경 여부– 수용

• 변경 방안– 변경 대상: Medical Library– 방법 : 함수 수정

• "A와 B 약물간 금기 관계가 있을 경우는 B와 A 약물간 금기관계가 성립"되도록 함

2009-06-05

Page 22: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항2: 약물상호작용

• 배경: 대량의 약물금기 정보를 자동 입력처리 할 필요 있음– 800-1000개의 금기 관계를 인코딩 할 예정– SAGE에 직접 인코딩 하는 것은 너무 비효율적임

• 진행 상황– A 대학교 팀이 금기 관계를 표현할 엑셀 틀을 설계하고 있음

• 추가 요구사항• 엑셀 틀에 맞춰서 정의한 금기 관계를 sAGE 인코딩에 반영된 것 처럼 해석할 수 있어야 함

• 변경 프로세스 1 (제안)– SAGE 인코딩– 변환기로 지식 변환– 금기약물자동입력기(가칭)가 금기관계 정의 엑셀 파일을 읽어서 변환기가 변환한

지식에 금기 관계 지식 추가• 변경 프로세스 2 (제안)

– SAGE 인코딩– 금기약물자동입력기(가칭)가 금기관계 정의 엑셀 파일을 읽어서 SAGE지식에 추가 하는

방법– 변환기로 지식 변환

2009-05-25

Page 23: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항2: 약물상호작용

• 변경 여부– 수용– 추가 개발

• 변경 방안– 추가 개발 대상: 변환기 또는 추가 입력기– 제안 방법에 대한 평가 의견– 1번 방법 :

• 장점 - 구현이 상대적으로 쉽다.– 구현 내용: Excel의 내용 읽기, 내부에서 처리하기 위한 Evidence Statement 객체 생성

• 단점 - SAGE 사용자는 Excel에서만 금기관계를 보고 Editing 할 수 있으며, SAGE에서는Excel의 내용을 볼 수 없다.

– 2번 방법:• 장점 - SAGE 사용자는 금기관계가 기술된 Excel의 내용을 SAGE에서 보거나 Editing이

가능하다.• 단점 - 구현이 상대적으로 복잡하다.

– 구현 내용: Excel 내용 읽기, Fortege의 Knowledge Instance를 생성하기 위한 방법 학습하여, Excel내용변환

• 이슈– SAGE에서 금기관계의 Excel의 내용을 불러와서 SAGE에서 이를 Editing하는 경우에는 Excel의 내용과

Inconsistency문제 발생

2009-06-05

Page 24: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

처리 결과-추가요청 사항2

• 1차 완료일– 2009.07.06

• 1차 검증 완료일

2009-07-202009-07-06

Page 25: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

DDI Support ArchitectureConverting time

Run time

Validator DDIRuleConverter

DDI Support System

ConvertedDDI Rules

DDIComp Rule Engine

Request to Convert

DDI Rule(CSV Format)

Client Comp

(?)

Request forDDI

DDIApp.

Interface XML(per Patient)

Convert

Load Rules

2009-07-06

Page 26: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

Rule Converting Strategy(for 병용)

변환: ATC Code1, 투여경로1 – ATC Code2, 투여경로2

입력: 신규처방( ATCCode, 투여 경로), 기존 처방(ATCCode, 투여경로)변환된 룰의 구조: IF( execute(input.ATCCode, input.투여경로) ) THEN true Else false;출력: 병용 금기 여부, + 알파

사용자 정의 함수내의 자료 구조: è 자료구조(1안): Key(ATCCode1, 투여경로1) – Value(ATCCode2, 투여경로2)

Key(ATCCode2, 투여경로2) – Value(ATCCode1, 투여경로1)

è 자료구조(1안 , 예): Key(M01AB16, O) – Value(M01AB15, O), Key(M01AB16, O) – Value(M01AB15, I)Key(M01AB15, O) – Value(M01AB16, O), Key(M01AB15, I) – Value(M01AB16, O)Key(M01AB16, O) – Value(S01BC05, O), Key(M01AB16, O) – Value(S01BC05, I)Key(S01BC05, O) – Value(M01AB16, O), Key(S01BC05, I) – Value(M01AB16, O)

è 자료구조(2안): Key((ATCCode1, 투여경로1), (ATCCode2, 투여경로2)) à Sorting해서 저장è 자료구조(2안 , 예):

Key( (M01AB16, O), (M01AB15, O)), Key( (M01AB16, O), (M01AB15, I))Key( (M01AB16, O), (S01BC05, O)), Key( (M01AB16, O), (S01BC05, I))

è 성능상 이유로 2안 수용: è 예상 비교 횟수: 입력(신규(n), 기처방(m))에 대해서 (nC2 + m*n) * 1 è HashTable로 구현 예정이므로 검색속도는 1

금기 등급 대표성분1 ATC코드1 투여경로1 대표성분2 ATC코드2 투여경로2

병용금기 Aceclofenac M01AB16 O Ketorolac M01AB15/ S01BC05 O/I

DDI Rule (CSV Format)

2009-07-06

Page 27: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

Rule Converting Strategy(for 과처방)

변환: ATC Code1, 투여경로1 – ATC Code2, 투여경로2

입력: (신규처방 약의 ingredient, 투여방법, CrCl, Crtdose(1일용량))*

변환된 룰의 구조:• RuleID 0:

– If((input.Crcl >=0) and (input.Crcl <10)) THEN fire(“RuleID0-1”) ELSE fire(“RuleID1”)• RuleID 0-1:

– if( input.Crtdose > 10) THEN true Else false;• RuleID 1:

– If((input.Crcl >= 10) and (input.Crcl <50)) THEN fire(“RuleID1-1”) ELSE fire(“RuleID2”)• RuleID 1-1:

– if( input.Crtdose > 10) THEN true Else false;• RuleID 2:

– If((input.Crcl >= 50) and (input.Crcl <90)) THEN fire(“RuleID2-1”) ELSE fire(“RuleID3”)• RuleID 2-1:

– if( input.Crtdose > 10) THEN true Else false;• RuleID 3:

– If(true) THEN fire(“RuleID3-1”) ELSE• RuleID 3-1:

– if( input.Crtdose > 10) THEN true Else false;

Rule의 IDATCCode + 투여경로+ 룰Hierarchy: (예) J05AB_O_0, J05AB_O_0_1. J05AB_O_1, J05AB_O_1_1

출력: 과처방 금기 여부, + 알파

속도: 입력(신규처방(n)) 이고, 약당 평균 DDI룰 개수(m) 인 경우 n*m*2

ATC code 성분명 투여경로(O/I/E) LowCrCl(<) UppCrCl(<=) MaxDoseJ05AB Adefovir O NULL NULL 10

J05AB Adefovir O 5 10 10

J05AB Adefovir O 10 50 10

J05AB Adefovir O 50 90 10

DDI Rule (CSV Format)

2009-07-06

Page 28: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가 요구사항 3: 약물 상호작용

• 추가 요구사항 명: DUR 자동 연동 기능• 요청자: A 대학교

• 배경– A 대학교는 DUR룰을 사용하고 있음– 하루에 한번씩 KIMS 온라인에 의해 update 실시함– DUR 룰과 세부과제가 정의한 룰과 상호 비교 후 연동이 필요함

• 정의– 변환 룰: EHR 사업단에서 정의한 룰 중 B대에서 사용 가능하다고 판단하여 엑셀에 정의한

룰을 자동 변환 모듈에 의해 u-brain이 실행할 수 있는 형태로 변환한 룰

• 요청 내용– DUR 룰을 저장하고 있는 DB와 변환 룰의 자동 연동– 변환기가 직접 DUR DB에 접근하여 DB에 저장된 내용을 u-BRAIN이 이해하는 형태로 변환

2009-07-06

Page 29: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가 요구사항 3: 약물 상호작용• 현재 아키텍처

– 사업단이 정의하여 B대에 제공한 약물 상호 작용 룰 중– B대가 정의한 기준에 따라 필요한 룰을 선별하여 엑셀로 정의– 엑셀 파일을 u-BRAIN이 실행할 수 있는 형태로 자동 변환할 수있는 DDI룰 자동 변환기를 추가

개발

Converting time

Validator DDIRuleConverter

DDI Support System

ConvertedDDI Rules

DDIComp

Rule Engine

Request to Convert

DDI Rule(CSV Format)

DDI룰변환환경

Request forDDI

DDIApp.

Interface XML(per Patient)

Convert

Load Rules

2009-07-06

Page 30: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가 요구사항 3: 약물 상호작용• A 대학교 요청을 그대로 반영할 경우의 아키텍처

– DB에 정의된 DUR 룰을 읽어서 u-brain 실행 형태로 변환하는 변환 환경을 추가개발해야 함

Converting time

Validator2 DDIRuleConverter2

DDI Support System

ConvertedDDI Rules

DDIComp

Rule Engine

DDI Rule(CSV Format)

DDI룰변환환경1

Request forDDI

DDIApp.

Interface XML(per Patient)

Convert

Load Rules

DDI룰변환환경2

DUR DB

2009-07-06

변환환경1: 정의된 DDI룰을 u-brain이 실행 가능한 형태로 변환하도록 요청하는 환경Validator: 정의된 DDI를이 변환 가능한지 여부를 검증하는 모듈DDI Rule Converter: 정의된 DDI 룰을 u-brain이 실행 가능한 형태로 변환하는 모듈

Validator 1 DDIRuleConverter 1

Page 31: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가 요구사항3: 약물 상호작용

• 요구사항 처리 이슈– 이슈1:

• DUR과 사업단이 정의한 룰간의 연동이 필요한가?• 이번 연구 범위에 속하는가?

– 이슈2:• 만약 연동해야 하는 것이 업무 범위에 속한다면• 연동의 역할이 사업단에 있는가 B대학교에 있는가?

• 2009년 7월 6일 조교수님과 논의 결과– 이번 업무 범위에는 속하지 않음– 장기적으로는 필요한 내용이기는 함– 연구 진행 상황을 보면서 여력이 생기면 처리하고(처리할 주체 및 방법은

추후 결정)– 여력이 없다면 내년 연구로 넘기도록 함

2009-07-06

Page 32: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가 요구사항 3: 약물 상호작용• 바람직한 아키텍처

– 사업단이 제공하고 B대와 협의를 통해 만든 공통 지식 정의 틀(엑셀 파일 구조)는 범용적인것이므로, 이를 바탕으로 u-brain 지식으로 변환하는 모듈은 하나로 존재하는 것이 바람직함

– DUR DB로 부터 룰 변환이 필요하다면 DUR DB로 부터 이번에 정의한 엑셀로 변환하는 모듈을추가 개발하는 것이 아키텍처의 일관성을 유지하는 방법임

Converting time

Validator DDIRuleConverter

DDI Support System

ConvertedDDI Rules

DDIComp

Rule Engine

DDI Rule(CSV Format)

룰변환기

Request forDDI

DDIApp.

Interface XML(per Patient)

Convert

Load Rules

DUR정보

해석기

DUR DB

DDI Rule(CSV Format)생성

2009-07-06

Page 33: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가 요구사항 4: 약물상호작용• 추가 요구사항명

– DUR 룰과 사업단이 정의한 룰 간의 중복성을 자동으로 판단

• 요청자: A 대학교 박OO

• 요청 내용– A 병원 룰과 EHR 사업단 룰을 비교하여 중복되는 것은 자동으로 EHR 사업단 룰을 flag를 걸어서 사용 하지

못하도록 되거나 룰을 삭제를 해야 함

• 이슈– 올해 연구 범위에 속하는가?

• 2009년 7월 6일 조교수님과 논의한 사항– 이번 연구범위에 속하지는 않음– 장기적으로는 꼭 필요한 연구 범위에 속함– 추가 개발해야 한다면 가장 우선순위가 높은 사항임– 초기에는 수작업으로 B대가 작업을 해서 반영하도록 하고– 연구 여력을 판단한 후 가능하면 올해 연구 범위내에 포함시키도록 노력한다.– 초기 수작업으로 진행한 B대 결과가 개발에 필요한 요구사항 수립 및 개발 설계에 필요한 입력 자료가 될 것임

• 2009년 7월 17일 A대 팀과 회의 결과– 6세부는 단계적으로 변환에 대한 지원을 제공할 것임(DDI 우선-> DUR까지 확대).

2009-07-202009-07-06

Page 34: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

처리 결과-추가요청 사항3,4

• 2009. 8. 6– 요청 사항 3,4를 처리하기 위한 방안 합의– 참석자

• 박OO 교수, 조OO 교수, 김OO 교수

2009-08-06

Page 35: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

요구사항 3,4 에 대한 최종 결정안

2009-08-06

OCS

SMART

EHR 룰 시스템

화면

메시지박스

DUR 룰

통합 룰 = EHR 룰 + DUR 룰

전제: 2개의 룰, 2개의 룰 시스템이 존재한다.

사용 흐름1. OCS는 SMART을 호출한 후, EHR 룰 시스템을호출한다. (2개 모두 호출함)

2. EHR 룰 시스템으로 부터 적시에 응답이 돌아오면DUR로 부터 받은 응답 메시지는 사용하지 않고EHR 룰 시스템으로 부터 받은 메시지만 보여줌

2. EHR 룰 시스템으로 부터 응답이 늦게 오면, SMART 실행 결과를 화면에 보여준다

발생할 수 있는 이슈1. EHR 룰과 DUR를 초기 통합해야 함(통합 룰)2. DUR 룰이 갱신될 때 마다 통합 룰도 갱신해야 한다.

최종 결정안) 2개 룰, 2개 룰 시스템

Page 36: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

최종 결정안 수용을 위한 방법• 전제

– DUR 룰 갱신 주기에 따른 통합 룰 갱신– 중복이 제거된 통합 룰 운영– 성능 보장

• 추가 개발이 필요한 기능(1) 서비스 호출 모듈 변경 사항

- SMART과 EHR룰 시스템을 모두 호출하게 개발- SMART과 EHR룰 시스템으로부터 모두 결과가 돌아온 경우, EHR룰

시스템으로부터 받은 메시지만 사용자에게 제공한다. (EHR룰시스템으로부터 받은 메시지가 우선적으로 제공됨을 의미)

- EHR룰 시스템으로부터 응답이 늦어질 경우는 SMART 결과를제공하고 EHR룰 시스템으로부터 응답을 기다리지 않는다.

(2) 통합 룰 관리 시스템- DUR 룰 시스템의 룰과 EHR룰 시스템의 룰 중복 제거

- SMART의 룰을 EHR룰 시스템을 룰 형식으로 변경- 룰 set 관리

2009-08-06

Page 37: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

제안하는 아키텍처

2009-08-06

Converting time

Validator DDI RuleConverter

DDI Support System

ConvertedDDI Rules

DDIComp

Rule Engine

DDI Rule(CSV Format)

룰 변환기

Request forDDI

DDIApp.

Interface XML (per Patient)

Convert

Load Rules

DUR정보 해석기

DUR DB DDI Rule (CSV Format) 생성

SMART

Page 38: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

개발 R&R

2009-08-06

A대 개발A대 개발 세부과제 개발

Converting time

Validator DDI RuleConverter

DDI Support System

ConvertedDDI Rules

DDIComp

Rule Engine

DDI Rule(CSV Format)

(2)룰 변환기

Request forDDI

(3) DDIApp.

Interface XML (per Patient)

Convert

Load Rules

(1) DUR정보 해석기

DUR DB DDI Rule (CSV Format) 생성

SMART

Page 39: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가 요구사항 4: 약물상호작용

• 2009. 09. 05 회의– 중복성 제거는 A대가 담당한다.

Page 40: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가 요구사항 5: 약물 상호작용

• 추가 요구사항명– 기 처방 내용을 포함하여 약물 상호작용 룰 적용

• 요청자: A대학교 박OO

• 요청 내용– 약물 상호작용 판단 범위를 현 약물 처방에만 국한하지 않고– 해당 환자의 기 처방 내용까지 적용해야 함

• 이슈– 이슈1: 올해 연구 범위에 속하는가?– 이슈2: 범위에 속한다면, 초기 u-BRAIN 호출시 기 처방 내용을 질의하여 인터페이스 XML에 담아 보내줄

것인가, 룰 실행 중에 DIA를 통해 기 처방 내용을 EMR로 부터 얻어올것인가?

• 2009년 7월 6일 조교수님과 논의한 사항– 정확한 내용 파악 후 다시 논의

• 2009년 7월 17일 A대 팀과 회의 결과– 사용하지 않는 것으로 확인함. 초기 한번에 전달.

• 이슈 종료

2009-07-202009-07-06

Page 41: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 제한 사항– DIA Java 인터페이스만을 지원

• .Net 기반의 클라이언트에서 DIA로 입력XML을구성불가

• 방법1: DIA를 사용한 입력 XML 구성부분과 서비스I/F을 담당하는 CDSS Server의 추가

• 방법2: DIA 사용 대신 이미 만들어진 입력XML을 로딩하여 사용

– DIA2를 적용한 Engine이 존재하지 않음• DIA1(made by 최현숙) 버전 사용 or DIA 사용안함

2009-07-07

Page 42: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 제안 1

uBrain

지식:Lab Alerting

지식:Lab Alerting

DB:분당 Data

DB:분당 Data

Test Client Stress Test App.

이름 설명

1 uBrain 지식엔진

2 지식 지식엔진 위에서 동작하는 지식

3 DB 지식을 해석하기 위해 필요한 로컬 DB

4 CDSS ServiceApp.

지식엔진(uBrain)과의 인터페이스를 담당하고 DIA로 입력 XML을 가져와 서비스를 요청, WEB Service지원

5 Test Client CDSS Service App.에 서비스를 요청하는Test Client 모듈

6 .Net I/F 지식엔진과 통신을 지원하는 I/F모듈

7 Stress Test App.

스트레스 테스트를 위한 Application

HTTPHTTP

API Call 등

API Call 등

CDSSService

App.DIA

.Net I/F.Net I/F

2009-07-07

Page 43: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 제안 1 처리 방법– 지식: 분당에서 작업한 Lab Alerting (有)

– 지식엔진• 인터페이스: Web App. 형태의 인터페이스 (이재훈 작업 중)• DIA: DIA1(최현숙 작업) 이 적용된 케이스 (有)

– DB: MicroSite 때 사용한 20건 정도 (有)

– CDSS Service App.: CDSS Service Server로 작업을 해야 함 (New)

– Test Client: (New)

– .Net I/F: 기본 구조는 존재 LabAlerting용으로 customizing 필요 (수정필요)

2009-07-07

Page 44: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 제안 2

uBrain

지식:Lab Alerting

지식:Lab Alerting

Test Client Stress Test App.

이름 설명

1 uBrain 지식엔진

2 지식 지식엔진 위에서 동작하는 지식

3 Test Client 미리 만들어진 입력(XML)을 지식엔진에서비스를 받을 수 있도록 지원하는 모듈

4 .Net I/F 지식엔진과 통신을 지원하는 I/F모듈

5 입력XML 미리 만들어진 사용자 입력 XML

6 Stress Test App.

스트레스 테스트를 위한 Application

HTTPHTTP

API Call 등

API Call 등

입력XML입력XML

.Net I/F.Net I/F

2009-07-07

Page 45: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 제안 2 추진 방법– 지식: A대에서 작업한 Lab Alerting (有)

– 지식엔진• 인터페이스: Web App. 형태의 인터페이스 (이재훈 작업 중)

– 입력XML: 테스트를 위해 사용한 20건 정도 (有)

– Test Client: (New)

– .Net I/F: 기본 구조는 존재 LabAlerting용으로 customizing 필요 (수정 필요)

2009-07-07

Page 46: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 추천 안– 2안을 추천– u-Brain 자체에 대한 성능 검증이라면 2안으로 충분하다고 봄– 구조적으로 더 간단하고 추가 개발 범위가 적음

• Test Client 추가 개발의 R&R– CDSS팀에서 인터페이스를 가이드하고 A대에서 개발 가능할 것으로 사료됨– 엔진에 대한 요청은 Web 호출로 이루어지므로 무리가 없을 것으로 보임.– 이는 가능함의 여부 뿐이고, 논의가 필요할 것으로 생각함

• A대 병원에 확인 할 사항– Test Client

• Test Client의 요건 사항: 반복적으로 지식엔진을 호출해야 하는지 여부• Test Client와 Stress Test App간의 연계 방법 확인 필요• Test Client의 환경: .Net을 지원해야하는지 여부

2009-07-07

Page 47: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 제안 3

uBrain

지식:약물 상호 작용

(일부)

지식:약물 상호 작용

(일부) Test Client Stress Test App.

이름 설명

1 uBrain 지식엔진

2 지식 지식엔진 위에서 동작하는 지식

3 Test Client 미리 만들어진 입력(XML)을 지식엔진에서비스를 받을 수 있도록 지원하는 모듈

4 .Net I/F 지식엔진과 통신을 지원하는 I/F모듈

5 입력XML 미리 만들어진 사용자 입력 XML

6 Stress Test App.

스트레스 테스트를 위한 Application

HTTPHTTP

API Call 등

API Call 등

입력XML입력XML

.Net I/F.Net I/F

2009-07-07

Page 48: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 처리 방법– 지식

• 약물 상호 작용 일부여야 의미가 있을 것임• 지식을 확보하기 위해서는 B대 팀이 만들고 있는 자동 변환기의 테스트가 완료된

후여야 확보될 수 있음• 그러므로, 스트레스 테스트도 그 이후가 되어야 함(박OO 교수와 논의 필요)

– 지식엔진• 인터페이스: Web App. 형태의 인터페이스 (이재훈 작업 중)

– 입력XML: 테스트를 위해 사용한 20건 정도 (A 대 만들어 주어야 함)

– Test Client: (New)

– .Net I/F: 기본 구조는 존재 LabAlerting용으로 customizing 필요 (수정 필요)

2009-07-07

Page 49: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 처리 방법 (결론)

2009-07-20

A대병원 범위A대병원 범위

A대병원 범위A대병원 범위

uBrain

지식:약물 상호 작용

(일부)

지식:약물 상호 작용

(일부) Test Client Stress Test App.

이름 설명

1 uBrain 지식엔진

2 지식 지식엔진 위에서 동작하는 지식

3 Test Client 미리 만들어진 입력(XML)을 지식엔진에서비스를 받을 수 있도록 지원하는 모듈

4 .Net I/F 지식엔진과 통신을 지원하는 I/F모듈

5 입력XML 미리 만들어진 사용자 입력 XML

6 Stress Test App.

스트레스 테스트를 위한 Application

HTTPHTTP

API Call 등

API Call 등

입력XML입력XML

.Net I/F.Net I/F

Page 50: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 처리 방법 (결론)– 대상

• 약물상호작용 일부를 대상으로 uBrain의 스트레스 테스트

– 제한점• 변환기 테스트 완료 후 가능

– R&R• 6세부

– 약문상호작용 일부만 담긴 지식– uBrain– .Net I/F Lib & 명세: .Net Lib.로 입력XML을 로딩 uBrain으로 서비스 요청 API를 제공

• A대병원– 입력 XML작성– TestClient– Stress Test APP

• A대병원 측의 모듈들은 A대병원의 편의에 따라 변경 가능– Ex) TestClient와 Stress Test App.의 통합등

2009-07-20

Page 51: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

A대학교 스트레스 테스트 지원

• 처리 방법 (결론)– 단계적 수행

• Test Application 작성– 6세부: .Net I/F와 명세(사용법) 선제공 (7/14일 제공 예정)– A대병원: .Net I/F와 사용법을 기반으로 스트레스 테스트에

필요한 작업 진행(Test Client와 스트레스 Test App. 등)

• 입력XML 작성– 6세부 : 입력XML 포맷 제공 (7/14일 제공 예정)– A대병원: 제공된 포맷을 기반으로 테스트에 사용할 XML 작성

• 지식이 탑재된 uBrain 제공– 6세부: 변환기 테스트 완료 후 uBrain제공 (확인 후 일정 전달)– A대병원: 설치 후 스트레스 테스트

2009-07-20

Page 52: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항 6: 세부 정보 처리

• 추가요구사항– 인터페이스 XML에 세부 정보를 담아달라– A 대 애플리케이션이 룰 처리와 상관없는 부가 정보 전달– 룰 처리 이후, 룰이 판단한 문제 약물 관련 부가 정보를 함께 반환

• 변경 영향 범위– 서비스 모듈 변경

• 변경 방법– 인터페이스 XML 이원화– A대 애플리케이션으로부터 서비스 모듈이 받는 인터페이스 XML과

서비스 모듈이 유브레인에게 전달할 인터페이스 XML을 달리 함– 서비스 모듈이 부가 정보를 담은 인터페이스 XML에서 유브레인이 필요로

하는 데이터만 추출하여 유브레인 전달용 인터페이스 XML 생성– 서비스 모듈은 부가 정보를 임시 저장소에 저장– 유브레인 처리 결과를 해석하여 키 값을 얻어내고, 임시 저장소로 부터 키

값에 해당하는 부가 정보를 검색하여 함께 출력 인터페이스 XML을 만들어A대 애플리케이션에 전달

Page 53: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항 6: 세부 정보 처리

• 입력 인터페이스 XML 처리 흐름

A대APP

서비스모듈

유 브레인

부가정보

룰 처리 정보+ 부가 정보

룰 처리 정보

부가정보

Page 54: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항 6: 세부 정보 처리

• 출력 인터페이스 XML 처리 흐름

A대APP

서비스모듈

유 브레인

부가정보

오류 ACT에 대한부가 정보를 담은XML

오류 ACT 코드 쌍

ACT 코드쌍에 대한 부가정보 획득

Page 55: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가 요청사항 7: 예외 처리

• 요구사항– 다음 경우에 시스템 장애로 애플리케이션에

응답해야 한다.• 서버가 죽었을 경우• 엔진이 죽었을 경우• 제한 시간내에 엔진이 응답을 만들지 못한 경우

• 수용• 변경 대상

– 서비스 인터페이스 모듈– 유 엔진

Page 56: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

DIA

Page 57: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

DIA Architecture

Converter

EVMR QueryGenerator

EVMR QueryGenerator

SAGESAGE

SAGE Knowledge

MappingEditor

(Terminology Mapping,

EMR Mapping)

MappingEditor

(Terminology Mapping,

EMR Mapping)

(Rule) Converter

(Rule) Converter

EVMR InterfaceModel GeneratorEVMR Interface

Model Generator

EMR QueryGenerator

EMR QueryGenerator

EMR InterfaceModel

Generator

EMR InterfaceModel

Generator

EVMRIM

EVMRQuery

EMR Supporter

Terminology /SchemaMapping Data

EMRQuery

EMRIF

AppAppQuery ExecutorQuery Executor

Operating Time

Converting Time

2009-05-08

Page 58: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

DIA Architecture (Run time)

AppApp Query ExecutorQuery Executor

uBRAINuBRAIN

EMR

EMR Query

Control DirectionLegend

Interface Model

2: AssembleInterface Model

3: Request to query to EMR 5: query to EMR

6: RequestFor Reasoning

4: Load Query1: Load Schema

2009-05-08

Page 59: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

DIA 확장

EMR QueryGenerator

EMR QueryGenerator

Query ExecutorQuery Executor

Oracle version

CCMversion

Oracle version

CCMversion

MappingEditor

(Terminology Mapping,

EMR Mapping)

MappingEditor

(Terminology Mapping,

EMR Mapping)

Oracle version

CCMversion

2009-05-08

Page 60: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항3: 매핑 관계 추가

• 변경 대상: 스키마 매핑 어플리케이션

• 변경 내용– 기존의 경우 ( HT의 사례)

• 병원 DB에서 하나의 DB 연결에서 그 하위의 테이블만을 매핑의대상으로 함

– 추가 사항(랩 사례)• 여러 DB를 연결하여 데이터를 가져와야 함• 각각의 DB연결을 만드는 것이 아니라, 하나의 연결DB에서

Database Link를 사용하여 다른 DB의 정보를 가져오는 것 임

• 스키마 매핑 어플리케이션에서 DB Link의 테이블도매핑이 가능하도록 해야 할 것임

2009-05-29

Page 61: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항3: 매핑 관계 추가

No VMR Context Concept Label Concept Description Table 명 field명 condition CIS 값 배율 비고Code

1 Observation EHRLAB01 /mm3 (qualifier value) serum WBC 결과값의 단위 SL0ITEMV TST_RSLTUNT 10^3/㎕ 10002 Encounter EHRLAB02 초진 현재진료과에 처음온자 APOPRSVT MEDTYPE 13 Observation EHRLAB03 Blast cells present (finding) serum 내 Blast cell 존재4 Observation EHRLAB04 Finding of glucose level (finding) serum glucose 결과값

복합의미를 지닌 용어 (아래 참고)앞 (테이블, 필드명,필드값) 조건을 모두 만족하면서 뒤(테이블, 필드명)을 가진환자의 필드값

5 Observation EHRLAB05 Finding of hematocrit (finding) serum Hct 결과값6 Observation EHRLAB06 Finding of potassium level (finding) serum potassium 결과값7 Observation EHRLAB07 Finding of Rh antigen type (finding) serum Rh antigen type 결과값8 Observation EHRLAB08 Finding of sodium level (finding) serum sodium 결과값9 Observation EHRLAB09 Finding of white blood cell number (finding) serum WBC 결과값

10 Encounter EHRLAB10 Inpatient (person) 방문형태가 입원환자임. moeexamt patsect I

11 Observation EHRLAB11 mEq/L (qualifier value)serum potassium 결과값의단위, serum sodium 결과값의단위

SL0ITEMV TST_RSLTUNT 〓 mmol/L 1

12 Observation EHRLAB12 mg/dL (qualifier value) serum glucose 결과값의 단위serum bilirubin 결과값의단위

SL0ITEMV TST_RSLTUNT 〓 mg/dL 1

13 Observation EHRLAB13 Negative (qualifier value) CBC blast 결과값, Rh 결과값newborn antibody 결과값

SLXWORKT TST_RSLT =0, -, ( )( )의 경우, 검사시행여부 Y인 경우, Negative로 판단

14 Encounter EHRLAB14 Nephrology department (environment) 신장내과 moeexamt dpcd IMN15 Encounter EHRLAB15 Outpatient (person) 방문형태가 외래환자임. moeexamt patsect O16 Encounter EHRLAB16 Patient (person) SLXWORKT PT_NO 환자교유인식코드17 Observation EHRLAB17 Percent (property) (qualifier value) serum Hct 결과값의 단위 SL0ITEMV TST_RSLTUNT 〓 %18 Observation EHRLAB18 Positive (qualifier value) CBC blast 결과값, Rh 결과값 SLXWORKT TST_RSLT >0, + 0초과시 positive

19 Observation EHRLAB19 year (qualifier value) 유효기간에 대한 단위 SLXWORKT UPDTETM ? YYYYMMDDhhmm

20 Observation EHRLAB20 Finding of Absolute neutrophil count (finding) ANC 결과값

21 Observation EHRLAB21 cells/uL (qualifier value) ANC 결과값의 단위

22 Observation EHRLAB22 platelets/L (qualifier value) serum platelets 결과값의단위

23 Observation EHRLAB23 Platelet finding (finding) serum platelets 결과값24 Observation EHRLAB24 Finding of bilirubin level (finding) serum bilirubin 결과값25 Observation EHRLAB25 newborn antibody present (finding) newborn antibody 존재

A병원 사례

2009-06-08

Page 62: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

추가요구사항3: 매핑 관계 추가

A병원 사례복합의미를 지닌 용어 Table 명 field명 field값 Table 명 field명 field값

3 Observation EHRLAB03 Blast cells present (finding) serum 내 Blast cell 존재 SL0ITEMV TST_cd L20129 SLXWORKT TST_RSLT4 Observation EHRLAB04 Finding of glucose level (finding) serum glucose 결과값 SL0ITEMV TST_cd L3005, L8137 SLXWORKT TST_RSLT5 Observation EHRLAB05 Finding of hematocrit (finding) serum Hct 결과값 SL0ITEMV TST_cd L2004, L8003 SLXWORKT TST_RSLT6 Observation EHRLAB06 Finding of potassium level (finding) serum potassium 결과값 SL0ITEMV TST_cd L3044, L8131 SLXWORKT TST_RSLT7 Observation EHRLAB07 Finding of Rh antigen type (finding) serum Rh antigen type 결과값 SL0ITEMV TST_cd L7021 SLXWORKT TST_RSLT8 Observation EHRLAB08 Finding of sodium level (finding) serum sodium 결과값 SL0ITEMV TST_cd L3043, L8130 SLXWORKT TST_RSLT9 Observation EHRLAB09 Finding of white blood cell number (finding) serum WBC 결과값 SL0ITEMV TST_cd L2001, L8004 SLXWORKT TST_RSLT

20 Observation EHRLAB20 Finding of Absolute neutrophil count (finding) ANC 결과값

22 Observation EHRLAB21 Platelet finding (finding) ANC 결과값의 단위

24 Observation EHRLAB22 Finding of bilirubin level (finding) serum platelets 결과값의단위

25 Observation EHRLAB23 newborn antibody present (finding) serum platelets 결과값

2009-06-08

Page 63: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

지원방안1: 진단 검사

• A 병원에 배포할 모듈– 지식 저작 환경 (EHR-CDSS Framework)- 변환기 포함 모듈– U-BRAIN (통합 지식 엔진)– 스키마 매핑 애플리케이션

• A병원에서 Lab 실행을 위한 저작 및 배포 프로세스– 지식 저작– 지식 변환– 스키마 매핑– 지식 실행

• 특이사항– 용어 매핑 애플리케이션은 배포하지 않아도 됨.– 용어 매핑 애플리케이션을 통해 만들어저야 하는 용어 매핑 결과 XML을 수작업으로

만들어서 지식 실행시 참조하는 것으로 진행– 이유

• 소량의 용어 매핑 수준• A 병원에 매핑 대상 용어가 없음

2009-06-10

Page 64: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

지식 저장소

Page 65: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

개정 이력

개정일 개정 내용 개정자 확인자

초기 작성-전체 목표 시스템으로 부터 분리

유스케이스 모델 및 요구사항 명세서 정리

WBS 추가

Oss 목록 및 아키텍처 추가

저장소 접근 법 수정- WBS 수정

Samson 미팅 후 Initial architecture 수정 (Change control 추가)

Page 66: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

개발 프로세스

Page 67: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

저장소 개발 프로세스

지식 정의단위 식별

지식 재사용방법 식별

메타 모델정의

저장소 구현

지식 특성 분석

확장 가능성확인

저장소 모듈설계

활용 가능한OSS 식별

저장소아키텍처 수립

활용 가능방법 확인

지식 관련성정의

지식 관리기능 정의

도메인 팀이 맡아주시면효율적일 것임

2009-05-08

Page 68: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

WBS

Seq 단게 Task 산출물 기간

1 분석 저장소 기능 정의 -유스케이스 모델- BMT 결과서

1.1 - 사용자 분석을 통한 저장소 기능 정의

1.2 - OSS 분석을 통한 저장소 기능 정의

1.2.1 . 후보 OSS 선정

1.2.2 . 설치 및 기능 분석

1.2.3 . 평가 결과 작성

1.3 Protégé 분석 - Protégé 환경 분석서

1.3.1 - Protégé Client-server 버전 분석

1.3.2 - Collaborative protégé 분석

1.3.3 - SAGE 플러그인 사용가능성 분석

1.4 초기 아키텍처 정의 - Initial architecture 정의서

1.4.1 - Protégé 연동 방안 분석

1.4.2 - 구성 모듈 개념도

2009-05-312009-06-23

Page 69: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

Initial Architecture

Page 70: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

Service Interface

Refined Architecture

nowledge

Informaticians

Knowledge Engineer

Knowledge Repository

KnowledgeRepository

CDS Service Layer

CaseDatabase

CDSS QualityDatabase

Doctor Nurse Staff

EHR Database

Common Service Layer

Terminology services

TerminologyServer

Event Listener

Guideline Viewer

Authoring Env

KnowledgeFramework

CDSS framework

Guideline Simulator

GuidelineDeployment tool

Guideline Converter

CDSS ApplicationCDSS Application

Inference

Server

Library for Medical

Knowledge Engine

Interface ServerInterface Server

Data Interface Adaptor

Query Generator

Mapping Engine

Data Interface Editor

Interface RepositoryInterface Repository

eVMR eVMR Profile for EMR

ResourceLocator

Page 71: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

CKMS-Initial Architecture

Service Log

Terminology

Knowledge portal

Clinical Content Model

Guideline Ontology

Service Definition

Encoding work product

Converted Knowledge

Knowledge Authoring Framework

Knowledge Converter

Knowledge Verifier

Version Control

Configuration Mgt

Discovery Service- Search & Navigation

Collaboration Service- Forum & Board

Access Control

Meta Data Mgt

Analytic Service

Content Layer

InterfaceLayer

ManagementLayer

RepositoryService Layer

File Server DBMSIntranet Service

- Mail, BBS

InfrastructureLayer 2009-05-08

2009-06-25

ChangeMgt

Page 72: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

기술 아키텍처

• 저장기의 기술 요구사항– SAGE + CVS + access control + 기타.. – SAGE에서 저작하고, 저장하면 저장소에

등록되어야 함– Java를 이용한 SAGE에서 동작하는 Plugin

2009-05-31

Page 73: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

기술 아키텍처

• 이슈– Protégé plugin 을 찾아야 한다.

• 저장소 클라이언트를 개발하는 것은 매우 어렵다• Protégé version 4.0 이상에서는 저장소 플러그인 활용이

가능하지만• 3.0 버전에서는 존재 하지 않음 è ???????

– 다양한 protégé 버전이 존재 함• 예

– 3.4.1 버전에는 client-server 버전이 존재함– Collaborative protégé도 따로 있음

• 다양한 버전에 대한 분석이 필요함– 공동작업을 위해 제공하는 기능 리스트

» 형상관리, 변경관리, 접근 제어 등– SAGE 플러그인과 연동 가능한가

2009-05-312009-06-23

Page 74: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

요구사항 정의서

Page 75: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

사용 시나리오

• 시나리오 11. 도메인 전문가가 저작기를 이용해서, 가이드라인(지식)을

저작한다.2. 도메인 전문가는 저작된 지식을 포탈에 등록한다.3. 가이드라인을 적용하려는 병원 IT전문가는 포탈에서 적합한

가이드라인을 검색하여 다운로드 받는다.4. 병원 IT전문가는 다운로드받은 지식을 변환기를 이용해 변환한다.

• 시나리오 21. 도메인 전문가는 저작기를 이용해서 가이드라인을 저작한다.2. 도메인 전문가는 저작에서 저장소로 가이드라인을 등록한다.3. 도메인 전문가는 변환기를 이용해서 변환한다4. 변환한 지식을 저장소에 등록한다.5. 병원 전문가들은 포털에서 저장소에 등록된 지식을 검색한다.

2009-05-15

Page 76: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

유스케이스 모델

• Actor– 도메인 전문가– 지식 저작 전문가– 일반 의료 전문가.

• 유스케이스(기능 요구사항)– 지식 저작 과정의 산출물을 저장– EHR지식 프레임워크 저작 결과물 저장– 변환 지식 저장– 산출물, 저작 결과물, 변환 지식간 연결성 정의 (형상관리)– 변경 관리– 권한 관리– 검색/조회 기능– 다운로드– 로그 관리

2009-05-15

Page 77: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

기술 요구사항

• 저장기의 기술 요구사항– SAGE + CVS + access control + 기타.. – SAGE에서 저작하고, 저장하면 저장소에

등록되어야 함– Java를 이용한 SAGE에서 동작하는 Plugin

2009-05-15

Page 78: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

적용 범위(1차)

• 형상관리의 대상– 고혈압 지식 v1 형상

• SAGE 가이드라인 V3 + • 변환 지식 V3 + • 서비스 정의서 V5 + • 테스트 케이스 V2

2009-05-15

Page 79: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

분석 OSS

Page 80: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

후보 OSS 목록

OSS 명 URL 특성

Archiva http://archiva.apache.org/ Configuration management Tool로 활용 가능함

ApacheJackrabbit

http://jackrabbit.apache.org/getting-started-with-apache-jackrabbit.html

Content Repository for Java Technology API (JCR)제공으로 인하여 다양한응용이 가능할 듯함

2009-06-10

Page 81: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

Jackrabbit Architecture

2009-06-10

Page 82: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

검증기

Page 83: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

개정 이력

개정일 개정 내용 개정자 확인자

초기 작성-전체 목표 시스템으로 부터 분리

WSB 재작성

1차 요구사항 (개념, 범위) 정의

Page 84: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

WBS

2009-06-01

Task Level Task 기간1 지식 검증 방법론 수립 (문서)

1.1 의료 지식 검증 방법 조사/분석 6월1.1.1 의료 지식 검증 방법론 Overview1.1.2 Guideline interchange format별 테스트 사례 조사

1.2 룰 기반 비즈니스 규칙 검증 방법 조사/분석 6월1.2.1 룰 처리 엔진의 테스트 커버리지에 대한 문헌 조사1.2.2 단위 룰 검증을 위한 테스트케이스 생성 방법론 (Decision/Condition) 조사

1.3 프로세스 검증 방법 조사/분석 6월1.3.1 프로세스의 테스트 커버리지에 대한 문헌 조사1.3.2 상태/ 경로 기반의 테스트 케이스 생성 방법론 (State, Path) 조사

1.4 EHR-CDSS 지식 검증 기법 수립 7월1.4.1 테스트 방법론 조사1.4.2 EHR-CDSS의 특성 정의 (커버리지, 테스트 케이스 수, 오류율 등)1.4.3 예제 가이드라인(HtMgt)를 바탕으로 테스트 방법론 검증1.4.4 EHR-CDSS 지식 검증을 위한 테스트 방법론 선정1.4.5 적정 케이스 수 결정

1.5 검증 프로세스 수립 7월1.5.1 검증을 위한 요구사항 수립1.5.2 시나리오 수립 (역할, 프로세스)1.5.3 자동화/반자동화 영역 설정

Page 85: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

검증기 활용 프로세스(안)

지식 저작

(EHR저작Framework)지식 변환 지식 실행

인터페이스모델

도메인모델

프로세스지식

룰지식

테스트 케이스 생성

테스트 케이스 생성 테스트 케이스 실행

레포트예상결과테스트

데이터

테스트

케이스

2009-05-08

Page 86: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

검증기 개발 프로세스

지식 검증대상 식별

지식 검증기법 정의

저장소 구현

지식 특성 분석

적용 가능 테스팅기법 식별

테스팅 기법 정리

테스팅 알고리즘설계

지식 검증절차 정의

도메인 팀이 맡아주시면효율적일 것임

2009-05-08

Page 87: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

지식 검증의 필요성

• 저작자의 원 지식과 지식으로부터 도출된 결과물과의 사이에는 반드시차이가 발생 → 100% 완전한 지식의 구현이란 있을 수 없음

• 테스트는 오류를 발견하는 활동일 뿐, 산출물의 완전함을 보증하는 것이아님

• 따라서 이미 완성된 결과물의 품질을 높이는 활동보다는, 저작과정에서올바른 지식을 모델링하는 체계의 확립이 근본적으로 중요함

지식 검증의필요성

• 아폴로 11호의 시스템 신뢰성 (99.9999999% -> Nine-Nine)

• 일반적인 상용 S/W의 목표 품질 (5~6sigma : 99.99x%)

• CDSS의 임상 지식 표현의 목표 정확도 (99.98%)

• CDSS의 테스트와 검증 수준은 아직 초기 단계에 머무르고 있음

• 따라서 일반적인 테스트 도구를 그대로 적용하기는 어려우며 현 수준과목표에 맞는 검증 방법론이 필요

CDSS에서의지식 검증 수준

2009-06-17

Page 88: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

기존의 검증 관련 연구

경험적 테스트케이스

Offline Testing이 대부분

전문가가 만든 테스트 케이스의 결과를 동일한 입력이 주어졌을때의 시스템 수행 결과와 비교

(Sailors 1996, Wang 2004, Paul 2004, Martins 2006 …)

사후 검증 수동적

지식 모델로부터 테스트케이스 생성

지식 저작 과정에서부터검증

자동화된 테스트 케이스생성과 비교 분석

지식 모델을 논리적으로커버하지 못함

제한된 테스트 케이스

지식이 완전히 구현되어실행된 후에 검증 가능

테스트 케이스를 일일이생성하고 비교 분석해야함

기존 방식의특성

개선방향

문제점

2009-06-17

Page 89: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

uBrain 가이드라인의 검증 프로세스

• 실행 가능한 지식은 원작자의 원형으로부터 최종적으로 검증된 상태에이르기까지 여러 절차를 거침

• 지식이 검증될 수록 유효성과 정확도는 높아지며, 지식의 범위는 줄어들어명료한 프로세스와 룰의 형태로 남게 됨

• uBrain은 Sage Guideline을 Executable, Verified, Validated하도록 만드는 역할수행

2009-06-17

Page 90: 8. 목표 시스템 [복구] · CCM분석및 환경/지식추가 분석 엔진 확장/튜닝 C병원을 제외하면 각병원에서 맡아야함 C병원을 제외하면 각병원에서

모델로부터의 테스트케이스 생성

• 경계값을 이용한 개별 룰의 테스트 케이스 생성

Ex) If (SerumK > 6.5) then Action

INPUT (SerumK) OUTPUT

6.51 Action

6.5 Action

6.49 NULL

•Condition/Deicsion Coverage를 이용한 테스트케이스 생성

Ex) If ( DM == true AND CHF==true) then Action

DM CHF OUTPUT

True True Action

True False NULL

False True NULL

• Path Coverage를 이용한 프로세스의테스트 케이스 생성

Ex) A – (B1 or B2) – (C1 or C2) - D

A B1 C1 D

A B2 C2 D

A B1 C2 D

A B2 C1 D

2009-06-17