Преглед на файлове

Add database accessor to list all patients

Allows user of this class to iterate through all contents
of the database hierarchically
Steve Pieper преди 13 години
родител
ревизия
6d50cfa4f5
променени са 2 файла, в които са добавени 16 реда и са изтрити 0 реда
  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);