How to implement C-MOVE in .NET

In the .NET version of DicomObjects, C-MOVE is slightly more complicated but user has a lot more flexibility. Following is VB.NET sample code showing how to do a proper C-MOVE via DicomQuery Object and how to receive C-MOVE responses.

Dim WithEvents  server As DicomServer
Dim images As New DicomImageCollection
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
       server = New DicomServer 
       Dim query As New DicomQuery 
       query.Destination = "Local" 
       query.Node = "localhost" 
       query.Port = 104 
       query.Level = "Enums.QueryLevel.Instance" 
       query.Root = "Enums.QueryRoot.Study" 
       query.InstanceID = "1.2.840.10008." 
        ' by the time the above call returns, the images should have been collected! 
End Sub

C-MOVE reponses are received in the DicomServer.InstanceReceived event as below:

Private Sub server_InstanceReceived(ByVal sender As Object, ByVal e As DicomObjects.DicomServer.InstanceReceivedArgs) 
            Handles server.InstanceReceived
       e.Status = 0
End Sub

This would not have worked in the COM version of DicomObjects (thereby requiring the "GetUsingMove") as there would have been a deadlock, as the InstanceReceived Event could not have fired whilst Move was in progress, but that is no problem in .NET - hence that method is no longer needed.


We Currently Accept:

Other currencies

For Reference purposes only:

The price is based on current exchange rates but is only an approximation. Please contact us for a final price