2016-09-02 10 views
0

私はMirth ConnectとInterfaceのものに全く新しいです。Build 2 Mirthチャンネルを接続する

要件は、のように下にある:変更は患者の入院に適用するたび

はRISに患者の位置を更新するためのHL7のADTインターフェース(放射線情報システム)を構築します。

インタフェーストリガ:1-患者は新たに2-患者がED又は病院から排出される 3-患者が別の -4-患者に一つのユニットから転送された病院に入院されたED に収容されています。

マースチャンネル: - 患者テーブルと患者トリプル名前O患者ID O訪問/転送ログテーブル (ます。FName、MNAME、LNAME) から上記トリガと、データベースから次の情報を受信するように期待されています(IN訪問O型 前のユニットO 前のベッドO現在の入学日 O 現在の単位O 現在のベッドO 患者電話O患者の全アドレス O患者の年齢 O患者婚姻状況 O誕生 の患者の日O 、ED、OUT) Oイベントの種類 Oイベント日

  • は共通のための3つのRISインバウンドADTインターフェースを分析します。 ADT A02 O ADT A01(/訪問通知を認める) (患者を転送) O ADT A07(外来患者への変更入院)

  • 入院/転送/放電ログを選ぶ間隔ベースのチャネルを構築O 本当のHIS DB をシミュレートしますダミーのSQLデータベースを構築する - - 列の最小セットとして、2.1.2で参照モデルと構造化されたテーブルを構築しますし、RIS

データ準備

にHL7メッセージを発行します。フィールドを追加する必要があるかもしれないことに注意してください。

マースチャンネルRISシミュレータ: - 放射線情報システム(RIS) をシミュレートするよう、特定のポートを監視チャネルを作成します - 確認メッセージが含まれています - チャネルはどんな 成功した確認応答で応答しません同じ「メッセージ制御ID」が受信された。すべてのHL7メッセージに固有のメッセージIDがあります

マースチャンネルADTインターフェイス: - 準備されたデータから読み取るチャンネルを作成します。 - インターバルベースです。たとえば、5分ごとに - シミュレートされたデータベースから読み込み、まだ送信されなかったレコードをフィルタリングします。 - 実装する2種類のトリガーを選択してください。 - イベントタイプに基づいています。それぞれのHL7メッセージを[インバウンドガイドラインが添付されている]策定 - RISシミュレータ から確認メッセージを期待 - それはあなたの要件から、再び次の5分間隔

答えて

0

に送信されないように、成功した確認応答を受信したときにフラグがデータを送信し私は1つのチャンネルを理解することができます。 (私。eマースチャンネルADTインターフェイス)私はあなたに他のチャンネルの特異性が必要です。マストチャンネルRISシミュレータ

私は大まかにコードベースを提供します。

あなたはSQLサンプルデータベースを作成します。私はここにMySQLデータベースを作成しました。あなたがあなたの特定のコードを作成することができ、この後

enter image description here

:あなたがDBを作成したら

enter image description here

は、あなたは下の写真のショーとして笑いにソースを設定する必要がありますソーストランスのHL7V2。次のJavaScriptコードを使用します。

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 || DUCK^DONALD^D || 19241010 | M || 1 | 111 DUCK ST ^^ FOWL^CA^999990000 ^^ M | 1 | 8885551212 | 8885551212 | 1 | 2 || 40007716 ^^^ AccMgr^VN^1 | 123121234 ||||||| NO NK1

関連する問題