Ejemplo n.º 1
0
        public WCFRequestedProcedure getProcedure()
        {
            if (_procedure == null)
            {
                _procedure = new WCFRequestedProcedure();

                _procedure.RequestedProcedureID = _adapter.IPC?.Requested_Procedure_ID.Read();
                if (string.IsNullOrEmpty(_procedure.RequestedProcedureID))
                {
                    _procedure.RequestedProcedureID = _adapter.OBR?.Placer_Field_2.Read();
                }
                _procedure.RequestedProcedureComments = _adapter.Zxx?.Field_7.Read();
                _procedure.StudyInstanceUID           = _adapter.IPC?.Study_Instance_UID.Read();
                if (string.IsNullOrEmpty(_procedure.StudyInstanceUID))
                {
                    _procedure.StudyInstanceUID = _adapter.Zxx?.Field_1.Read(0);
                }
                _procedure.RequestedProcedureDescription = _adapter.OBR?.Diagnostic_Serv_Sect_ID.Read();
                _procedure.RequestedProcedurePriority    = _adapter.ORC?.Quantity_Timing.Read();
                _procedure.PatientTransportArrangements  = _adapter.OBR?.Transport_Arrangement_Responsibility.Read();
                //_procedure.Visit = getVisit();

                DefaultValuesProvider.Visit(_procedure);
            }

            return(_procedure);
        }
Ejemplo n.º 2
0
        public WCFPPSInformation[] QueryMPPS(MPPSQuery query)
        {
            List <WCFPPSInformation> mpps = new List <WCFPPSInformation>();
            ImagingServiceRequest    sr   = new ImagingServiceRequest()
            {
                AccessionNumber = query.AccessionNumber
            };
            WCFRequestedProcedure rp = new WCFRequestedProcedure()
            {
                RequestedProcedureID = query.RequestedProcedureId
            };
            WCFScheduledProcedureStep sp = new WCFScheduledProcedureStep()
            {
                ScheduledProcedureStepID = query.ScheduledProcedureId
            };

            using (MPPSDataset ds = DB.DataAccess.FindMPPS(query.PPSInfo, query.Patient, sr, rp, sp))
            {
                if (ds.PPSInformation.Rows.Count > 0)
                {
                    ds.ToPPSInformation(mpps);
                }
            }

            return(mpps.ToArray());
        }
Ejemplo n.º 3
0
        public void AddScheduledProcedureStep(string accessionNumber, string requestedProcedureID, WCFScheduledProcedureStep procedureStep, MWLDataset ds)
        {
            ImagingServiceRequest imgRequest = new ImagingServiceRequest()
            {
                AccessionNumber = accessionNumber
            };
            WCFRequestedProcedure reqProcedure = new WCFRequestedProcedure()
            {
                RequestedProcedureID = requestedProcedureID
            };

            Guard.ArgumentNotNullOrEmpty(requestedProcedureID, "requestedProcedureID");
            Guard.ArgumentNotNullOrEmpty(accessionNumber, "accessionNumber");
            Guard.ArgumentNotNullOrEmpty(requestedProcedureID, "requestedProcedureID");
            Guard.ArgumentNotNull(procedureStep.ScheduledProcedureStepStartDate_Time, "ScheduledProcedureStepStartDate_Time");
            Guard.ArgumentNotNullOrEmpty(procedureStep.Modality, "Modality");
            Guard.ArgumentNotNullOrEmpty(procedureStep.ScheduledProcedureStepDescription, "ScheduledProcedureStepDescription");

            if (procedureStep.ScheduledProtocolCodeSequence != null)
            {
                foreach (ScheduledProtocolCodeSequence cs in procedureStep.ScheduledProtocolCodeSequence)
                {
                    Guard.ArgumentNotNullOrEmpty(cs.CodeValue, "ScheduledProtocolCodeSequence.CodeValue");
                    Guard.ArgumentNotNullOrEmpty(cs.CodingSchemeDesignator, "ScheduledProtocolCodeSequence.CodingSchemeDesignator");
                }
            }

            ds.AddScheduledProcedureStep(imgRequest, reqProcedure, procedureStep);
        }
Ejemplo n.º 4
0
        public void UpdateRequestedProcedure(string accessionNumber, string requestedProcedureID, WCFRequestedProcedure procedure)
        {
            ImagingServiceRequest imgRequest = new ImagingServiceRequest()
            {
                AccessionNumber = accessionNumber
            };
            WCFRequestedProcedure reqProcedure = new WCFRequestedProcedure()
            {
                RequestedProcedureID = requestedProcedureID
            };

            Guard.ArgumentNotNullOrEmpty(accessionNumber, "accessionNumber");
            Guard.ArgumentNotNullOrEmpty(requestedProcedureID, "RequestedProcedureID");
            Guard.ArgumentNotNullOrEmpty(procedure.RequestedProcedureID, "RequestedProcedureID");
            //Guard.ArgumentNotNullOrEmpty(procedure.StudyInstanceUID, "StudyInstanceUID");
            //Guard.ArgumentNotNullOrEmpty(procedure.RequestedProcedureDescription, "RequestedProcedureDescription");
            using (MWLDataset ds = DB.DataAccess.Find(imgRequest, reqProcedure))
            {
                if (ds != null && ds.RequestedProcedure.Rows.Count > 0)
                {
                    MWLDataset.RequestedProcedureRow row = ds.RequestedProcedure.Rows[0] as MWLDataset.RequestedProcedureRow;

                    row.Update(procedure);
                    DB.DataAccess.UpdateMWL(ds);
                }
                else
                {
                    throw new Exception("Requested procedure not found");
                }
            }
        }
Ejemplo n.º 5
0
        public void DeleteRequestedProcedure(string accessionNumber, string requestedProcedureID)
        {
            ImagingServiceRequest imgRequest = new ImagingServiceRequest()
            {
                AccessionNumber = accessionNumber
            };
            WCFRequestedProcedure reqProcedure = new WCFRequestedProcedure()
            {
                RequestedProcedureID = requestedProcedureID
            };

            Guard.ArgumentNotNullOrEmpty(accessionNumber, "accessionNumber");
            Guard.ArgumentNotNullOrEmpty(requestedProcedureID, "RequestedProcedureID");
            using (MWLDataset ds = DB.DataAccess.Find(imgRequest, reqProcedure))
            {
                if (ds != null && ds.RequestedProcedure.Rows.Count > 0)
                {
                    ds.RequestedProcedure.Rows[0].Delete();
                    DB.DataAccess.UpdateMWL(ds);
                }
                else
                {
                    throw new Exception("Requested procedure not found");
                }
            }
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        public WCFRequestedProcedure FindRequestedProcedure(string accessionNumber, string requestedProcedureID)
        {
            ImagingServiceRequest imgRequest = new ImagingServiceRequest()
            {
                AccessionNumber = accessionNumber
            };
            WCFRequestedProcedure reqProcedure = new WCFRequestedProcedure()
            {
                RequestedProcedureID = requestedProcedureID
            };

            using (MWLDataset ds = DB.DataAccess.Find(imgRequest, reqProcedure))
            {
                if (ds != null && ds.RequestedProcedure.Rows.Count > 0)
                {
                    return(ds.ToRequestedProcedure());
                }
            }
            return(null);
        }
Ejemplo n.º 8
0
 public DeleteScheduledProcedureStep(WCFRequestedProcedure procedure, WCFScheduledProcedureStep procedureStep)
 {
     _procedure     = procedure;
     _procedureStep = procedureStep;
 }
Ejemplo n.º 9
0
 public DeleteRequestedProcedure(ImagingServiceRequest imageServiceRequest, WCFRequestedProcedure procedure)
 {
     _imageServiceRequest = imageServiceRequest;
     _procedure           = procedure;
 }
Ejemplo n.º 10
0
 public UpdateScheduledProcedureStep(ImagingServiceRequest imageServiceRequest, WCFRequestedProcedure procedure, WCFScheduledProcedureStep procedureStep)
 {
     _imageServiceRequest = imageServiceRequest;
     _procedure           = procedure;
     _procedureStep       = procedureStep;
 }