Ignore HL7 messages referring already merged Patient - dcm4che/dcm4chee-arc-light GitHub Wiki

Overview

There may be scenarios where multiple HL7 systems send same HL7 message concurrently to an archive. If these messages are Patient Merge messages, then the first occurrence of such message merges the two patients and as per IHE rejects any further messages which try to merge the same patients again. In scenarios where it might not be possible due to concurrent setup of HL7 systems sending same HL7 messages to archive, one may want to ignore such repetitive messages by not sending HL7 Error Code back in the responses.

Configuration

Using Archive UI

  1. Select the level on which the feature needs to be configured :
    • To configure on Archive device level, go to Menu->Configuration, then on Devices page, Edit of dcm4chee-arc device. Go to Extensions and Edit extension of Device Extension. Again go to its Extensions and Edit extension of Archive device.
    • To configure on Archive HL7 application extension level, go to Menu->Configuration, then on Devices page and Edit the dcm4chee-arc device. Go to Extensions and Edit extension of Device Extension. Go to Child Objects and select the HL7 application for which this feature needs to be configured. Go to Extensions and Edit extension of Archive HL7 Application.
  2. Select a value from dropdown for the field HL7 Referred Merged Patient Policy and Save.

Using LDAP

One may either create LDIF file and import it to the LDAP Server by using the ldapmodify command line utility.

  • To configure on Archive device level,

     version: 1
          
     dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
     changetype: modify
     add: hl7ReferredMergedPatientPolicy
     hl7ReferredMergedPatientPolicy: IGNORE
    
  • To configure on Archive HL7 application extension level,

     version: 1
          
     dn: hl7ApplicationName=*,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
     changetype: modify
     add: hl7ReferredMergedPatientPolicy
     hl7ReferredMergedPatientPolicy: IGNORE
    
  • or use the Add Attribute... and Add Value... function of Apache Directory Studio to add attributes on Archive Device level (e.g.: dicomDeviceName=dcm4chee-arc) or Archive HL7 Application level (eg.: hl7ApplicationName=*) in the Archive Configuration.

One may refer to Archive Device or Archive HL7 Application to understand the description of attribute.

Use Cases

  1. (Default) REJECT : The default value for this policy is set to REJECT which means that all such HL7 messages which may refer to an already merged patient shall get rejected and an error code shall be sent back in the HL7 response.

  2. IGNORE : This indicates that that all such HL7 messages which may refer to an already merged patient (in PID or MRG segments) shall be ignored always. Only an Info log message is written out in the server log. The HL7 response is sent back as success, but no update shall be done in the archive whatsoever. An acknowledgment message with successful response is only sent back to avoid issues at client sides which send concurrent HL7 messages but do not want to repetitively receive error responses.

  3. IGNORE_DUPLICATE_MERGE : This indicates that that only HL7 Merge messages (ADT^A40) which may refer to an already merged patient (in PID or MRG segments) shall be ignored always and only an Info log message is written out in the server log. The HL7 response is sent back as success, but no update shall be done in the archive whatsoever. An acknowledgment message with successful response is only sent back to avoid issues at client sides which send concurrent HL7 messages but do not want to repetitively receive error responses. Any other HL7 message which may refer to an already merged patient (in PID or MRG segments), if received, shall be rejected with an error code sent back in the HL7 response.

⚠️ **GitHub.com Fallback** ⚠️