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



An abstract layer for implementing DICOM Query operations.

Syntax

Visual Basic (Declaration) 
Public MustInherit Class QueryClient 
Visual Basic (Usage)Copy Code
Dim instance As QueryClient
C# 
public abstract class QueryClient 
C++/CLI 
public ref class QueryClient abstract 

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

Inheritors can use this class to provide an abstraction layer for their applications without the need to worry how the query is performed.

Derived classes might perform DICOM Communication queries or direct database queries.

Inheritance Hierarchy

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