DCMTK
Version 3.6.2
OFFIS DICOM Toolkit
|
Class for handling coded entry values, i.e. unambiguous machine-readable codes. More...
Public Member Functions | |
DSRCodedEntryValue () | |
default constructor | |
DSRCodedEntryValue (const DSRBasicCodedEntry &basicCodedEntry, const OFBool check=OFFalse) | |
constructor. More... | |
DSRCodedEntryValue (const OFString &codeValue, const OFString &codingSchemeDesignator, const OFString &codeMeaning, const DSRTypes::E_CodeValueType codeValueType=DSRTypes::CVT_auto, const OFExplicitBool check=OFTrue) | |
constructor. More... | |
DSRCodedEntryValue (const OFString &codeValue, const OFString &codingSchemeDesignator, const OFString &codingSchemeVersion, const OFString &codeMeaning, const DSRTypes::E_CodeValueType codeValueType=DSRTypes::CVT_auto, const OFBool check=OFTrue) | |
constructor. More... | |
DSRCodedEntryValue (const DSRCodedEntryValue &codedEntryValue) | |
copy constructor More... | |
virtual | ~DSRCodedEntryValue () |
destructor | |
DSRCodedEntryValue & | operator= (const DSRCodedEntryValue &codedEntryValue) |
assignment operator More... | |
OFBool | operator== (const DSRCodedEntryValue &codedEntryValue) const |
comparison operator "equal". More... | |
OFBool | operator!= (const DSRCodedEntryValue &codedEntryValue) const |
comparison operator "not equal". More... | |
OFBool | operator== (const DSRBasicCodedEntry &basicCodedEntry) const |
comparison operator "equal". More... | |
OFBool | operator!= (const DSRBasicCodedEntry &basicCodedEntry) const |
comparison operator "not equal". More... | |
virtual void | clear () |
clear all internal variables. More... | |
virtual OFBool | isValid () const |
check whether the current code is valid. More... | |
virtual OFBool | isEmpty () const |
check whether the current code is empty, i.e. whether all four components of the code ("Basic Coded Entry Attributes") are empty. More... | |
virtual OFBool | isComplete () const |
check whether the current code is complete, i.e. whether the three mandatory components of the code are non-empty. More... | |
void | print (STD_NAMESPACE ostream &stream, const OFBool printCodeValue=OFTrue, const size_t flags=0) const |
print code. More... | |
OFCondition | readSequence (DcmItem &dataset, const DcmTagKey &tagKey, const OFString &type, const size_t flags=0, const OFString &vm="1") |
read code sequence from dataset. More... | |
OFCondition | readSequenceItem (DcmItem &item, const DcmTagKey &tagKey, const size_t flags=0) |
read code from sequence item More... | |
OFCondition | writeSequence (DcmItem &dataset, const DcmTagKey &tagKey) const |
write code sequence to dataset More... | |
OFCondition | writeSequenceItem (DcmItem &item, const DcmTagKey &tagKey) |
write code to sequence item More... | |
OFCondition | readXML (const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags) |
read code from XML document. More... | |
OFCondition | writeXML (STD_NAMESPACE ostream &stream, const size_t flags) const |
write code in XML format. More... | |
OFCondition | renderHTML (STD_NAMESPACE ostream &stream, const size_t flags, const OFBool fullCode=OFTrue, const OFBool valueFirst=OFFalse) const |
render code in HTML/XHTML format. More... | |
const DSRCodedEntryValue & | getValue () const |
get reference to the code More... | |
OFCondition | getValue (DSRCodedEntryValue &codedEntryValue) const |
get copy of the code More... | |
const OFString & | getCodeValue () const |
get code value. More... | |
DSRTypes::E_CodeValueType | getCodeValueType () const |
get type of code value, i.e. short, long or Uniform Resource Name (URN). More... | |
const OFString & | getCodingSchemeDesignator () const |
get coding scheme designator. More... | |
const OFString & | getCodingSchemeVersion () const |
get coding scheme version. More... | |
const OFString & | getCodeMeaning () const |
get code meaning. More... | |
const OFString & | getContextIdentifier () const |
get context identifier. More... | |
const OFString & | getContextUID () const |
get context UID. More... | |
const OFString & | getMappingResource () const |
get mapping resource. More... | |
const OFString & | getContextGroupVersion () const |
get context group version. More... | |
const OFString & | getContextGroupLocalVersion () const |
get context group local version. More... | |
const OFString & | getContextGroupExtensionCreatorUID () const |
get context group extension creator UID. More... | |
OFCondition | setValue (const DSRCodedEntryValue &codedEntryValue, const OFBool check=OFTrue) |
set code. More... | |
OFCondition | setCode (const DSRBasicCodedEntry &basicCodedEntry, const OFBool check=OFFalse) |
set code. More... | |
OFCondition | setCode (const OFString &codeValue, const OFString &codingSchemeDesignator, const OFString &codeMeaning, const DSRTypes::E_CodeValueType codeValueType=DSRTypes::CVT_auto, const OFExplicitBool check=OFTrue) |
set code. More... | |
OFCondition | setCode (const OFString &codeValue, const OFString &codingSchemeDesignator, const OFString &codingSchemeVersion, const OFString &codeMeaning, const DSRTypes::E_CodeValueType codeValueType=DSRTypes::CVT_auto, const OFBool check=OFTrue) |
set code. More... | |
OFBool | usesEnhancedEncodingMode () const |
check whether the "Enhanced Encoding Mode" is used for this code. More... | |
void | removeEnhancedEncodingMode () |
remove the "Enhanced Encoding Mode" from this code. More... | |
OFCondition | setEnhancedEncodingMode (const OFString &contextUID, const OFBool check=OFTrue) |
specify the "Enhanced Encoding Mode" for this code. More... | |
OFCondition | setEnhancedEncodingMode (const OFString &contextIdentifier, const OFString &mappingResource, const OFString &contextGroupVersion, const OFString &contextUID="", const OFString &localVersion="", const OFString &extensionCreatorUID="", const OFBool check=OFTrue) |
specify the "Enhanced Encoding Mode" for this code. More... | |
OFCondition | checkCurrentValue () const |
check the currently stored code for validity. More... | |
Protected Member Functions | |
DSRCodedEntryValue * | getValuePtr () |
get pointer to this code More... | |
OFCondition | readItem (DcmItem &dataset, const char *moduleName, const size_t flags) |
read code from dataset. More... | |
OFCondition | writeItem (DcmItem &dataset) const |
write code to dataset. More... | |
Static Protected Member Functions | |
static OFCondition | checkCode (const OFString &codeValue, const OFString &codingSchemeDesignator, const OFString &codingSchemeVersion, const OFString &codeMeaning, const DSRTypes::E_CodeValueType codeValueType) |
check the specified code for validity. More... | |
static DSRTypes::E_CodeValueType | determineCodeValueType (const OFString &codeValue) |
try to determine the type of the given code value. More... | |
Private Attributes | |
DSRTypes::E_CodeValueType | CodeValueType |
type of 'CodeValue': short (SH), long (UC) or Uniform Resource Name (UR) | |
OFString | CodeValue |
Code Value (VR=SH/UC/UR, type 1) | |
OFString | CodingSchemeDesignator |
Coding Scheme Designator (VR=SH, type 1) | |
OFString | CodingSchemeVersion |
Coding Scheme Version (VR=SH, 1C) | |
OFString | CodeMeaning |
Code Meaning (VR=LO, type 1) | |
OFString | ContextIdentifier |
tbd: Equivalent Code Sequence (VR=SQ, type 3) not yet supported More... | |
OFString | ContextUID |
Context UID (VR=UI, type 2) | |
OFString | MappingResource |
Mapping Resource (VR=CS, type 1C) | |
OFString | ContextGroupVersion |
Mapping Resource UID (VR=UI, type 3) More... | |
OFString | ContextGroupLocalVersion |
Context Group Local Version (VR=DT, type 1C) | |
OFString | ContextGroupExtensionCreatorUID |
Context Group Extension Creator UID (VR=UI, type 1C) | |
Friends | |
class | DSRContentItem |
Class for handling coded entry values, i.e. unambiguous machine-readable codes.
This class supports both the "Basic Coded Entry Attributes" and the "Enhanced Encoding Mode". There are also some basic checks that make sure that a given code is valid.
DSRCodedEntryValue::DSRCodedEntryValue | ( | const DSRBasicCodedEntry & | basicCodedEntry, |
const OFBool | check = OFFalse |
||
) |
constructor.
To be used for code constants defined by an instance of the DSRBasicCodedEntry class.
basicCodedEntry | code to be set, defined by its "Basic Coded Entry Attributes" |
check | if enabled, check code for validity before setting it. See checkCode() for details. Empty values are never accepted. |
DSRCodedEntryValue::DSRCodedEntryValue | ( | const OFString & | codeValue, |
const OFString & | codingSchemeDesignator, | ||
const OFString & | codeMeaning, | ||
const DSRTypes::E_CodeValueType | codeValueType = DSRTypes::CVT_auto , |
||
const OFExplicitBool | check = OFTrue |
||
) |
constructor.
To be used when the code to be set consists of three values (code value, coding scheme designator and code meaning).
codeValue | identifier of the code to be set that is unambiguous within the coding scheme. (VR=SH/UC/UR, mandatory) |
codingSchemeDesignator | identifier of the coding scheme in which the code for a term is defined. (VR=SH, mandatory) |
codeMeaning | human-readable translation of the 'codeValue'. Can be used for display when code dictionary is not available. (VR=LO, mandatory) |
codeValueType | type of 'codeValue' (short, long or URN) used to map the value to the correct DICOM value representation (VR). By default, the type is determined automatically (see determineCodeValueType()). |
check | if enabled, check code for validity before setting it. See checkCode() for details. Empty values are never accepted. |
DSRCodedEntryValue::DSRCodedEntryValue | ( | const OFString & | codeValue, |
const OFString & | codingSchemeDesignator, | ||
const OFString & | codingSchemeVersion, | ||
const OFString & | codeMeaning, | ||
const DSRTypes::E_CodeValueType | codeValueType = DSRTypes::CVT_auto , |
||
const OFBool | check = OFTrue |
||
) |
constructor.
To be used when the code to be set consists of four values (code value, coding scheme designator, coding scheme version and code meaning).
codeValue | identifier of the code to be set that is unambiguous within the coding scheme. (VR=SH/UC/UR, mandatory) |
codingSchemeDesignator | identifier of the coding scheme in which the code for a term is defined. (VR=SH, mandatory) |
codingSchemeVersion | version of the coding scheme. May be used to identify the version of a coding scheme if necessary to resolve ambiguity in the 'codeValue' or 'codeMeaning'. (VR=SH, optional) |
codeMeaning | human-readable translation of the 'codeValue'. Can be used for display when code dictionary is not available. (VR=LO, mandatory) |
codeValueType | type of 'codeValue' (short, long or URN) used to map the value to the correct DICOM value representation (VR). By default, the type is determined automatically (see determineCodeValueType()). |
check | if enabled, check code for validity before setting it. See checkCode() for details. Empty values are only accepted for non-mandatory attributes. |
DSRCodedEntryValue::DSRCodedEntryValue | ( | const DSRCodedEntryValue & | codedEntryValue | ) |
copy constructor
codedEntryValue | code to be copied (not checked !) |
|
staticprotected |
check the specified code for validity.
Currently, the only checks performed are that the three mandatory string values are non-empty and that all four values conform to the corresponding VR and VM. Later on, it might also be checked whether the specified code really belongs to the coding scheme, etc. This requires the presence of the relevant code dictionaries, though.
codeValue | code value to be checked |
codingSchemeDesignator | coding scheme designator to be checked |
codingSchemeVersion | coding scheme version to be checked (might be empty) |
codeMeaning | code meaning to be checked |
codeValueType | type of 'codeValue' (short, long or URN). Never use DSRTypes::CVT_auto for this function. |
OFCondition DSRCodedEntryValue::checkCurrentValue | ( | ) | const |
check the currently stored code for validity.
See below checkCode() method for details.
|
virtual |
clear all internal variables.
Since an empty code is invalid the code becomes invalid afterwards.
Reimplemented in DSRCodeTreeNode.
|
staticprotected |
try to determine the type of the given code value.
Please note that the check that is currently performed is very simple. So, the user is advised to passed the correct type (short, long or URN) to the appropriate method and should not rely on this automatic detection. Specifically, URN values are only detected by the prefix "urn:" (i.e. no URL allowed), and the maximum length of a short code value is determined based on the number of bytes (not characters, since the character set is unknown to this function - and to this class).
codeValue | code value to be checked |
|
inline |
get code meaning.
Human-readable translation of the code value. Can be used for display when code dictionary is not available.
|
inline |
get code value.
This is an identifier of the code that is unambiguous within the coding scheme.
|
inline |
get type of code value, i.e. short, long or Uniform Resource Name (URN).
The type is used to map the value to the correct DICOM value representation (VR).
|
inline |
get coding scheme designator.
This is an identifier of the coding scheme in which the code for a term is defined. Designators beginning with "99" and the designator "L" are defined to be private or local coding schemes. More details on the coding scheme might be retrieved via the DSRDocument::getCodingSchemeIdentification() method.
|
inline |
get coding scheme version.
Optional - May be used to identify the version of a coding scheme if necessary to resolve ambiguity in the code value or code meaning. Coding scheme version is not required for backward-compatible revisions of a coding scheme.
|
inline |
get context group extension creator UID.
Optional - Identifies the person or organization who created the extension to the context group. This attribute is part of the "Enhanced Encoding Mode".
|
inline |
get context group local version.
Optional - Implementation-specific version of a context group that contains private extensions. This attribute is part of the "Enhanced Encoding Mode".
|
inline |
get context group version.
Optional - Version of the context group. This attribute is part of the "Enhanced Encoding Mode".
|
inline |
get context identifier.
Optional - Identifier of the context group defined by a mapping resource from which the code was selected, or to which the code has been added as a private context group extension. This attribute is part of the "Enhanced Encoding Mode".
|
inline |
get context UID.
Optional - Uniquely identifies the context group. This attribute is part of the "Enhanced Encoding Mode".
|
inline |
get mapping resource.
Optional - Message/Terminology mapping resource that specifies the context group with the given identifier. This attribute is part of the "Enhanced Encoding Mode".
|
inline |
get reference to the code
OFCondition DSRCodedEntryValue::getValue | ( | DSRCodedEntryValue & | codedEntryValue | ) | const |
get copy of the code
codedEntryValue | reference to variable in which the code should be stored |
|
inlineprotected |
get pointer to this code
|
virtual |
check whether the current code is complete, i.e. whether the three mandatory components of the code are non-empty.
This is just a basic check that might be useful for "validating" input data. See isValid() for a more sophisticated way of checking the current code.
|
virtual |
check whether the current code is empty, i.e. whether all four components of the code ("Basic Coded Entry Attributes") are empty.
|
virtual |
check whether the current code is valid.
This check only covers the "Basic Coded Entry Attributes". See checkCode() for details.
Reimplemented in DSRCodeTreeNode.
OFBool DSRCodedEntryValue::operator!= | ( | const DSRCodedEntryValue & | codedEntryValue | ) | const |
comparison operator "not equal".
Two codes are not equal if either the code value or the coding scheme designator or the (optional) coding scheme version are not equal. The code meaning is not relevant for this check.
codedEntryValue | code which should be compared to the current one |
OFBool DSRCodedEntryValue::operator!= | ( | const DSRBasicCodedEntry & | basicCodedEntry | ) | const |
comparison operator "not equal".
Two codes are not equal if either the code value or the coding scheme designator or the (optional) coding scheme version are not equal. The code meaning is not relevant for this check.
basicCodedEntry | code which should be compared to the current one |
DSRCodedEntryValue& DSRCodedEntryValue::operator= | ( | const DSRCodedEntryValue & | codedEntryValue | ) |
assignment operator
codedEntryValue | code to be copied (not checked !) |
OFBool DSRCodedEntryValue::operator== | ( | const DSRCodedEntryValue & | codedEntryValue | ) | const |
comparison operator "equal".
Two codes are equal if the code value, coding scheme designator and the (optional) coding scheme version are equal. The code meaning is not relevant for this check.
codedEntryValue | code which should be compared to the current one |
OFBool DSRCodedEntryValue::operator== | ( | const DSRBasicCodedEntry & | basicCodedEntry | ) | const |
comparison operator "equal".
Two codes are equal if the code value, coding scheme designator and the (optional) coding scheme version are equal. The code meaning is not relevant for this check.
basicCodedEntry | code which should be compared to the current one |
void DSRCodedEntryValue::print | ( | STD_NAMESPACE ostream & | stream, |
const OFBool | printCodeValue = OFTrue , |
||
const size_t | flags = 0 |
||
) | const |
print code.
The output of a typical code triple looks like this: (1234,99_OFFIS_DCMTK,"Code Meaning"). The optional coding scheme version is printed in square brackets directly after the coding scheme designator, e.g.: (cm,UCUM[1.4],"centimeter"). Please note that only the "Basic Coded Entry Attributes" are supported by this method.
stream | output stream to which the code should be printed |
printCodeValue | flag indicating whether the code value and coding scheme designator should be printed (default) or not. If OFFalse, the output looks like this: (,,"Code Meaning") |
flags | flag used to customize the output (see DSRTypes::PF_xxx) |
|
protected |
read code from dataset.
This method also supports the attributes from the "Enhanced Encoding Mode".
dataset | DICOM dataset from which the code should be read |
moduleName | module name (sequence) from which the item is read. If NULL, the default value "SR document" is used for output messages. |
flags | flag used to customize the reading process (see DSRTypes::RF_xxx) |
OFCondition DSRCodedEntryValue::readSequence | ( | DcmItem & | dataset, |
const DcmTagKey & | tagKey, | ||
const OFString & | type, | ||
const size_t | flags = 0 , |
||
const OFString & | vm = "1" |
||
) |
read code sequence from dataset.
The number of items within the code sequence is checked. If error/warning output are enabled, a warning message is printed if the sequence is empty or contains more items than specified in the 'vm ' parameter (1 by default, which applies to most use cases). However, this method always reads the first item from the given sequence. If another item should be read (e.g. a modifier), the method readSequenceItem() should be used.
dataset | DICOM dataset from which the code sequence should be read |
tagKey | DICOM tag specifying the attribute (= sequence) which should be read |
type | value type of the sequence (valid value: "1", "2", something else). This parameter is used for checking purpose, any difference is reported. |
flags | optional flag used to customize the reading process (see DSRTypes::RF_xxx) |
vm | value multiplicity to be checked, interpreted as cardinality (number of items). See DcmElement::checkVM() for a list of valid values. |
OFCondition DSRCodedEntryValue::readSequenceItem | ( | DcmItem & | item, |
const DcmTagKey & | tagKey, | ||
const size_t | flags = 0 |
||
) |
read code from sequence item
item | DICOM sequence item from which the code should be read |
tagKey | DICOM tag specifying the sequence in which this item is contained |
flags | flag used to customize the reading process (see DSRTypes::RF_xxx) |
OFCondition DSRCodedEntryValue::readXML | ( | const DSRXMLDocument & | doc, |
DSRXMLCursor | cursor, | ||
const size_t | flags | ||
) |
read code from XML document.
Please note that only the "Basic Coded Entry Attributes" are supported by this method.
doc | document containing the XML file content |
cursor | cursor pointing to the starting node |
flags | flag used to customize the reading process (see DSRTypes::XF_xxx) |
void DSRCodedEntryValue::removeEnhancedEncodingMode | ( | ) |
remove the "Enhanced Encoding Mode" from this code.
Internally, all elements that belong to this mode are cleared.
OFCondition DSRCodedEntryValue::renderHTML | ( | STD_NAMESPACE ostream & | stream, |
const size_t | flags, | ||
const OFBool | fullCode = OFTrue , |
||
const OFBool | valueFirst = OFFalse |
||
) | const |
render code in HTML/XHTML format.
Please note that only the "Basic Coded Entry Attributes" are supported by this method.
stream | output stream to which the HTML/XHTML document is written |
flags | flag used to customize the output (see DSRTypes::HF_xxx) |
fullCode | optional flag indicating whether to render the full code tuple or the code value/meaning only |
valueFirst | optional flag indicating whether to render the code value or meaning first (outside the brackets) |
OFCondition DSRCodedEntryValue::setCode | ( | const DSRBasicCodedEntry & | basicCodedEntry, |
const OFBool | check = OFFalse |
||
) |
set code.
To be used for code constants defined by an instance of the DSRBasicCodedEntry class.
basicCodedEntry | code to be set, defined by its "Basic Coded Entry Attributes" |
check | if enabled, check code for validity before setting it. See checkCode() for details. Empty values are never accepted. |
OFCondition DSRCodedEntryValue::setCode | ( | const OFString & | codeValue, |
const OFString & | codingSchemeDesignator, | ||
const OFString & | codeMeaning, | ||
const DSRTypes::E_CodeValueType | codeValueType = DSRTypes::CVT_auto , |
||
const OFExplicitBool | check = OFTrue |
||
) |
set code.
To be used when the code to be set consists of three values (code value, coding scheme designator and code meaning). The attributes from the "Enhanced Encoding Mode" are set by one of the setEnhancedEncodingMode() methods. Before setting the code, it is usually checked. If the code is invalid, the current code is not replaced and remains unchanged. Additional information on the coding scheme can be provided via the DSRDocument::getCodingSchemeIdentification() method (highly recommended for private coding schemes).
codeValue | identifier of the code to be set that is unambiguous within the coding scheme. (VR=SH/UC/UR, mandatory) |
codingSchemeDesignator | identifier of the coding scheme in which the code for a term is defined. (VR=SH, mandatory) Designators beginning with "99" and the designator "L" are defined to be private or local coding schemes. |
codeMeaning | human-readable translation of the 'codeValue'. Can be used for display when code dictionary is not available. (VR=LO, mandatory) |
codeValueType | type of 'codeValue' (short, long or URN) used to map the value to the correct DICOM value representation (VR). By default, the type is determined automatically (see determineCodeValueType()). |
check | if enabled, check code for validity before setting it. See checkCode() for details. Empty values are only accepted for non-mandatory attributes. |
OFCondition DSRCodedEntryValue::setCode | ( | const OFString & | codeValue, |
const OFString & | codingSchemeDesignator, | ||
const OFString & | codingSchemeVersion, | ||
const OFString & | codeMeaning, | ||
const DSRTypes::E_CodeValueType | codeValueType = DSRTypes::CVT_auto , |
||
const OFBool | check = OFTrue |
||
) |
set code.
To be used when the code to be set consists of four values (code value, coding scheme designator, coding scheme version and code meaning). The attributes from the "Enhanced Encoding Mode" are set by one of the setEnhancedEncodingMode() methods. Before setting the code, it is usually checked. If the code is invalid, the current code is not replaced and remains unchanged. Additional information on the coding scheme can be provided via the DSRDocument::getCodingSchemeIdentification() method (highly recommended for private coding schemes).
codeValue | identifier of the code to be set that is unambiguous within the coding scheme. (VR=SH, mandatory) |
codingSchemeDesignator | identifier of the coding scheme in which the code for a term is defined. (VR=SH, mandatory) Designators beginning with "99" and the designator "L" are defined to be private or local coding schemes. |
codingSchemeVersion | version of the coding scheme. May be used to identify the version of a coding scheme if necessary to resolve ambiguity in the 'codeValue' or 'codeMeaning. (VR=SH, optional) |
codeMeaning | human-readable translation of the 'codeValue'. Can be used for display when code dictionary is not available. (VR=LO, mandatory) |
codeValueType | type of 'codeValue' (short, long or URN) used to map the value to the correct DICOM value representation (VR). By default, the type is determined automatically (see determineCodeValueType()). |
check | if enabled, check code for validity before setting it. See checkCode() for details. Empty values are only accepted for non-mandatory attributes. |
OFCondition DSRCodedEntryValue::setEnhancedEncodingMode | ( | const OFString & | contextUID, |
const OFBool | check = OFTrue |
||
) |
specify the "Enhanced Encoding Mode" for this code.
This method should be used for private context groups, which are not identified by a context identifier and mapping resource. Before setting the code, it is usually checked. If the code is invalid, the current code is not replaced and remains unchanged.
contextUID | uniquely identifies the context group. (VR=UI, mandatory) |
check | if enabled, the given value is checked for validity (conformance with corresponding VR and VM) before setting it. An empty value is never accepted. |
OFCondition DSRCodedEntryValue::setEnhancedEncodingMode | ( | const OFString & | contextIdentifier, |
const OFString & | mappingResource, | ||
const OFString & | contextGroupVersion, | ||
const OFString & | contextUID = "" , |
||
const OFString & | localVersion = "" , |
||
const OFString & | extensionCreatorUID = "" , |
||
const OFBool | check = OFTrue |
||
) |
specify the "Enhanced Encoding Mode" for this code.
This method should be used for codes from or extensions to non-private context groups, e.g. from the DICOM Content Mapping Resource (DCMR).
contextIdentifier | identifier of the context group defined by 'mappingResource' from which the code was selected, or to which the code has been added as a private context group extension. (VR=CS, mandatory) |
mappingResource | message/terminology mapping resource that specifies the context group with the given identifier. (VR=CS, mandatory) |
contextGroupVersion | version of the context group. (VR=DT, mandatory) |
contextUID | uniquely identifies the context group. (VR=UI, optional) |
localVersion | implementation-specific version of a context group that contains private extensions. (VR=DT, conditional) |
extensionCreatorUID | identifies the person or organization who created the extension to the context group. (VR=UI, conditional) Should be specified if 'localVersion' is non-empty. |
check | if enabled, the given values are checked for validity (conformance with corresponding VR and VM) before setting them. Empty values are only accepted for non-mandatory attributes. |
OFCondition DSRCodedEntryValue::setValue | ( | const DSRCodedEntryValue & | codedEntryValue, |
const OFBool | check = OFTrue |
||
) |
set code.
Before setting the code, it is usually checked. If the code is invalid, the current code is not replaced and remains unchanged.
codedEntryValue | code to be set |
check | if enabled, check code for validity before setting it. See checkCode() for details. Empty values are only accepted for non-mandatory attributes. |
OFBool DSRCodedEntryValue::usesEnhancedEncodingMode | ( | ) | const |
check whether the "Enhanced Encoding Mode" is used for this code.
Currently, the only check that is performed is that either the context identifier or the context UID have a non-empty value.
|
protected |
write code to dataset.
This method also supports the attributes from the "Enhanced Encoding Mode".
dataset | DICOM dataset to which the code should be written |
OFCondition DSRCodedEntryValue::writeSequence | ( | DcmItem & | dataset, |
const DcmTagKey & | tagKey | ||
) | const |
write code sequence to dataset
dataset | DICOM dataset to which the code sequence should be written |
tagKey | DICOM tag specifying the attribute (= sequence) which should be written |
OFCondition DSRCodedEntryValue::writeSequenceItem | ( | DcmItem & | item, |
const DcmTagKey & | tagKey | ||
) |
write code to sequence item
item | DICOM sequence item to which the code should be written |
tagKey | DICOM tag specifying the sequence in which this item is contained |
OFCondition DSRCodedEntryValue::writeXML | ( | STD_NAMESPACE ostream & | stream, |
const size_t | flags | ||
) | const |
write code in XML format.
Please note that only the "Basic Coded Entry Attributes" are supported by this method.
stream | output stream to which the XML document is written |
flags | flag used to customize the output (see DSRTypes::XF_xxx) |
|
private |
Mapping Resource UID (VR=UI, type 3)
Mapping Resource Name (VR=LO, type 3) Context Group Version (VR=DT, type 1C)
|
private |
tbd: Equivalent Code Sequence (VR=SQ, type 3) not yet supported
Context Identifier (VR=CS, type 3)