[Bugzilla user: sameer.trivedi@zeiss.com]
[Bugzilla date: 2026-03-25T08:47:14+00:00]
Created attachment 148
This file contains sample MWL Files and orthanc.json configuration as well as verbose logs
Orthanc ModalityWorklists Plugin ignores SpecificCharacterSet ISO_IR 192 unless DefaultEncoding is forced to Utf8
Context
- Orthanc 1.12.10 with ModalityWorklists plugin 1.12.10 and OrthancPython plugin 7.0.
- Architecture: 64-bit, linux (Flatcar) running Orthanc via Docker
- Orthanc AET: TESTC, port 8008; HTTP disabled; TLS off.
- Remote modality: TESTC, AET Test Device, sending SpecificCharacterSet 0008,0005 = ISO_IR 192 and date 20260325 in MWL query (Full Query Provided Below).
- Worklist DB folder: /var/tempdata11/WorklistsDatabase. Contains Traditional Chinese patient names (e.g., sample file "習近平.wl").
Observed
- MWL C-FIND responses show corrupted/missing Traditional Chinese patient names on the remote device when Orthanc runs without an explicit DefaultEncoding.
Expected
- With SpecificCharacterSet = ISO_IR 192 (UTF-8) present in the worklist item, Orthanc should emit UTF-8 without needing DefaultEncoding to be set. Names should render correctly on the querying modality.
Workaround
- Adding "DefaultEncoding": "Utf8" to the Orthanc configuration makes the same worklists display correctly on the device.
Evidence
- Remote queries contain ISO_IR 192 and TEST DEVICE; see verbose.log
- Plugin reports matched MWL files with Chinese names; see verbose.log
Full configuration
- See orthanc.json (DefaultEncoding not set, DicomAlwaysAllowFindWorklist=true, AET TESTC, port 8008).
Sample data
- MWL files with Traditional/Simplified Chinese names, including "習近平.wl" (plus one other sample in the same folder).
Steps to reproduce (cross-platform OSS tools)
1) Run Orthanc 1.12.10 in docker with the provided orthanc.json and the WorklistsDatabase folder containing the sample MWL files with Chinese names.
2) Send a MWL C-FIND using DCMTK with ISO_IR 192 and the remote AET:
findscu -W -aec TESTC -aet "Test Device" -k "0008,0005=ISO_IR 192" -k "0008,0020" -k "0008,0030" -k "0008,0050" -k "0008,0090" -k "0008,1110[0]" -k "0010,0010" -k "0010,0020" -k "0010,0021" -k "0010,0030" -k "0010,0040" -k "0010,1000" -k "0010,2160" -k "0010,4000" -k "0020,000d" -k "0032,1060" -k "0032,1064[0]" -k "0040,0100[0].0008,0060" -k "0040,0100[0].0040,0001=Test Device" -k "0040,0100[0].0040,0002=20260325" -k "0040,0100[0].0040,0003" -k "0040,0100[0].0040,0006" -k "0040,0100[0].0040,0007" -k "0040,0100[0].0040,0008[0]" -k "0040,0100[0].0040,0009" -k "0040,1001" -k "0040,1400" localhost 8008
3) Observe on the modality that patient names are missing:
Find Response: 1 (Pending)
I:
I: # Dicom-Data-Set
I: # Used TransferSyntax: Little Endian Explicit
I: (0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet
I: (0008,0050) SH [AN123 ] # 6, 1 AccessionNumber
I: (0010,0010) PN (no value available) # 0, 0 PatientName
I: (0010,0020) LO [1a51ab5d-cdab-4c9c-9e8f-5fce0b9f8895] # 36, 1 PatientID
I: (0010,0021) LO [Test] # 4, 1 IssuerOfPatientID
I: (0010,0030) DA [20140101] # 8, 1 PatientBirthDate
I: (0010,0040) CS [M ] # 2, 1 PatientSex
I: (0020,000d) UI [1.2.276.0.75.2.6.20.1.1.20260325] # 32, 1 StudyInstanceUID
I: (0032,1060) LO [Biometry for opthalmic surgery] # 30, 1 RequestedProcedureDescription
I: (0040,0100) SQ (Sequence with explicit length #=1) # 110, 1 ScheduledProcedureStepSequence
I: (fffe,e000) na (Item with explicit length #=6) # 102, 1 Item
I: (0008,0060) CS [OP] # 2, 1 Modality
I: (0040,0001) AE [Test Device ] # 12, 1 ScheduledStationAETitle
I: (0040,0002) DA [20260325] # 8, 1 ScheduledProcedureStepStartDate
I: (0040,0003) TM [124201] # 6, 1 ScheduledProcedureStepStartTime
I: (0040,0007) LO [Ophthalmic Biometry ] # 20, 1 ScheduledProcedureStepDescription
I: (0040,0009) SH [SPS123] # 6, 1 ScheduledProcedureStepID
I: (fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
I: (fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
I: (0040,1001) SH [RP123 ] # 6, 1 RequestedProcedureID
4) Set "DefaultEncoding": "Utf8" in orthanc.json, restart, repeat step 2; names now render correctly (workaround confirmed).
Attachments to include
- orthanc.json
- verbose.log
- MWL sample files (e.g., 習近平.wl); |