95 lines
3.3 KiB
C++
95 lines
3.3 KiB
C++
/*
|
|
*
|
|
* Copyright (C) 2014-2015, J. Riesmeier, Oldenburg, Germany
|
|
* All rights reserved. See COPYRIGHT file for details.
|
|
*
|
|
* This software and supporting documentation are maintained by
|
|
*
|
|
* OFFIS e.V.
|
|
* R&D Division Health
|
|
* Escherweg 2
|
|
* D-26121 Oldenburg, Germany
|
|
*
|
|
*
|
|
* Module: dcmsr
|
|
*
|
|
* Author: Joerg Riesmeier
|
|
*
|
|
* Purpose:
|
|
* classes: DSRRadiopharmaceuticalRadiationDoseConstraintChecker
|
|
*
|
|
*/
|
|
|
|
|
|
#ifndef DSRRRDCC_H
|
|
#define DSRRRDCC_H
|
|
|
|
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
|
|
|
|
#include "dcmtk/dcmsr/dsriodcc.h"
|
|
|
|
|
|
/*---------------------*
|
|
* class declaration *
|
|
*---------------------*/
|
|
|
|
/** Class for checking the relationship content constraints of the Radiopharmaceutical
|
|
* Radiation Dose SR IOD.
|
|
* According to DICOM PS 3.3: "The document may be constructed from Baseline TID 10021
|
|
* (Radiopharmaceutical Radiation Dose) invoked at the root node."
|
|
*/
|
|
class DCMTK_DCMSR_EXPORT DSRRadiopharmaceuticalRadiationDoseConstraintChecker
|
|
: public DSRIODConstraintChecker
|
|
{
|
|
|
|
public:
|
|
|
|
/** default constructor
|
|
*/
|
|
DSRRadiopharmaceuticalRadiationDoseConstraintChecker();
|
|
|
|
/** destructor
|
|
*/
|
|
virtual ~DSRRadiopharmaceuticalRadiationDoseConstraintChecker();
|
|
|
|
/** check whether by-reference relationships are allowed for this SR IOD
|
|
** @return always returns OFFalse, i.e. by-reference relationships are not allowed
|
|
*/
|
|
virtual OFBool isByReferenceAllowed() const;
|
|
|
|
/** check whether this SR IOD requires template support
|
|
** @return always returns OFFalse, i.e. template support is not required
|
|
*/
|
|
virtual OFBool isTemplateSupportRequired() const;
|
|
|
|
/** get identifier and mapping resource of the root template (if any)
|
|
** @param templateIdentifier identifier of the root template (might be empty)
|
|
* @param mappingResource mapping resource that defines the root template
|
|
* (might be empty)
|
|
** @return status, EC_Normal if successful, an error code otherwise
|
|
*/
|
|
virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier,
|
|
OFString &mappingResource) const;
|
|
|
|
/** get the associated document type of the SR IOD
|
|
** @return document type (DSRTypes::DT_RadiopharmaceuticalRadiationDoseSR)
|
|
*/
|
|
virtual E_DocumentType getDocumentType() const;
|
|
|
|
/** check whether specified content relationship is allowed for this IOD
|
|
** @param sourceValueType value type of the source content item to be checked
|
|
* @param relationshipType type of relationship between source and target item
|
|
* @param targetValueType value type of the target content item to be checked
|
|
* @param byReference optional flag indicating whether the node/relationship
|
|
* should be added by-value (default) or by-reference
|
|
** @return OFTrue if content relationship is allowed, OFFalse otherwise
|
|
*/
|
|
virtual OFBool checkContentRelationship(const E_ValueType sourceValueType,
|
|
const E_RelationshipType relationshipType,
|
|
const E_ValueType targetValueType,
|
|
const OFBool byReference = OFFalse) const;
|
|
};
|
|
|
|
|
|
#endif
|