Query instance metadata stored in a remote PACS

Hi!

My name is Raul, I’m new to the community. I’m excited to be here!

My team is working in a project where we need to retrieve all the metadata of instances stored in a remote PACS. I know I can access this information once the instance has been moved to Orthanc. Unfortunately, that’s too slow for our use case.

So, considering that we are solely interested in the metadata and we don’t need to retrieve the image (PixelData): Is there a way I can query all the metadata of an instance from a remote PACS? If Orthanc doesn’t support this feature yet, do you have plans to implement it in the future (assuming this is supported by the DICOM protocol)?

Thank you in advance!

Hello,

Welcome to our community!

You are visibly looking for the DICOM C-FIND command. It is possible to ask Orthanc to execute a C-FIND using the REST API.

If your remote server is compatible with DICOMweb, it is also possible for Orthanc to drive a QIDO-RS request using the REST API.

Note that both of these features are available as buttons in the Orthanc Explorer Web interfaces.

Regards,
Sébastien-

I have a question regarding what tags are returned by a QIDO-RS request using DicomWeb. You reference a ‘cheatsheet’ here:

DicomWeb Cheat Sheet

It seems like there is a ‘standard’ set of tags returned, and if you want some additional tags you can use the “includefield” query option ?

I might want to use the DicomWeb API for some SIIM Hackathon projects and I may need access to many of the tags for a study, series or instance, although it some point it might make more sense to just retrieve the entire study and then do any processing locally.

/sds

Thank you for your response jodogne and sdscotti!

I’m using POST /modalities/{id}/query to send C-FIND requests. However, as I said in my original message, only a subset of all DICOM tags are returned.

Is there a way to tell Orthanc to include an specific tag in the response body (e.g. tell Orthanc to return the tag 0018,0010)?

According to sdscotti it seems I could achieve this with DicomWeb. Unfortunately the server I’m querying is not compatible with it.

Thanks!

Hi @sdscotti and @rdehevia90 ,

Both in DICOM C-Find and DicomWEB QIDO-RS, you obtain what you request.

In DicomWEB, you must indeed list all tags you wish to obtain with includefield option.

In C-Find, in the Orthanc API, just add "0018,0010": "" in your query to state that you wish to receive this tag in the response but that you are not using it as a filter since you leave the tag empty.

HTH,

Alain.

1 Like

@alainmazy, thank you so much! That is exactly what I was looking for. Sorry, I couldn’t find it in the documentation.

Hi again,

Thanks again for pointing me in the right direction. If you don’t mind I would like some clarification on the following:

Since the feature of retrieving specific tags is not documented in Orthanc official docs (at least I couldn’t find it), my team and I were wondering if this implies the feature is still kind of experimental. Before we use this feature in our project, we would like to confirm it is stable and there is plan to deprecate it in future versions.

Thanks in advance!

Hi,

All these features are standard DICOM or DicomWEB features so there is no plan to deprecate them
anytime.

So is there an official reference for the ‘standard’ set of tags that are returned, like in the DICOM or DICOM WEB standard ?

It might be worth just reading through that. Not the whole thing at first, but that part.

e.g. F.4 DICOM JSON Model Example

Is this it: part18.html, sect_10.6

You get the tags that you request.

1 Like

Hi alainmazy,

Thank you so much for confirming this. We just wanted to be sure before moving forward with our implementation.

Thanks!
Raul