问题是入站消息模板期望的类型与我想要指定或使用的类型不同。要求是将SINGLE通道转换为HL7 v2到v3,调用Web服务,然后转换SOAP生成的XML,并将其转换为HL7 v2.x并将其发送回原始调用者。 必须异步完成。
设置: 考虑一下Mirth频道的情况:
4个目的地(按顺序):
PostProcessor生成自定义确认以发送回HCIS。
问题: 入站消息模板需要HL7 v2.x,因为它从Source继承了数据类型。我需要将HL7 v3模板映射到出站消息模板。出站模板工作正常,因为它不受任何限制。
tmp['PID']['PID.5']['PID.5.1'] = msg['controlActProcess']['subject']['target']['identifiedPerson']['name']['family'].toString();
我已在另一个通道中测试了此设置,其中HL7 v3作为传入数据类型,并且运行正常。
问题: 如何强制Mirth将我的入站消息模板识别为HL7 v3,而不是继承通道的传入数据类型?
答案 0 :(得分:3)
有点晚了,我知道,但是你可以把它分成2个频道:一个HL7 v2.x到一个频道编写器,然后另一个设置为HL7 v3.x的频道阅读器?
如果你已经解决了这个问题,我很想知道如何解决这个问题。
答案 1 :(得分:1)
好的,我在你发布这个问题后的两年半时间写了这篇文章,所以现在你已经以某种方式处理了它。但是,为了提供信息,这是一个回复。
您有一个输出连接器,其输入为HL7 v2.x.您需要XML格式的输入数据(HL7 v3是XML),以便您可以使用E4X对其进行操作。
解决方案:Mirth Connect会自动处理此问题。只要连接器有过滤器或变换器,Mirth就会将输入消息转换为XML。你说这个连接器有变换器,所以你应该可以使用HL7输入消息的XML表示。
如果您使用的是没有过滤器且没有变换器的通道,则可以通过添加条件始终为真的过滤器来强制进行转换。