Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

HL7 DataFormat

The HL7 component ships with a HL7 data format that can be used to format between String and HL7 model objects.

...

Code Block
java
java
  from("direct:hl7in").marshal().hl7().to("jms:queue:hl7out");
  from("jms:queue:hl7out").unmarshal().hl7().to("patientLookupService");

Message Headers

The unmarshal operation adds these MSH fields as headers on the Camel message:

Camel 1.x

Key

MSH field

Example

hl7.msh.sendingApplication

MSH-3

MYSERVER

hl7.msh.sendingFacility

MSH-4

MYSERVERAPP

hl7.msh.receivingApplication

MSH-5

MYCLIENT

hl7.msh.receivingFacility

MSH-6

MYCLIENTAPP

hl7.msh.timestamp

MSH-7

20071231235900

hl7.msh.security

MSH-8

null

hl7.msh.messageType

MSH-9-1

ADT

hl7.msh.triggerEvent

MSH-9-2

A01

hl7.msh.messageControl

MSH-10

1234

hl7.msh.processingId

MSH-11

P

hl7.msh.versionId

MSH-12

2.4

Camel 2.0

Key

MSH field

Example

CamelHL7SendingApplication

MSH-3

MYSERVER

CamelHL7SendingFacility

MSH-4

MYSERVERAPP

CamelHL7ReceivingApplication

MSH-5

MYCLIENT

CamelHL7ReceivingFacility

MSH-6

MYCLIENTAPP

CamelHL7Timestamp

MSH-7

20071231235900

CamelHL7Security

MSH-8

null

CamelHL7MessageType

MSH-9-1

ADT

CamelHL7TriggerEvent

MSH-9-2

A01

CamelHL7MessageControl

MSH-10

1234

CamelHL7ProcessingId

MSH-11

P

CamelHL7VersionId

MSH-12

2.4

All headers are String types. If a header value is missing, its value is null.

Options

The HL7 Data Format supports the following options:

Option

Default

Description

validate

true

Camel 2.0: Whether the HAPI Parser should validate.

Dependencies

To use HL7 in your camel routes you need to add a dependency on camel-hl7, which implements this data format.

If you use Maven, you could just add the following to your pom.xml, substituting the version number for the latest & greatest release (see the download page for the latest versions).

Code Block

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-hl7</artifactId>
  <version>2.2.0</version>
</dependency>

Camel 2.3: Since HAPI 0.6, the library has been split into a base library and several structures libraries, one for each HL7v2 message version:

By default camel-hl7 only references the HAPI base library. Applications are responsible for including structures libraries themselves. For example, if a application works with HL7v2 message versions 2.4 and 2.5 then the following dependencies must be added:

Code Block

<dependency>
    <groupId>ca.uhn.hapi</groupId>
    <artifactId>hapi-structures-v24</artifactId>
    <version>1.0</version>
</dependency>
<dependency>
    <groupId>ca.uhn.hapi</groupId>
    <artifactId>hapi-structures-v25</artifactId>
    <version>1.0</version>
</dependency>

OSGi

Work in progress (see also this thread on the HAPI mailing list).