public void AddRequestedProcedure(string accessionNumber, WCFRequestedProcedure procedure, MWLDataset ds) { ImagingServiceRequest imgRequest = new ImagingServiceRequest() { AccessionNumber = accessionNumber }; Guard.ArgumentNotNullOrEmpty(accessionNumber, "accessionNumber"); Guard.ArgumentNotNullOrEmpty(procedure.RequestedProcedureID, "RequestedProcedureID"); Guard.ArgumentNotNullOrEmpty(procedure.StudyInstanceUID, "StudyInstanceUID"); Guard.ArgumentNotNullOrEmpty(procedure.RequestedProcedureDescription, "RequestedProcedureDescription"); if (procedure.RequestedProcedureCodeSequence != null) { Guard.ArgumentNotNullOrEmpty(procedure.RequestedProcedureCodeSequence.CodeValue, "RequestedProcedureCodeSequence.CodeValue"); Guard.ArgumentNotNullOrEmpty(procedure.RequestedProcedureCodeSequence.CodingSchemeDesignator, "RequestedProcedureCodeSequence.CodingSchemeDesignator"); } if (procedure.ReferencedStudySequence != null) { foreach (ReferencedStudySequence rs in procedure.ReferencedStudySequence) { Guard.ArgumentNotNullOrEmpty(rs.ReferencedSOPClassUID, "ReferencedStudySequence.ReferencedSOPClassUID"); Guard.ArgumentNotNullOrEmpty(rs.ReferencedSOPInstanceUID, "ReferencedStudySequence.ReferencedSOPInstanceUID"); } } ds.AddRequestedProcedure(imgRequest, procedure); }
public void AddRequestedProcedure(string userName, string accessionNumber, WorklistRequestedProcedure procedure) { ImagingServiceRequest imgRequest = new ImagingServiceRequest() { AccessionNumber = accessionNumber }; Check.ArgumentNotNullOrEmpty(accessionNumber, "accessionNumber"); Check.ArgumentNotNullOrEmpty(procedure.RequestedProcedureID, "RequestedProceureID"); Check.ArgumentNotNullOrEmpty(procedure.RequestedProcedureDescription, "RequestedProcedureDescription"); if (string.IsNullOrEmpty(procedure.StudyInstanceUID)) { procedure.StudyInstanceUID = DicomUtilities.GenerateDicomUniqueIdentifier(); } if (procedure.RequestedProcedureCodeSequence != null) { Check.ArgumentNotNullOrEmpty(procedure.RequestedProcedureCodeSequence.CodeValue, "RequestedProcedureCodeSequence.CodeValue"); Check.ArgumentNotNullOrEmpty(procedure.RequestedProcedureCodeSequence.CodingSchemeDesignator, "RequestedProcedureCodeSequence.CodingSchemeDesignator"); } if (procedure.ReferencedStudySequence != null) { foreach (ReferencedStudySequence rs in procedure.ReferencedStudySequence) { Check.ArgumentNotNullOrEmpty(rs.ReferencedSOPClassUID, "ReferencedStudySequence.ReferencedSOPClassUID"); Check.ArgumentNotNullOrEmpty(rs.ReferencedSOPInstanceUID, "ReferencedStudySequence.ReferencedSOPInstanceUID"); } } using (MWLDataset ds = _DataAccessAgent.Find(imgRequest)) { ImagingServiceRequest isr = new ImagingServiceRequest(); imgRequest.CopyTo(isr); ds.AddRequestedProcedure(isr, procedure); _DataAccessAgent.UpdateMWL(ds); } }