Dicom-Web incomplete Tags

Hello,

I am currently working on a PACS viewer, that only uses the dicom-web standard. Orthanc, when including the dicomweb plugin, implements this standard at least partially. The problem I have now is, that it seems that Ortanc only sends a limited number of dicom tags out as xml.

For example, when I request

http://localhost:8042/dicom-web/study/<studyUid>/series/<seriesUid>/instances

I get the instances with some of their tags as multipart/xml back. Unfortunately, many important tags (mandatory for rendering) are left out, which are definitely known to Orthanc, since I can see them on the Orthanc-Explorer attached to the instance.
Is there a way to tell Orthanc to send all the tags?

As a workaround, I could use the Orthancs own REST Api (which I would not prefer), but then I have to use orthancs resource identifiers, which are not equal to the DICOM identifiers (StudyInstanceUid, SeriesInstanceUid and SOPInstanceUid). Or is there a way to query the Orthanc API using the DICOM identifiers?

Thanks in advance,
Peter

Hello,

Have you tried the “WADO-RS - RetrieveMetadata” URI?
http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_6.5.6

For instance, the following URI would return a single JSON array gathering the DICOM tags of all the instances within one series:
http://localhost:8042/dicom-web/studies/1.3.51.0.1.1.192.168.29.133.1681753.1681732/series/1.3.12.2.1107.5.2.33.37097.2012041612474981424569674.0.0.0/metadata

HTH,
Sébastien-

Unfortunately, that gives me a 400 - Bad Request. I think the retrieveMetadata url has not yet been implemented by Orthanc, has it?

Thanks,
Peter

It has: “WADO-RS - RetrieveMetadata” is supported for a long time (even back to release 0.2 of the DICOMweb plugin).

For instance, start release 1.0.0 of Orthanc with plugins through Docker:

sudo docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.0.0

Then, upload DICOM files and use the RetrieveMetadata URI for studies/series (obviously, adapt the DICOM UIDs to your files [1]):

storescu localhost 4242 *

curl -u orthanc:orthanc http://localhost:8042/dicom-web/studies/1.3.51.0.1.1.192.168.29.133.1681753.1681732/metadata

curl -u orthanc:orthanc http://localhost:8042/dicom-web/studies/1.3.51.0.1.1.192.168.29.133.1681753.1681732/series/1.3.12.2.1107.5.2.33.37097.2012041612474981424569674.0.0.0/metadata

Regards,
Sébastien-

[1] Note that those are DICOM UIDs, not Orthanc identifiers.

Thanks Sébastien,

I now have managed to get the metadata. It didn’t work out of the box, however. For other users who also get a 400 - Bad Request: I had to manually set the HTTP ‘accept’ header to either ‘application/json’ or ‘/’. The latter will result a base64 encoded xml.

Thanks again