【发布时间】:2009-12-16 18:48:23
【问题描述】:
任务是将一个 XML 对象从 Channel-A 发送到 Channel-B
<MyMessage>
<ID>42</ID>
<hl7v2>
MSH|^~\&|LAB|....
PID|1|....
</hl7v2>
</MyMessage>
渠道沟通的步骤:
- 在 Channel-B 的源转换器中,提取 HL7v2 内容
- 使用提取的内容覆盖 Channel-B 中的当前 msg 对象
- 继续使用其他通道-B 源转换器,并期望像往常一样引用
msg['PID']['PID.5']。
好消息是我可以将 HL7v2 的“有效负载”提取到一个变量中。问题或困难在于重置 msg 对象或任何其他能够按预期引用 HL7 属性的对象。
当我使用SerializerFactory.getHL7Serializer 创建一个新变量时,它会使用标签<HL7Message> 进行包装。
channelMap.put('MessageID', msg['ID']); //successful
channelMap.put('v2payload',msg['HL7v2']); //also looks good
var v2Msg = SerializerFactory.getHL7Serializer(false,false,true).toXML(msg['HL7v2']);
channelMap.put('v2Msg', v2Msg );
问题:您对如何覆盖 msg 对象有什么建议吗?
我怎样才能开始这样引用味精:
msg['PID']['PID.5']
现状
- 接收通道的输入类型为 XML
- 需要从该 XML 对象中提取所有属性; ID 是稍后在目标中使用的数据库 PK。
【问题讨论】: