+ return keys;
+}
+
+void vvDicomServerQueryFactory::setQueryforImage(const std::string patient_id, const std::string study_id, const std::string series_id,const std::string image_id)
+{
+ vvQuery query;
+ query.theRoot = gdcm::ePatientRootType;
+ query.theLevel = gdcm::eImage;
+ query.keys = getQueryKeysforImage(patient_id, study_id, series_id, image_id);
+ m_query = query;
+}
+
+std::vector< std::pair<gdcm::Tag, std::string> > vvDicomServerQueryFactory::getQueryKeysforImage(const std::string patient_id, const std::string study_id, const std::string series_id,const std::string image_id)
+{
+
+ std::vector< std::pair<gdcm::Tag, std::string> > keys;
+
+ //Patient UID
+ keys.push_back(std::make_pair(gdcm::Tag (0x0010,0x0020), patient_id));
+
+ //Study UID
+ keys.push_back(std::make_pair(gdcm::Tag(0x0020,0x000d), study_id));
+
+ //Series UID
+ keys.push_back(std::make_pair(gdcm::Tag(0x0020,0x000e), series_id));
+
+ //SOP Instance UID
+ keys.push_back(std::make_pair(gdcm::Tag(0x0008,0x0018), image_id));