[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