如何在NextGen Connect/Mirth中读写ASAPv4处方药物监测报告消息?
使用NextGen Connect/Mirth处理ASAPv4消息(州处方药物监测项目报告)
ASAPv4基于HL7 v2.5规范,针对处方药物监测项目(PMP)的报告需求做了定制化扩展。以下是用NextGen Connect/Mirth完成读写操作的具体步骤:
一、读取(解析)ASAPv4消息
1. 配置消息源
- 根据消息接收方式选择对应源连接器:
- 本地文件:选File Reader,设置监控目录与文件过滤规则(如
*.hl7) - 网络传输:选HL7 Listener或TCP Listener,设置监听端口与HL7消息分隔符(通常为
\r)
- 本地文件:选File Reader,设置监控目录与文件过滤规则(如
- 在源连接器的Message Type中选择
HL7 v2.x,编码设置为ISO-8859-1(ASAPv4默认编码)
2. 解析与提取数据
Mirth内置HL7解析器会自动将消息转换为可操作对象,在Transformer中通过脚本访问字段:
// 提取患者ID(PID-3) var patientId = msg['PID']['PID-3']['PID-3-1'].toString(); // 提取处方编号(RXO-10) var prescriptionId = msg['RXO']['RXO-10']['RXO-10-1'].toString(); // 提取发药日期(RXE-22) var dispenseDate = msg['RXE']['RXE-22'].toString();
- 注意ASAPv4的必填段:
MSH、PID、PV1、RXO、RXE,部分州会要求自定义段(如ZSE),需对照对应PMP规范验证
3. 合规性验证
在Validator中添加规则,确保消息符合ASAPv4规范:
- 检查
MSH-9(消息类型)是否为RDE^O11(ASAPv4标准消息类型) - 验证必填字段非空,如
PID-5(患者姓名)、RXE-12(药品代码)
二、写入(生成/发送)ASAPv4消息
1. 构建消息模板
创建符合ASAPv4规范的HL7模板,填充占位符以便动态替换:
MSH|^~\&|{{SENDING_APP}}|{{SENDING_FAC}}|{{PMP_APP}}|{{PMP_FAC}}|{{TIMESTAMP}}||RDE^O11|{{MSG_ID}}|P|2.5 PID|||{{PATIENT_ID}}||{{PATIENT_NAME}}||{{DOB}}|{{GENDER}} PV1||O|||||||||||||||||||||||||||||||||| RXO||{{DRUG_CODE}}|{{DOSE}}|{{FREQUENCY}}||||{{PRESCRIPTION_ID}} RXE||{{DISPENSE_QTY}}|{{DOSE_UNIT}}||||{{DISPENSE_DATE}}||{{PHARMACIST_ID}}
2. 动态生成消息
在Transformer中用脚本替换模板占位符,或直接构建HL7对象:
// 直接构建HL7消息对象 var hl7Msg = new HL7Message(); // 添加MSH段 var msh = hl7Msg.addSegment('MSH'); msh.setField(1, '^~\\&'); msh.setField(2, 'MyDispenserSystem'); msh.setField(3, 'DowntownClinic'); msh.setField(4, 'IN-PMP'); msh.setField(5, 'IndianaStatePMP'); msh.setField(6, DateUtil.getCurrentDate('yyyyMMddHHmmss')); msh.setField(7, 'RDE^O11'); msh.setField(8, UUIDGenerator.getUUID()); msh.setField(9, 'P'); msh.setField(10, '2.5'); // 添加PID段 var pid = hl7Msg.addSegment('PID'); pid.setField(3, '987654', '', '', 'MR'); pid.setField(5, 'Smith^Jane'); pid.setField(7, '19800101'); pid.setField(8, 'F');
3. 发送消息
配置目标连接器完成发送:
- 若发送至州PMP服务器:选HL7 Sender或TCP Sender,设置目标IP、端口与消息分隔符
- 若生成本地文件:选File Writer,设置输出目录与文件名规则
- 发送前确保编码为
ISO-8859-1,避免字符乱码
关键注意事项
- 参照目标州PMP的ASAPv4规范(如字段长度、自定义段要求)调整消息结构
- 配置Error Handler捕获解析/发送失败的消息,存入错误队列并记录详细日志
- 批量提交时可使用Mirth的Batch Processor,将多个ASAPv4消息打包发送
内容的提问来源于stack exchange,提问作者Mitch
相关产品推荐
相关产品推荐

