Leadtools.Medical.Workstation.Client Requires Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
FindStudies(FindQuery) Method
See Also  Example
Leadtools.Medical.Workstation.Client Namespace > QueryClient Class > FindStudies Method : FindStudies(FindQuery) Method



query
The FindQuery which contains the parameters for the query.
query
The FindQuery which contains the parameters for the query.
Overloaded. Runs a study-based query with the specified parameters.

Syntax

Visual Basic (Declaration) 
Overloads Public Overridable Function FindStudies( _
   ByVal query As FindQuery _
) As ClientQueryDataSet
Visual Basic (Usage)Copy Code
Dim instance As QueryClient
Dim query As FindQuery
Dim value As ClientQueryDataSet
 
value = instance.FindStudies(query)
C# 
public virtual ClientQueryDataSet FindStudies( 
   FindQuery query
)
C++/CLI 
public:
virtual ClientQueryDataSet^ FindStudies( 
   FindQuery query
) 

Parameters

query
The FindQuery which contains the parameters for the query.

Return Value

A ClientQueryDataSet which contains the query results.

Example

Visual BasicCopy Code
<Test> _
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

  'Make sure that the FindAddIn is configured properly before using this class.
  Dim client As DbQueryClient = New DbQueryClient (clientInfo)

  client.EnableLog = True
  client.LogFileName = ("c:\DicomLog.txt")

  PerformClientQuery (client)
End Sub

Public Sub PerformClientQuery(ByVal client As QueryClient)
  Dim studiesQuery As FindQuery = New FindQuery ()


  Dim studies As ClientQueryDataSet = client.FindStudies (studiesQuery)


  If studies.Studies.Count > 0 Then
     Dim study As ClientQueryDataSet.StudiesRow = studies.Studies (0)
     Dim seriesQuery As FindQuery = New FindQuery()


     seriesQuery.StudyInstanceUID = study.StudyInstanceUID

     Dim series As ClientQueryDataSet = client.FindSeries (seriesQuery)

     For Each seriesRow As ClientQueryDataSet.SeriesRow In series.Series
       Dim imagesQuery As FindQuery = New FindQuery ()


       imagesQuery.SeriesInstanceUID = seriesRow.SeriesInstanceUID

       Dim images As ClientQueryDataSet = client.FindImages (imagesQuery)


       For Each image As ClientQueryDataSet.ImagesRow In images.Images
         Console.WriteLine ("SOPInstanceUID: {0}", image.SOPInstanceUID)

         If (Not image.IsSeriesInstanceUIDNull ()) Then
           Console.WriteLine("SeriesInstanceUID: {0}", image.SeriesInstanceUID)
         End If

         If (Not image.IsStudyInstanceUIDNull ()) Then
           Console.WriteLine("StudyInstanceUID: {0}", image.StudyInstanceUID)
         End If
       Next image
     Next seriesRow
  End If
End Sub
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 ; 
 
   //Make sure that the FindAddIn is configured properly before using this class. 
   DbQueryClient client = new DbQueryClient ( clientInfo ) ; 
 
   client.EnableLog = true; 
   client.LogFileName = ( @"c:\DicomLog.txt" ) ; 
 
   PerformClientQuery ( client ) ; 

 
public void PerformClientQuery ( QueryClient client )  

   FindQuery studiesQuery = new FindQuery ( ) ; 
 
 
   ClientQueryDataSet studies = client.FindStudies ( studiesQuery ) ; 
 
 
   if ( studies.Studies.Count > 0 )  
   { 
      ClientQueryDataSet.StudiesRow study = studies.Studies [ 0 ] ; 
      FindQuery seriesQuery = new FindQuery(); 
 
 
      seriesQuery.StudyInstanceUID = study.StudyInstanceUID ; 
 
      ClientQueryDataSet series = client.FindSeries ( seriesQuery ) ; 
 
      foreach ( ClientQueryDataSet.SeriesRow seriesRow in series.Series )  
      { 
         FindQuery imagesQuery = new FindQuery ( ) ; 
 
 
         imagesQuery.SeriesInstanceUID = seriesRow.SeriesInstanceUID ; 
 
         ClientQueryDataSet images = client.FindImages ( imagesQuery ) ; 
 
 
         foreach ( ClientQueryDataSet.ImagesRow image in images.Images )  
         { 
            Console.WriteLine ( "SOPInstanceUID: {0}", image.SOPInstanceUID ) ; 
 
            if ( !image.IsSeriesInstanceUIDNull ( ) ) 
            { 
               Console.WriteLine("SeriesInstanceUID: {0}", image.SeriesInstanceUID); 
            } 
 
            if ( !image.IsStudyInstanceUIDNull ( ) ) 
            { 
               Console.WriteLine("StudyInstanceUID: {0}", image.StudyInstanceUID); 
            } 
         } 
      } 
   } 
}

Remarks

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.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also

Leadtools.Medical.Workstation.Client requires a Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features