第三課:信道学习Source Connect Reader & Destinations File Writer
第一步: 切换到主信道(Channels)界面,右键点击新建信道(New Channel)
第二步 : 下面是设置一些信道概要(Summary)信息
其中summary(概要) 界面主要包含 信道名称,数据类型,依赖,信道初始状态,附件(是否存储附件),Tag(标签)
输入信道的名字 例如: Simple1
添加信道标签,如Test,标签的作用用于以后对信道进行分类
设置入站和出站格式: 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.
第四步:配置目标通道(Destinations Connector)
将目标通道设置为文件写入器File
Writer。将文件夹指定为F:\MirthConnect\Test\Out,文件名指定为out.hl7。
第五步:接下来,选择Source页签,单击左侧菜单上的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都可以使用。
那么,在什么地方定义函数呢??
第六步:请返回主信道菜单(Channels)并创建代码模板库,添加以下代码模板功能
/**
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!!
第七步:信道Simple1指定依赖的自定义库函数
第八步:现在,让我们回到我们信道主界面并部署它
在F:\MirthConnect\Test\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||||||||||||||||||||||||||
第九步:按以下步骤发送SimpleHL723.txt文件内容到Simple1信道
这时,打开F:\MirthConnect\Test\Out目录中out.hl7文件即可看到已经HL2.3转换为HL72.4,如下:
总结以下,通过这个示例,我们学习了Mirth
Connect的以下知识:
1.创建信道Channel的操作步骤
2.创建自定义函数模板Edit
Code Templates的操作步骤
3.学习了Source中Edit
Transformer的转换JS操作
4.学习了Source的Connect
Reader通道;Destinations的File
Writer通道。
第三課:信道学习Source Connect Reader & Destinations File Writer的更多相关文章
- .NET Remoting学习笔记(三)信道
目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 参考:♂风车车.Net .NET Framework ...
- 【转载】.NET Remoting学习笔记(三)信道
目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 参考:♂风车车.Net .NET Framework ...
- Oracle学习笔记—connect、resource和dba三种权限(转载)
转载自: connect.resource和dba三种标准角色: 授权语句: grant connect ,resource,dba to user with admin option; (注意:其中 ...
- C#中的线程三 (结合ProgressBar学习Control.BeginInvoke)
C#中的线程三(结合ProgressBar学习Control.BeginInvoke) 本篇继上篇转载的关于Control.BeginInvoke的论述之后,再结合一个实例来说明Cotrol.Begi ...
- 三、Android学习第三天——Activity的布局初步介绍(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下 ...
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB
JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...
- 精通ASP.Net MVC 3 框架(第三版)学习笔记
精通ASP.Net MVC 3 框架(第三版)学习笔记 代码才是王道. http://pan.baidu.com/s/1pJyL1cn
- 测试Remoting三种信道Http,Tcp,Ipc和Web Service的访问速度 (转)
Remoting和Web Service是.net中的重要技术,都可用来实现分布式系统开发,如果是不同的平台就只能选择Web Service,但如果是同一平台,就都可以选择了.到底选择那种,当然还有访 ...
- JavaWeb学习总结(三)——Tomcat服务器学习和使用
收藏 JavaWeb学习总结(三)——Tomcat服务器学习和使用 http://www.cnblogs.com/xdp-gacl/p/3744053.html
- .NET Remoting三种信道Http,Tcp,IPC和Web Service的访问速度比较(转)
Remoting和Web Service是.net中的重要技术,都可用来实现分布式系统开发,如果是不同的平台就只能选择Web Service,但如果是同一平台,就都可以选择了.到底选择那种,当然还有访 ...
随机推荐
- Django:Nginx 启动,无法加载样式,无法加载静态文件
一般是由于 Nginx 配置文件的问题 # 编辑 Nginx 配置文件 vim /etc/nginx/nginx.conf # 如果出现下面这个 use nginx 就需要改成 use root 保存 ...
- TomCat 的 Jenkins 提示:你的容器没有使用UTF-8解码URL地址
1.编辑 Linux 系统的 Tomcat 安装目录的 conf 目录的 server.xml 文件 2.在 <Connector> 追加内容 URIEncoding="UTF- ...
- FTP的安装和使用
实验环境: windows server虚拟机一台 网络适配器:vmnet1 ip:192.168.1.220 一.安装FTP服务 打开服务器管理器 点击添加角色,勾IIS,点击下一步直到对话框消失 ...
- 记录--新的HTML标签 :<search>
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本文介绍了一种新的HTML元素搜索方法,并提供了一个实用的工具来帮助开发者快速找到所需的元素.这对于那些需要处理大量HTML元素的开发者来 ...
- 记录--9个封装Vue组件的小技巧
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 组件是前端框架的基本构建块.把它们设计得更好会使我们的应用程序更容易改变和理解.在这节课中,分享一下在过去几年中工作中学到的 9 个技巧. ...
- 【面试】将 95% 求职者拒之门外的BAT大数据面试题-附解题方法(文末有福利)
写在前面 最近不少读者找我要大数据面试题,我整理了很久,筛选出这10道容易出错的大数据面试题,希望对大家有所帮助.题目与解答整理自互联网,感谢分享这些面经的技术大牛们! 题目概览 如何从大量的 URL ...
- Linux开发相关命令整理
1. 反转shell 2. ldd 3. objdump 4. ldconfig 5. telnet 6. nc 7. netstat 8. ss 9. tcpdump 10. lsof 11. st ...
- S7Comm报文详解
S7协议是西门子公司为其S7系列PLC(可编程逻辑控制器)通信而设计的一种专用协议.S7协议主要用于西门子PLC之间的通信,以及PLC与其他设备的通信.该协议支持多种通信方式,如MPI(多点接口).P ...
- 【已解决】启动Hmaster失败 master.HMaster: Unhandled exception. Starting shutdown.
- #线段树,树状数组#CodeChef Merciless Chef
MLCHEF 分析 首先按照dfs序将子树转换为区间,其实就是区间减和区间维护最小值判断是否大于0 因为大于0一定最多只有 \(n\) 个,所以直接将一个数记录被删除并设为正无穷. 代码 #inclu ...