APIs to retrieve data from dcm4chee-arc-light

1,450 views
Skip to first unread message

Bhavesh Pandey

unread,
Sep 28, 2020, 12:22:33 PM9/28/20
to dcm4che
Hi, I have a dcm4chee-arc-light server set up. I use it to get and save images. I have a separate web application which just needs to know if a new image has come to dcm4chee-arc-light server. Is there any API I can call to get this?

Can I get metadata of images via APIs? For example: If I want to know modality, patient ID, patient name, number of images, etc through APIs? 

The best solution will be if dcm4chee-arc-light server can call a webhook of another server as soon as a new study has come in (with all metadata), can this be done?

Please let me know if I can call APIs of server or server can call webhook of any other application?

Thanks

Santiago Gala

unread,
Sep 28, 2020, 12:33:52 PM9/28/20
to dcm...@googlegroups.com
On Mon, Sep 28, 2020 at 6:22 PM Bhavesh Pandey <pande...@gmail.com> wrote:
Hi, I have a dcm4chee-arc-light server set up. I use it to get and save images. I have a separate web application which just needs to know if a new image has come to dcm4chee-arc-light server. Is there any API I can call to get this?

Can I get metadata of images via APIs? For example: If I want to know modality, patient ID, patient name, number of images, etc through APIs? 



The best solution will be if dcm4chee-arc-light server can call a webhook of another server as soon as a new study has come in (with all metadata), can this be done?
 

Please let me know if I can call APIs of server or server can call webhook of any other application?

Thanks

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/dcm4che/37a6e7f4-7ce3-4cd8-8506-447bff995e4fo%40googlegroups.com.

Bhavesh Pandey

unread,
Sep 28, 2020, 1:10:14 PM9/28/20
to dcm4che
Thanks alot for this. Can my dcm4chee-arc-light server call webhook of another server? Can I configure that somewhere?


On Monday, 28 September 2020 22:03:52 UTC+5:30, Santiago Gala wrote:
On Mon, Sep 28, 2020 at 6:22 PM Bhavesh Pandey <pande...@gmail.com> wrote:
Hi, I have a dcm4chee-arc-light server set up. I use it to get and save images. I have a separate web application which just needs to know if a new image has come to dcm4chee-arc-light server. Is there any API I can call to get this?

Can I get metadata of images via APIs? For example: If I want to know modality, patient ID, patient name, number of images, etc through APIs? 

 
There is a very comprehensive API


The best solution will be if dcm4chee-arc-light server can call a webhook of another server as soon as a new study has come in (with all metadata), can this be done?
 

Please let me know if I can call APIs of server or server can call webhook of any other application?

Thanks

--
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 dcm...@googlegroups.com.

Santiago Gala

unread,
Sep 28, 2020, 3:21:50 PM9/28/20
to dcm...@googlegroups.com
On Mon, Sep 28, 2020 at 7:10 PM Bhavesh Pandey <pande...@gmail.com> wrote:
Thanks alot for this. Can my dcm4chee-arc-light server call webhook of another server? Can I configure that somewhere?

You will have to program something like this yourself, I think. You can configure HL7 messages to be sent to your application, or as for Storage Commitments, there are a number of different tools for workflow integration, but if you want a webhook you will have to do it yourself, I think.

Let's see what the real experts say :)
 
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dcm4che/52b73d8f-0376-4ce2-b475-7c1eeb1e0feao%40googlegroups.com.

Thiago Maltempi

unread,
Sep 28, 2020, 4:50:31 PM9/28/20
to dcm4che
Hey, let me make my contribution to this thread as well. :)

I needed to do something similar you want once: For every new instance that arrives to DCM4CHEE I needed to notify an external service containing the sopInstanceUid+seriesInstanceUid+studyInstanceUid.

To do that, I created my own exporter and wrote a code that does that.

First you need to know about exporters:

I based it on an existed one called 'study-size'. You just need follow this path to implement it (I created a new project/module to put my custom exporter and then added it into ear on maven).

  1.  You need to code an exporter itself. And this guy will call your external server
    1. https://github.com/dcm4che/dcm4chee-arc-light/blob/f80f97c883a04a4fc8af76a38f755e1fb67f730b/dcm4chee-arc-export-study-size/src/main/java/org/dcm4chee/arc/export/study/size/StudySizeExporter.java#L54
  2. You need to code an exporter provider:
    1. https://github.com/dcm4che/dcm4chee-arc-light/blob/master/dcm4chee-arc-export-study-size/src/main/java/org/dcm4chee/arc/export/study/size/StudySizeExporterProvider.java
    2. Note: @Named() annotation will be useful to configure the exporter on interface or ldap script
  3. Configure an exporter pointing to your code -- you can do it using interface or automate it on ldap script
    1. https://github.com/dcm4che/dcm4chee-arc-light/blob/5f49fa72d08f5400e0952299ddeaa6511d138748/dcm4chee-arc-assembly/src/main/resources/ldap/update-config-5.13.1.ldif#L144
       4. Configure a rule for it:
    1. https://github.com/dcm4che/dcm4chee-arc-light/blob/5f49fa72d08f5400e0952299ddeaa6511d138748/dcm4chee-arc-assembly/src/main/resources/ldap/update-config-5.13.1.ldif#L136



Exporter was helpful for me because you can easily troubleshoot it using the UI and see if you got an error or not and retry if  you need (using monitor tab on UI).
Also, Exporters make you able to configure and create rules for what kind of studies/series/instances you want to filter. For example: I want only MRI studies to be exported, ok, you just do it without change your code. You also can change the granularity of what arrived to DCM4CHEE, for example: notify only when a study arrived or new series or new instance.


I hope it's been helpful!

vrinda...@j4care.com

unread,
Sep 29, 2020, 4:23:39 AM9/29/20
to dcm4che
- Can I get metadata of images via APIs? For example: If I want to know modality, patient ID, patient name, number of images, etc through APIs? 

- The best solution will be if dcm4chee-arc-light server can call a webhook of another server as soon as a new study has come in (with all metadata), can this be done?

There are multiple ways to notify an external system of objects received by the archive. You may refer the following :
Reply all
Reply to author
Forward
0 new messages