108 lines
4.5 KiB
C++
108 lines
4.5 KiB
C++
/*
|
|
*
|
|
* Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
|
|
* All rights reserved. See COPYRIGHT file for details.
|
|
*
|
|
* Header file for class CID4031_CommonAnatomicRegions_Enhanced
|
|
*
|
|
* Author: Joerg Riesmeier
|
|
*
|
|
*/
|
|
|
|
|
|
#ifndef CMR_CID4031E_H
|
|
#define CMR_CID4031E_H
|
|
|
|
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
|
|
|
|
#include "dcmtk/dcmsr/cmr/cid4031.h"
|
|
|
|
|
|
/*---------------------*
|
|
* class declaration *
|
|
*---------------------*/
|
|
|
|
/** DCMR Context Group with enhanced functionality:
|
|
* CID 4031 - Common Anatomic Regions.
|
|
*/
|
|
class DCMTK_CMR_EXPORT CID4031e_CommonAnatomicRegions
|
|
: public CID4031_CommonAnatomicRegions
|
|
{
|
|
|
|
public:
|
|
|
|
/** (default) constructor
|
|
** @param selectedValue coded entry to be selected as the current value (optional).
|
|
* Should be a valid code according to the DICOM definitions
|
|
* for this context group, i.e. no checks are performed.
|
|
* Call DSRContextGroup::checkSelectedValue() if needed.
|
|
*/
|
|
CID4031e_CommonAnatomicRegions(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue());
|
|
|
|
/** constructor
|
|
** @param selectedValue type mapped to a coded entry that is selected as the
|
|
* current value
|
|
** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
|
|
*/
|
|
CID4031e_CommonAnatomicRegions(const EnumType selectedValue,
|
|
const OFBool enhancedEncodingMode = OFFalse);
|
|
|
|
/** constructor
|
|
** @param selectedValue defined term for Body Part Examined (0018,0015) mapped
|
|
* to a coded entry that is selected as the current value
|
|
** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
|
|
*/
|
|
CID4031e_CommonAnatomicRegions(const OFString &selectedValue,
|
|
const OFBool enhancedEncodingMode = OFFalse);
|
|
|
|
/** select a coded entry given by its associated defined term as the current value
|
|
** @param selectedValue defined term for Body Part Examined (0018,0015) mapped
|
|
* to a coded entry that is selected as the current value
|
|
* @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
|
|
** @return status, EC_Normal if successful, an error code otherwise
|
|
*/
|
|
virtual OFCondition selectValue(const OFString &selectedValue,
|
|
const OFBool enhancedEncodingMode = OFFalse);
|
|
|
|
// --- static helper functions ---
|
|
|
|
/** map a defined term for Body Part Examined (0018,0015) to the associated coded entry.
|
|
* See DICOM PS 3.16 Annex L (Correspondence of Anatomic Region Codes and Body Part
|
|
* Examined Defined Terms) for details on this mapping.
|
|
** @param definedTerm defined term that should be mapped to a coded entry
|
|
* @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
|
|
** @return coded entry that is associated with the given defined term, or an empty value
|
|
* if none was found
|
|
*/
|
|
static DSRCodedEntryValue mapBodyPartExamined(const OFString &definedTerm,
|
|
const OFBool enhancedEncodingMode = OFFalse);
|
|
|
|
/** map a defined term for Body Part Examined (0018,0015) to the associated coded entry.
|
|
* See DICOM PS 3.16 Annex L (Correspondence of Anatomic Region Codes and Body Part
|
|
* Examined Defined Terms) for details on this mapping.
|
|
** @param definedTerm defined term that should be mapped to a coded entry
|
|
* @param codedEntryValue reference to variable where the resulting coded entry is
|
|
* stored. This variable is not cleared in case of error.
|
|
* @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled)
|
|
** @return status, EC_Normal if successful, an error code otherwise
|
|
*/
|
|
static OFCondition mapBodyPartExamined(const OFString &definedTerm,
|
|
DSRCodedEntryValue &codedEntryValue,
|
|
const OFBool enhancedEncodingMode = OFFalse);
|
|
|
|
// --- reintroduce method from base class
|
|
|
|
using CID4031_CommonAnatomicRegions::selectValue;
|
|
};
|
|
|
|
|
|
/*-------------------*
|
|
* type definition *
|
|
*-------------------*/
|
|
|
|
// define short name for the context group class
|
|
typedef CID4031e_CommonAnatomicRegions CMR_CID4031e;
|
|
|
|
|
|
#endif
|