第一步: 切换到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. 黄聪:WordPress 多站点建站教程(二):后台(管理网络)设置详解,如何管理子站的用户、主题、插件、设置等功能

    建立好了子站,我们需要有个地方配置所有子站的主题.插件等功能,我们可以在后台看到 我的站点--管理网络 如下图: 在 管理网络--仪表盘 里面,我们可以创新用户和站点,也提供了查询功能. 要注意的是: ...

  2. mac sublime切换编辑语言的方法(添加其他版本的python)

    在sublime中指定python版本,操作如下: Sublime——tools——build system——new build system 把文件中的内容替换为 { "cmd" ...

  3. java web 程序---javaBean

    1.JavaBean 是Java中的一个组件技术,类似于微软的COM组件 SUN公司将JavaBean定义为:可以重复利用的软件组件 2.JavaBean的种类:a.可视化JavaBean   b.非 ...

  4. Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转

    ylbtech-Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转 1.返回顶部 1. Java 实例 - 字符串反转  Java 实例 以下实例演示了如何使用 J ...

  5. MikroTik-ROS-无线设备传输距离

    近期在MikroTik官网论坛给出了官方无线成品设备的最大传输距离. 以下设备列表基于理想的环境条件,包括干扰,天气,校准精度等因素,表给出了基于802.11ac或802.11n在获取最大传输带宽的情 ...

  6. Solr Suggest组件的使用

    使用suggest的原因,最主要就是相比于search速度快,In general, we need the autosuggest feature to satisfy two main requi ...

  7. android中一个评分的控件

    RatingBar android中一个评分的控件 如何使用 Android Studio下: dependencies { compile 'com.hedgehog.ratingbar:app:1 ...

  8. 同一客户端使用多份SSH Key

    创建或添加如下内容: Host example1.com HostName realname.example.com IdentityFile ~/.ssh/example1_rsa # 私钥 Hos ...

  9. delphi Firemonkey ListView 使用参考

    delphi Firemonkey ListView 使用参考 Tokyo版本 http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Customizin ...

  10. "sc.exe create/delete" - Create or Delete Services

    "sc.exe" can also be used to create and delete services. If you want to create a new servi ...