using (var cn = new DicomAssociation())
{
DicomDataSet ds = new DicomDataSet();
ds.Add(Keyword.PerformedProcedureStepStatus, "COMPLETED");
ds.Add(Keyword.PerformedProcedureStepEndDate, "20250725");
ds.Add(Keyword.PerformedProcedureStepEndTime, "154500");
var performedSeries = new DicomDataSet();
performedSeries.Add(Keyword.SeriesInstanceUID, "1.2.840.1234.5678.91011.1");
performedSeries.Add(Keyword.RetrieveAETitle, "STORESCP");
performedSeries.Add(Keyword.ReferencedImageSequence, new DicomDataSetCollection());
var seriesSeq = new DicomDataSetCollection();
seriesSeq.Add(performedSeries);
ds.Add(Keyword.PerformedSeriesSequence, seriesSeq);
ds.Add(Keyword.PerformedProtocolCodeSequence, new DicomDataSetCollection());
ds.Add(Keyword.ProcedureCodeSequence, new DicomDataSetCollection());
ds.Add(Keyword.CommentsOnThePerformedProcedureStep, "Exam completed successfully.");
cn.RequestedContexts.Add(SOPClasses.ModalityPerformedProcedureStep);
cn.Open("localhost", 104, "callingAET", "calledAET");
string sopClassUID = SOPClasses.ModalityPerformedProcedureStep;
string instanceUID = "1.2.840.113619.2.55.3.604688745.703";
cn.NSet(sopClassUID, instanceUID, ds);
// List containing result status codes returned
var moveStatus = cn.Status;
// Result of last status code
var status = cn.LastStatus;
cn.Close();
}