Modality Performed Procedure Step может быть получен архивом от модальности после того, как объекты сохранены в архив. В этом случае уведомление Instance Availability Notification может быть отправлено из архива, как только все объекты исследования будут указаны в MPPS.
Если дополнительно настроен IAN Timeout для ожидания и проверки полноты экземпляров, полученных в MPPS, и все экземпляры, указанные в MPPS, были получены, то этот таймер будет остановлен и отправлено уведомление Instance Availability Notification.
Через UI архива — Можно настроить на:
Уровне Archive Device (отправлять IAN для экземпляров, полученных любым Application Entity архива):
Перейдите на уровень расширения archive device Configuration page -> Devices tab -> dcm4chee-arc -> Device Extension
-> Archive Device Extension. Настройте IAN Timeout и установите IAN On Timeout в True и нажмите Save.
Уровне Archive Application Extension (отправлять IAN для экземпляров, полученных этим Application Entity архива):
Перейдите на уровень расширения archive AE Configuration page -> Devices tab -> dcm4chee-arc -> Child Objects Network AEs
-> Network AE Extension -> Archive Network AE Extension. Настройте IAN Timeout и установите IAN On Timeout в True
и нажмите Save.
ИЛИ - Через LDAP — Можно либо создать LDIF-файл для добавления атрибутов на: - Уровне Archive Device (например):
version: 1
dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: modify
add: dcmIanTimeout
dcmIanTimeout: PT5M
dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: modify
add: dcmIanOnTimeout
dcmIanOnTimeout: TRUE
ИЛИ
- Уровне Archive AE (например):
version: 1
dn: dicomAETitle=DCM4CHEE,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: modify
add: dcmIanTimeout
dcmIanTimeout: PT5M
dn: dicomAETitle=DCM4CHEE,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: modify
add: dcmIanOnTimeout
dcmIanOnTimeout: TRUE
и импортировать его на LDAP-сервер с помощью утилиты командной строки _ldapmodify_.
ИЛИ использовать функции Add Attribute... и Add Value... в Apache Directory Studio,
чтобы добавить атрибуты на уровне устройства (например: dicomDeviceName=dcm4chee-arc) или на уровне Application Entity (например: dicomAETitle=DCM4CHEE)
в конфигурации архива.
Описание атрибутов можно найти в Archive Device или Archive Network AE.
Дополнительные сведения о длительностях см. в ISO-8601 Duration format.
Перейдите на вкладку Control на странице Configuration в UI архива и перезагрузите конфигурацию.
Запустите IANSCP
ianscp -b IANSCP:11117
Сохраните все объекты этого исследования в архив
storescu -c DCM4CHEE@localhost:11112 /pathToStudy
Отправьте запрос MPPS, ссылающийся на все объекты этого исследования
mppsscu -c DCM4CHEE@localhost:11112 /pathToStudy
После истечения настроенного интервала опроса проверьте в окне инструмента ianscp, что получено уведомление Instance Availability
Notification.
Запустите IANSCP
ianscp -b IANSCP:11117
Сохраните все объекты этого исследования в архив
storescu -c DCM4CHEE@localhost:11112 /pathToStudy
Отправьте запрос MPPS, ссылающийся только на часть объектов этого исследования
mppsscu -c DCM4CHEE@localhost:11112 /pathToStudy-some-objects
После истечения настроенного интервала опроса проверьте в окне инструмента ianscp, что уведомление Instance Availability
Notification получено только для объектов, указанных в MPPS.
Запустите IANSCP
ianscp -b IANSCP:11117
Сохраните все объекты этого исследования в архив
storescu -c DCM4CHEE@localhost:11112 /pathToStudy
Отправьте запрос MPPS, ссылающийся на все объекты этого исследования
mppsscu -c DCM4CHEE@localhost:11112 /pathToStudy
После истечения настроенного интервала опроса планировщик проверяет полноту MPPS и отправляет IAN. Это можно
проверить по запланированному времени задачи IAN, началу работы планировщика IAN и времени отправки соответствующего IAN. Проверьте
в окне инструмента ianscp, что получено уведомление Instance Availability Notification.
Пример журналов на стороне архива для этого варианта использования
11:30:51,867 INFO [org.dcm4chee.arc.ian.scu.IANScheduler] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU(5):
Created IanTask[pk=10, deviceName=dcm4chee-arc, mppsInstanceUID=2.25.283448069981433108367525709744139201854,
scheduledTime=Tue Mar 10 11:31:51 CET 2020]
..............
..............
11:31:04,971 INFO [org.dcm4chee.arc.ian.scu.IANScheduler] (EE-ManagedScheduledExecutorService-default-Thread-3) start
IANScheduler.execute()
11:31:04,995 INFO [org.dcm4chee.arc.ian.scu.IANScheduler] (EE-ManagedScheduledExecutorService-default-Thread-3) Check
availability of MPPS[pk=40, uid=2.25.283448069981433108367525709744139201854, studyInstanceUID=1.2.840.113674.1335.106.200,
status=COMPLETED]
11:31:05,006 INFO [org.dcm4chee.arc.ian.scu.IANScheduler] (EE-ManagedScheduledExecutorService-default-Thread-3) Schedule
IanTask[pk=10, deviceName=dcm4chee-arc, mppsInstanceUID=2.25.283448069981433108367525709744139201854,
scheduledTime=2020-03-10 11:31:51.859]
11:31:05,038 INFO [org.dcm4chee.arc.qmgt.impl.QueueManagerEJB] (EE-ManagedScheduledExecutorService-default-Thread-3)
Schedule Task[id=ID:3f198e8f-62ba-11ea-a51c-c465169b5497] at Queue IANSCU
11:31:05,114 INFO [org.dcm4chee.arc.ian.scu.IANScheduler] (EE-ManagedScheduledExecutorService-default-Thread-3) finished
IANScheduler.execute()
11:31:05,145 INFO [org.dcm4chee.arc.qmgt.impl.QueueManagerEJB] (Thread-13 (ActiveMQ-client-global-threads)) Start
processing Task[id=ID:3f198e8f-62ba-11ea-a51c-c465169b5497] from Queue IANSCU with Status: SCHEDULED
11:31:05,181 INFO [org.dcm4che3.net.Connection] (Thread-13 (ActiveMQ-client-global-threads)) Initiate connection from
/0.0.0.0:0 to localhost:11117
11:31:05,184 INFO [org.dcm4che3.net.Connection] (Thread-13 (ActiveMQ-client-global-threads)) Established connection
Socket[addr=localhost/127.0.0.1,port=11117,localport=58759]
11:31:05,184 INFO [org.dcm4che3.net.Association] (Thread-13 (ActiveMQ-client-global-threads)) DCM4CHEE->IANSCP(6) << A-ASSOCIATE-RQ
11:31:05,251 INFO [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-9) DCM4CHEE->IANSCP(6) >> A-ASSOCIATE-AC
11:31:05,251 INFO [org.dcm4che3.net.Dimse] (Thread-13 (ActiveMQ-client-global-threads)) DCM4CHEE->IANSCP(6) << 1:N-CREATE-RQ[pcid=1
cuid=1.2.840.10008.5.1.4.33 - Instance Availability Notification SOP Class
iuid=2.25.100257876498806151984262827556432404898 - ?
tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
11:31:05,360 INFO [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-9) DCM4CHEE->IANSCP(6) >> 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.100257876498806151984262827556432404898 - ?
tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
11:31:05,361 INFO [org.dcm4che3.net.Association] (Thread-13 (ActiveMQ-client-global-threads)) DCM4CHEE->IANSCP(6) << A-RELEASE-RQ
11:31:05,362 INFO [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-9) DCM4CHEE->IANSCP(6) >> A-RELEASE-RP
11:31:05,362 INFO [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-9) DCM4CHEE->IANSCP(6): close
Socket[addr=localhost/127.0.0.1,port=11117,localport=58759]
11:31:05,374 INFO [org.dcm4chee.arc.qmgt.impl.QueueManagerEJB] (Thread-13 (ActiveMQ-client-global-threads)) Finished
processing of Task[id=ID:3f198e8f-62ba-11ea-a51c-c465169b5497] at Queue IANSCU with Status COMPLETED