MirthConnect第三章创建通道
第三章创建通道
引⼦:本章是最基本的操作,有详实的图⽚,供⼤家参考,向后章节就不会这么详细了,因为⼤多数基本操作都在这⾥介绍了。
本章介绍了通道的真实环境实现,及⽣命周期,每⼀个组件最基本的概念。希望⼤家能喜欢,多谢⽀持,学习,交流。
现在,让我们挽起袖⼦⼲活:创建通道。我们会创建⼀个简单的通道,接受⼀个HL7v2消息并转存成⽂件。
如果Mirth Connect Server还没启动,通过Mirth Connect Server Manager启动服务,然后启动Mirth Connect Administrator。在管理员界⾯上,左侧Mirth Connect中,切换到Channels项,注意多出了个Channel Task可折叠的导航栏。
图3-1 导航栏
在这⾥选择"New Channel",看到如下界⾯:
图3-2 通道概述窗⼝
界⾯中相关描述如下:
1 输⼊通道的名字 例如: Simple Channel
2 添加通道标签,如Test,标签的作⽤⽤于以后对通道进⾏分类。
3 设置⼊站和出站格式:HL7v2.x
4 点击“Save Changes” 保存通道。
OK,简单的通道创建完毕。
Source Connector(源连接器)
切换到Source标签,来配置源连接器,⽤于指定管道怎么从通道中读取消息,为了试验的⽬的,我们选择的是Connector Reader,从Mirth Connect Administrator接⼝发送消息,因此不需要任何应⽤测试我们创建的通道。
图3-3 源连接器设置
很明显,对于连接器类型Channel Reader没有更多项的配置,其他的选项会有更多的配置项,⾃⼰可以切换⼀下看看。在左边任务栏中的Channel Task⾥有Edit Filter和Edit Transformer,本实验于此⽆关,我们添加⼀个Filter,让⼤家熟悉这个过程,由于我们的实验不需要Filter,实验后删除掉它。点击Edit Filter切换如下界⾯:
图3-4 源连接器过滤器
在任务栏和右键菜单中都有关于Filter的菜单项。我们选择Add New Rule,
图3-5 规则过滤器
在类型列需要双击才能选择过滤器的类型,我们选择javascript,并双击name列重命名这个过滤器,在规则中可以写js脚本。
图3-6 过滤器操作
我们右键删除刚刚创建的Filter,并单击左侧任务栏中的Back to Channel,返回到Source Connector。Transformer转换器的操作过程与Filter类似。
如果创建了过滤器或转换器,需要校验是否正确,那么就单击Validate Connector.
图3-7 源连接器验证
我们看到已经成功的校验了,单击Save Changes 保存即可。
当然不但通道可以导出,过滤器和转换器⼀样可以导出。
TMP(模板对象) MSG(消息对象) Message(消息)
如果你曾经为某个通道创建过转换脚本,或阅读这⽅⾯的知识,你可能已经知道有两个魔法变量,他们就是"tmp"和"msg",你可以⽤这两个变量来调整⼊站和出站消息。
那么,他们是什么,从哪⾥来,为什么Message在⼀个地⽅,⽽msg在另外的地⽅?
为了回答这些问题,咱们预习或复习⼀下Mirth引擎是怎样处理即将到来的消息和传递消息。
Attachment Script 附件脚本
这是消息会遇到的第⼀个关⼝。这个阶段的⼊站消息是⼀个可访问的消息对象,此时还没有存⼊数据库,因此,你可以在这⾥写脚本对数据进⾏判断,有可能某种原因不让它进⼊数据库,⽐如字符编码问题,不符合进⼊你的数据库,就要删掉它。
Preprocessor Script 预处理脚本
在⼊站消息遇到Preprocessor之前,会被以原始格式存⼊数据库。因此,即使消息被修改了,原始内容仍然存在,在Global全局和Channel Preprocessor的脚本⾥,⼊站消息对象可以通过Raw().getContent()访问。
Source Filter and Transformer Scripts 源过滤器和转换器脚本
事实上,过滤器脚本和转换器脚本会被合并成⼀个脚本执⾏,就像这样:
if (doFilter() == true){
doTransform();
return true;
} else { return false; }
不管你给过滤器添加了多少个规则,也不管你给转换器添加了多少个转换步骤,最终都会被合并成⼀个单独的脚本。在执⾏这个脚本
前,Mirth 引擎为⼊站消息添加如下⼀⾏创建满⾜ECMAScript和XML规范的消息对象:
msg = new TransformedData());
如果你在出站消息模板窗⼝提供了消息模板,引擎也为出站消息添加满⾜E4X XML规范的对象:
tmp = new XML(template);
在这个阶段,⼊站出站消息可以被直接访问到:
在Preprocessor步骤上,数据库只包含被存储的原始消息。⼀旦Mirth引擎失败,当重启的时候,引擎会再次提取存储原始消息进⾏处理。
如果你没有提供出站模板或显⽰声明tmp实例,那么msg实例就会被作为源连接器的出站消息。
Destination Filter and Transformer Scripts ⽬标过滤器和转换器脚本
⽬标的过滤器和转换器类似于源过滤器和转换器。Mirth引擎创建msg和tmp实例处理⼊站和出站消息。根据上⾯的陈述,在这个阶段⼊站出站消息也能直接访问:
当消息被完全处理后,对于源连接器,数据库⾥就会包含原始的、原始被处理过的、转换的、编码的消息,同样,对于⽬标连接器,数据库⾥包含编码的和发送的消息。
如有你没有提供任何出站模板或显⽰声明创建tmp实例,msg实例会被当做⽬标连接器的出站消息。
Response Script 应答脚本
类似的,Mirth引擎使⽤ResponseTransformedData()返回的消息创建msg对象,如果有出站消息模板,利⽤出站消息模板创建tmp。
Postprocessor script 后处理器脚本
最后执⾏的脚本就是通道的Postprocessor了,紧接着是Global Postprocessor。这两个阶段是个简单的占位符,不提供任何消息处理机制,也不提供逻辑处理。
复习完以上知识,我们准备继续......
Destinations Connector ⽬标连接器
接下来,切换到Destinations标签页,指定通道如何以及在哪⾥发送出站消息。每个通道必须⾄少有⼀个⽬标,当然多个⽬标也是可以的。现在,改变⽬标的名称为 To File ,改变Connector type 连接器的类型为File Writer,来配置这个连接器。
单击连接器类型的下拉菜单会有很多中,你⼤可以逐个的去了解熟悉⼀下这些类型和设置,了解完毕,切回File Writer。指定⽂件名和被写⼊⽂件的位置(不需要在⽬录⾥建⽂件),单击Test Writer按钮来校验设置的正确性。
图3-8 ⽬标连接器设置
js导航栏下拉菜单⼀个重要的步骤就是要指明导出到⽂件的数据种类,拖拽右边Destination Mappings框中的Encoded Data到Template框中(见下图)。这就告诉通道把⼊站消息,以在Summary标签⾥设置的格式转换到⽂件⾥(还记得吗?我们设置的是HL7v2.x)。
注意:你能通过左边的⾯板或右键的弹出菜单切换导航页⾯或功能。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。