Mirth中的Json解析或Mirth中的Json解析或HL7到Mirth中的Json解析
我想使用JSON作为mirth通道的输入,并将详细信息保存在db中或创建HL7消息 简而言之,输入为JSON,将其解析为任意格式输出。Mirth中的Json解析或Mirth中的Json解析或HL7到Mirth中的Json解析,json,mirth,Json,Mirth,我想使用JSON作为mirth通道的输入,并将详细信息保存在db中或创建HL7消息 简而言之,输入为JSON,将其解析为任意格式输出。var object={}; //从HL7消息创建JSON对象。 object.mrn=msg['PID']['PID.3']['PID.3.1'].toString(); object.firstName=msg['PID']['PID.5']['PID.5.2'].toString(); object.lastName=msg['PID']['PID.5'][
var object={};
//从HL7消息创建JSON对象。
object.mrn=msg['PID']['PID.3']['PID.3.1'].toString();
object.firstName=msg['PID']['PID.5']['PID.5.2'].toString();
object.lastName=msg['PID']['PID.5']['PID.5.1'].toString();
object.dob=msg['PID']['PID.7']['PID.7.1'].toString();
object.ssn=msg['PID']['PID.19']['PID.19.1'].toString();
//从JSON对象创建字符串。
var objjson=JSON.stringify(对象);
logger.info(objjson);
//从Json字符串创建Json对象。
var tt=JSON.parse(objjson);
输出
{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"}
HL7消息样本
MSH|^~\&|ADT1|SHM|SHMADT|SHM|200812091126|SECURITY|ADT^A01^ADT_A01|MSG00001|P|2.5|
EVN|A01|200812091126||
PID|1|1001|1001^5^M11^ADT1^MR^SHM||OHALLAHAN^COLLEEN^^||19850704|F||2106-3|1200 N ELM STREET^^NEWPORT BEACH^CA^92660-1020^US^H|OC|(949) 555-1234|(949) 555-5678||S||PATID1001^2^M10^ADT1^AN^A|123456789|U1234567^CA|
NK1|1|OHALLAHAN^BRITTANY^M|SIS^SISTER||||N^NEXT-OF-KIN
PV1|1|I|2000^2012^01||||001122^ZOIDBERG^JOHN^|||SUR||||1|A0|
要在mirth通道中接收JSON作为输入,请将入站数据类型设置为分隔文本,并在通道预处理器中从接收到的消息创建JSON对象并返回JSON对象 使用json对象获取详细信息并存储在一些变量中,使用DB writer保存在DB中。
为了构建hl7消息,mirth提供了一些函数,例如createSegment(seg name,index)来轻松构建您自己的hl7消息。根据@Debugger,如果有人想要json文件作为输入/源,请尝试此解决方案 欢乐频道
- 入站数据类型为分隔文本
{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"}
{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"}
将JavaScript类型设置为目标,并在Transformer中编写以下代码:
//Create Json Object From JSON string.
var objJson = JSON.parse(messageObject.getRawData());
logger.info(objJson.propertyName);
输入:
{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"}
logger.info(objJson.firstName);
COLLEEN
输出:
{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"}
logger.info(objJson.firstName);
COLLEEN
注意:
{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"}
logger.info(objJson.firstName);
COLLEEN
使用
connectorMessage.getRawData()
而不是messageObject.getRawData()
用于Mirth 3.0+版本。我正在分析此页面,并找到了您的代码Rikin patel。实际上,当您创建并显示对象时,它可能在控制台中显示为JSON
数据,当您查看输出时,它将是正常的XML
驱动格式。但当您使用msg时,请按以下方式替换对象:
msg = JSON.stringify(object); //converting msg into JSON object
logger.info("json data:" + msg); //displaying the JSOn message
您将在输出中找到正在修改的数据。不要设置msg变量,因为这是包含XML类型格式的系统变量。如果要使用
JSON
对象,则创建新的全局/局部变量来设置JSON
对象。还有一件事,您的“object”变量应该是JSON
object