首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mirth目标中将XMLv2.x转换为HL7

如何在Mirth目标中将XMLv2.x转换为HL7
EN

Stack Overflow用户
提问于 2019-06-22 02:56:46
回答 1查看 1K关注 0票数 1

我有一条来自SQL数据库的源消息。它的格式如下:

代码语言:javascript
复制
<result>
    <rawmessage>A|Full Raw|HL7|Message|is here </rawmessage>
    <id>The-Messages-GUID-FromMSSQL</id>
</result>

我想从查询中提取信息,并将其分到多个表中,每一行都绑定到与消息连接的GUID。我能够获取原始消息并将HL7字符串转换为XML,但无法获取数据。

我目前的理解是通道中的源类型和目标类型都是XML。我可以使用msg['id']访问ID并将其保存到频道映射中。我还可以将HL7字符串转换为XML并将其保存到一个变量中(见下文)。例如,当我尝试使用msg2['OBR']['OBR.2']['OBR.2.1'].toString()访问一个段或字段时,在我的errors选项卡中得到消息Cannot read property "OBR" from undefined,在控制台的info中得到Undefined。如果我删除['HL7Message'],我在错误中得到Cannot read property "OBR.2" from undefined,在info中得到<?xml version="1.0" encoding="UTF-8"?><HL7Message><MSH>。如果我将通道映射变量定义为msg1['OBR.2.1'],它将返回为未定义。

下面是我的电流互感器步骤:

代码语言:javascript
复制
channelMap.put('Raw Message', msg['rawmessage'].toString());
channelMap.put('Raw GUID', msg['id'].toString());
channelMap.put('XML Message', SerializerFactory.getSerializer('HL7V2').toXML($('Raw Message')));

var msg2 = $('XML Message')['HL7Message'];
logger.info(msg2);

channelMap.put('OBR 2', msg2['OBR.2.1']);

我希望通过使用类似于msg['OBR']['OBR.2']['OBR.2.1'].toString() (“普通的”Mirth表示法)的表示法来获得字段的值,方法是用变量名替换msg。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-25 01:03:23

不同之处在于xml字符串和xml对象。序列化程序返回一个字符串。这将把你的字符串转换成一个对象。

代码语言:javascript
复制
var msg2 = new XML($('XML Message'));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56709039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档