2016-09-02 2 views
0

전 Mirth Connect 및 Interface에 완전히 익숙합니다.Build 2 Mirth 채널 연결

요구 사항은 아래에 있습니다 :

변경이 환자의 입원에 적용 할 때마다 RIS에서 환자의 위치를 ​​업데이트하기위한 HL7의 ADT 인터페이스 (방사선과 정보 시스템)를 구축 할 수 있습니다.

인터페이스 트리거 : 1- 환자 새롭게 2- 환자가 병원 또는 ED로부터 배출 -3- 환자가 다른 4- 환자에게 하나 개의 유닛으로부터 전송되는 입원 ED 인정된다.

환희 채널 : - 환자 테이블과 환자 배 이름 O 환자 ID 오 방문/전송 로그 테이블 (FNAME, MNAME, LNAME) 에서 위의 트리거와 데이터베이스에서 다음과 같은 정보를받을 것으로 예상된다 방문 O 형 이전 단위 O 이전 침대 O 현재 입학 날짜 오 전류 단위 ㅇ 현재 침대 O 환자 전체 주소 O 환자 전화 오 환자 나이 O 환자 결혼 여부 오 출생 의 오 환자 일 (IN , ED, OUT) O 이벤트 종류 오 이벤트 날짜

  • 는 공통점을위한 세 가지 RIS 인바운드 ADT 인터페이스를 분석합니다.

  • 가 입학/전송/방전 로그를 집어 구간 - 기반 채널을 구축 O ADT A01 (인정/구경 통지) O ADT A02 (이동 환자) O ADT A07 (외래로 변경 입원) 실제 HIS DB 을 시뮬레이션하는 더미 SQL 데이터베이스 구축 - - 열 최소한으로 2.1.2에서 참조 모델과 구조화 된 테이블을 빌드 : 및 RIS

데이터 준비

에 HL7 메시지를 실행합니다. 추가 필드를 추가해야 할 수도 있습니다.

환희 채널 RIS 시뮬레이터 : - 승인 메시지가 포함됩니다 - 채널 상관없이 성공적인 확인 응답하지 않습니다 - 방사선과 정보 시스템 (RIS)을 시뮬레이션으로 특정 포트에 수신 채널 만들기 동일한 "메시지 제어 ID"가 수신되었습니다. 모든 HL7 메시지에는 고유 한 메시지 ID가 있습니다.

Mirth Channel ADT 인터페이스 : - 준비된 데이터에서 읽을 채널을 만듭니다. - 간격 기반입니다. 예 : 매 5 분마다 - 시뮬레이트 된 데이터베이스에서 읽은 다음 아직 보내지 않은 필터 레코드를 읽습니다. - 구현할 두 가지 유형의 트리거를 선택하십시오. - 이벤트 유형에 따라 다릅니다. 각각의 HL7 메시지를 [인바운드 가이드 라인을 부착] 공식화 - RIS 시뮬레이터 에서 확인 메시지를 기대 - 당신의 요구 사항에서 다시 다음 5 분 간격

답변

0

을 전송되지 않도록 성공적인 응답이 수신 될 때 플래그 데이터를 전송 하나의 채널을 이해할 수 있습니다. (나는.전자 마스 채널 ADT 인터페이스) 당신에게 다른 채널이 필요합니다. Mirth channel RIS 시뮬레이터

대략 코드베이스를 제공합니다.

SQL 견본 데이터베이스를 작성하게됩니다. 나는 여기에 MySQL 데이터베이스를 만들었습니다. 당신이 특정 코드를 생성 할 수 있습니다,이 후

enter image description here

: 당신은 DB를 생성하면

enter image description here

, 당신은 아래 그림 쇼로 환희에 소스를 구성해야 소스 변압기에있는 HL7V2. 다음과 같은 자바 스크립트 코드를 사용

var uniqueControlID = UUIDGenerator.getUUID(); 
var date = DateUtil.getCurrentDate("YYYYMMdd"); 

//Field change on data 
tmp['MSH']['MSH.7']['MSH.7.1'] = date; 
tmp['MSH']['MSH.9']['MSH.9.1'] = "ADT"; 

if(msg['patientinfomation_eventtype']=="IN") 
{ 
    tmp['MSH']['MSH.9']['MSH.9.2'] = "A01"; 
} 
if(msg['patientinfomation_eventtype']=="ED") 
{ 
    tmp['MSH']['MSH.9']['MSH.9.2'] = "A02"; 
} 
if(msg['patientinfomation_eventtype']=="OUT") 
{ 
    tmp['MSH']['MSH.9']['MSH.9.2'] = "A07"; 
} 

tmp['MSH']['MSH.10']['MSH.10.1'] = uniqueControlID; 
tmp['MSH']['MSH.11']['MSH.11.1'] = "T"; //note it can be either D,P,T,A,R,I 
tmp['MSH']['MSH.12']['MSH.12.1'] = "2.4"; // Assuming we receive 2.4 version of HL7V2 message 

//PID segment 
tmp['PID']['PID.1']['PID.1.1'] = msg['patientinfomation_patientid'].toString(); 
tmp['PID']['PID.5']['PID.5.1'] = msg['patientfirstname'].toString(); 
tmp['PID']['PID.5']['PID.5.2'] = msg['patientlastname'].toString(); 
tmp['PID']['PID.5']['PID.5.3'] = msg['patientmiddlename'].toString() 
tmp['PID']['PID.7']['PID.7.1'] = msg['patientinfomation_patientdob'].toString(); 
tmp['PID']['PID.13']['PID.13.1'] = msg['contactnumber'].toString(); 
tmp['PID']['PID.16']['PID.16.1'] = msg['maritalstatus'].toString(); 

이 같은 HL7 아웃 바운드 변압기에 코드 템플릿을 정의 : 사용자가 채널을 배포 할 때

MSH|^~\&|||||||^||| 
PID|||||||||||||||||||| 
EVN|||||||||||||||| 

당신이 원하는 출력을 얻을 것이다.

0

또 다른 방법은 아웃 바운드 메시지 템플릿 필드에 아래 템플릿을 붙여과 oubound 메시지 템플릿의 사람들과 인바운드 메시지 템플릿에서 필드를 매핑하는 것이다

MSH |^~ \ & | AccMgr | 1 || | 20050110045504 || ADT^A01 | 599102 | P | 2.3 ||| EVN | A01 | 20050110045502 ||||| PID | 1 || 10006579 ^^^ 1^MRN^1 || 오리^DONALD^D || 19241010 | M || 1 | 111 오리^^ FOWL^CA^999990000 ^^ M | 1 | 8885551212 | 8885551212 | 1 | 2 || 40007716 ^^^ AccMgr^VN^1 | 123121234 ||||||| NO NK1

관련 문제