Archive as SCP - dcm4che/dcm4chee-arc-light GitHub Wiki

Overview

Storage commitment can be triggered by the modality once it stores the objects to the archive as shown below :

Configuration

Configure a Remote Application Entity for system acting as the modality storing objects to the archive. (In below tests, STORESCU)

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

Testing

Required dcm4che Tools

  • storescu simulating the external object source (e.g. modality) STORESCU, from which objects are being received
  • stgcmtscu implements a Service Class User (SCU) for the Storage Commitment Push Model SOP Class.

Verification

  1. Store the image in archive using the STORESCU tool as shown below

        storescu -c DCM4CHEE@localhost:11112 /pathToStudy                                      
    

    Below is the snippet of Request - Response logs

        14:57:19,494 INFO  - STORESCU->DCM4CHEE(1) << 1:C-STORE-RQ[pcid=5, prior=0
          cuid=1.2.840.10008.5.1.4.1.1.2 - CT Image Storage
          iuid=1.3.12.2.1107.5.8.1.12345678.199508041416590861483 - ?
          tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
        14:57:19,509 DEBUG - Command:
        (0000,0002) UI [1.2.840.10008.5.1.4.1.1.2] AffectedSOPClassUID
        (0000,0100) US [1] CommandField
        (0000,0110) US [1] MessageID
        (0000,0700) US [0] Priority
        (0000,0800) US [0] CommandDataSetType
        (0000,1000) UI [1.3.12.2.1107.5.8.1.12345678.199508041416590861483] AffectedSO
        
        14:57:19,579 INFO  - STORESCU->DCM4CHEE(1) >> 1:C-STORE-RSP[pcid=5, status=0H
          cuid=1.2.840.10008.5.1.4.1.1.2 - CT Image Storage
          iuid=1.3.12.2.1107.5.8.1.12345678.199508041416590861483 - ?
          tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
        14:57:19,580 DEBUG - Command:
        (0000,0002) UI [1.2.840.10008.5.1.4.1.1.2] AffectedSOPClassUID
        (0000,0100) US [32769] CommandField
        (0000,0120) US [1] MessageIDBeingRespondedTo
        (0000,0800) US [257] CommandDataSetType
        (0000,0900) US [0] Status
        (0000,1000) UI [1.3.12.2.1107.5.8.1.12345678.199508041416590861483] AffectedSO
    
  2. Run the Storage Commitment test using the STGCMTSCU tool as shown below
    stgcmtscu -b STGCMTSCU:11114 -c DCM4CHEE@localhost:11112 /image.dcm
    Below is the snippet of Request - Response logs

        14:58:35,257 INFO  - STGCMTSCU->DCM4CHEE(1) << 1:N-ACTION-RQ[pcid=2, actionID=1
          cuid=1.2.840.10008.1.20.1 - Storage Commitment Push Model SOP Class
          iuid=1.2.840.10008.1.20.1.1 - Storage Commitment Push Model SOP Instance
          tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
        14:58:35,272 DEBUG - Command:
        (0000,0003) UI [1.2.840.10008.1.20.1] RequestedSOPClassUID
        (0000,0100) US [304] CommandField
        (0000,0110) US [1] MessageID
        (0000,0800) US [0] CommandDataSetType
        (0000,1001) UI [1.2.840.10008.1.20.1.1] RequestedSOPInstanceUID
        (0000,1008) US [1] ActionTypeID
        
        14:58:35,273 DEBUG - Dataset:
        (0008,1195) UI [2.25.231894861687001207943608897804360118327] TransactionUID
        (0008,1199) SQ [1 Items] ReferencedSOPSequence
        >Item #1
        >(0008,1150) UI [1.2.840.10008.5.1.4.1.1.2] ReferencedSOPClassUID
        >(0008,1155) UI [1.3.12.2.1107.5.8.1.12345678.199508041416590861483] Reference
        
        14:58:35,313 INFO  - STGCMTSCU->DCM4CHEE(1) >> 1:N-ACTION-RSP[pcid=2, status=0H
          cuid=1.2.840.10008.1.20.1 - Storage Commitment Push Model SOP Class
          iuid=1.2.840.10008.1.20.1.1 - Storage Commitment Push Model SOP Instance
          tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
        14:58:35,313 DEBUG - Command:
        (0000,0002) UI [1.2.840.10008.1.20.1] AffectedSOPClassUID
        (0000,0100) US [33072] CommandField
        (0000,0120) US [1] MessageIDBeingRespondedTo
        (0000,0800) US [257] CommandDataSetType
        (0000,0900) US [0] Status
        (0000,1000) UI [1.2.840.10008.1.20.1.1] AffectedSOPInstanceUID
        .........
        .........
        14:58:35,356 INFO  - STGCMTSCU<-DCM4CHEE(2) >> 1:N-EVENT-REPORT-RQ[pcid=1, eventID=1
          cuid=1.2.840.10008.1.20.1 - Storage Commitment Push Model SOP Class
          iuid=1.2.840.10008.1.20.1.1 - Storage Commitment Push Model SOP Instance
          tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
        14:58:35,356 DEBUG - Command:
        (0000,0002) UI [1.2.840.10008.1.20.1] AffectedSOPClassUID
        (0000,0100) US [256] CommandField
        (0000,0110) US [1] MessageID
        (0000,0800) US [0] CommandDataSetType
        (0000,1000) UI [1.2.840.10008.1.20.1.1] AffectedSOPInstanceUID
        (0000,1002) US [1] EventTypeID
        
        14:58:35,356 DEBUG - Dataset:
        (0008,1195) UI [2.25.231894861687001207943608897804360118327] TransactionUID
        (0008,1199) SQ [1 Items] ReferencedSOPSequence
        >Item #1
        >(0008,0054) AE [DCM4CHEE] RetrieveAETitle
        >(0008,1150) UI [1.2.840.10008.5.1.4.1.1.2] ReferencedSOPClassUID
        >(0008,1155) UI [1.3.12.2.1107.5.8.1.12345678.199508041416590861483] Reference
        
        14:58:35,357 INFO  - STGCMTSCU<-DCM4CHEE(2): M-WRITE ./2.25.231894861687001207943608897804360118327
        14:58:35,357 INFO  - STGCMTSCU<-DCM4CHEE(2) << 1:N-EVENT-REPORT-RSP[pcid=1, status=0H
          cuid=1.2.840.10008.1.20.1 - Storage Commitment Push Model SOP Class
          iuid=1.2.840.10008.1.20.1.1 - Storage Commitment Push Model SOP Instance
          tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
        14:58:35,357 DEBUG - Command:
        (0000,0002) UI [1.2.840.10008.1.20.1] AffectedSOPClassUID
        (0000,0100) US [33024] CommandField
        (0000,0120) US [1] MessageIDBeingRespondedTo
        (0000,0800) US [257] CommandDataSetType
        (0000,0900) US [0] Status
        (0000,1000) UI [1.2.840.10008.1.20.1.1] AffectedSOPInstanceUID
    

Monitoring Storage Commitment SCP Tasks

Go to the Menu->Monitoring page and click on Queues tab.

  • Here you need to select Storage Commitment SCP Tasks from Queue dropdown and may select one or more filters and query for the Storage Commitment SCP tasks. You can also just get the Count of Storage Commitment SCP Tasks.
  • You also have the option to reschedule/cancel/delete a single Storage Commitment SCP Task (icons available against each task, hover for info) or use bulk operations on Storage Commitment SCP tasks i.e Reschedule all matching tasks/Cancel all matching tasks/Delete all matching tasks.
  • For doing bulk reschedule, one of the following status COMPLETED/WARNING/FAILED/CANCELED must always be selected in order to be able to see the option Reschedule all matching tasks in the All actions dropdown.
  • For doing bulk cancel, one of the following status SCHEDULED/IN PROCESS must always be selected in order to be able to see the option Cancel all matching tasks in the All actions dropdown.
  • For doing bulk delete, one can select Delete all matching tasks in the All actions dropdown.
⚠️ **GitHub.com Fallback** ⚠️