43.4. MLLP Consumer
MLLP Consumer 支持接收 MLLP-framed 消息并发送 HL7 Acknowledgements。MLLP Consumer 可以自动生成 HL7 Acknowledgement (HL7 Application Acknowledgements, AA, AE and AR),或使用 CamelMllpAcknowledgement Exchange 属性来指定确认。此外,通过设置 CamelMllpAcknowledgementType Exchange 属性来控制将生成的确认类型。如果禁用了自动确认且交换模式是 InOnly,则 MLLP Consumer 可以读取消息,而不发送任何 HL7 Acknowledgement。
43.4.1. 消息标头
MLLP Consumer 在 Camel 消息中添加这些标头:
键 | 描述 |
CamelMllpLocalAddress | 套接字的本地 TCP 地址 |
CamelMllpRemoteAddress | 套接字的本地 TCP 地址 |
CamelMllpSendingApplication | MSH-3 值 |
CamelMllpSendingFacility | MSH-4 值 |
CamelMllpReceivingApplication | MSH-5 值 |
CamelMllpReceivingFacility | MSH-6 值 |
CamelMllpTimestamp | MSH-7 值 |
CamelMllpSecurity | MSH-8 值 |
CamelMllpMessageType | MSH-9 值 |
CamelMllpEventType | MSH-9-1 值 |
CamelMllpTriggerEvent | MSH-9-2 值 |
CamelMllpMessageControlId | MSH-10 值 |
CamelMllpProcessingId | MSH-11 值 |
CamelMllpVersionId | MSH-12 值 |
CamelMllpCharset | MSH-18 值 |
所有标头都是 String 类型。如果缺少标头值,则其值为 null。
43.4.2. 交换属性
确认 MLLP Consumer 生成的类型和 TCP 套接字的状态可以由 Camel 交换上的这些属性控制:
键 | 类型 | 描述 |
---|---|---|
CamelMllpAcknowledgement | byte[] | 如果存在,此属性将作为 MLLP Acknowledgement 发送到客户端 |
CamelMllpAcknowledgementString | 字符串 | 如果没有存在并且 CamelMllpAcknowledgement 不存在,则此属性将作为 MLLP Acknowledgement 发送到客户端 |
CamelMllpAcknowledgementMsaText | 字符串 | 如果 CamelMllpAcknowledgement 或 CamelMllpAcknowledgementString 不存在,且 autoAck 为 true,则此属性可用于在生成的 HL7 确认中指定 MSA-3 的内容 |
CamelMllpAcknowledgementType | 字符串 | 如果 CamelMllpAcknowledgement 或 CamelMllpAcknowledgementString 不存在,且 autoAck 为 true,则此属性可以用来指定 HL7 确认类型(如 AA、AE、AR) |
CamelMllpAutoAcknowledge | 布尔值 | 覆盖 autoAck 查询参数 |
CamelMllpCloseConnectionBeforeSend | 布尔值 | 如果为 true,则在发送数据前将关闭套接字 |
CamelMllpResetConnectionBeforeSend | 布尔值 | 如果为 true,则在发送数据前重置套接字 |
CamelMllpCloseConnectionAfterSend | 布尔值 | 如果为 true,则在发送数据后立即关闭套接字 |
CamelMllpResetConnectionAfterSend | 布尔值 | 如果为 true,则在发送任何数据后立即重置套接字 |