HL7 Triggered Expire Studies - dcm4che/dcm4chee-arc-light GitHub Wiki

Overview

Only one of the following 3 code flows (see left to right) is executed for Studies of a Patient (which is referenced in incoming HL7 messages to archive)

Unlike Apply Retention Policy or Study Retention Policy triggered on C-Store for which only one retention period is provided by the configured Study Retention Policy, user is provided with options to set minimum or maximum retention periods on HL7 Study Retention Policy if studies/series are to be frozen/expired triggered by incoming HL7 messages.

Configuration

Using Archive UI

  • Configure one or more HL7 Study Retention Policy based on one's requirements.
  • Doing so will trigger setting expiration date to studies of patient for which any processed HL7 Message referencing this patient is received by archive.

Use Cases

  • If study does not have expiration date, then on receive of HL7 messages referencing the patient of this study, the configured value i.e. Minimal Study Retention Period or Maximal Study Retention Period shall get applied.

  • If retention period should be started on Study Date, then set Start Retention Period on Study Date to True else current date shall be considered.

  • If expiration date of study is

    • before minimal retention period, the resultant expiration date of studies will be increased.
    • after maximal retention period, the resultant expiration date of studies will be decreased.
    • between minimal and maximal retention periods, the resultant expiration date of studies will remain unchanged.

Testing

Required dcm4che Tools

  • hl7snd simulating the HL7 Sender (e.g. DSS/Order Filler), which sends the HL7 messages to archive.

Verification

  • Send HL7 message to archive using hl7snd tool

      hl7snd -c <host>:<port> /path-to-hl7-msg
    
  • Using the archive UI, see the Study Expiration Date set in the private attributes as shown below :

study_retention_policy.png

  • Similarly verify also on Series level.
⚠️ **GitHub.com Fallback** ⚠️