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

`
ssunigate
  • 浏览: 6285 次
  • 性别:
  • 来自: 北京
最近访客
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 社区版块
    • ( 1)
    • ( 0)
    • ( 0)
    存档分类
    最新评论

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

    第五章 查询发送者通道

    查询发送者通道是我们实现的第一个通道,也是最简单的通道。它的任务就是发送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通道。咱们继续下一个通道的实现。

     

     

     

    • 大小: 75.8 kb
    • 大小: 75.5 kb
    • 大小: 84.9 kb
    • 大小: 82.7 kb
    • 大小: 68.9 kb
    • 大小: 35.9 kb
    • 大小: 174 kb
    • 大小: 44.3 kb
    • 大小: 17 kb
    • 大小: 14.7 kb
    分享到:
    评论
    1 楼 goylsf 2018-09-21  
    加油更新啊,          

    相关推荐

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

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

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

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

      mirth connect 用户手册4.1.0

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

      1.1 系统环境需求 4 1.2 启动服务器 5 1.3 启动管理员 5 2.1 登录 6 2.2 仪表板 7 2.3 通道10 2.4 编辑通道10 2.5

      mirth简单操作说明及常见报错,可以针对不会mirth的人一个基本的操作。要分不多,欢迎下载。

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

      way to run mirth connect with confidence in your organization. mirth appliances provide incredible value to any organization requiring heath information technology messaging capabilities. since mirth ...

      医院端使用的集成平台 mirth使用说明,支持各种通讯协议,hl7,http,socket。支持各种数据库集成

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

      此docker化版本的mirth connect配置为在平台上在nginx运行。 生成映像并使用以下命令在本地运行: docker run -i -t -d -p 3000:3000 -p 9661:9661 -e mirth_admin_pw=password image_name docker run -i -t -p ...

      nextgen connect集成引擎(以前为mirth connect) 1.有用的链接 开发人员指南 示例和教程 fhir扩展指南 讨论区 松弛通道松弛注册 2.一般信息 下一代欧洲杯足彩官网的解决方案使命 nextgen solutions帮助美国许多最大,最受尊敬的...

      mirth手册 esb 医疗

      mirth connect是一个开源的跨平台hl7接口引擎,可通过多种传输方式在系统和应用程序之间双向发送hl7消息。

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