Sends an N-CREATE-REQ to the SCP.
public void Create<TData>(
Leadtools.Dicom.Scu.DicomScp Scp,
TData Data
)
Public Overloads Sub Create(Of TData)( _
ByVal Scp As Leadtools.Dicom.Scu.DicomScp, _
ByVal Data As TData _
)
public:
void Creategeneric<typename TData>
(
Leadtools.Dicom.Scu.DicomScp^ Scp,
_TData^_ Data
)
Scp
The peer connection to send the N-CREATE-REQ to.
Data
The data to send in the request.
TData
The type of the data to create the dataset from.
A DicomDataset will be created from the Data parameter. This dataset will then be sent in the N-CREATE-REQ. The Data class should be decorated with the correct attributes for creating the dataset.
Create a Modality Performed Procedure Step and sets it to complete.
Imports Leadtools.Dicom.Common.DataTypes.Modality
Imports Leadtools.Dicom
Imports Leadtools.Dicom.Scu.Queries
Imports Leadtools.Dicom.Scu
Imports Leadtools.Dicom.Scu.Common
Imports Leadtools.Dicom.Common.Extensions
Private WorkLists As New List(Of ModalityWorklistResult)()
<TestMethod()> _
Public Sub PerformMPPS()
DicomEngine.Startup()
DicomNet.Startup()
Dim query As New ModalityWorklistQuery()
Dim scp As New DicomScp()
Dim findMwl As New QueryRetrieveScu()
scp.AETitle = "MWL_SERVER"
scp.Port = 104
scp.Timeout = 60
scp.PeerAddress = IPAddress.Parse("192.168.0.209")
findMwl.AETitle = "LEAD_CLIENT"
findMwl.Find(Of ModalityWorklistQuery, ModalityWorklistResult)(scp, query, AddressOf FoundWorklist)
'
' Create a Modality Perform Procedure Step
If WorkLists.Count > 0 Then
Dim mpps As ModalityPerformedProcedureStep = ModalityPerformedProcedureStep.From(WorkLists(0))
Dim pps As New PerformedProcedureStepScu()
pps.AETitle = "LEAD_CLIENT"
AddHandler pps.BeforeNCreate, AddressOf pps_BeforeNCreate
AddHandler pps.AfterNCreate, AddressOf pps_AfterNCreate
AddHandler pps.BeforeNSet, AddressOf pps_BeforeNSet
AddHandler pps.AfterNSet, AddressOf pps_AfterNSet
'
' Initialize required procedure step variables
'
mpps.PerformedStationAeTitle = Environment.MachineName
mpps.PerformedProcedureStepStartDate = DateTime.Now
mpps.PerformedProcedureStepStartTime = DateTime.Now
mpps.PerformedSeriesSequence(0).ProtocolName = ModalityPerformedProcedureStep.RandomId(16)
mpps.PerformedSeriesSequence(0).SeriesInstanceUID = "1.2.3.4.5.890.1232"
mpps.SOPInstance.SOPInstanceUid = "1.2.3.4.5.890.1240.1"
Try
pps.Create(Of ModalityPerformedProcedureStep)(scp, mpps)
'
' Set the procedure step to done
'
mpps.PerformedProcedureStepEndDate = DateTime.Now
mpps.PerformedProcedureStepEndTime = DateTime.Now
mpps.PerformedProcedureStepStatus = "COMPLETED"
pps.[Set](of modalityperformedprocedurestep)(scp, mpps)
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End If
DicomEngine.Shutdown()
DicomNet.Startup()
End Sub
Private Sub FoundWorklist(ByVal result As ModalityWorklistResult, ByVal ds As DicomDataSet)
WorkLists.Add(result)
End Sub
Private Sub pps_BeforeNCreate(ByVal sender As Object, ByVal e As CommonEventArgs)
Console.WriteLine("Before N-CREATE-REQ")
Console.WriteLine(vbTab & "Affected Class: " & e.AffectedClass)
Console.WriteLine(vbTab & "Instance: " & e.Instance)
Console.WriteLine(vbTab & "MessageId: " & e.MessageID.ToString())
Console.WriteLine(vbTab & "PresentationId: " & e.PresentationID.ToString())
End Sub
Private Sub pps_AfterNCreate(ByVal sender As Object, ByVal e As StatusCommonEventArgs)
Console.WriteLine("After N-CREATE-REQ")
Console.WriteLine(vbTab & "Affected Class: " & e.AffectedClass)
Console.WriteLine(vbTab & "Instance: " & e.Instance)
Console.WriteLine(vbTab & "MessageId: " & e.MessageID.ToString())
Console.WriteLine(vbTab & "PresentationId: " & e.PresentationID.ToString())
Console.WriteLine(vbTab & "Status: " & e.Status.ToString())
End Sub
Private Sub pps_BeforeNSet(ByVal sender As Object, ByVal e As CommonEventArgs)
Console.WriteLine("Before N-SET-REQ")
Console.WriteLine(vbTab & "Affected Class: " & e.AffectedClass)
Console.WriteLine(vbTab & "Instance: " & e.Instance)
Console.WriteLine(vbTab & "MessageId: " & e.MessageID.ToString())
Console.WriteLine(vbTab & "PresentationId: " & e.PresentationID.ToString())
End Sub
Private Sub pps_AfterNSet(ByVal sender As Object, ByVal e As StatusCommonEventArgs)
Console.WriteLine("After N-CREATE-REQ")
Console.WriteLine(vbTab & "Affected Class: " & e.AffectedClass)
Console.WriteLine(vbTab & "Instance: " & e.Instance)
Console.WriteLine(vbTab & "MessageId: " & e.MessageID.ToString())
Console.WriteLine(vbTab & "PresentationId: " & e.PresentationID.ToString())
Console.WriteLine(vbTab & "Status: " & e.Status.ToString())
End Sub
using Leadtools.Dicom.Common.DataTypes.Modality;
using Leadtools.Dicom;
using Leadtools.Dicom.Scu.Queries;
using Leadtools.Dicom.Scu;
using Leadtools.Dicom.Common.Extensions;
using Leadtools.Dicom.Scu.Common;
List<ModalityWorklistResult> WorkLists = new List<ModalityWorklistResult>();
public void PerformMPPS()
{
DicomEngine.Startup();
DicomNet.Startup();
ModalityWorklistQuery query = new ModalityWorklistQuery();
DicomScp scp = new DicomScp();
QueryRetrieveScu findMwl = new QueryRetrieveScu();
scp.AETitle = "MWL_SERVER";
scp.Port = 104;
scp.Timeout = 60;
scp.PeerAddress = IPAddress.Parse("192.168.0.209");
findMwl.AETitle = "LEAD_CLIENT";
findMwl.Find<ModalityWorklistQuery, ModalityWorklistResult>(scp, query, FoundWorklist);
//
// Create a Modality Perform Procedure Step
if (WorkLists.Count > 0)
{
ModalityPerformedProcedureStep mpps = ModalityPerformedProcedureStep.From(WorkLists[0]);
PerformedProcedureStepScu pps = new PerformedProcedureStepScu();
pps.AETitle = "LEAD_CLIENT";
pps.BeforeNCreate += new EventHandler<CommonEventArgs>(pps_BeforeNCreate);
pps.AfterNCreate += new EventHandler<StatusCommonEventArgs>(pps_AfterNCreate);
pps.BeforeNSet += new EventHandler<CommonEventArgs>(pps_BeforeNSet);
pps.AfterNSet += new EventHandler<StatusCommonEventArgs>(pps_AfterNSet);
//
// Initialize required procedure step variables
//
mpps.PerformedStationAeTitle = Environment.MachineName;
mpps.PerformedProcedureStepStartDate = DateTime.Now;
mpps.PerformedProcedureStepStartTime = DateTime.Now;
mpps.PerformedSeriesSequence[0].ProtocolName = ModalityPerformedProcedureStep.RandomId(16);
mpps.PerformedSeriesSequence[0].SeriesInstanceUID = "1.2.3.4.5.890.1232";
mpps.SOPInstance.SOPInstanceUid = "1.2.3.4.5.890.1240.1";
try
{
pps.Create<ModalityPerformedProcedureStep>(scp, mpps);
//
// Set the procedure step to done
//
mpps.PerformedProcedureStepEndDate = DateTime.Now;
mpps.PerformedProcedureStepEndTime = DateTime.Now;
mpps.PerformedProcedureStepStatus = "COMPLETED";
pps.Set<ModalityPerformedProcedureStep>(scp, mpps);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
DicomEngine.Shutdown();
DicomNet.Startup();
}
private void FoundWorklist(ModalityWorklistResult result, DicomDataSet ds)
{
WorkLists.Add(result);
}
void pps_BeforeNCreate(object sender, CommonEventArgs e)
{
Console.WriteLine("Before N-CREATE-REQ");
Console.WriteLine("\tAffected Class: " + e.AffectedClass);
Console.WriteLine("\tInstance: " + e.Instance);
Console.WriteLine("\tMessageId: " + e.MessageID.ToString());
Console.WriteLine("\tPresentationId: " + e.PresentationID.ToString());
}
void pps_AfterNCreate(object sender, StatusCommonEventArgs e)
{
Console.WriteLine("After N-CREATE-REQ");
Console.WriteLine("\tAffected Class: " + e.AffectedClass);
Console.WriteLine("\tInstance: " + e.Instance);
Console.WriteLine("\tMessageId: " + e.MessageID.ToString());
Console.WriteLine("\tPresentationId: " + e.PresentationID.ToString());
Console.WriteLine("\tStatus: " + e.Status.ToString());
}
void pps_BeforeNSet(object sender, CommonEventArgs e)
{
Console.WriteLine("Before N-SET-REQ");
Console.WriteLine("\tAffected Class: " + e.AffectedClass);
Console.WriteLine("\tInstance: " + e.Instance);
Console.WriteLine("\tMessageId: " + e.MessageID.ToString());
Console.WriteLine("\tPresentationId: " + e.PresentationID.ToString());
}
void pps_AfterNSet(object sender, StatusCommonEventArgs e)
{
Console.WriteLine("After N-CREATE-REQ");
Console.WriteLine("\tAffected Class: " + e.AffectedClass);
Console.WriteLine("\tInstance: " + e.Instance);
Console.WriteLine("\tMessageId: " + e.MessageID.ToString());
Console.WriteLine("\tPresentationId: " + e.PresentationID.ToString());
Console.WriteLine("\tStatus: " + e.Status.ToString());
}
Products |
Support |
Feedback: Create<TData>(DicomScp,TData) Method - Leadtools.Dicom.Scu |
Introduction |
Help Version 19.0.2017.3.22
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.