mirth connect 互联互通 第五章 查询发送者通道 -欧洲杯足彩官网

0顶
0踩

mirth connect 互联互通 第五章 查询发送者通道

2018-09-20 09:20 by 见习记者 ssunigate 评论(0) 有23418人浏览

第五章 查询发送者通道

查询发送者通道是我们实现的第一个通道,也是最简单的通道。它的任务就是发送hl7v2资格查询请求消息的接口。因此源连接器的类型是channel reader。在这个管道下链接下一个通道就是v2-v3 transformer channel,它使用mllp消息传输协议,目标连接器类型配置为tcp sender,由此mllp是走tcp层传输的,也就是socket技术。

为使测试容易点儿,区别进来的消息,v2-v3 transformer channel通道会为每个消息分配uuid和日期时间戳,意味着该通道要调整每一个消息。另外,我们使用这个通道创建不合规的消息,测试我们以后为两个传输通道实现的验证脚本。

为了创建这个通道,咱们需要对通道的每个标签,即summary, sender, destination,执行必要的配置。

deploy, preprocessor, postprocessor undeploy脚本不需要编写,因此它们不在本章讨论范围内。

. summary 标签

创建新通道,切换到summary标签。

输入通道名称,通道标记和通道描述。假设你已经删除了先前创建的simple channel,只有与本项目相关的通道,你可以忽略标记的创建。

单击set data types,配置源链接器和目标连接器入站消息和出站消息为hl7v2.x,其他设置保持不变。检查一下initial state是否设置为started(其他选项有pausedstopped)

本通道或本项目的其他通道都没有attachments配置,即attachment=none。但至少,你应该看看attachments下拉菜单项里都有什么,每个试试,每项后面有个properties属性,看看有什么不同。



 

 

5-1 summary概要标签

再说一遍,channel tags字段项是方便的用于通道的逻辑排序。



 

 

5-2 源连接器入站和出站类型设置

记得,如果你对attachment实验完了,将其值设置回none

 

. source 连接器

切换到source标签,检查connector type类型设置是否是channel readerchannel reader连接器通道其他设置保持不变。



 

 

5-3 源连接器设置

由于进来的所有消息都被接受,所有对于此通道不需要过滤器或转换器。校验连接器并保存改变。在左边导航栏中就是这两个菜单项:validate connectorsave changes

 

. destinations connector 目标连接器

切换到destinations 标签,重命名存在的目标,把destination 1 改为hl7v2-hl7v3 transformer,你也可以选择填写你喜欢的名字。

根据总体管道图,这个目标是tcp client,因此,把连接器类型connector type改为tcp sender

 

remote address地址栏填写本地机ip地址:127.0.0.1,或输入你知道的其他tcp服务器的ip地址。

remote port远程端口给个6611,如果你计算机上的应用程序已占用该端口或本项目使用的任何端口,那么你就把所有相关的通道涉及的端口都调整一下。

 

template box 模板框里已经有${message.encodeddata},如果没有你可以从destination mappings目标映射里拖拽encoded data 到模板框里,目标映射就在mirth connect administrator右边的面板里。(看看图5-4)

其他设置保持不变,保存这个通道。

 

这个目标不需要过滤器,然而,根据我们先前的讨论,该通道调整入站消息,目的是区别不同的消息,这一切由目标转换器脚本来完成。



 

 

5-4 目标连接器设置

单击edit transformer为本目标创建转换器脚本。有四个脚本,三个是javascript,一个是message builder。该目标是由四个脚本进行顺序工作的。看图5-5



 

 

5-5 to hl7v2-hl7v3目标转换器步骤

添加新转换器步骤,把类型改为javascript ,重命名此步骤。你可以使用我给的转换器名字或使用你自己的。下面是为每个转换器写的脚本。

msg segment 更新转换器

这个脚本吧入站消息元素分配给出站消息元素。由于出站模板还没有,撰写的脚本把入站消息对象分配给tmp变量,映射了所有字段。

source 5-1 msh segment transformer script

tmp = msg; tmp['msh']['msh.7']['msh.7.1'] = now("yyyymmddhhmmss");

tmp['msh']['msh.10']['msh.10.1'] = uuidgenerator.getuuid();

 

从脚本上看出,该转换器步骤把当前的日期时间戳赋值给出站消息字段。类似的,把uuid也赋值给了消息字段。

patient id 生成器

该脚本创建序列号模拟病人的识别码,例如社保号。用不着说,这个识别码不遵循任何规则,完全是虚构的。识别码被分配到适合的消息字段上。

source 5-2 patient id transformer script

tmp['qpd']['qpd.3']['qpd.3.1'] = getpatientid();

function getpatientid() {

var patientid = '';

for ( var i = 0; i <= 9; i ) {

patientid = math.floor( (math.random() * 10) );

}

return patientid;

};

这个脚本展示了你可以使用js函数来规划程序逻辑。

query tag 生成器

该转换器步骤使用了message builder消息编译器类型。它把查询消息控制id号的部分映射到qpd片段的查询标记上。说的好像是拉丁文,换句话说,该转换器步骤把msh.10.1的内容从第11个字符开始截取,赋值给qpd2.1,在真实情况中,你可以用它来调试消息请求。本项目中它是用于区别消息的。看图5-5

填写message segmentmapping fields

message segment: tmp['qpd']['qpd.2']['qpd.2.1']

mapping: tmp['msh']['msh.10']['msh.10.1'].substring(10)

注意,在本界面中的编辑器区域有stepgenerated script标签。切换到generated script标签,你应看到自动生成的js代码支撑你的映射看图5-6



 

 

5-6 message builder自动生成的脚本

生成的脚本适用于不同的转换器和过滤器步骤。你可以使用它学习怎样在mirth 中编写正确的js代码。

test only(故意犯难的步骤)

这是最后一个脚本了,这个脚本是不需要的,只有我们实现了data logger通道,该脚本才是必须的。但是为了保持所有query sender通道脚本在一个位置,也在此列出来了。这个脚本校验消息触发事件字段,如果是err2事件,它随机调整三个消息字段:消息类型、触发事件、和版本号。在向后的步骤中用来验证失败的消息。当然,你可以手工更改你发送消息字段的内容,来校验验证算法。我发现那是非常单调乏味的且浪费时间。

source 5-3 intentionally malformed transformer script

if ( 'err2' == msg['msh']['msh.9']['msh.9.2'].tostring().touppercase() ) {

if ( math.floor((math.random()*10) 1) > 5 )

tmp['msh']['msh.9']['msh.9.1'] = 'qqq';

if ( math.floor((math.random()*10) 1) > 5 )

tmp['msh']['msh.9']['msh.9.2'] = 'e99';

if ( math.floor((math.random()*10) 1) > 5 )

tmp['msh']['msh.12']['msh.12.1'] = '9.9';

}

对每一步骤的脚本进行验证,脚本无错误,保存改变。这里总结了你必须对query sender通道做出的一些改变。

通道实现验证

由于本项目管道下的其他通道接收由query sender通道发送的消息,仍然不可用,也就是说,其他通道还没设计,为了校验这个通道,暂且改变目标连接器的类型,从tcp sender改为file writer,如果你有更好的想法,值得推荐,克隆(见导航栏clone desination菜单项)源to hl7v2-hl7v3 transformer 目标,把连接器类型改为file writer,禁止掉hl7v2-hl7v3 transformer目标,看图5-7



 

 

5-7 克隆目标连接器和设置

设置目录和文件名,或者使用在simple channel创建的global map值。拖拽encoded data消息类型到模板。保存改变,重新部署通道。

mirth connect administratordashboard驾驶舱视图里,单击send message,拷贝粘贴qbp^e22消息样例(source5-4)到消息框。说明一下,一些字段忽略掉了,例如创建日期时间戳。

source 5-4 qbp^e22 query authorization request sample message

msh|^~\&|adm|sending organization|all|receiving organization|||qbp^e22^qbp_e22||d|2.7|||al|al

qpd|e22^authorization request^cihi0003||^^^iso^phn|everywoman^mary^patrick^^^^l^|19680120|msp^|ext

rcp|i

如果你创建了单独的file writer目标连接器,把消息存储为文件,那你没必要禁止掉原来的hl7v2-hl7v3 transformer ,可以在目标列表中选择要发送给的目标连接器。反选就是不接收消息。

单击process message,消息立即发出后,文件应该在你指定的文件里出现了。看图5-8



 

 

5-8 query sender发送消息

打开文件,去确认msh片段的日期时间戳字段的设置,消息识别码的设置,看看uuid,看看qpd片段取自识别码10个字符以后的字符串。



 

 

5-9 query sender通道生成文件的内容

重复上面的步骤,发送另外一个消息,把qbp^e22^qpb_e22改为qbp^err2^qpb_e22,然后再次发送消息,打开新创建的文件,确认至少有一个字段是不正确的。



 

 

5-10 test only转换器步骤改掉的内容

看见了吧,两个字段不正确的,就是我们的test only转换器步骤改的。

使能或启动hl7v2-hl7v3 transformer禁止掉或删除掉to file目标连接器,保存改变。

 

我们做完了query sender通道。咱们继续下一个通道的实现。

 

 

 

0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • mirth connect可以进行hl7 包括构建和交换医疗保健信息的标准,以及系统集成和互操作性的其他标准。医疗保健系统可以使用这些标准、指南和方法以统一、一致的方式相互通信、共享信息和处理数据,有助于减少医疗保健...

  • 第五章 查询发送者通道 查询发送者通道是我们实现的第一个通道,也是最简单的通道。它的任务就是发送hl7v2资格查询请求消息的接口。因此源连接器的类型是channel reader。在这个管道下链接下一个通道就是v2-v3 ...

  • 第五章:查询发送者通道 第六章: hl7v2 to hl7v2 转换器通道 第七章:数据记录器通道 第八章:hl7v3 校验通道 第九章:应答发送者通道 第十章:hl7v3 to hl7v2 转换器通道   第四章:通用资格服务介绍 ...

  • 第三章 创建通道  引子:本章是最基本的操作,有详实的图片,供大家参考,向后章节就不会这么详细了,因为大多数基本操作都在这里介绍了。 本章介绍了通道的真实环境实现,及生命周期,每一个组件最基本的概念。...

  • 前言:本人会陆续发表相关章节,有需要的人可以耐心等待,总章节供21章,会依次...本章介绍了mirth connect3.4的基本安装过程,所有的例子都是基于windows操作系统的。安装前请确认满足以下三方面的要求: 1. jre1....

  • 本章主要介绍mirth connect开发框架,讲解运行的各个阶段,请大家仔细研读、理解,对后续章节帮助是很大的。开发者把前端与服务分开运行,服务框架集成了很多流行的服务及协议,从中我们也可以看出开发的大致原理。...

  • yeovil区医院nhsft的mirth connect fhir侦听器通道,可与intersystems trakcare pas一起使用(v2020) 介绍 目的 此回购概述了为提供sider计划所需的技术可交付成果而采取的步骤,以及在开发过程中遇到的问题以及...

  • mirth connect 使用文档! 难得的一份!

  • as mirth corporation (now is a subsidiary of quality systems, inc.) says on their web-site, “mirth connect is the swiss army knife of healthcare integration engines, specifically designed for hl7 ...

  • mirth connect在医疗信息集成中的应用

  • mirth是现在国际上比较成熟的hl7引擎技术之一,它是一个开放源代码的跨平台hl7标准接口引擎,是专为hl7消息接口设计的“瑞士军刀”,它为开发、配置和监听接口提供了必要工具。mirth是一个hl7标准接口网关,它能进行...

  • mirth connect 3.4 使用文档,推荐下载!

  • docker上的mirth connect实例 authors: marly cormar, surya prasanna, dileep rajput. 先决条件 最新的 。 目前的例子 这个多容器泊坞窗的目标是测试mirth connect的功能。 频道包括: json_to_hl7_dest_channel...

  • mirth connect分析仪 报告书 听众 侦听传入连接的每个通道的列表。 channelname channelid servermode 主持人 港口 remoteaddress 远程端口 overridelocalbinding reconnectinterval receivetimeout 缓冲区...

  • 现公司(小公司)有需求,要做医院信息集成平台,经过调研,选定mirth connect做为数据集成引擎,以下对自己学习所了解mrith的知识,与大家分享。 mirth connect简介 正如mc官方在其网站上所说: “mirth connect...

  • 计算机毕业设计,含源码

  • 数据来源:中经数据库 主要指标110多个(全部都是纯粹的 市辖区 指标),大致是: gdp gdp增速 第一产业增加值占gdp比重 第二产业增加值占gdp比重 第三产业增加值占gdp比重 人均gdp 社会消费品零售总额 固定资产投资(不含农户) 新设外商投资企业数_外商直接投资 实际利用外资金额(美元) 一般公共预算收入 一般公共预算支出 一般公共预算支出_教育 一般公共预算支出_科学技术 金融机构人民币各项存款余额_个人储蓄存款 金融机构人民币各项存款余额 金融机构人民币各项贷款余额 规模以上工业企业单位数 规模以上工业企业单位数_内资企业 规模以上工业企业单位数_港澳台商投资企业 规模以上工业企业单位数_外商投资企业 规模以上工业总产值 规模以上工业总产值_内资企业 规模以上工业总产值_港澳台商投资企业 规模以上工业总产值_外商投资企业 规模以上工业企业流动资产合计 规模以上工业企业固定资产合计 规模以上工业企业利润总额 规模以上工业企业应交增值税 规模以上工业企业主营业务税金及附加 户籍人口数 年均户籍人口数 户籍人口自然增长率 第一产业就业人员占全部城镇单位就业人员比重 第二产业就业人员占全部城镇单位就业人员比重 第三产业就业人员占全部城镇单位就业人员比重 城镇非私营单位就业人员数 城镇非私营单位就业人员数_第一产业 城镇非私营单位就业人员数_第二产业 城镇非私营单位就业人员数_第三产业 城镇非私营单位就业人员数_农、林、牧、渔业 城镇非私营单位就业人员数_采矿业 城镇非私营单位就业人员数_制造业 城镇非私营单位就业人员数_电力、热力、燃气及水生产和供应业 城镇非私营单位就业人员数_建筑业 城镇非私营单位就业人员数_批发和零售业 城镇非私营单位就业人员数_交通运输、仓储和邮政业 城镇非私营单位就业人员数_住宿和餐饮业 城镇非私营单位就业人员数_信息传输、软件和信息技术服务业 城镇非私营单位就业人员数_金融业 城镇非私营单位就业人员数_房地产业 城镇非私营单位就业人员数_租赁和商务服务业 城镇非私营单位就业人员数_科学研究和技术服务业 城镇非私营单位就业人员数_水利、环境和公共设施管理业 城镇非私营单位就业人员数_居民服务、修理和其他服务业 城镇非私营单位就业人员数_教育 城镇非私营单位就业人员数_卫生和社会工作 城镇非私营单位就业人员数_文化、体育和娱乐业 城镇非私营单位就业人员数_公共管理、社会保障和社会组织 城镇非私营单位在岗职工平均人数 城镇就业人员数_私营企业和个体 城镇非私营单位在岗职工工资总额 城镇非私营单位在岗职工平均工资 城镇登记失业人员数 建成区面积 建设用地面积 建设用地面积_居住用地 液化石油气供气总量 液化石油气供气总量_居民家庭 人工煤气、天然气供气总量 人工煤气、天然气供气总量_居民家庭 液化石油气用气人口 人工煤气、天然气用气人口 城市公共汽电车运营车辆数 城市出租汽车运营车辆数 城市公共汽电车客运总量 道路面积 排水管道长度 建成区绿化覆盖面积 建成区绿化覆盖率 绿地面积 公园绿地面积 维护建设资金支出 土地面积 生活用水供水量 供水总量 全社会用电量 城乡居民生活用电量 工业生产用电量 房地产开发投资 房地产开发投资_住宅 限额以上批发和零售业法人单位数 限额以上批发和零售业商品销售总额 普通中学学校数 中等职业教育学校数 普通小学学校数 普通高等学校专任教师数 普通中学专任教师数 中等职业教育专任教师数 普通小学专任教师数 普通高等学校在校生数 普通中学在校生数 中等职业教育在校生数 普通小学在校生数 电视节目综合人口覆盖率 公共图书馆总藏量_图书 医疗卫生机构数_医院和卫生院 卫生人员数_执业(助理)医师 医疗卫生机构床位数_医院和卫生院 城镇职工基本养老保险参保人数 职工基本医疗保险参保人数 失业保险参保人数

  • c常用算法程序集数值计算非线性方程与方程组的求解提取方式是百度网盘分享地址

  • 5g非正交多载波机制ufmc收发机matlab代码实现,非常新,给5g通信专业研发人员提供帮助.rar

  • 基于matlab的马尔科夫决策过程程序具有很高的价值

global site tag (gtag.js) - google analytics
网站地图