Bug 168 - Plugins can't read private tags from the configuration file.
Summary: Plugins can't read private tags from the configuration file.
Status: RESOLVED FIXED
Alias: None
Product: Orthanc
Classification: Unclassified
Component: Plugin - DICOMweb (show other bugs)
Version: unspecified
Hardware: All All
: --- minor
Assignee: Sébastien Jodogne
URL:
Depends on:
Blocks:
 
Reported: 2020-06-29 15:16 CEST by Sébastien Jodogne
Modified: 2020-08-06 13:24 CEST (History)
0 users

See Also:


Attachments
gsps.dcm (205.83 KB, application/dicom)
2020-06-29 15:17 CEST, Sébastien Jodogne
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sébastien Jodogne 2020-06-29 15:16:33 CEST
[BitBucket user: SangYeob Bono Yu (Deminoth)]
[BitBucket date: 2020-02-28.08:29:57]

**What steps will reproduce the problem?**

Add a private tag to configuration file with the Private Creator.

```json
"Dictionary": {
    "0009,1001": ["DS", "Abnormality score", 1, 1, "Lunit"]
}
```

If you call dicom-web query with `dicom-web/studies/?includefield=00091001`\(and `?00090010=Lunit&includefield=00091001` too\), the plugin service will raise an error.

```
PluginsManager.cpp:197] Exception while invoking plugin service 26: Unknown DICOM tag
```

But, without the Private Creator, the plugin works well.

```json
"Dictionary": {
    "0009,1001": ["DS", "Abnormality score", 1, 1]
}
```

**What version of the product are you using? On what operating system?**

mainline \(20190626T062603\) from `jodogne/orthanc-plugins` docker image
Comment 1 Sébastien Jodogne 2020-06-29 15:17:09 CEST
Created attachment 24 [details]
gsps.dcm
Comment 2 Sébastien Jodogne 2020-06-29 15:27:09 CEST
[BitBucket user: Sébastien Jodogne]
[BitBucket date: 2020-02-28.12:23:26]

Fix issue #168 (Plugins can't read private tags from the configuration file)

→ https://hg.orthanc-server.com/orthanc/changeset/1f4910999fe7
Comment 3 Sébastien Jodogne 2020-06-29 15:27:10 CEST
[BitBucket user: Sébastien Jodogne]
[BitBucket date: 2020-02-28.12:25:40]

Thanks for the report! This is now fixed in the mainline of Orthanc \(will be part of forthcoming 1.6.0 release\). The Docker images are currently being re-generated. An integration test was also added: https://hg.orthanc-server.com/orthanc-tests/changeset/082f35cb4459110fd4e000938ee4f9918b9c7292
Comment 4 Sébastien Jodogne 2020-06-29 15:27:11 CEST
[BitBucket user: Sébastien Jodogne]
[BitBucket date: 2020-02-28.13:06:14]

The Docker images have been updated. Here is a sample launch of Orthanc with minimal configuration file:

```
$ docker pull jodogne/orthanc-plugins:latest
$ cat /tmp/orthanc.json
{
  "Plugins" : [ 
    "/usr/local/share/orthanc/plugins"
  ],
  "RemoteAccessAllowed" : true,
  "Dictionary" : {
    "0009,1001": ["DS", "Abnormality score", 1, 1, "Lunit"],
    "0009,0010": ["LO", "Private data element", 1, 1, "Lunit"]
  },
  "DefaultPrivateCreator" : "Lunit"
}
$ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc-plugins --verbose /etc/orthanc
```

Then it can be seen that the tags from your sample file are properly returned by the QIDO-RS request:

```
$ storescu localhost 4242 /tmp/gsps.dcm
$ curl -v -u orthanc:orthanc 'http://localhost:8042/dicom-web/studies?00090010=Lunit&includefield=00091001'
[...]
   "00090010" : {
      "Value" : [ "Lunit" ],
      "vr" : "LO"
   },
   "00091001" : {
      "Value" : [ 98.409999999999997 ],
      "vr" : "DS"
   },
[...]
```
Comment 5 Sébastien Jodogne 2020-06-29 15:27:12 CEST
[BitBucket user: SangYeob Bono Yu (Deminoth)]
[BitBucket date: 2020-02-29.10:06:42]

It works very well. Thanks!