Exemplo n.º 1
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");
                }
            }
        }
Exemplo n.º 2
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");
                }
            }
        }
Exemplo 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);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
        public void DeleteImagingServiceRequest(string accessionNumber, string patientID, string issuerOfPatientID)
        {
            ImagingServiceRequest request = new ImagingServiceRequest()
            {
                AccessionNumber = accessionNumber
            };
            Patient patient = new Patient()
            {
                PatientID = patientID, IssuerOfPatientID = issuerOfPatientID
            };

            Guard.ArgumentNotNullOrEmpty(request.AccessionNumber, "AccessionNumber");
            Guard.ArgumentNotNullOrEmpty(patientID, "patientID");
            Guard.ArgumentNotNullOrEmpty(issuerOfPatientID, "issuerOfPatientID");
            using (MWLDataset ds = DB.DataAccess.Find(patient, request))
            {
                if (ds != null && ds.ImagingServiceRequest.Rows.Count > 0)
                {
                    ds.ImagingServiceRequest.Rows[0].Delete();
                    DB.DataAccess.UpdateMWL(ds);
                }
                else
                {
                    throw new Exception("Imaging service request not found");
                }
            }
        }
Exemplo n.º 6
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());
        }
Exemplo n.º 7
0
        public ImagingServiceRequest getImageServiceRequest()
        {
            if (null == _imageServiceRequest)
            {
                _imageServiceRequest = new ImagingServiceRequest();

                _imageServiceRequest.AccessionNumber = getImagingServiceRequestAccessionNumber();
                _imageServiceRequest.ImagingServiceRequestComments           = _adapter.Zxx?.Field_6.Read();
                _imageServiceRequest.RequestingPhysicianFamilyName           = _adapter.PV1?.Admitting_Doctor?[0]?.FamilyName.Surname.Read();
                _imageServiceRequest.RequestingPhysicianGivenName            = _adapter.PV1?.Admitting_Doctor?[0]?.GivenName.Read();
                _imageServiceRequest.RequestingPhysicianMiddleName           = _adapter.PV1?.Admitting_Doctor?[0]?.SecondAndFurtherGivenNamesOrInitialsThereof.Read();
                _imageServiceRequest.RequestingPhysicianPrefix               = _adapter.PV1?.Admitting_Doctor?[0]?.PrefixEgDR.Read();
                _imageServiceRequest.RequestingPhysicianSuffix               = _adapter.PV1?.Admitting_Doctor?[0]?.SuffixEgJRorIII.Read();
                _imageServiceRequest.ReferringPhysicianFamilyName            = _adapter.PV1?.Referring_Doctor?[0]?.FamilyName.Read();
                _imageServiceRequest.ReferringPhysicianGivenName             = _adapter.PV1?.Referring_Doctor?[0]?.GivenName.Read();
                _imageServiceRequest.ReferringPhysicianMiddleName            = _adapter.PV1?.Referring_Doctor?[0]?.SecondAndFurtherGivenNamesOrInitialsThereof.Read();
                _imageServiceRequest.ReferringPhysicianPrefix                = _adapter.PV1?.Referring_Doctor?[0]?.PrefixEgDR.Read();
                _imageServiceRequest.ReferringPhysicianSuffix                = _adapter.PV1?.Referring_Doctor?[0]?.SuffixEgJRorIII.Read();
                _imageServiceRequest.RequestingService                       = _adapter.OBR?.Universal_Service_Identifier.Read();
                _imageServiceRequest.PlacerOrderNumber_ImagingServiceRequest = _adapter.ORC?.Placer_Order_Number.Read();
                _imageServiceRequest.FillerOrderNumber_ImagingServiceRequest = _adapter.ORC?.Filler_Order_Number.Read();

                DefaultValuesProvider.Visit(_imageServiceRequest);
            }

            return(_imageServiceRequest);
        }
Exemplo n.º 8
0
        public static void AddRequestedProcedure(this MWLDataset ds, ImagingServiceRequest request, WorklistRequestedProcedure procedure)
        {
            MWLDataset.RequestedProcedureRow rpr = ds.RequestedProcedure.NewRequestedProcedureRow();

            ds.EnforceConstraints = false;
            procedure.CopyTo <MWLDataset.RequestedProcedureRow>(rpr);
            rpr.AccessionNumber = request.AccessionNumber;
            ds.RequestedProcedure.AddRequestedProcedureRow(rpr);
            if (procedure.RequestedProcedureCodeSequence != null)
            {
                MWLDataset.RequestedProcedureCodeSequenceRow row = ds.RequestedProcedureCodeSequence.NewRequestedProcedureCodeSequenceRow();

                procedure.RequestedProcedureCodeSequence.CopyTo <MWLDataset.RequestedProcedureCodeSequenceRow>(row);
                row.AccessionNumber      = request.AccessionNumber;
                row.RequestedProcedureID = procedure.RequestedProcedureID;
                ds.RequestedProcedureCodeSequence.AddRequestedProcedureCodeSequenceRow(row);
            }

            if (procedure.ReferencedStudySequence != null)
            {
                foreach (ReferencedStudySequence rs in procedure.ReferencedStudySequence)
                {
                    MWLDataset.ReferencedStudySequenceRow row = ds.ReferencedStudySequence.NewReferencedStudySequenceRow();

                    row.SetOrderNumberNull();
                    row.ReferencedSOPClassUID    = rs.ReferencedSOPClassUID;
                    row.ReferencedSOPInstanceUID = rs.ReferencedSOPInstanceUID;
                    row.RequestedProcedureID     = procedure.RequestedProcedureID;
                    row.AccessionNumber          = request.AccessionNumber;
                    ds.ReferencedStudySequence.AddReferencedStudySequenceRow(row);
                }
            }
        }
Exemplo n.º 9
0
        public static void AddScheduledProcedureStep(this MWLDataset ds, ImagingServiceRequest request, WorklistRequestedProcedure procedure,
                                                     WorklistScheduledProcedureStep procedureStep)
        {
            MWLDataset.ScheduledProcedureStepRow sps = ds.ScheduledProcedureStep.NewScheduledProcedureStepRow();

            procedureStep.CopyTo <MWLDataset.ScheduledProcedureStepRow>(sps);
            sps.AccessionNumber      = request.AccessionNumber;
            sps.RequestedProcedureID = procedure.RequestedProcedureID;
            if (procedureStep.ScheduledProcedureStepStartDate_Time != null && procedureStep.ScheduledProcedureStepStartDate_Time.StartDate.HasValue)
            {
                sps.ScheduledProcedureStepStartDate_Time = procedureStep.ScheduledProcedureStepStartDate_Time.StartDate.Value;
            }
            ds.ScheduledProcedureStep.AddScheduledProcedureStepRow(sps);

            if (procedureStep.ScheduledStationAETitle != null && procedureStep.ScheduledStationAETitle.Count > 0)
            {
                foreach (string ae in procedureStep.ScheduledStationAETitle)
                {
                    MWLDataset.ScheduledStationAETitlesRow row = ds.ScheduledStationAETitles.NewScheduledStationAETitlesRow();

                    row.ScheduledStationAETitle  = ae;
                    row.ScheduledProcedureStepID = procedureStep.ScheduledProcedureStepID;
                    ds.ScheduledStationAETitles.Rows.Add(row);
                }
            }

            if (procedureStep.ScheduledStationName != null && procedureStep.ScheduledStationName.Count > 0)
            {
                foreach (string name in procedureStep.ScheduledStationName)
                {
                    MWLDataset.ScheduledStationNamesRow row = ds.ScheduledStationNames.NewScheduledStationNamesRow();

                    row.ScheduledStationName     = name;
                    row.ScheduledProcedureStepID = procedureStep.ScheduledProcedureStepID;
                    ds.ScheduledStationNames.Rows.Add(row);
                }
            }

            if (procedureStep.ScheduledProtocolCodeSequence != null)
            {
                foreach (ScheduledProtocolCodeSequence spcs in procedureStep.ScheduledProtocolCodeSequence)
                {
                    MWLDataset.ScheduledProtocolCodeSequenceRow row = ds.ScheduledProtocolCodeSequence.NewScheduledProtocolCodeSequenceRow();

                    row.CodeMeaning            = spcs.CodeMeaning;
                    row.CodeValue              = spcs.CodeValue;
                    row.CodingSchemeDesignator = spcs.CodingSchemeDesignator;
                    row.CodingSchemeVersion    = spcs.CodingSchemeVersion;
                    row.SetOrderNumberNull();
                    row.ScheduledProcedureStepID = procedureStep.ScheduledProcedureStepID;
                    ds.ScheduledProtocolCodeSequence.AddScheduledProtocolCodeSequenceRow(row);
                }
            }
        }
Exemplo n.º 10
0
        public override void OnSetActive(object sender, WizardCancelEventArgs e)
        {
            base.OnSetActive(sender, e);
            if (e.PreviousPage != null && e.PreviousPage.GetType() == typeof(ImagingServiceRequestPage))
            {
                ImagingServiceRequestPage p = e.PreviousPage as ImagingServiceRequestPage;
                ImagingServiceRequest     o = _ImagingServiceRequest;

                _ImagingServiceRequest = p.ImagingServiceRequest;
                comboBoxRequestedId.Items.Clear(); // ***
                if (
                    (o == null) ||
                    (o.AccessionNumber != _ImagingServiceRequest.AccessionNumber) ||
                    (string.IsNullOrEmpty(comboBoxRequestedId.Text))
                    )
                {
                    ProgressDialog      dlgProgresss = new ProgressDialog();
                    BrokerServiceClient client       = GetWizard().Tag as BrokerServiceClient;
                    List <string>       ids          = null;

                    ids = new List <string>();
                    dlgProgresss.Title       = "Find";
                    dlgProgresss.Description = "Getting list of requested procedure ids";
                    dlgProgresss.Action      = () =>
                    {
                        ids = client.GetRequestedProcedureIDs(_ImagingServiceRequest.AccessionNumber);
                    };

                    UpdateUI(true);
                    comboBoxRequestedId.Items.Clear();
                    if (dlgProgresss.ShowDialog(this) == DialogResult.OK)
                    {
                        foreach (string id in ids)
                        {
                            comboBoxRequestedId.Items.Add(id);
                        }
                    }

                    if (dlgProgresss.Exception != null)
                    {
                        Messager.ShowError(this, dlgProgresss.Exception);
                    }

                    if (dlgProgresss.Exception != null)
                    {
                        Messager.ShowError(this, dlgProgresss.Exception);
                    }
                }
            }
        }
Exemplo n.º 11
0
        public void UpdateImagingServiceRequest(string accessionNumber, string patientID, string issuerOfPatientID, ImagingServiceRequest request)
        {
            ImagingServiceRequest srcRequest = new ImagingServiceRequest()
            {
                AccessionNumber = accessionNumber
            };
            Patient patient = new Patient()
            {
                PatientID = patientID, IssuerOfPatientID = issuerOfPatientID
            };

            Guard.ArgumentNotNullOrEmpty(request.AccessionNumber, "AccessionNumber");
            Guard.ArgumentNotNullOrEmpty(patientID, "patientID");
            Guard.ArgumentNotNullOrEmpty(issuerOfPatientID, "issuerOfPatientID");

            //
            // Check to see if the accesion number exists
            //
            if (accessionNumber.ToLower() != request.AccessionNumber.ToLower())
            {
                using (MWLDataset ds = DB.DataAccess.Find(new ImagingServiceRequest()
                {
                    AccessionNumber = request.AccessionNumber
                }))
                {
                    if (ds != null && ds.ImagingServiceRequest.Rows.Count > 0)
                    {
                        throw new Exception("Primary key violation. Accession number already exist.");
                    }
                }
            }

            using (MWLDataset ds = DB.DataAccess.Find(patient, srcRequest))
            {
                if (ds != null && ds.ImagingServiceRequest.Rows.Count > 0)
                {
                    MWLDataset.ImagingServiceRequestRow row = ds.ImagingServiceRequest.Rows[0] as MWLDataset.ImagingServiceRequestRow;

                    row.Update(request);
                    DB.DataAccess.UpdateMWL(ds);
                }
                else
                {
                    throw new Exception("Imaging service request not found");
                }
            }
        }
Exemplo n.º 12
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);
        }
Exemplo n.º 13
0
        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);
            }
        }
Exemplo n.º 14
0
        private void GetImagingServiceRequestInfo()
        {
            ProgressDialog     dlgProgresss    = new ProgressDialog();
            CustomBrokerClient client          = GetWizard().Tag as CustomBrokerClient;
            string             accessionNumber = comboBoxAccessionNumber.Text;

            dlgProgresss.Title       = "Search";
            dlgProgresss.Description = "Searching for imaging service request";
            dlgProgresss.Action      = () =>
            {
                _ImagingServiceRequest = client.FindImagingServiceRequest(accessionNumber, _Patient.PatientID,
                                                                          _Patient.IssuerOfPatientID);
            };

            _Update = false;
            _OriginalAccessionNumber = string.Empty;
            if (dlgProgresss.ShowDialog(this) == DialogResult.OK)
            {
                if (_ImagingServiceRequest != null)
                {
                    _Update = true;
                    UpdateUI(false);
                    _OriginalAccessionNumber = _ImagingServiceRequest.AccessionNumber;
                    errorProvider.Clear();
                }
                else
                {
                    Messager.ShowError(this, "Imaging service request not found.");
                }
            }
            else
            {
                if (dlgProgresss.Exception != null)
                {
                    Messager.ShowError(this, dlgProgresss.Exception);
                }
            }
        }
Exemplo n.º 15
0
        public void AddScheduledProcedureStep(string userName, string accessionNumber, string requestedProcedureID, WorklistScheduledProcedureStep procedureStep)
        {
            ImagingServiceRequest imgRequest = new ImagingServiceRequest()
            {
                AccessionNumber = accessionNumber
            };
            WorklistRequestedProcedure reqProcedure = new WorklistRequestedProcedure()
            {
                RequestedProcedureID = requestedProcedureID
            };

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

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

            using (MWLDataset ds = _DataAccessAgent.Find(imgRequest, reqProcedure))
            {
                if (ds != null && ds.RequestedProcedure.Rows.Count > 0)
                {
                    ds.AddScheduledProcedureStep(imgRequest, reqProcedure, procedureStep);
                    _DataAccessAgent.UpdateMWL(ds);
                }
            }
        }
Exemplo n.º 16
0
        public ImagingServiceRequest FindImagingServiceRequest(string accessionNumber, string patientID, string issuerOfPatientID)
        {
            ImagingServiceRequest request = new ImagingServiceRequest()
            {
                AccessionNumber = accessionNumber
            };
            Patient patient = new Patient()
            {
                PatientID = patientID, IssuerOfPatientID = issuerOfPatientID
            };

            Guard.ArgumentNotNullOrEmpty(request.AccessionNumber, "AccessionNumber");
            Guard.ArgumentNotNullOrEmpty(patientID, "patientID");
            Guard.ArgumentNotNullOrEmpty(issuerOfPatientID, "issuerOfPatientID");
            using (MWLDataset ds = DB.DataAccess.Find(patient, request))
            {
                if (ds != null && ds.ImagingServiceRequest.Rows.Count > 0)
                {
                    return(ds.ToImagingServiceRequest());
                }
            }

            return(null);
        }
Exemplo n.º 17
0
        public static void AddImagingServiceRequest(this MWLDataset ds, Patient patient, ImagingServiceRequest request)
        {
            MWLDataset.ImagingServiceRequestRow ir = ds.ImagingServiceRequest.NewImagingServiceRequestRow();

            request.CopyTo <MWLDataset.ImagingServiceRequestRow>(ir);
            ir.PatientID         = patient.PatientID;
            ir.IssuerOfPatientID = patient.IssuerOfPatientID;
            ds.ImagingServiceRequest.AddImagingServiceRequestRow(ir);
        }
Exemplo n.º 18
0
        public void AddImagingServiceRequest(string userName, string patientID, string issuerOfPatientID, ImagingServiceRequest request)
        {
            Patient patient = new Patient()
            {
                PatientID = patientID, IssuerOfPatientID = issuerOfPatientID
            };

            Check.ArgumentNotNullOrEmpty(request.AccessionNumber, "AccessionNumber");
            Check.ArgumentNotNullOrEmpty(patientID, "patientID");
            Check.ArgumentNotNullOrEmpty(issuerOfPatientID, "issuerOfPatientID");

            using (MWLDataset ds = _DataAccessAgent.Find(new ImagingServiceRequest()
            {
                AccessionNumber = request.AccessionNumber
            }))
            {
                if (ds != null && ds.ImagingServiceRequest.Rows.Count > 0)
                {
                    throw new Exception("Primary key violation. Accession number already exists.");
                }
            }

            using (MWLDataset ds = _DataAccessAgent.Find(patient))
            {
                if (ds != null && ds.Patient.Rows.Count > 0)
                {
                    ds.AddImagingServiceRequest(patient, request);
                    _DataAccessAgent.UpdateMWL(ds);
                }
            }
        }
Exemplo n.º 19
0
 public DeleteRequestedProcedure(ImagingServiceRequest imageServiceRequest, WCFRequestedProcedure procedure)
 {
     _imageServiceRequest = imageServiceRequest;
     _procedure           = procedure;
 }
Exemplo n.º 20
0
 public DeleteImageServiceRequest(WCFPatient patient, ImagingServiceRequest imageServiceRequest)
 {
     _imageServiceRequest = imageServiceRequest;
     _patient             = patient;
 }
Exemplo n.º 21
0
 public UpdateScheduledProcedureStep(ImagingServiceRequest imageServiceRequest, WCFRequestedProcedure procedure, WCFScheduledProcedureStep procedureStep)
 {
     _imageServiceRequest = imageServiceRequest;
     _procedure           = procedure;
     _procedureStep       = procedureStep;
 }
Exemplo n.º 22
0
        public void AddImagingServiceRequest(string patientID, string issuerOfPatientID, ImagingServiceRequest request, MWLDataset ds)
        {
            Patient patient = new Patient()
            {
                PatientID = patientID, IssuerOfPatientID = issuerOfPatientID
            };

            Guard.ArgumentNotNullOrEmpty(request.AccessionNumber, "AccessionNumber");
            Guard.ArgumentNotNullOrEmpty(patientID, "patientID");
            Guard.ArgumentNotNullOrEmpty(issuerOfPatientID, "issuerOfPatientID");

            ds.AddImagingServiceRequest(patient, request);
        }