Instance Availability Notification

612 views
Skip to first unread message

Deeps

unread,
Jan 13, 2020, 2:49:16 AM1/13/20
to dcm4che

Hi, How to do a custom logic when an IAN is received?


Gunter Zeilinger

unread,
Jan 13, 2020, 4:47:17 AM1/13/20
to dcm...@googlegroups.com
Current version (5.20.0) of dcm4chee-arc-5 only emits, but does not accepts IAN notifications!?


Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, January 13, 2020 8:49 AM, Deeps <deepski...@gmail.com> wrote:


Hi, How to do a custom logic when an IAN is received?



--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.

Deeps

unread,
Jan 13, 2020, 4:58:17 AM1/13/20
to dcm4che

I am using dcm4chee-arc-light 5.18.0. IAN is sent on receipt of images in the archive. How can we to do some custom logic when these (IAN) notifications are received?

Gunter Zeilinger

unread,
Jan 13, 2020, 5:04:46 AM1/13/20
to dcm...@googlegroups.com
Still do not understand. If you mean, when the IANs are sent:Screenshot from 2020-01-13 11-04-04.png



Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.

Deeps

unread,
Jan 13, 2020, 5:23:51 AM1/13/20
to dcm4che

I have configured IAN as shown in the screenshot settings. And there is an ianscp listener outside of dcm4chee archive that is listening for ian messages. My question was on how to process this ianscp within dcm4chee itself instead of using an external tool. And I am looking for ways to write custom logic as part of ianscp processing. Is there a standard way to achieve this in dcm4chee-arc-light?



On Monday, January 13, 2020 at 1:19:16 PM UTC+5:30, Deeps wrote:

Gunter Zeilinger

unread,
Jan 13, 2020, 5:26:57 AM1/13/20
to dcm...@googlegroups.com
Don't understand your use case. Why you want to process IANs emitted from the archive by the archive?


Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.

Deeps

unread,
Jan 13, 2020, 5:34:41 AM1/13/20
to dcm4che

 In the dcm4chee 2.x there was an MPPSEmulator that gets called for every new study, even if the study does not have the corresponding mwl order in the archive. So, we could use this mechanism to know when a study arrived and do some processing. But in dcm4chee-arc-light, MPPS/OMG is not generated when the study does not have a order information in the MWL. So, we are thinking of using the IAN to handle our use case.




On Monday, January 13, 2020 at 1:19:16 PM UTC+5:30, Deeps wrote:

Gunter Zeilinger

unread,
Jan 13, 2020, 5:43:24 AM1/13/20
to dcm...@googlegroups.com
So you want to emit the HL7v2 OMG on Study receive also without having an order for that Study?


Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.

Deeps

unread,
Jan 13, 2020, 5:50:00 AM1/13/20
to dcm4che

Yes.




On Monday, January 13, 2020 at 1:19:16 PM UTC+5:30, Deeps wrote:

Gunter Zeilinger

unread,
Jan 13, 2020, 6:25:59 AM1/13/20
to dcm...@googlegroups.com
Is there an external Modality Worklist SCP - or how get the modalities patient and procedure information, particular Study Instance UID and Accession Number?


Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.

Deeps

unread,
Jan 13, 2020, 7:31:42 AM1/13/20
to dcm4che

There is no external Modality Worklist SCP. In some use cases, there is no order information in the system. But the procedure is required. In such cases, Patient details will be manually entered by the technician at the modality console.



On Monday, January 13, 2020 at 1:19:16 PM UTC+5:30, Deeps wrote:

Gunter Zeilinger

unread,
Jan 13, 2020, 7:35:44 AM1/13/20
to dcm...@googlegroups.com
But then, how the HL7 system can associated the received OMG with any request?


Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.

Deeps

unread,
Jan 14, 2020, 12:25:37 AM1/14/20
to dcm4che

There are two use cases:

1) At the time of procedure, there is no order existing in the system. But later, order was placed in RIS. The RIS system provides a mechanism to manually map this order with the study received earlier.

2) An order is existing in the system, but the modality technician missed to select the order and so the study received in the archive did not have the order information in the images. In this case also, RIS system provides a mechanism to manually map the order with the study.

For these two use cases, we earlier depended on MPPS message generated by the MPPSEmulator of dcm4chee 2.x.









On Monday, January 13, 2020 at 1:19:16 PM UTC+5:30, Deeps wrote:

Deeps

unread,
Jan 14, 2020, 6:32:14 AM1/14/20
to dcm4che

If the dcm4chee-arc-light can send an OMG on study receive even when there is no order for the study, our HL7 system can use this message for triggering the manual association of study with order. In this case, I expect the OMG will contain all information except the order details. If this can be provided by dcm4chee-arc-light, that would be very helpful to manage the workflow mentioned in my previous response.




On Monday, January 13, 2020 at 1:19:16 PM UTC+5:30, Deeps wrote:

Gunter Zeilinger

unread,
Jan 14, 2020, 9:26:16 AM1/14/20
to dcm...@googlegroups.com


Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.

Deeps

unread,
Jan 15, 2020, 2:02:06 AM1/15/20
to dcm4che

Thank you Gunter.



On Monday, January 13, 2020 at 1:19:16 PM UTC+5:30, Deeps wrote:

eduardo silva

unread,
Jul 28, 2021, 6:10:24 AM7/28/21
to dcm4che
Hi,

I need to configure Instance Availability Notification when a study is received without mwl.
I looked through your tutorials, but I couldn't find enough information to achieve this goal.


Can you help me configuring this since, I already configured de external hl7, but I couldn't create the trigger to send the HL7.

Thank you

Vrinda Nayak

unread,
Jul 28, 2021, 8:41:28 AM7/28/21
to dcm4che
To send :
- Instance Availability Notification on receive of studies, see Instance Availability Notification - MPPS not supported by modality.
- HL7 messages on receive of studies, see Synchronize external HL7 Receivers - Received Studies.

eduardo silva

unread,
Jul 30, 2021, 5:19:32 AM7/30/21
to dcm4che
Thanks Vrinda for the quick response.

I managed to create the HL7 receiver and configure it according to this: https://github.com/dcm4che/dcm4chee-arc-light/wiki/Received-Studies.

After sending a study, it is received, but the task for sending the HL7 is still not created.
I am doing this without MWL, but from what I read, it is possible this way.

Is there any other steps we need to take, in order to achieve this ? is there any other place where we can monitor/log if the task is being fired?

Thank you

Vrinda Nayak

unread,
Jul 30, 2021, 6:56:01 AM7/30/21
to dcm4che
Have you configured values for
  on archive device or archive application entity extension level?

- HL7 Procedure Status Update Task Polling Interval - on archive device extension level?

eduardo silva

unread,
Jul 30, 2021, 12:14:04 PM7/30/21
to dcm4che
Thanks Vrinda for the quick response.

Yes, It has been configured with the following values:

1a.PNG2a.PNG

Vrinda Nayak

unread,
Aug 1, 2021, 2:22:02 PM8/1/21
to dcm4che


Would suggest, to increase the delay and interval values to minutes (eg. PT1M or PT5M)

eduardo silva

unread,
Aug 10, 2021, 4:25:32 AM8/10/21
to dcm4che
No. I thought it was not mandatory.

Vrinda Nayak

unread,
Aug 10, 2021, 12:12:58 PM8/10/21
to dcm4che
Right, HL7 Procedure Status Update Attribute Conditions is not mandatory. - If this field is configured, then the HL7 Procedure Status Update tasks are created only if the conditions matched.

Currently, there is no way to monitor HL7 Procedure Status Update tasks in archive UI. You may check the hl7psu_task table in database for the creation of tasks. Based on the 4 values that you have configured, a task does get created when a study is received. Looking at the naming of HL7 applications in HL7 Procedure Status Update Sending / Receiving Application values, it seems you have reversed sender for receiver and vice versa. Ensure that HL7 Procedure Status Update Sending Application field value is a HL7 Application of the archive, whereas HL7 Procedure Status Update Receiving Application field value should be the HL7 Application name of an external HL7 receiver. - Check the server logs if you spot errors due to this naming reversal.

Vrinda Nayak

unread,
Aug 10, 2021, 12:51:09 PM8/10/21
to dcm4che
HL7 Procedure Status Update task creation in server log :

2021-08-10 18:03:34,301 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-2) Accept connection Socket[addr=/172.24.0.1,port=53584,localport=11112]
2021-08-10 18:03:34,341 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4) >> A-ASSOCIATE-RQ
2021-08-10 18:03:34,341 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4) << A-ASSOCIATE-AC
2021-08-10 18:03:34,391 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4) >> 1:C-STORE-RQ[pcid=5, prior=0
  cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
  iuid=1.2.392.200036.9125.0.19950720105315 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
2021-08-10 18:03:34,582 INFO  [org.dcm4chee.arc.patient.impl.PatientServiceEJB] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4): Create Patient[pk=3, id=PatientID[pk=3, id=FUJI00006, issuer=null], name=KOBAYASHI^MOMOE]
2021-08-10 18:03:34,592 INFO  [org.dcm4chee.arc.store.impl.StoreServiceEJB] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4): Create Study[pk=3, uid=1.2.392.200036.9125.0.199212251200.28, id=*]
2021-08-10 18:03:34,599 INFO  [org.dcm4chee.arc.store.impl.StoreServiceEJB] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4): Create Series[pk=5, uid=1.2.392.200036.9125.0.199212251200.28, no=null, mod=CR]
2021-08-10 18:03:34,606 INFO  [org.dcm4chee.arc.store.impl.StoreServiceEJB] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4): Create Instance[pk=5, uid=1.2.392.200036.9125.0.19950720105315, class=1.2.840.10008.5.1.4.1.1.1, no=28]
2021-08-10 18:03:34,609 INFO  [org.dcm4chee.arc.store.impl.StoreServiceEJB] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4): Create Location[pk=7, systemID=fs1, path=2021/08/10/DD074A6F/DD074A6F/957CDF49, tsuid=1.2.840.10008.1.2, size=6196266, status=OK, objectType=DICOM_FILE]
2021-08-10 18:03:34,696 INFO  [org.dcm4chee.arc.store.impl.StoreServiceImpl] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4): Updated DB in 214 ms
2021-08-10 18:03:34,736 INFO  [org.dcm4chee.arc.hl7.psu.HL7PSUEJB] (EE-ManagedExecutorService-default-Thread-163) org.dcm4chee.arc.store.impl.StoreContextImpl@10a06ba8: Created HL7PSUTask[pk=1, deviceName=dcm4chee-arc, studyInstanceUID=1.2.392.200036.9125.0.199212251200.28, scheduledTime=Tue Aug 10 18:04:34 CEST 2021]
2021-08-10 18:03:34,744 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4) << 1:C-STORE-RSP[pcid=5, status=0H
  cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
  iuid=1.2.392.200036.9125.0.19950720105315 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
2021-08-10 18:03:34,749 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4) >> A-RELEASE-RQ
2021-08-10 18:03:34,749 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-163) DCM4CHEE<-STORESCU(4) << A-RELEASE-RP
2021-08-10 18:03:34,799 INFO  [org.dcm4che3.net.Association] (EE-ManagedScheduledExecutorService-default-Thread-9) DCM4CHEE<-STORESCU(4): close Socket[addr=172.24.0.1/172.24.0.1,port=53584,localport=11112]

eduardo silva

unread,
Aug 19, 2021, 6:07:31 AM8/19/21
to dcm4che
It worked!
Thank you for your help!

Reply all
Reply to author
Forward
0 new messages