- patientName
- The patient name System.String value to match the queried study against. This value can be null or System.String.Empty.
- patientID
- The patient ID System.String value to match the queried study against. This value can be null or System.String.Empty.
- studyID
- The study ID System.String value to match the queried study against. This value can be null or System.String.Empty.
- modalitiesInStudy
- An array of System.String which contains the modalities to match the queried study against. This value can be null or System.String.Empty.
- accessionNumber
- The accession number System.String value to match the queried study against. This value can be null or System.String.Empty.
- referDrName
- The referring physician name System.String value to match the queried study against. This value can be null or System.String.Empty.
- studyDateStart
- The study starting date of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
- studyDateEnd
- The study end date of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
- studyTimeStart
- The study starting time of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
- studyTimeEnd
- The study end time of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
- studyInstanceUID
- The Study Instance UID System.String value to match the queried study against. This value can be null or System.String.Empty.
Visual Basic (Declaration) | |
---|---|
Overloads Public Overridable Function FindStudies( _ ByVal patientName As String, _ ByVal patientID As String, _ ByVal studyID As String, _ ByVal modalitiesInStudy() As String, _ ByVal accessionNumber As String, _ ByVal referDrName As String, _ ByVal studyDateStart As String, _ ByVal studyDateEnd As String, _ ByVal studyTimeStart As String, _ ByVal studyTimeEnd As String, _ ByVal studyInstanceUID As String _ ) As DicomDataSet() |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As QueryClient Dim patientName As String Dim patientID As String Dim studyID As String Dim modalitiesInStudy() As String Dim accessionNumber As String Dim referDrName As String Dim studyDateStart As String Dim studyDateEnd As String Dim studyTimeStart As String Dim studyTimeEnd As String Dim studyInstanceUID As String Dim value() As DicomDataSet value = instance.FindStudies(patientName, patientID, studyID, modalitiesInStudy, accessionNumber, referDrName, studyDateStart, studyDateEnd, studyTimeStart, studyTimeEnd, studyInstanceUID) |
C# | |
---|---|
public virtual DicomDataSet[] FindStudies( string patientName, string patientID, string studyID, string[] modalitiesInStudy, string accessionNumber, string referDrName, string studyDateStart, string studyDateEnd, string studyTimeStart, string studyTimeEnd, string studyInstanceUID ) |
C++/CLI | |
---|---|
public: virtual array<DicomDataSet^>^ FindStudies( String^ patientName, String^ patientID, String^ studyID, array<String^>^ modalitiesInStudy, String^ accessionNumber, String^ referDrName, String^ studyDateStart, String^ studyDateEnd, String^ studyTimeStart, String^ studyTimeEnd, String^ studyInstanceUID ) |
Parameters
- patientName
- The patient name System.String value to match the queried study against. This value can be null or System.String.Empty.
- patientID
- The patient ID System.String value to match the queried study against. This value can be null or System.String.Empty.
- studyID
- The study ID System.String value to match the queried study against. This value can be null or System.String.Empty.
- modalitiesInStudy
- An array of System.String which contains the modalities to match the queried study against. This value can be null or System.String.Empty.
- accessionNumber
- The accession number System.String value to match the queried study against. This value can be null or System.String.Empty.
- referDrName
- The referring physician name System.String value to match the queried study against. This value can be null or System.String.Empty.
- studyDateStart
- The study starting date of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
- studyDateEnd
- The study end date of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
- studyTimeStart
- The study starting time of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
- studyTimeEnd
- The study end time of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
- studyInstanceUID
- The Study Instance UID System.String value to match the queried study against. This value can be null or System.String.Empty.
Return Value
An Array of Leadtools.Dicom.DicomDataSet objects which contains the query results.Visual Basic | Copy Code |
---|---|
Public Sub DatabaseQueryLocal() Leadtools.Examples.Support.Unlock() Dim clientInfo As AeInfo = New AeInfo() clientInfo.Address = Dns.GetHostName() 'local machine clientInfo.AETitle = "TEST_CLIENT" clientInfo.Port = 1000 Dim dataAccess As Medical.Storage.DataAccessLayer.IStorageDataAccessAgent Dim fromConfiguration As Boolean fromConfiguration = False If (fromConfiguration) Then 'Make sure that the Sotrage Data Access is configured before creating an instance. dataAccess = DataAccessFactory.GetInstance(New StorageDataAccessConfigurationView()).CreateDataAccessAgent(Of IStorageDataAccessAgent)() Else Dim connectionString As String = "Data Source=local;Initial Catalog=DicomStorage;Integrated Security=True;User ID=;Password=;Pooling=True" 'or you can directly create the data access object which works with your database dataAccess = New StorageSqlDbDataAccessAgent(connectionString) End If 'Make sure that the FindAddIn is configured properly before using this class. Dim client As DbQueryClient = New DbQueryClient(clientInfo, dataAccess) client.EnableLog = True client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt") PerformClientQuery(client) End Sub Public Sub PerformClientQuery(ByVal client As QueryClient) Dim studiesQuery As FindQuery = New FindQuery() Dim studies As DicomDataSet() = client.FindStudies(studiesQuery) If studies.Length > 0 Then Dim study As DicomDataSet = studies(0) Dim seriesQuery As FindQuery = New FindQuery() seriesQuery.StudyInstanceUID = study.GetValue(Of String)(DicomTag.StudyInstanceUID, String.Empty) Dim series As DicomDataSet() = client.FindSeries(seriesQuery) For Each seriesDS As DicomDataSet In series Dim imagesQuery As FindQuery = New FindQuery() imagesQuery.SeriesInstanceUID = seriesDS.GetValue(Of String)(DicomTag.SeriesInstanceUID, String.Empty) Dim images As DicomDataSet() = client.FindImages(imagesQuery) For Each instance As DicomDataSet In images Console.WriteLine("SOPInstanceUID: {0}", instance.GetValue(Of String)(DicomTag.SOPInstanceUID, String.Empty)) Console.WriteLine("SeriesInstanceUID: {0}", instance.GetValue(Of String)(DicomTag.SeriesInstanceUID, String.Empty)) Console.WriteLine("StudyInstanceUID: {0}", instance.GetValue(Of String)(DicomTag.StudyInstanceUID, String.Empty)) Next instance Next seriesDS End If End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
public void DatabaseQueryLocal() { Leadtools.Examples.Support.Unlock(); AeInfo clientInfo = new AeInfo ( ); clientInfo.Address = Dns.GetHostName(); //local machine clientInfo.AETitle = "TEST_CLIENT" ; clientInfo.Port = 1000 ; IStorageDataAccessAgent dataAccess = null; bool fromConfiguration = false; if (fromConfiguration) { //Make sure that the Sotrage Data Access is configured before creating an instance. dataAccess = DataAccessFactory.GetInstance(new StorageDataAccessConfigurationView()).CreateDataAccessAgent<IStorageDataAccessAgent>(); } else { string connectionString = @"Data Source=local;Initial Catalog=DicomStorage;Integrated Security=True;User ID=;Password=;Pooling=True"; //or you can directly create the data access object which works with your database dataAccess = new StorageSqlDbDataAccessAgent(connectionString); } DbQueryClient client = new DbQueryClient(clientInfo, dataAccess); client.EnableLog = true; client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt"); PerformClientQuery ( client ) ; } public void PerformClientQuery(QueryClient client) { FindQuery studiesQuery = new FindQuery(); DicomDataSet[] studies = client.FindStudies(studiesQuery); if (studies.Length > 0) { DicomDataSet study = studies[0]; FindQuery seriesQuery = new FindQuery(); seriesQuery.StudyInstanceUID = study.GetValue <string> ( DicomTag.StudyInstanceUID, string.Empty ) ; DicomDataSet [] series = client.FindSeries(seriesQuery); foreach (DicomDataSet seriesDS in series ) { FindQuery imagesQuery = new FindQuery(); imagesQuery.SeriesInstanceUID = seriesDS.GetValue <string> ( DicomTag.SeriesInstanceUID, string.Empty); DicomDataSet[] images = client.FindImages(imagesQuery); foreach (DicomDataSet instance in images) { Console.WriteLine("SOPInstanceUID: {0}", instance.GetValue <string> ( DicomTag.SOPInstanceUID, string.Empty)); Console.WriteLine("SeriesInstanceUID: {0}", instance.GetValue <string> ( DicomTag.SeriesInstanceUID, string.Empty)); Console.WriteLine("StudyInstanceUID: {0}", instance.GetValue <string> ( DicomTag.StudyInstanceUID, string.Empty)); } } } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
Calling this method while the Processing property is true will result in an InvalidOperationException being thrown.
If the operation is cancelled this method will throw a ClientCommunicationCanceled exception.
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7