Export Triggered IAN - dcm4che/dcm4chee-arc-light GitHub Wiki

Overview

Export triggered IAN is only beneficial if the destination (to which objects are exported from the archive) is not able to send out IAN itself to other systems. So in a way archive steps in, to send out IAN after objects have been exported to the destination.

This is explained in following two ways :

  • Rule based export : Export objects to the destination and then send out IAN notification.

Configuration

Configure a DICOM Exporter.

Note that if you are configuring the Exporter using Archive UI remember to configure the fields IAN Destination and optionally Retrieve AE Title and Instance Availability. Alternatively, if you are configuring Exporter using LDAP, then configure the attributes dcmIANDestination and optionally dcmRetrieveAET and dcmInstanceAvailability.

  • Rule based Export triggered IAN : Systems will be notified of availability of objects, after exporting the objects.

  • UI based Export triggered IAN : Systems will be notified of availability of objects, without exporting the objects.

Testing

Rule based Export triggered IAN

Required dcm4che Tools

  • storescu simulating the external object source (e.g. modality) STORESCU, from which objects are being received.
  • storescp simulating the external object destination (e.g. central archive) STORESCP, to which received objects are forwarded.

Verification

  1. Start STORESCP tool acting as destination of objects exported from archive.

       storescp -b STORESCP:11115
    
  2. Start IANSCP tool acting as the receiver of IAN notification from the archive.

       ianscp -b IANSCP:11117
    
  3. Store objects to the archive (with matching criteria in configured Export Rule) using the storescu tool.

       storescu -c DCM4CHEE@localhost:11112 /path-to-study
    
  4. After the configured Duration in Export Rule, see in the logs in STORESCP tool window

12:12:27,454 INFO  - STORESCP<-DCM4CHEE(1) >> 1:C-STORE-RQ[pcid=3, prior=0                                                                                                                                                                  
  cuid=1.2.840.10008.5.1.4.1.1.7 - Secondary Capture Image Storage                                                                                                                                                                          
  iuid=1.3.6.1.4.1.5962.1.1.0.1.1.1175775772.5723.0 - ?                                                                                                                                                                                     
  tsuid=1.2.840.10008.1.2.1 - Explicit VR Little Endian                                                                                                                                                                                     
12:12:27,470 DEBUG - Command:                                                                                                                                                                                                               
(0000,0002) UI [1.2.840.10008.5.1.4.1.1.7] 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.6.1.4.1.5962.1.1.0.1.1.1175775772.5723.0] AffectedSOPInsta                                                                                                                                                              
                                                                                                                                                                                                                                            
12:12:27,471 INFO  - STORESCP<-DCM4CHEE(1) << 1:C-STORE-RSP[pcid=3, status=0H                                                                                                                                                               
  cuid=1.2.840.10008.5.1.4.1.1.7 - Secondary Capture Image Storage                                                                                                                                                                          
  iuid=1.3.6.1.4.1.5962.1.1.0.1.1.1175775772.5723.0 - ?                                                                                                                                                                                     
  tsuid=1.2.840.10008.1.2.1 - Explicit VR Little Endian                                                                                                                                                                                     
12:12:27,471 DEBUG - Command:                                                                                                                                                                                                               
(0000,0002) UI [1.2.840.10008.5.1.4.1.1.7] 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.6.1.4.1.5962.1.1.0.1.1.1175775772.5723.0] AffectedSOPInsta           
  1. See in the IANSCP tool window that the Instance Availability notification has been received.
12:12:27,570 INFO  - IANSCP<-DCM4CHEE(1) >> 1:N-CREATE-RQ[pcid=1
  cuid=1.2.840.10008.5.1.4.33 - Instance Availability Notification SOP Class
  iuid=2.25.231595008744213457665446840453625876754 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
12:12:27,586 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.33] AffectedSOPClassUID
(0000,0100) US [320] CommandField
(0000,0110) US [1] MessageID
(0000,0800) US [0] CommandDataSetType
(0000,1000) UI [2.25.231595008744213457665446840453625876754] AffectedSOPInsta

12:12:27,587 DEBUG - Dataset:
(0008,1111) SQ [] ReferencedPerformedProcedureStepSequence
(0008,1115) SQ [1 Items] ReferencedSeriesSequence
>Item #1
>(0008,1199) SQ [1 Items] ReferencedSOPSequence
>>Item #1
>>(0008,0054) AE [STORESCP] RetrieveAETitle
>>(0008,0056) CS [ONLINE] InstanceAvailability
>>(0008,1150) UI [1.2.840.10008.5.1.4.1.1.7] ReferencedSOPClassUID
>>(0008,1155) UI [1.3.6.1.4.1.5962.1.1.0.1.1.1175775772.5723.0] ReferencedSOPI
>(0020,000E) UI [1.3.6.1.4.1.5962.1.3.0.1.1175775772.5723.0] SeriesInstanceUID
(0020,000D) UI [1.3.6.1.4.1.5962.1.2.0.1175775772.5723.0] StudyInstanceUID

12:12:27,588 INFO  - IANSCP<-DCM4CHEE(1) << 1:N-CREATE-RSP[pcid=1, status=0H
  cuid=1.2.840.10008.5.1.4.33 - Instance Availability Notification SOP Class
  iuid=2.25.231595008744213457665446840453625876754 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
12:12:27,588 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.33] AffectedSOPClassUID
(0000,0100) US [33088] CommandField
(0000,0120) US [1] MessageIDBeingRespondedTo
(0000,0800) US [257] CommandDataSetType
(0000,0900) US [0] Status
(0000,1000) UI [2.25.231595008744213457665446840453625876754] AffectedSOPInsta

UI based Export triggered IAN

Verification

  1. Start IANSCP tool acting as the receiver of IAN notification from the archive.

       ianscp -b IANSCP:11117
    
    • Export single study/series/object (select the Queued Export option) or export multiple studies using the archive UI. Select the Exporter as STORESCP and also select the checkbox IAN without export and click Export.
  2. See in the IANSCP tool window that the Instance Availability notification has been received.

11:57:30,345 INFO  - IANSCP<-DCM4CHEE(1) >> 1:N-CREATE-RQ[pcid=1
  cuid=1.2.840.10008.5.1.4.33 - Instance Availability Notification SOP Class
  iuid=2.25.301796958404223617751309352997837262621 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
11:57:30,364 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.33] AffectedSOPClassUID
(0000,0100) US [320] CommandField
(0000,0110) US [1] MessageID
(0000,0800) US [0] CommandDataSetType
(0000,1000) UI [2.25.301796958404223617751309352997837262621] AffectedSOPInsta

11:57:30,367 DEBUG - Dataset:
(0008,1111) SQ [] ReferencedPerformedProcedureStepSequence
(0008,1115) SQ [2 Items] ReferencedSeriesSequence
>Item #1
>(0008,1199) SQ [9 Items] ReferencedSOPSequence
>>Item #1
>>(0008,0054) AE [STORESCP] RetrieveAETitle
>>(0008,0056) CS [NEARLINE] InstanceAvailability
>>(0008,1150) UI [1.2.840.10008.5.1.4.1.1.4] ReferencedSOPClassUID
>>(0008,1155) UI [1.2.840.113674.950809132644128.100] ReferencedSOPInstanceUID
>>Item #2
>>(0008,0054) AE [STORESCP] RetrieveAETitle
>>(0008,0056) CS [NEARLINE] InstanceAvailability
>>(0008,1150) UI [1.2.840.10008.5.1.4.1.1.4] ReferencedSOPClassUID
>>(0008,1155) UI [1.2.840.113674.950809132633027.100] ReferencedSOPInstanceUID
...

11:57:30,368 INFO  - IANSCP<-DCM4CHEE(1) << 1:N-CREATE-RSP[pcid=1, status=0H
  cuid=1.2.840.10008.5.1.4.33 - Instance Availability Notification SOP Class
  iuid=2.25.301796958404223617751309352997837262621 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
11:57:30,369 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.33] AffectedSOPClassUID
(0000,0100) US [33088] CommandField
(0000,0120) US [1] MessageIDBeingRespondedTo
(0000,0800) US [257] CommandDataSetType
(0000,0900) US [0] Status
(0000,1000) UI [2.25.301796958404223617751309352997837262621] AffectedSOPInsta

Monitoring IAN Tasks

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

  • Select IAN Tasks from Queue dropdown and set one or more filters and query for the IAN tasks. Count of IAN tasks may be obtained as well.
  • One may reschedule/cancel/delete a single IAN Task (icons available against each task, hover for info) .
  • For rescheduling bulk IAN tasks , select a Status and Reschedule all matching tasks from the All actions dropdown.
  • For cancelling bulk IAN tasks, select either SCHEDULED or IN PROCESS as Status and Cancel all matching tasks from the All actions dropdown.
  • For deleting bulk IAN tasks, select Delete all matching tasks from the All actions dropdown.
⚠️ **GitHub.com Fallback** ⚠️