147.4. HL7 DataFormat
HL7 组件附带 HL7 数据格式,可用于对对象进行分类或未编化的 HL7。
HL7 数据格式支持下面列出的 2 个选项。
名称 | 默认 | Java 类型 | 描述 |
---|---|---|---|
validate |
|
| 是否默认验证 HL7 消息 Is。 |
contentTypeHeader |
|
| 如果数据格式能够这样做,则数据格式是否应该以 data 格式设置 Content-Type 标头。例如,用于数据格式的 application/xml (数据格式)或 application/json 用于数据格式 marshalling to JSon etc。 |
-
marshal
= 从 Message 到字节流(在使用 HL7 MLLP codec 响应时可以使用) -
unmarshal
= 从字节流到消息(在从 HL7 MLLP 接收流数据时可以使用
要使用数据格式,只需实例化实例,并在路由构建器中调用 marshal 或 unmarshal 操作:
DataFormat hl7 = new HL7DataFormat(); from("direct:hl7in") .marshal(hl7) .to("jms:queue:hl7out");
DataFormat hl7 = new HL7DataFormat();
from("direct:hl7in")
.marshal(hl7)
.to("jms:queue:hl7out");
在上面的示例中,HL7 是从 HAPI Message 对象到字节流并放在 JMS 队列上。
下一个示例相反:
DataFormat hl7 = new HL7DataFormat(); from("jms:queue:hl7out") .unmarshal(hl7) .to("patientLookupService");
DataFormat hl7 = new HL7DataFormat();
from("jms:queue:hl7out")
.unmarshal(hl7)
.to("patientLookupService");
在这里,我们将字节流解放成一个 HAPI Message 对象,后者被传递给我们的病人查找服务。
147.4.1. Serializable 信息 复制链接链接已复制到粘贴板!
自 HAPI 2.0 (由 Camel 2.11使用)开始,HL7v2 模型类是完全序列化的。因此,您可以将 HL7v2 消息直接放入 JMS 队列中(例如,无需调用 marshal ()
),并从队列中重新读取它们(例如,不调用 unmarshal ()
)。