Quellcode durchsuchen

Add database accessor to list all patients

Allows user of this class to iterate through all contents
of the database hierarchically
Steve Pieper vor 13 Jahren
Ursprung
Commit
6d50cfa4f5
2 geänderte Dateien mit 16 neuen und 0 gelöschten Zeilen
  1. 15 0
      Libs/DICOM/Core/ctkDICOMDatabase.cpp
  2. 1 0
      Libs/DICOM/Core/ctkDICOMDatabase.h

+ 15 - 0
Libs/DICOM/Core/ctkDICOMDatabase.cpp

@@ -265,6 +265,21 @@ void ctkDICOMDatabase::closeDatabase()
 }
 
 //------------------------------------------------------------------------------
+QStringList ctkDICOMDatabase::patients()
+{
+  Q_D(ctkDICOMDatabase);
+  QSqlQuery query(d->Database);
+  query.prepare ( "SELECT UID FROM Patients" );
+  query.exec();
+  QStringList result;
+  while (query.next()) 
+    {
+    result << query.value(0).toString();
+    }
+  return( result );
+}
+
+//------------------------------------------------------------------------------
 QStringList ctkDICOMDatabase::studiesForPatient(QString patientUID)
 {
   Q_D(ctkDICOMDatabase);

+ 1 - 0
Libs/DICOM/Core/ctkDICOMDatabase.h

@@ -109,6 +109,7 @@ public:
 
   ///
   /// \brief database accessors
+  Q_INVOKABLE QStringList patients ();
   Q_INVOKABLE QStringList studiesForPatient (QString patientUID);
   Q_INVOKABLE QStringList seriesForStudy (QString studyUID);
   Q_INVOKABLE QStringList filesForSeries (QString seriesUID);