Storage Verification - dcm4che/dcm4chee-arc-light GitHub Wiki

Overview

This feature enables user to do storage verifications of all new incoming studies using a scheduler thereby enabling regular integrity checks automatically of the objects of the studies. User does not need to trigger storage commitment using DIMSE or RESTful services. The feature is also useful when the requirement is that the archive should keep verifying the integrity of objects of studies. One can also set a period to have this storage verification in regular intervals.

Configuration

Using Archive UI

To trigger storage verification by scheduler, two basic attributes need to be configured (and are required for all other use cases explained below)

  • Go to Menu->Configuration, Devices tab and edit dcm4chee-arc device. Edit extension of Device Extension, next Edit extension of Archive Device and then to Attributes section.
  • Enter values against fields Storage Verification Initial Delay and Storage Verification Polling Interval and Save.

Doing so, will trigger storage verification for new incoming studies only once.

Use Cases

  1. Storage Verification in Regular Intervals.
  • Add Storage Verification Period and Save.

    This ensures that new tasks will get created in the database based on the period that is set. For eg. if you set period to 1 day (P1D), storage verification will take place every day for the studies you send today after doing the basic configuration explained above.

  1. Storage Verification at Predefined Schedule(s)
  • Add one or more Storage Verification Schedule and Save.

    This is useful when one wants to postpone the scheduler triggered storage verification to off busy hours. For eg. hour=23-24 (Everyday between 11pm and midnight) or hour=23-24 dayOfWeek=6-0 (Only on Saturday and Sunday between 11pm and midnight)

  1. Distribute storage verification tasks over several archives in a clustered archive network.
  • Add Maximal scheduled Storage Verifications and Save.

Additional Optional Configurations

Below attributes can be changed/added based on one's requirements.

  • Storage Verification Fetch Size by default is set to 100.
  • Storage Verification Batch ID by default has no value, but one may add a value if one wants to associate the storage verification tasks with a batch.
  • Storage Verification AE Title is set to DCM4CHEE, this can be changed to AE of one's choice.
  • Storage Verification Policy by default is OBJECT_CHECKSUM, this may be changed as required from the available options.
  • Storage Verification Update Location Status by default is set to false.
  • Storage Verification Storage IDs(s) by default has no values. Add one or more storage id(s) to indicate that for successful Storage Verification the object must be stored on (one of) the specified Storage System.

Using LDAP

One may either

  • create a LDIF file (e.g.):

      version: 1
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationPollingInterval
      dcmStorageVerificationPollingInterval: P1D
      -
      
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationInitialDelay
      dcmStorageVerificationInitialDelay: PT1M
      -
      
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationInitialPeriod
      dcmStorageVerificationInitialPeriod: P1W
      -
      
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationSchedule
      dcmStorageVerificationInitialSchedule: hour=23-24
      -
      
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationMaxScheduled
      dcmStorageVerificationMaxScheduled: 10
      -
    
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationPolicy
      dcmStorageVerificationPolicy: OBJECT_EXISTS
      -
      
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationUpdateLocationStatus
      dcmStorageVerificationUpdateLocationStatus: true
      -
      
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationStorageID
      dcmStorageVerificationStorageID: fs1
      -
    
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationFetchSize
      dcmStorageVerificationFetchSize: 2000
      -
      
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationBatchID
      dcmStorageVerificationBatchID: weeklyBatch
      -
      
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmStorageVerificationAETitle
      dcmStorageVerificationAETitle: TEST_ARCHIVE_1
    

    and import it to the LDAP Server by using the ldapmodify command line utility.

  • or use the Add Attribute... and Add Value... function of Apache Directory Studio to add attributes on Device level (e.g.: dicomDeviceName=dcm4chee-arc) in the Archive Configuration.

One may refer to Archive Device
to understand the description of attributes.

Refer ISO-8601 Duration format for more know-how on Durations.

Go to the Control tab on Configuration page in archive UI and reload the configuration.

Tests

Select Storage Verification from More Functions in the Archive UI Studies page to trigger Storage Verification of multiple studies. The storage verification tasks can also be monitored in the Monitoring page -> Storage Verification tab.

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