示例描述:从数据库中读取数据并过滤转换为HL7并存放到指定目录;然后读取目录中的HL7文件转换为txt文本并存放到指定目录。

首先在F:\MirthConnect\Test目录下创建Out目录存放输出的HL7文件;创建Move文件夹存放读取后迁移的目录;创建txt目录存放转换后的txt文本文件。

第一步: 切换到Channels界面,右键点击New Channel

其中‘DB TO HL7’信道是从数据库读取数据然后转换为HL7文件;‘HL7 to TXT’信道是读取HL7文件转换为TXT文件。信道输入输出数据类型设置如下:

第二步 : Database Reader源通道设置

读取数据库,当处理完成,更新状态到-1

设置过滤,只处理pid为105的行为HL7格式

输出的HL7消息格式模板:

MSH|^~\&|||||||ORM^001||D|2.3

PID|1||||||||||||||||

ORC|NW|||

OBR|1||||||||||||||||||||||||

channelMap.put("pid",msg['patient_pid'].toString());

var currentdate=DateUtil.getCurrentDate("yyyyMMddHHmmss");

var OutputDate = DateUtil.convertDate('yyyyMMddHHmmss',' yyyy-MM-dd HH:mm:ss',currentdate).toString();

//Adding data to MSH Fields

tmp['MSH']['MSH.3']['MSH.3.1']="XYZ";

tmp['MSH']['MSH.4']['MSH.4.1']="123";

tmp['MSH']['MSH.5']['MSH.5.1']="ABC";

tmp['MSH']['MSH.6']['MSH.6.1']="456";

tmp['MSH']['MSH.7']['MSH.7.1']=currentdate;

//Adding data to PID Fields

tmp['PID']['PID.2']['PID.2.1']=1;

tmp['PID']['PID.3']['PID.3.1']=msg['patient_pid'].toString();

tmp['PID']['PID.5']['PID.5.1']=msg['patient_name'].toString();

tmp['PID']['PID.7']['PID.7.1']=msg['patient_dob'].toString();

tmp['PID']['PID.8']['PID.8.1']=msg['patient_sex'].toString();

tmp['PID']['PID.11']['PID.11.1']="India";

tmp['PID']['PID.15']['PID.15.1']="English";

tmp['PID']['PID.16']['PID.16.1']="Single";

//Adding data to ORC and OBR Fields

tmp['ORC']['ORC.2']['ORC.2.1']="100";

tmp['OBR']['OBR.2']['OBR.2.1']="100";

tmp['OBR']['OBR.4']['OBR.4.1']="003038";

tmp['OBR']['OBR.4']['OBR.4.2']="Urinalysis";

tmp['OBR']['OBR.4']['OBR.4.3']="L";

tmp['OBR']['OBR.6']['OBR.6.1']=OutputDate;

第三步 : File Reader目标通道设置

输入消息模板:

MSH|^~\&|XYZ|123|ABC|456|20210120200920||ORM^001||D|2.3

PID|1|1|105||Andrew Sun||20000225|M|||India||||English|Single|

ORC|NW|100||

OBR|1|100||003038^Urinalysis^L||20210120200920|||||||||||||||||||

var i;

var file="";

var delimiter="————————————-";

file+="NAME:"+msg['PID']['PID.5']['PID.5.1'].toString()+"\n";

file+="DOB:"+msg['PID']['PID.7']['PID.7.1'].toString()+"\n";

file+="SEX:"+msg['PID']['PID.8']['PID.8.1'].toString()+"\n";

file+=delimiter+"\n";

channelMap.put("pid",msg['PID']['PID.3']['PID.3.1'].toString());

channelMap.put("FILE",file);

通过这个示例,我们学习了Mirth Connect的以下知识:

1.Source Database reader To HL7
2.File Reader From HL7 To Txt
3.Source Filter & Transformer
4.Destinations Transformer
5. channelMap

第四課-Channel Study File Reader & File Writer的更多相关文章

  1. 走进JDK(四)------InputStream、OutputStream、Reader、Writer

    InputStream InputStream是java中的输入流,下面基于java8来分析下InputStream源码 一.类定义 public abstract class InputStream ...

  2. Drag & Drop and File Reader

    参考 : http://www.html5rocks.com/zh/tutorials/file/dndfiles/ http://blog.csdn.net/rnzuozuo/article/det ...

  3. java-I/O File类(5)-Reader和Writer、OutputStreamWriter 、BufferedWriter、字节流和字符流的区别

      标签: outputstreamwriterreader字符file方法 2015-05-14 23:06 469人阅读 评论(0) 收藏 举报  分类: 孙鑫-java基础(16)  I-O(4 ...

  4. Extending JMeter – Creating Custom Config Element – Property File Reader

    JMeter is one of the best open source tools in the Test Automation Community. It comes with all the ...

  5. java:IO流(File,字节流/输入输出流(InputStream(FileInputStream),OutputStream(FileOutStream)),字符流(Reader,Writer))

    File: * java.io.File类:代表一个文件或目录. * 常用的构造方法: * File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例 ...

  6. Java IO流详解(四)——字符流Reader和Writer

    前面一章介绍了字节流的使用,提到了字节流在处理utf-8编码的中文可能会出现乱码的情况(其他编码的中文同样会出现乱码),所以Java针对这一情况提供了字符流. 但是字符流只能处理字符,不能用来处理 . ...

  7. 请慎用java的File#renameTo(File)方法

    转载地址:http://xiaoych.iteye.com/blog/149328 以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名.移 ...

  8. ORA-27092: size of file exceeds file size limit of the process

    停数据库时遇到下述问题: $ ./addbctl.sh stop You are running addbctl.sh version 120.1 Shutting down database UAT ...

  9. 在java中使用 File.renameTo(File)实现重命名.

    Here is part of my files: [北京圣思园Java培训教学视频]Java.SE.前9日学习成果测试题(2010年12月2日).rar [北京圣思园Java培训教学视频]Java. ...

  10. 请慎用java的File#renameTo(File)方法(转)

    以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名.移动文件的目的.不过后来经常发现问题:File#renameTo(File)方法会返回 ...

随机推荐

  1. ECharts 中国地图 vue

    <template> <div> <div id="china_map_box"> <div id="china_map&quo ...

  2. 工作记录:8个有用的JS技巧

    这里给大家分享我最近学习到的8个有用的js小技巧,废话不多说,我们上代码 1. 确保数组值 使用 grid ,需要重新创建原始数据,并且每行的列长度可能不匹配, 为了确保不匹配行之间的长度相等,可以使 ...

  3. JS服务端技术—Node.js知识点

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18031964 出自[进步*于辰的博客] 目录 1.NP ...

  4. hdfs开启回收站(废纸篓)

    1.背景 我们知道,在mac系统上删除文件,一般情况下是可以进入 废纸篓里的,如果此时我们误删除了,还可以从 废纸篓中恢复过来.那么在hdfs中是否存在类似mac上的废纸篓这个功能呢?答案是存在的. ...

  5. nginx location块

    location块在server块中使用,它的作用是根据客户端请求URL去定位不同的应用. 匹配格式 作用 location = /uri = 表示精确匹配,只有完全匹配上才能生效 location ...

  6. proteus的C51仿真

    Proteus的C51仿真 1.实验原理 Proteus是对C51仿真效果比较好的软件了,可以利用丰富的数字资源的外设实现比较接近实际的设计.仿真方法也比较简单,不需要下载,只需要将仿真文件导出到器件 ...

  7. KingbaseES 名词解释之timeline

    timeline定义 每当归档文件恢复完成后,创建一个新的时间线用来区别新生成的WAL记录.WAL文件名由时间线和日志序号组成 引入timeline的意义 为了理解引入时间线的背景,我们来分析一下,如 ...

  8. 【Java面试题】Hibernate

    六.Hibernate 50)简述一下 hibernate 的开发流程 第一步:加载 hibernate 的配置文件,读取配置文件的参数(jdbc 连接参数,数据 库方言,hbm 表与对象关系映射文件 ...

  9. #min-max容斥#51nod 1355 斐波那契的最小公倍数

    题目 对于 \(n\leq 50000,a_i\leq 10^6\),求 \(\large lcm(fib(a_1),fib(a_2),\dots,fib(a_{n-1}),fib(a_n))\) 分 ...

  10. #分治,决策单调性dp#CF868F Yet Another Minimization Problem

    题目 给定一个序列 \(a\),要把它分成 \(k\) 个子段.(\(n\leq 10^5,k\leq 20\)) 每个子段的费用是其中相同元素的对数.求所有子段的费用之和的最小值. 分析 有一个很明 ...