Imports Leadtools
Imports Leadtools.Dicom.Scu
Imports Leadtools.Dicom.Scu.Common
Imports Leadtools.Dicom
Imports Leadtools.Dicom.Common.DataTypes
Public Sub MoveStudy()
    DicomEngine.Startup()
    DicomNet.Startup()
    Dim retrieveStudy As QueryRetrieveScu = New QueryRetrieveScu()
    Dim query As FindQuery = New FindQuery()
    Dim scp As DicomScp = New DicomScp()
    '
    ' Change these parameters to reflect the calling AETitle.
    '
    retrieveStudy.AETitle = "LEAD_CLIENT"
    retrieveStudy.HostPort = 1000
 retrieveStudy.HostAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(Function(ip) ip.AddressFamily = AddressFamily.InterNetwork)
    '
    ' Change these parameters to reflect the called AETitle (server).
    '
    scp.AETitle = "MI_SERVER"
    scp.Port = 104
    scp.Timeout = 60
    scp.PeerAddress = IPAddress.Parse("10.1.1.96")
    AddHandler retrieveStudy.BeforeCMove, AddressOf retrieveStudy_BeforeCMove
    AddHandler retrieveStudy.Moved, AddressOf retrieveStudy_Moved
    AddHandler retrieveStudy.AfterCMove, AddressOf retrieveStudy_AfterCMove
    retrieveStudy.Move(scp, String.Empty, "1.2.840.114257.3.6.5.41964868")
    DicomNet.Shutdown()
    DicomEngine.Shutdown()
End Sub
Private Sub retrieveStudy_BeforeCMove(ByVal sender As Object, ByVal e As BeforeCMoveEventArgs)
    Console.WriteLine("Before CMove")
End Sub
Private Sub retrieveStudy_Moved(ByVal sender As Object, ByVal e As MovedEventArgs)
    Console.WriteLine(e.Patient.Name.Full)
    Console.WriteLine(e.Study.AccessionNumber)
    Console.WriteLine(e.Series.Number)
    Console.WriteLine(e.Instance.SOPInstanceUID)
    Console.WriteLine("==========================================")
End Sub
Private Sub retrieveStudy_AfterCMove(ByVal sender As Object, ByVal e As AfterCMoveEventArgs)
    Console.WriteLine("{0} Completed", e.Completed)
    Console.WriteLine("{0} Failed", e.Failed)
    Console.WriteLine("{0} Warning", e.Warning)
    Console.WriteLine("Status: {0}", e.Status)
End Sub
             
   
     
            using Leadtools;
using Leadtools.Dicom.Scu;
using Leadtools.Dicom.Scu.Common;
using Leadtools.Dicom;
using Leadtools.Dicom.Common.DataTypes;
public void MoveStudy()
{
    DicomEngine.Startup();
    DicomNet.Startup();
    QueryRetrieveScu retrieveStudy = new QueryRetrieveScu();
    FindQuery query = new FindQuery();
    DicomScp scp = new DicomScp();
    //
    // Change these parameters to reflect the calling AETitle.
    //
    retrieveStudy.AETitle = "LEAD_CLIENT";
    retrieveStudy.HostPort = 1000;
    retrieveStudy.HostAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork);
    //
    // Change these parameters to reflect the called AETitle (server).
    //
    scp.AETitle = "MI_SERVER";
    scp.Port = 104;
    scp.Timeout = 60;
    scp.PeerAddress = IPAddress.Parse("10.1.1.96");
    retrieveStudy.BeforeCMove += new BeforeCMoveDelegate(retrieveStudy_BeforeCMove);
    retrieveStudy.Moved += new MovedDelegate(retrieveStudy_Moved);
    retrieveStudy.AfterCMove += new AfterCMoveDelegate(retrieveStudy_AfterCMove);
    retrieveStudy.Move(scp, string.Empty, "1.2.840.114257.3.6.5.41964868");
    DicomNet.Shutdown();
    DicomEngine.Shutdown();
}
void retrieveStudy_BeforeCMove(object sender, BeforeCMoveEventArgs e)
{
    Console.WriteLine("Before CMove");
}
void retrieveStudy_Moved(object sender, MovedEventArgs e)
{
    Console.WriteLine(e.Patient.Name.Full);
    Console.WriteLine(e.Study.AccessionNumber);
    Console.WriteLine(e.Series.Number);
    Console.WriteLine(e.Instance.SOPInstanceUID);
    Console.WriteLine("==========================================");
}
void retrieveStudy_AfterCMove(object sender, AfterCMoveEventArgs e)
{
    Console.WriteLine("{0} Completed", e.Completed);
    Console.WriteLine("{0} Failed", e.Failed);
    Console.WriteLine("{0} Warning", e.Warning);
    Console.WriteLine("Status: {0}", e.Status);
}