Mirth Connect的簡單使用


第一步: 切換到Channels界面,右鍵點擊New Channel

 

 

第二步 : 上面是設置一些通道信息。

 

 

其中summary(概要) 界面主要包含 通道名稱,數據類型,依賴,通道初始狀態,附件(是否存儲附件),Tag(標簽)

 

  1. 輸入通道的名字 例如: Simple Channel
  2. 添加通道標簽,如Test,標簽的作用用於以后對通道進行分類
  3. 設置入站和出站格式: HL7v2.x

 

 

4.點擊“Save Changes”保存通道

 

 

 

第三步: 配置Source Connector(源連接器)

切換到Source標簽,來配置源連接器,用於指定管道怎么從通道中讀取消息,為了試驗的目的,我們選擇的是Connector Reader,從Mirth Conect Administrator接口發送消息,因此不要任何應用測試我們創建的通道

 

通道的類型有很多,包括: Channel Reader,DICOM Listener,Database Reader,File Reader,Http Listener,JMS Listener,JavaScript Reader,TCP Listener,Web Service Listener.

接下來,我們將設置Source Connector。為了簡單起見,我們將選擇一個包含HL7消息的文件。在現實世界中,我們可能會通過TCP / IP(也在外面)接收它。

 

 

第四步:配置Destinations

將目標連接器設置為文件寫入器。將文件夾指定為F:\04-ADT\Test\Mirth\Out(或您自己的首選項)。在此示例中,我們還使用Mirth提供的變量定義了輸出文件名。確保您的模板在下面匹配至關重要。

接下來,單擊左側菜單上的Edit Transformer。這是我們定義轉換規則的地方。

 

為了向我們提供數據外觀的參考,我們將要添加入站消息模板。單擊右側的“消息模板”選項卡,然后使用以下示例:

MSH|^~\&|SIEMENS|HOSPITAL-A|CERNER|HOSPITAL-A|201401291848||ADT^A01|1912340911|P|2.3|||AL|NE|
EVN|A01|201401291848|||REJKB1
PID||ABC123|987654|ALT789|PETTY^TOM^^^^||19781218|M||2106-3|10144 MAPLE AVE^^IRVINE^CA^92614||(949)123-1234|||||0053820452|220675537||AME||||1|||||
PV1||I|S-2302-1^S-2302^A|C|||1111111^PINA|||SUR|||||A0||1111111^PINA|S||S|P||||||||||||||||||IAH|||||201401291848|
PV2||D|42.41^Partial esophagectomy^I9|||||201401290900|201401310900|3|3||||||||||||||||||||||||||

 

 

 

 

現在,單擊Message Tress選項卡以在解析的結構中查看該數據。當您展開各個細分/字段時,Mirth將細分示例數據並顯示給您。

我們這樣做的原因是可以拖放訪問正確的字段名稱。您可以將帶有綠點的字段拖到編碼窗口

好!

我們現在開始配置轉換器,我們點擊左側Edit Transformer,Transformer Tasks界面。 我們新建一個Step.然后選擇,Type = JavaScript

 

 

以下測試代碼幫我們完成四件事:

  • 將HL7版本設置為2.4
  • 將發件人ID重新分配給Mirth
  • 將日期和時間更新為MSH段中的當前時間
  • 在EVN段中用00秒填充日期和時間秒
  • 強制Admit Reason為大寫
  • 強制執行目的地的性別列表。基本上,如果我們遇到了意想不到的性別,我們會將其指定為其他的“O”。以下列表是翻譯成代碼的內容:

 

 

// revise to version 2.4
msg['MSH']['MSH.12']['MSH.12.1'] = '2.4';

// sender id
msg['MSH']['MSH.3']['MSH.3.1'] = 'MIRTH';

// update datetime
msg['MSH']['MSH.7']['MSH.7.1'] = DateUtil.getCurrentDate('yyyyMMddhhmmss');

// Add two digits of seconds if they aren't there.
if (msg['EVN']['EVN.2']['EVN.2.1'].toString().length <= 12)
{
msg['EVN']['EVN.2']['EVN.2.1'] = PadString('00000000000000', msg['EVN']['EVN.2']['EVN.2.1'].toString(), 0);
}

// Check whether or not gender meets requirements of the destination system. Set to 'O' if not.
switch(msg['PID']['PID.8']['PID.8.1'].toString().toUpperCase())
{
case 'F':
msg['PID']['PID.8']['PID.8.1'] = 'F';
break;
case 'M':
msg['PID']['PID.8']['PID.8.1'] = 'M';
break;
case 'O':
msg['PID']['PID.8']['PID.8.1'] = 'O';
break;
case 'U':
msg['PID']['PID.8']['PID.8.1'] = 'U';
break;
case 'A':
msg['PID']['PID.8']['PID.8.1'] = 'A';
break;
case 'N':
msg['PID']['PID.8']['PID.8.1'] = 'N';
break;

default: msg['PID']['PID.8']['PID.8.1'] = 'O';
}

// Set admit reason to all upper case
msg['PV2']['PV2.3']['PV2.3.2'] = msg['PV2']['PV2.3']['PV2.3.2'].toString().toUpperCase();
//

 

 

 

在第13行,您會注意到我們調用了一個名為PadString的函數。函數的作用呢,很簡單啦,就是我們在某一個地方定義函數,在Mirth Connect中的所有Channel都可以使用啦。

那么,在什么地方定義函數呢?? 請返回主通道菜單並創建代碼模板庫,添加以下模板功能。/**

 

 


Modify the description here. Modify the function name and parameters as needed. One function per
template is recommended; create a new code template for each new function.

@padchars Example '0000000000' – pad with 0's to 10 digits total
@str your input string
@padLeft 1 for left or 0 for right

@return {String} return description
*/
function PadString(padchars, str, padLeft)
{
if (typeof str === 'undefined')
return padchars;
if (padLeft) {
return (padchars + str).slice(-padchars.length);
} else {
return (str + padchars).substring(0, padchars.length);
}
}

 

 

OK!! 現在,讓我們回到我們主界面並部署它。

 

 

 

我在F:\04-ADT\Test\Mirth\In  文件中設置一個示例文件,名為SimpleHL723.txt

內容如下:

MSH|^~\&|SIEMENS|HOSPITAL-A|CERNER|HOSPITAL-A|201401291848||ADT^A01|1912340911|P|2.3|||AL|NE|
EVN|A01|201401291848|||REJKB1
PID||ABC123|987654|ALT789|PETTY^TOM^^^^||19781218|M||2106-3|10144 MAPLE AVE^^IRVINE^CA^92614||(949)123-1234|||||0053820452|220675537||AME||||1|||||
PV1||I|S-2302-1^S-2302^A|C|||1111111^PINA|||SUR|||||A0||1111111^PINA|S||S|P||||||||||||||||||IAH|||||201401291848|
PV2||D|42.41^Partial esophagectomy^I9|||||201401290900|201401310900|3|3||||||||||||||||||||||||||

 

 

 

 

我們可以看到,我們的轉型已經生效

 樊逢佳主頁: http://exciton.ustc.edu.cn/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM