[BitBucket user: Erik Ziegler]
[BitBucket date: 2016-02-03.11:28:13]
Hello,
We've been using the orthanc-dicomweb plugin and noticing that the QIDO-RS retrieval at the Study Level becomes much slower as more studies (or studies with large instances, e.g. mammo tomographs) are added to Orthanc.
When I run Orthanc in verbose mode, I see that the plugin is making REST GET calls on /studies/{id}}/instances, which according to the documentation is used to "Retrieve all the instances of this patient in a single REST call". This seems reasonable, since the plugin needs information about the studies.
What seems odd, though, is that the plugin is also making requests to /instances/{id}/file, which I suppose means that Orthanc is reading one file from each study in order to gather the metadata and return it for the QIDO-RS call. This appears to be done in the ExtractFields function in QidoRs.cpp (https://hg.orthanc-server.com/orthanc-dicomweb/file/cf5002bc63a885bf99c413718d612f199a8cd748/Plugin/QidoRs.cpp).
Assuming my understanding is correct, could this metadata be retrieved from the Orthanc database instead? E.g. From the documentation, would it be faster to parse the simplified-tags? (https://orthanc.chu.ulg.ac.be/book/users/rest.html#accessing-the-dicom-fields-of-an-instance-as-a-json-file).
If your answer is yes, that this is a reasonable plan, I will attempt it. I just wanted to make sure you thought this was a decent option.
I've tested this on Orthanc 1.0.0 and Dicomweb plugin 0.2. |