[ 
https://issues.apache.org/jira/browse/CAMEL-18709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-18709:
--------------------------------
    Summary: camel-mllp - Discrepancies between CamelHL7SendingApplication and 
CamelMllpSendingApplication exchange headers   (was: Discrepancies between 
CamelHL7SendingApplication and CamelMllpSendingApplication exchange headers )

> camel-mllp - Discrepancies between CamelHL7SendingApplication and 
> CamelMllpSendingApplication exchange headers 
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-18709
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18709
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 3.14.2
>            Reporter: Michael Jensen Garde
>            Priority: Minor
>
> Hi
> I have noticed some discrepancies between the HL7 component and the MLLP 
> component in how the HL7 Sending Application message header (MSH-3) is 
> extracted from an HL7 message and saved in their respective Camel exchange 
> headers.
> h2. In short
> The MSH-3 header may contain 3 components separated by "hats" (^)
> {code:java}
> namespace id^universal id^universal id type
> {code}
> Here is a couple of examples of how the two Camel components interpret these 
> headers:
> h3. (1)
> HL7 message MSH-3:
> {noformat}
> UNIVERSAL_ID{noformat}
> Camel exchange headers:
> {code:java}
> CamelHL7SendingApplication -> UNIVERSAL_ID
> CamelMllpSendingApplication -> UNIVERSAL_ID{code}
> h3. (2)
> HL7 message MSH-3:
> {code:java}
> ^UNIVERSAL_ID{code}
> Camel exchange headers:
> {code:java}
> CamelHL7SendingApplication -> null
> CamelMllpSendingApplication -> ^UNIVERSAL_ID{code}
> h3. (3)
> HL7 message MSH-3:
> {code:java}
> ^UNIVERSAL_ID^TYPE{code}
> Camel exchange headers:
> {code:java}
> CamelHL7SendingApplication -> null
> CamelMllpSendingApplication -> ^UNIVERSAL_ID^TYPE{code}
> h2. So...
> I'm not entirely sure what expected behaviour should be. We expected to use 
> the CamelHL7SendingApplication exchange header for validating the sending 
> application Universal Id but as of now we can't really trust it. Similarly 
> CamelMllpSendingApplication isn't useful for validating the Universal Id, 
> otherwise we need to do a manual split of the exchange header and the we 
> would rather just have a Terser do it for us instead. So right now, we just 
> do this instead:
> {code:java}
> private static String getSendingSystemUniversalId(Message hl7Message) throws 
> HL7Exception {
>     Terser terser = new Terser(hl7Message);
>     return terser.get("MSH-3-2");
> } {code}
>  
> *Link to the MSH-3 standard:*
> [https://hl7-definition.caristix.com/v2/HL7v2.8/Fields/MSH.3]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to