61.4. HL7 DataFormat


camel-hl7 JAR 附带了 HL7 数据格式,可用于 marshal 或 unmarshal HL7 模型对象。

HL7 数据格式支持 1 选项,如下所列。

Expand
名称默认Java 类型描述

validate

 

布尔值

默认情况下,是否验证 HL7 消息为 true。

  • marshal = from Message to byte stream (可以使用 HL7 MLLP codec)
  • unmarshal = 从字节流到消息(可以在从 HL7 MLLP 接收流数据时使用。

要使用数据格式,只需实例化一个实例并在路由构建器中调用 marshal 或 unmarshal 操作:

  DataFormat hl7 = new HL7DataFormat();

  from("direct:hl7in")
    .marshal(hl7)
    .to("jms:queue:hl7out");
Copy to Clipboard Toggle word wrap

在上例中,HL7 将从 HAPI Message 对象到字节流并放入 JMS 队列。
下一个示例相反:

  DataFormat hl7 = new HL7DataFormat();

  from("jms:queue:hl7out")
    .unmarshal(hl7)
    .to("patientLookupService");
Copy to Clipboard Toggle word wrap

在这里,我们将字节流解成一个 HAPI Message 对象,后者将传递给我们的病人查找服务。

61.4.1. 片段分隔符

unmarshalling 无法通过将 \n 转换为 \r 来自动修复片段分隔符。如果
需要此转换,org.apache.camel.component.hl7.HL7#convertLFToCR 提供此目的的手动 表达式

61.4.2. charset

marshal 和 unmarshal 均评估字段 MSH-18 中提供的字符集。如果此字段为空,则默认情况下,假定对应的 Camel charset 属性/header 中包含的 charset。在从 HL7DataFormat 类中继承时,您甚至可以通过覆盖 guessCharsetName 方法来更改此默认行为。

Camel 中适用于知名数据格式的简写语法,通常使用它们。然后,您不需要创建 HL7DataFormat 对象的实例:

  from("direct:hl7in")
    .marshal().hl7()
    .to("jms:queue:hl7out");

  from("jms:queue:hl7out")
    .unmarshal().hl7()
    .to("patientLookupService");
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat