[
https://issues.apache.org/jira/browse/CAMEL-9416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-9416.
--------------------------------
Resolution: Fixed
Assignee: Claus Ibsen
> Creation of Camel-MLLP component
> --------------------------------
>
> Key: CAMEL-9416
> URL: https://issues.apache.org/jira/browse/CAMEL-9416
> Project: Camel
> Issue Type: New Feature
> Components: camel-mllp
> Reporter: Jamie goodyear
> Assignee: Claus Ibsen
> Fix For: 2.17.0
>
>
> The camel-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 component is capable of handling both byte[] and String payloads which
> allows using other HL7 Libraries (i.e. HAPI) to parse the messages. When
> String payloads are specified, the component will use the systems default
> Charset for encoding/decoding, but this can be overridden.
> The component provides a simple URI for configuring MLLP endpoints:
> MLLP-Producers: to( "mllp://:" ) MLLP-Consumers: from("mllp://:) to listen on
> a specific address from("mllp://port") to listen on all local addresses
> MLLP-Producers also interrogate the HL7 Acknowledgment received from the
> external system and if a negative acknowledgment is received, the producer
> sets an exception on the exchange indicating the type of negative
> acknowledgement that was received (i.e. a HL7 Application Reject
> Acknowledgement or a HL7 Application Error Acknowledgement). This enables the
> use of Camel Redelivery Policies to configure redelivery attempts and routing
> erroneous messages to alternate endpoints for analysis.
> MLLP-Consumers will, by default, automatically generate an acknowledgement (a
> HL7 Application Accept Acknowledgment for successfully processed messages, or
> a HL7 Application Error Acknowledgement for messages where an exception is
> generated). This behaviour can be disabled with the autoAck=false URI
> parameter, which allows the user to generated their own HL7 Acknowledgment.
> The component also provides a Camel Processor that is capable of generating
> HL7 Acknowledgements. Therefore, the HAPI is not required to generate HL7
> Acknowledgements - however, it can be used if desired.
> By default, the processor will generate a HL7 Application Accept
> Acknowledgement if there is not an exception on the Camel Exchange -
> otherwise it will generate a HL7 Application Error Acknowledgement. The
> generated acknowledgement is placed in the "Out" Message of the Exchange by
> default in order to preserve the original HL7 message for later processing
> (i.e. log the HL7 message and the acknowledgment together).
> Since the MLLP protocol does not typically use a large number of concurrent
> connections, the camel-mllp component uses a simple thread-per-connection
> model based an standard Java Sockets. This keeps the implementation simple,
> and also eliminates the dependencies on other camel components.
> An initial code base has been developed here:
> https://github.com/hqstevenson/camel-mllp
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)