Search

Chapter 106. MLLP

download PDF

MLLP Component

Available as of Camel 2.17
The MLLP component is specifically designed to handle the nuances of the MLLP protocol and provide the functionality required by Healthcare providers to communicate with other systems using the MLLP protocol. The MLLP component provides a simple configuration URI, automated HL7 acknowledgment generation and automatic acknowledgement interrogation.
The MLLP protocol does not typically use a large number of concurrent TCP connections - a single active TCP connection is the normal case. Therefore, the MLLP component uses a simple thread-per-connection model based an standard Java Sockets. This keeps the implementation simple and eliminates the dependencies other than Camel itself.
The component supports the following:
  • A Camel consumer using a TCP Server
  • A Camel producer using a TCP Client
The MLLP component uses byte[] payloads, and relies on Camel Type Conversion to convert byte[] to other types.
Maven users will need to add the following dependency to their pom.xml for this component:
<dependency>
    <groupId>org.apache.camel<groupId>
    <artifactId>camel-mllp<artifactId>
    <version>x.x.x<version>
    < use the same version as your Camel core version -->
<dependency>

MLLP Consumer

The MLLP Consumer supports receiving MLLP-framed messages and sending HL7 Acknowledgements. The MLLP Consumer can automatically generate the HL7 Acknowledgement (HL7 Application Acknowledgements only - AA, AE and AR), or the acknowledgement can be specified using the CamelMllpAcknowledgement exchange property. Additionally, the type of acknowledgement that will be generated can be controlled by setting the CamelMllpAcknowledgementType exchange property.

Message Headers

The MLLP Consumer adds these headers on the Camel message:
Key
MSH field
Example
CamelMllpLocalAddress
CamelMllpRemoteAddress
CamelMllpSendingApplication
MSH-3
APPA
CamelMllpSendingFacility
MSH-4
FACA
CamelMllpReceivingApplication
MSH-5
CAMEL
CamelMllpReceivingFacility
MSH-6
FACB
CamelMllpTimestamp
MSH-7
20150106235900
CamelMllpSecurity
MSH-8
CamelMllpMessageType
MSH-9
ADT^A04
CamelMllpEventType
MSH-9-1
AD4
CamelMllpTriggerEvent
MSH-9-2
A04
CamelMllpMessageControlId
MSH-10
12345
CamelMllpProcessingId
MSH-11
P
CamelMllpVersionId
MSH-12
2.3.1
CamelMllpCharset
MSH-18
All headers are String types. If a header value is missing, its value is null.

Exchange Properties

The type of acknowledgment the MLLP Consumer generates can be controlled by these properties on the Camel exchange:
Key
Example
CamelMllpAcknowledgement
CamelMllpAcknowledgementType
AR
All headers are String types. If a header value is missing, its value is null.

Consumer Configuration - MLLP Producer

The MLLP Producer supports sending MLLP-framed messages and receiving HL7 Acknowledgements. The MLLP Producer interrogates the HL7 Acknowledgments and raises exceptions if a negative acknowledgement is received. The received acknowledgement is interrogated and an exception is raised in the event of a negative acknowledgement.

Message Headers

The MLLP Producer adds these headers on the Camel message:
Key
MSH field
Example
CamelMllpLocalAddress
CamelMllpRemoteAddress
CamelMllpAcknowledgement
CamelMllpAcknowledgementType
AA
All headers are String types. If a header value is missing, its value is null.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.