DCMTK  Version 3.6.4
OFFIS DICOM Toolkit
Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
DSRContextGroup Class Reference

Class managing common information on a context group. More...

+ Inheritance diagram for DSRContextGroup:

Public Member Functions

 operator const DSRCodedEntryValue & () const
 conversion operator that returns the currently selected coded entry value (might be empty if none is selected)
 
virtual void clear ()
 clear list of extended coded entries and forget about the currently selected coded entry
 
OFBool isExtensible () const
 check whether context group is extensible More...
 
void setExtensible (const OFBool mode=OFTrue)
 change mode specifying whether the context group is extensible or non-extensible More...
 
const OFStringgetIdentifier () const
 get context identifier More...
 
const OFStringgetMappingResource () const
 get mapping resource More...
 
const OFStringgetVersion () const
 get context group version (optional) More...
 
const OFStringgetUID () const
 get context group UID (optional) More...
 
virtual OFBool hasSelectedValue () const
 check whether a coded entry is selected as the current value More...
 
const DSRCodedEntryValuegetSelectedValue () const
 get currently selected coded entry value (optional) More...
 
virtual OFCondition selectValue (const DSRCodedEntryValue &codedEntryValue, const OFBool check=OFTrue, const OFBool definedContextGroup=OFFalse)
 select a given coded entry as the current value More...
 
virtual OFBool hasCodedEntry (const DSRCodedEntryValue &codedEntryValue) const
 check whether a given coded entry is contained in this context group. More...
 
virtual OFCondition findCodedEntry (const DSRCodedEntryValue &codedEntryValue) const
 search for a given coded entry in this context group. More...
 
virtual OFBool hasExtendedCodedEntries () const
 check whether this context group has any extended coded entries. More...
 
virtual OFCondition addCodedEntry (const DSRCodedEntryValue &codedEntryValue)
 add a coded entry to this context group as an extension, i.e. as a non-standard code. More...
 
virtual OFCondition lookupCodedEntry (DSRCodedEntryValue &codedEntryValue, const OFBool enhancedEncodingMode=OFFalse) const
 search for a given coded entry in this context group and, if found, replace its value with the one found in the context group. More...
 
virtual void print (STD_NAMESPACE ostream &stream) const
 print contents of this context group, i.e. a general header, the currently selected coded entry value (if any) and all coded entries that are contained in this context group (both standard and extended ones). More...
 
virtual OFCondition checkSelectedValue (const OFBool definedContextGroup=OFFalse) const
 check whether the currently selected coded entry is valid. More...
 

Protected Member Functions

 DSRContextGroup (const OFString &contextIdentifier, const OFString &mappingResource, const OFString &contextGroupVersion="", const OFString &contextGroupUID="", const DSRCodedEntryValue &selectedValue=DSRCodedEntryValue())
 constructor More...
 
virtual ~DSRContextGroup ()
 destructor
 
virtual void printHeader (STD_NAMESPACE ostream &stream) const
 print header with some general information on this context group More...
 
virtual void printCodes (STD_NAMESPACE ostream &stream) const
 print details on coded entries that are contained in this context group. More...
 
virtual OFCondition findCodedEntry (const DSRCodedEntryValue &searchForCodedEntry, DSRCodedEntryValue *foundCodedEntry, const OFBool enhancedEncodingMode=OFFalse) const
 search for a given coded entry in this context group More...
 
virtual OFCondition checkCodedEntry (const DSRCodedEntryValue &codedEntryValue, const OFBool definedContextGroup) const
 check whether a given coded entry is valid. More...
 

Private Types

typedef OFList< DSRCodedEntryValueCodeList
 type used for storing and managing coded entries
 

Private Attributes

const OFString Identifier
 context identifier (VR=CS, mandatory)
 
const OFString MappingResource
 mapping resource (VR=CS, mandatory)
 
const OFString Version
 context group version (VR=DT, optional)
 
const OFString UID
 context group UID (VR=UI, optional)
 
DSRCodedEntryValue SelectedValue
 coded entry selected as the current value (optional, might be empty)
 
OFBool ExtensibleMode
 mode indicating whether context group is extensible (default: false)
 
CodeList ExtendedCodes
 extended coded entries (e.g. private or implementation-specific ones)
 

Detailed Description

Class managing common information on a context group.

This class is used as a base class only.

Constructor & Destructor Documentation

◆ DSRContextGroup()

DSRContextGroup::DSRContextGroup ( const OFString contextIdentifier,
const OFString mappingResource,
const OFString contextGroupVersion = "",
const OFString contextGroupUID = "",
const DSRCodedEntryValue selectedValue = DSRCodedEntryValue() 
)
protected

constructor

Parameters
contextIdentifieridentifier of the context group
mappingResourcemapping resource that defines the context group
contextGroupVersionversion of the context group (optional)
contextGroupUIDunique identifier of the context group (optional)
selectedValuecoded entry to be selected as the current value (optional)

Member Function Documentation

◆ addCodedEntry()

virtual OFCondition DSRContextGroup::addCodedEntry ( const DSRCodedEntryValue codedEntryValue)
virtual

add a coded entry to this context group as an extension, i.e. as a non-standard code.

Adding a new coded entry by this method only works for extensible context groups. Please note that the 'codedEntryValue' is not checked for validity.

Parameters
codedEntryValuecoded entry to be added to this context group
Returns
status, EC_Normal if successful, an error code otherwise

◆ checkCodedEntry()

virtual OFCondition DSRContextGroup::checkCodedEntry ( const DSRCodedEntryValue codedEntryValue,
const OFBool  definedContextGroup 
) const
protectedvirtual

check whether a given coded entry is valid.

Internally, the method hasCodedEntry() is used if 'definedContextGroup' is OFTrue.

Parameters
codedEntryValuecoded entry to be checked
definedContextGroupflag indicating whether this context group is used as a baseline (default) or defined context group. The first means that the list of coded entries in this context group is just a suggestion. The latter means that one of the coded entries should be used.
Returns
status, EC_Normal if either no coded entry is selected or the selected one is both valid and allowed for this context group, an error code otherwise

◆ checkSelectedValue()

virtual OFCondition DSRContextGroup::checkSelectedValue ( const OFBool  definedContextGroup = OFFalse) const
virtual

check whether the currently selected coded entry is valid.

Internally, the method hasCodedEntry() is used if 'definedContextGroup' is OFTrue.

Parameters
definedContextGroupflag indicating whether this context group is used as a baseline (default) or defined context group. The first means that the list of coded entries in this context group is just a suggestion. The latter means that one of the coded entries should be used.
Returns
status, EC_Normal if either no coded entry is selected or the selected one is both valid and allowed for this context group, an error code otherwise

◆ findCodedEntry() [1/2]

virtual OFCondition DSRContextGroup::findCodedEntry ( const DSRCodedEntryValue codedEntryValue) const
virtual

search for a given coded entry in this context group.

If found, the type of the entry (standard or extension) is returned:

  • SR_EC_CodedEntryInStandardContextGroup
  • SR_EC_CodedEntryIsExtensionOfContextGroup
Parameters
codedEntryValuecoded entry to be searched for
Returns
result of the search process, SR_EC_CodedEntryNotInContextGroup if coded entry could not be found. Use OFCondition::good() or OFCondition::bad() if not interested in the type of the entry.

◆ findCodedEntry() [2/2]

virtual OFCondition DSRContextGroup::findCodedEntry ( const DSRCodedEntryValue searchForCodedEntry,
DSRCodedEntryValue foundCodedEntry,
const OFBool  enhancedEncodingMode = OFFalse 
) const
protectedvirtual

search for a given coded entry in this context group

Parameters
searchForCodedEntrycoded entry to be searched for
foundCodedEntrypointer to variable that will store the coded entry (if found and pointer is not NULL)
enhancedEncodingModeset enhanced encoding mode for coded entry (not used for this class, only in derived classes)
Returns
result of the search process, also defines the type of the entry

Reimplemented in CID7469_GenericIntensityAndSizeMeasurements, CID4021_PETRadiopharmaceutical, CID4031_CommonAnatomicRegions, CID7181_AbstractMultiDimensionalImageModelComponentUnits, CID29_AcquisitionModality, CID4020_PETRadionuclide, CID7452_OrganizationalRoles, CID11_RouteOfAdministration, CID7453_PerformingRoles, CID7464_GeneralRegionOfInterestMeasurementModifiers, CID100_QuantitativeDiagnosticImagingProcedures, CID42_NumericValueQualifier, CID5000_Languages, CID10013_CTAcquisitionType, CID5001_Countries, CID244_Laterality, CID6147_ResponseCriteria, CID7021_MeasurementReportDocumentTitles, CID7445_DeviceParticipatingRoles, and CID10033_CTReconstructionAlgorithm.

◆ getIdentifier()

const OFString& DSRContextGroup::getIdentifier ( ) const
inline

get context identifier

Returns
identifier of the context group

◆ getMappingResource()

const OFString& DSRContextGroup::getMappingResource ( ) const
inline

get mapping resource

Returns
mapping resource that defines the context group

◆ getSelectedValue()

const DSRCodedEntryValue& DSRContextGroup::getSelectedValue ( ) const
inline

get currently selected coded entry value (optional)

Returns
current value (might be empty if none is selected)

◆ getUID()

const OFString& DSRContextGroup::getUID ( ) const
inline

get context group UID (optional)

Returns
unique identifier of the context group (might be empty)

◆ getVersion()

const OFString& DSRContextGroup::getVersion ( ) const
inline

get context group version (optional)

Returns
version of the context group (might be empty)

◆ hasCodedEntry()

virtual OFBool DSRContextGroup::hasCodedEntry ( const DSRCodedEntryValue codedEntryValue) const
virtual

check whether a given coded entry is contained in this context group.

Internally, the method findCodedEntry() is used for this purpose.

Parameters
codedEntryValuecoded entry to be checked
Returns
OFTrue if coded entry is part of this context group, OFFalse otherwise

◆ hasExtendedCodedEntries()

virtual OFBool DSRContextGroup::hasExtendedCodedEntries ( ) const
virtual

check whether this context group has any extended coded entries.

Extended coded entries are those non-standard codes added by addCodedEntry().

Returns
OFTrue if there are any extended coded entries, OFFalse otherwise

◆ hasSelectedValue()

virtual OFBool DSRContextGroup::hasSelectedValue ( ) const
virtual

check whether a coded entry is selected as the current value

Returns
OFTrue if a value is selected, OFFalse otherwise

◆ isExtensible()

OFBool DSRContextGroup::isExtensible ( ) const
inline

check whether context group is extensible

Returns
OFTrue if extensible, OFFalse otherwise

◆ lookupCodedEntry()

virtual OFCondition DSRContextGroup::lookupCodedEntry ( DSRCodedEntryValue codedEntryValue,
const OFBool  enhancedEncodingMode = OFFalse 
) const
virtual

search for a given coded entry in this context group and, if found, replace its value with the one found in the context group.

This method can, therefore, be used to lookup the "official" code meaning or to set the "enhanced encoding mode".

Parameters
codedEntryValuecoded entry to be searched for. Should be a valid code, i.e. at least the three mandatory components have to be non-empty. Also used to store the retrieved coded entry.
enhancedEncodingModeset enhanced encoding mode for coded entry (if enabled)
Returns
result of the search process, see findCodedEntry() for details

◆ print()

virtual void DSRContextGroup::print ( STD_NAMESPACE ostream &  stream) const
virtual

print contents of this context group, i.e. a general header, the currently selected coded entry value (if any) and all coded entries that are contained in this context group (both standard and extended ones).

See DSRCodedEntryValue::print() for details of the coded entry output.

Parameters
streamstream to which the output should be printed

◆ printCodes()

virtual void DSRContextGroup::printCodes ( STD_NAMESPACE ostream &  stream) const
protectedvirtual

◆ printHeader()

virtual void DSRContextGroup::printHeader ( STD_NAMESPACE ostream &  stream) const
protectedvirtual

print header with some general information on this context group

Parameters
streamstream to which the output should be printed

◆ selectValue()

virtual OFCondition DSRContextGroup::selectValue ( const DSRCodedEntryValue codedEntryValue,
const OFBool  check = OFTrue,
const OFBool  definedContextGroup = OFFalse 
)
virtual

select a given coded entry as the current value

Parameters
codedEntryValuecoded entry to be selected as the current value
checkif enabled, check 'codedEntryValue' for validity and appropriateness before selecting it as the current value. See checkSelectedValue() for details.
definedContextGroupflag indicating whether this context group is used as a baseline (default) or defined context group. The first means that the list of coded entries in this context group is just a suggestion. The latter means that one of the coded entries should be used.
Returns
status, EC_Normal if successful, an error code otherwise

◆ setExtensible()

void DSRContextGroup::setExtensible ( const OFBool  mode = OFTrue)
inline

change mode specifying whether the context group is extensible or non-extensible

Parameters
modeset context group type to extensible if OFTrue (default)

The documentation for this class was generated from the following file:


Generated on Thu Nov 29 2018 for DCMTK Version 3.6.4 by Doxygen 1.8.14