第一步: 切换到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||||||||||||||||||||||||||

我们可以看到,我们的转型已经生效

Mirth Connect的简单使用的更多相关文章

  1. 如何在Mirth Connect中创建和调用自定义Java代码

    0-前言 本文章将向您展示如何创建自定义Java类,将其编译/打包到JAR中,将其包含在Mirth Connect在,并在JavaScript中调用它,您可以从任何JavaScript上下文调用自定义 ...

  2. Oracle CONNECT by 简单用法

    Oracle查询层级的  一个表里 通过一个parentid连接 select * FROM A_MERIATILA start with id=520 CONNECT by prior id=PAR ...

  3. IdentityServer4 实现 OpenID Connect 和 OAuth 2.0

    关于 OAuth 2.0 的相关内容,点击查看:ASP.NET WebApi OWIN 实现 OAuth 2.0 OpenID 是一个去中心化的网上身份认证系统.对于支持 OpenID 的网站,用户不 ...

  4. OpenID Connect 是什么?

    一.OpenID Connect的概念 1.OpenID Connect 是什么? OpenID Connect 是一套基于 OAuth 2.0 协议的轻量级规范,提供通过 API 进行身份交互的框架 ...

  5. 1.3 Quick Start中 Step 7: Use Kafka Connect to import/export data官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Step 7: Use Kafka Connect to import/export ...

  6. 【.NetRemoting-3】2015.09.18

    [Remoting程序的基本实现] [一]服务程序集 [1]服务对象必须要求继承[MBR,MarshalByRefObject] [二]服务端应用程序 [1]注册通道 [两种类型的通道] [A]发送请 ...

  7. Mongoose基础入门

    前面的话 Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具.本文将详细介绍如何使用Mongoose来操作MongoDB NodeJS驱动 在介绍Mongoose之 ...

  8. 详解node + mongoDb(mongoDb安装、运行,在node中连接、增删改查)

    一.序言 好久没写博客了,这次主要聊聊 node 和 mongoDb . 先说明一下技术栈  node + express + mongoose + mongoDb.这篇博客,主要讲述 mongoDb ...

  9. Socks5 RFC1928协议中文版

    除了这个意译版rfc1928外,其他人写的好像也有错误,都是一知半解. ☆ RFC 1928意译版(非直译版) http://www.ietf.org/rfc/rfc1928.txt http://w ...

随机推荐

  1. log4net 使用指南,最常遇到的问题整理。。。

    一.    Log4net特征    Log4net是一个用于.NET开发环境的日志记录组件,由于它的超快及超灵活,很多大型的应用都会用到.    它有如下特点:    1.自定义日志输出级别    ...

  2. ueditor上传图片时目录创建失败的问题解决方法,不用那么麻烦,其实修改php/config.json这个配置文件里面的路径就行!!

    ueditor的真实上传路径提示出来,我进行了如下步骤: 找到了编辑器的上传处理类 Uploader.class.php,大约110行的位置找到了上传失败的提示位置, 将 $this->stat ...

  3. Maven的依赖机制介绍

    以下内容引用自https://ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_manage_dependencies.html: ...

  4. 6.2笔记-DQL语句查询数据库

    一.DQL语句 1.常量列 SELECT `StudentName` AS 姓名, `Address` AS 地址, '北京信息中心' AS 学校名称 FROM `student`; 2.常用函数 聚 ...

  5. Linux Makefile 教程(转)

    原文地址:http://blog.csdn.net/liang13664759/article/details/1771246 ------------------------------------ ...

  6. c语言实现常见字符串函数strchr strstr strcmp atoi itoi(字符串换成整数)

    好久没有更新博客了,刚刚出炉练练手的程序如下,很简单,没有考虑过多复杂的东西,有好的想法,欢迎指教: 字符查找函数: char *my_strchr(const char *s,int c) { ch ...

  7. 模m的剩余类里的一切数与m的最大公约数相等

    [模m的剩余类里的一切数与m的最大公约数相等] 设剩余类里的任意两元素,a.b.则: a=mq1+r1, b= mq2+r1. 根据上式可得,(a,m)=(m,r1), (b,m)=(m,r2).可推 ...

  8. Theoretical & Applied Mechanics Letters第2届编委会2015年度第1次全体编委会工作会议纪要(转自力学学会)

    2015年7月26日, Theoretical & Applied Mechanics Letters (TAML)第2届编委会在中国科学院力学研究所召开2015年第1次 全体编委工作会议.主 ...

  9. PHP 将HTML转成PDF文件,HTML 转word,Word 转Html

    html转 PDF 用MPDF ,Word转Html  纯PHP的方法暂未找到Word直接转PDF的方法 可以使用 LibreOffice 6.1  (Liunx,win) 皆可使用 Html转成PD ...

  10. asp.net页如何获取母版页控件

    获取母版页的相关内容有两种方法 1 通过findcontrol找控件ID需要在此事件中~因为Page_load中时是先内容页加载然后才是母版页加载 protected void Page_LoadCo ...