问题是入站消息模板期望的类型与我希望指定或使用的类型不同。其要求是有一个单通道将HL7 v2转换为v3,调用web服务,然后将SOAP结果的XML转换为HL7 v2.x并将其发送回原始调用方。必须异步执行。
设置:考虑了Mirth信道中的情况:
- Javascript Writer - calling into Code Templates to do some database work.
- SOAP Sender - calling a web service which returns HL7 v3.
- Javascript Writer - containing a handful of Transformers DB writer calling into Code Templates. _**The problem lies here.**_
- Javascript Writer - again calling into Code Templates.
。
问题:入站消息模板需要HL7 v2.x,因为它继承了来自源代码的数据类型。我需要将HL7 v3模板映射到出站消息模板。出站模板工作正常,因为它没有绑定到任何东西。
tmp['PID']['PID.5']['PID.5.1'] = msg['controlActProcess']['subject']['target']['identifiedPerson']['name']['family'].toString();我已经用HL7 v3作为传入数据类型在另一个通道中测试了这个设置,并且它工作得很好。
问题:如何强迫Mirth将入站消息模板识别为HL7 v3而不是继承通道的传入数据类型?
发布于 2009-12-04 22:19:52
我知道,有点晚了,但你能把它分成两个频道吗:一个HL7 v2.x给一个频道编写器,然后另一个设置为HL7 v3.x的通道读取器?
如果你解决了这个问题,我很想知道该怎么做。
发布于 2012-02-15 17:34:50
好吧,我是在你发表这个问题两年半后写这篇文章的,所以现在你已经以某种方式处理了它。但是,为了提供这些信息,这里有一个答复。
您有一个输出连接器,其输入是HL7 v2.x。您需要XML格式的输入数据(HL7 v3是XML),以便您可以使用E4X操作它。
解决方案: Mirth自动处理此问题。每当连接器有过滤器或转换器时,Mirth将输入消息转换为XML。您说过这个连接器有转换器,所以HL7输入消息的XML表示应该对您可用。
如果您使用的是没有过滤器和变压器的通道,则可以通过添加条件始终为真的筛选器来强制转换。
https://stackoverflow.com/questions/947078
复制相似问题