第四課-Channel Study File Reader & File Writer
示例描述:从数据库中读取数据并过滤转换为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的更多相关文章
- 走进JDK(四)------InputStream、OutputStream、Reader、Writer
InputStream InputStream是java中的输入流,下面基于java8来分析下InputStream源码 一.类定义 public abstract class InputStream ...
- Drag & Drop and File Reader
参考 : http://www.html5rocks.com/zh/tutorials/file/dndfiles/ http://blog.csdn.net/rnzuozuo/article/det ...
- java-I/O File类(5)-Reader和Writer、OutputStreamWriter 、BufferedWriter、字节流和字符流的区别
标签: outputstreamwriterreader字符file方法 2015-05-14 23:06 469人阅读 评论(0) 收藏 举报 分类: 孙鑫-java基础(16) I-O(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 ...
- java:IO流(File,字节流/输入输出流(InputStream(FileInputStream),OutputStream(FileOutStream)),字符流(Reader,Writer))
File: * java.io.File类:代表一个文件或目录. * 常用的构造方法: * File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例 ...
- Java IO流详解(四)——字符流Reader和Writer
前面一章介绍了字节流的使用,提到了字节流在处理utf-8编码的中文可能会出现乱码的情况(其他编码的中文同样会出现乱码),所以Java针对这一情况提供了字符流. 但是字符流只能处理字符,不能用来处理 . ...
- 请慎用java的File#renameTo(File)方法
转载地址:http://xiaoych.iteye.com/blog/149328 以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名.移 ...
- 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 ...
- 在java中使用 File.renameTo(File)实现重命名.
Here is part of my files: [北京圣思园Java培训教学视频]Java.SE.前9日学习成果测试题(2010年12月2日).rar [北京圣思园Java培训教学视频]Java. ...
- 请慎用java的File#renameTo(File)方法(转)
以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名.移动文件的目的.不过后来经常发现问题:File#renameTo(File)方法会返回 ...
随机推荐
- git clone error: RPC failed; curl 18 transfer closed with outstanding read data remaining
备忘 git clone比较大的工程时,出现这种错误:error: RPC failed; curl 18 transfer closed with outstanding read data rem ...
- MediaCodec 低延时解码
介绍 我们在使用Android的硬解进行解码时,如果是Android11以上则可以使用其特性低延迟,谷歌官方文档 以下是Android 11支持的低时延特性: ANGLE支持:Android 11引入 ...
- 记录--关于前端的音频可视化-Web Audio
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 最近听音乐的时候,看到各种动效,突然好奇这些音频数据是如何获取并展示出来的,于是花了几天功夫去研究相关的内容,这里只是给大家一些代码 ...
- Swift Structured Concurrency
异步函数 异步函数概念 异步和并发是两个不同的概念,并发(Concurrency)是指多个任务同时执行,这里的同时不是严格意义上的同一时刻,而是在稍大时间粒度上,多个任务可以同时推进,并发的实现可以是 ...
- [Java]静态代理、动态代理(基于JDK1.8)
[版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18002823 出自[进步*于辰的博客] 参考笔记一,P ...
- KingbaseES V8R3 集群运维案例 -- cluster.log无日志输出问题诊断
案例说明: KingbaseES V8R3集群正常运行期间,现场发现cluster.log日志无任何信息输出,针对这一问题做了复现及提出解决方案.后现场检查发现,cluster.log文件曾被删除: ...
- KingbaseES V8R6集群案例---一主二备架构单个备库宕机事务影响测试
KingbaseES V8R6集群案例---一主二备架构单个备库宕机事务影响测试 案例说明: 对于KingbaseES V8R6集群,在sync模式下,对于一主一备架构,如果备库宕机时,主库事务com ...
- 学习Python前要了解的tips
学习Python前要了解的tips 对后续的学习来说很重要,否则后续会出现一些奇奇怪怪的问题,而且很难找到解决方法.嘿嘿,就不要问我怎么知道的了吧,好多都是我踩过的坑 卸载电脑内软件 之前我一直用电脑 ...
- ET介绍——Actor Location
Actor Location Actor模型只需要知道对方的InstanceId就能发送消息,十分方便,但是有时候我们可能无法知道对方的InstanceId,或者是一个Actor的InstanceId ...
- #左偏树,树形dp#洛谷 1552 [APIO2012]派遣
题目 分析 那我指定管理层之后,选择薪水越小的人越好, 考虑小根堆,由于需要合并,所以采用左偏树 代码 #include <cstdio> #include <cctype> ...