gdcm::QueryBase Class Referenceabstract

QueryBase. More...

`#include <gdcmQueryBase.h>`

Inheritance diagram for gdcm::QueryBase:
[legend]

## Public Member Functions

virtual | ~QueryBase ()=default
std::vector< Tag > | GetAllRequiredTags (const ERootType &inRootType) const
std::vector< Tag > | GetAllTags (const ERootType &inRootType) const
virtual std::vector< Tag > | GetHierachicalSearchTags (const ERootType &inRootType) const =0
| Return all Unique Key for a particular Query Root type (from the same level and above).
virtual const char * | GetName () const =0
virtual std::vector< Tag > | GetOptionalTags (const ERootType &inRootType) const =0
virtual DataElement | GetQueryLevel () const =0
virtual std::vector< Tag > | GetRequiredTags (const ERootType &inRootType) const =0
virtual std::vector< Tag > | GetUniqueTags (const ERootType &inRootType) const =0

## Detailed Description

QueryBase.

contains: the base class for constructing a query dataset for a C-FIND and a C-MOVE

There are four levels of C-FIND and C-MOVE query:

- Patient
- Study
- Series
- Image

Each one has its own required and optional tags. This class provides an interface for getting those tags. This is an interface class.

See 3.4 C 6.1 and 3.4 C 6.2 for the patient and study root query types. These sections define the tags allowed by a particular query. The caller must pass in which root type they want, patient or study. A third root type, Modality Worklist Query, isn't yet supported.

This class (or rather it's derived classes) will be held in the RootQuery types. These query types actually make the dataset, and will use this dataset to list the required, unique, and optional tags for each type of query. This design is somewhat overly complicated, but is kept so that if we ever wanted to try to guess the query type from the given tags, we could do so.

## Constructor & Destructor Documentation

## ~QueryBase()

virtual gdcm::QueryBase::~QueryBase | ( |  | ) |

virtual default

## Member Function Documentation

## GetAllRequiredTags()

std::vector< Tag > gdcm::QueryBase::GetAllRequiredTags | ( | const ERootType & | inRootType | ) | const

In order to validate a query dataset we need to check that there exists at least one required (or unique) key

## GetAllTags()

std::vector< Tag > gdcm::QueryBase::GetAllTags | ( | const ERootType & | inRootType | ) | const

In order to validate a query dataset, just check for the presence of a tag, not it's requirement level in the spec

## GetHierachicalSearchTags()

virtual std::vector< Tag > gdcm::QueryBase::GetHierachicalSearchTags | ( | const ERootType & | inRootType | ) | const

pure virtual

Return all Unique Key for a particular Query Root type (from the same level and above).

Implemented in gdcm::QueryImage, gdcm::QueryPatient, gdcm::QuerySeries, and gdcm::QueryStudy.

## GetName()

virtual const char * gdcm::QueryBase::GetName | ( |  | ) | const

pure virtual

Implemented in gdcm::QueryImage, gdcm::QueryPatient, gdcm::QuerySeries, and gdcm::QueryStudy.

## GetOptionalTags()

virtual std::vector< Tag > gdcm::QueryBase::GetOptionalTags | ( | const ERootType & | inRootType | ) | const

pure virtual

Implemented in gdcm::QueryImage, gdcm::QueryPatient, gdcm::QuerySeries, and gdcm::QueryStudy.

## GetQueryLevel()

virtual DataElement gdcm::QueryBase::GetQueryLevel | ( |  | ) | const

pure virtual

Implemented in gdcm::QueryImage, gdcm::QueryPatient, gdcm::QuerySeries, and gdcm::QueryStudy.

## GetRequiredTags()

virtual std::vector< Tag > gdcm::QueryBase::GetRequiredTags | ( | const ERootType & | inRootType | ) | const

pure virtual

Implemented in gdcm::QueryImage, gdcm::QueryPatient, gdcm::QuerySeries, and gdcm::QueryStudy.

## GetUniqueTags()

virtual std::vector< Tag > gdcm::QueryBase::GetUniqueTags | ( | const ERootType & | inRootType | ) | const

pure virtual

Implemented in gdcm::QueryImage, gdcm::QueryPatient, gdcm::QuerySeries, and gdcm::QueryStudy.

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

- gdcmQueryBase.h