+/**
+ * \brief Remove all studies in the patient
+ */
+void DicomDirPatient::ClearStudy()
+{
+ for(ListDicomDirStudy::const_iterator cc = Studies.begin();
+ cc != Studies.end();
+ ++cc )
+ {
+ delete *cc;
+ }
+ Studies.clear();
+}
+
+/**
+ * \brief Get the first entry while visiting the DicomDirStudy
+ * \return The first DicomDirStudy if found, otherwhise NULL
+ */
+DicomDirStudy *DicomDirPatient::GetFirstStudy()
+{
+ ItStudy = Studies.begin();
+ if (ItStudy != Studies.end())
+ return *ItStudy;
+ return NULL;
+}
+
+/**
+ * \brief Get the next entry while visiting the DicomDirStudies
+ * \note : meaningfull only if GetFirstEntry already called
+ * \return The next DicomDirStudies if found, otherwhise NULL
+ */
+DicomDirStudy *DicomDirPatient::GetNextStudy()
+{
+ gdcmAssertMacro (ItStudy != Studies.end())
+
+ ++ItStudy;
+ if (ItStudy != Studies.end())
+ return *ItStudy;
+ return NULL;
+}
+
+/**
+ * \brief Get the first entry while visiting the DicomDirStudy
+ * \return The first DicomDirStudy if found, otherwhise NULL
+ */
+DicomDirStudy *DicomDirPatient::GetLastStudy()
+{
+ ItStudy = Studies.end();
+ if (ItStudy != Studies.begin())
+ {
+ --ItStudy;
+ return *ItStudy;
+ }
+ return NULL;
+}
+