[ 
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)

Reply via email to