Issue69

Title Worklists: Return all fields listed in the C-Find request
Priority wish Status in-progress
Superseder Nosy List admin
Assigned To
Keywords Orthanc Core

Created on 2017-09-14.14:46:35 by admin, last changed by admin.

Messages
msg314 (view) Author: admin Date: 2017-09-14.14:46:35
[BitBucket user: Alain Mazy]
[BitBucket date: 2017-09-14.12:46:35]

I have seen some GE MG modalities rejecting the responses from WL C-Find request because not all requested fields where present in the response.

Right now, if you get a WL C-Find request for i.e:

```
(0008,0050) SH (no value available)                     #   0, 0 AccessionNumber
(0008,0090) PN (no value available)                     #   0, 0 ReferringPhysiciansName
(0008,1110) SQ (Sequence with explicit length #=1)      #  36, 1 ReferencedStudySequence
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) #   0, 0 SequenceDelimitationItem
(0008,1120) SQ (Sequence with explicit length #=1)      #  36, 1 ReferencedPatientSequence
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) #   0, 0 SequenceDelimitationItem
(0010,0010) PN [* ]                                     #   2, 1 PatientsName
(0010,0020) LO (no value available)                     #   0, 0 PatientID
...
```

And your .wl file contains:
```
(0008,0005) CS [ISO_IR 100]                             #  10, 1 SpecificCharacterSet
(0008,0018) UI [1.2.826.0.1.3680043.9.6676.1505373139.1934216832525930842800075] #  64, 1 SOPInstanceUID
(0008,0050) SH [123456]                                 #   6, 1 AccessionNumber
(0010,0010) PN [LASTNAME^FIRSTNAME^^^Mme]          #  30, 1 PatientName
(0010,0020) LO [12345678]                              #  10, 1 PatientID
(0010,0030) DA [19991231]                               #   8, 1 PatientBirthDate
(0010,0040) CS [F]                                      #   2, 1 PatientSex
(0020,000d) UI [1.2.3.4.5] #  64, 1 StudyInstanceUID
...
```
Orthanc will return the .wl file as it is.  The GE modality will reject it because some fields are missing in the response:
```
(0008,0090)
(0008,1110)
(0008,1120)
```
And it will also issue a warning because it gets the SpecificCharacterSet in the response while it did not request for it. (but that's not blocking !)

**Suggestion**: when building the response, start from the request object and update the fields that are found in the .wl file -> requester get what it asked for and, fields that are not in the .wl will be returned empty.

We should of course first check the DICOM standard but we should anyway find a way to work with such modalities -> define a 'ManufacturerType' for this kind of modalities
History
Date User Action Args
2026-07-29 15:51:21admincreate