Explorar el Código

Add database accessor to list all patients

Allows user of this class to iterate through all contents
of the database hierarchically
Steve Pieper hace 13 años
padre
commit
6d50cfa4f5
Se han modificado 2 ficheros con 16 adiciones y 0 borrados
  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);