Reputation: 31
If I create a DICOM object with a basic single byte Specific Character Set like (0008,0005) = ISO_IR 100, can one of the tags use a different 2-byte Character set? For example can Patient Name (0010,0010) be encoded in Simplified Chinese (ISO 2022 IR 58)?
Upvotes: 3
Views: 989
Reputation: 16855
The short answer is No. You cannot use a character set not defined in Specific Character Set
.
The longer answer: you can use multiple character sets (Specific Character Set
is multi-valued), but certain restrictions apply. Multiple character sets are implemented via Code Extensions (described in Chapter 6 of the DICOM Standard, starting with 6.1.2.4).
In your example, you can use the Specific Character Set
value ISO 2022 IR 100\ISO 2022 IR 58
, which allows to use both Latin1 and Simplified Chinese (also intermixed within the same tag, which is common in tags with representation PN
). The encodings are changed by using specific Escape sequences, defined by the ISO 2022 standard. Common DICOM frameworks shall be able to handle this automatically (though you have to check this for your framework).
Note that you have to use ISO 2022 IR 100
instead of ISO_IR 100
- only ISO 2022 codes can be used in multi-valued character sets.
Note also that the Chinese Character Set (GB18030
) and the UTF8 Character Set (ISO_IR 192
) cannot be used together with other encodings.
If you don't want to handle multiple encodings, you could use UTF8 encoding instead (e.g. set Specific Character Set
to ISO_IR 192
). Note though that in this case you have to convert all non-ASCII tag values in the dataset to UTF8.
Upvotes: 7