Пример #1
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());
        }
Пример #2
0
        public WCFScheduledProcedureStep FindScheduledProcedureStep(string scheduledProcedureStepID)
        {
            WCFScheduledProcedureStep sps = new WCFScheduledProcedureStep()
            {
                ScheduledProcedureStepID = scheduledProcedureStepID
            };

            Guard.ArgumentNotNullOrEmpty(scheduledProcedureStepID, "scheduledProcedureStepID");
            using (MWLDataset ds = DB.DataAccess.Find(sps))
            {
                if (ds != null && ds.ScheduledProcedureStep.Rows.Count > 0)
                {
                    return(ds.ToScheduledProcedureStep());
                }
            }

            return(null);
        }
Пример #3
0
        public void DeleteScheduledProcedureStep(string scheduledProcedureStepID)
        {
            WCFScheduledProcedureStep sps = new WCFScheduledProcedureStep()
            {
                ScheduledProcedureStepID = scheduledProcedureStepID
            };

            Guard.ArgumentNotNullOrEmpty(scheduledProcedureStepID, "scheduledProcedureStepID");
            using (MWLDataset ds = DB.DataAccess.Find(sps))
            {
                if (ds != null && ds.ScheduledProcedureStep.Rows.Count > 0)
                {
                    ds.ScheduledProcedureStep.Rows[0].Delete();
                    DB.DataAccess.UpdateMWL(ds);
                }
                else
                {
                    throw new Exception("Scheduled procedure step not found");
                }
            }
        }
Пример #4
0
        public WCFScheduledProcedureStep getProcedureStep()
        {
            if (_procedureStep == null)
            {
                _procedureStep = new WCFScheduledProcedureStep();

                _procedureStep.ScheduledProcedureStepID = _adapter.IPC?.Scheduled_Procedure_Step_ID.Read();
                if (string.IsNullOrEmpty(_procedureStep.ScheduledProcedureStepID))
                {
                    _procedureStep.ScheduledProcedureStepID = _adapter.OBR?.Filler_Field_1.Read();
                }
                _procedureStep.ScheduledProcedureStepStartDate_Time = LTConvert.HL7DateToDateRange(_adapter.Zxx?.Field_8.Read());
                _procedureStep.Modality = _adapter.IPC?.Modality.Read();
                if (string.IsNullOrEmpty(_procedureStep.Modality))
                {
                    _procedureStep.Modality = _adapter.OBR?.Diagnostic_Serv_Sect_ID.Read();
                }
                if (!DicomValidation.IsValidModality(_procedureStep.Modality))
                {
                    _procedureStep.Modality = null;
                }
                _procedureStep.ScheduledProcedureStepDescription = _adapter.Zxx?.Field_9.Read();
                _procedureStep.ScheduledStationAETitle           = _adapter.IPC?.Scheduled_Station_AE_Title.ReadAsList();
                if (_procedureStep.ScheduledStationAETitle == null)
                {
                    _procedureStep.ScheduledStationAETitle = _adapter.Zxx?.Field_10.ReadAsList();
                }
                _procedureStep.ScheduledProcedureStepLocation             = _adapter.Zxx?.Field_11.Read();
                _procedureStep.ScheduledPerformingPhysicianNameFamilyName = _adapter.OBR?.Technician?[0]?.Name.FamilyName.Read();
                _procedureStep.ScheduledPerformingPhysicianNameGivenName  = _adapter.OBR?.Technician?[0]?.Name.GivenName.Read();
                _procedureStep.ScheduledPerformingPhysicianNameMiddleName = _adapter.OBR?.Technician?[0]?.Name.SecondAndFurtherGivenNamesOrInitialsThereof.Read();
                _procedureStep.ScheduledPerformingPhysicianNamePrefix     = _adapter.OBR?.Technician?[0]?.Name.PrefixEgDR.Read();
                _procedureStep.ScheduledPerformingPhysicianNameSuffix     = _adapter.OBR?.Technician?[0]?.Name.SuffixEgJRorIII.Read();
                _procedureStep.Pre_Medication         = _adapter.Zxx?.Field_12.Read();
                _procedureStep.RequestedContrastAgent = _adapter.Zxx?.Field_13.Read();

                DefaultValuesProvider.Visit(_procedureStep);
            }
            return(_procedureStep);
        }
Пример #5
0
        public void UpdateScheduledProcedureStep(string scheduledProcedureStepID, WCFScheduledProcedureStep procedureStep)
        {
            WCFScheduledProcedureStep sps = new WCFScheduledProcedureStep()
            {
                ScheduledProcedureStepID = scheduledProcedureStepID
            };

            Guard.ArgumentNotNullOrEmpty(scheduledProcedureStepID, "scheduledProcedureStepID");
            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");
                }
            }

            using (MWLDataset ds = DB.DataAccess.Find(sps))
            {
                if (ds != null && ds.ScheduledProcedureStep.Rows.Count > 0)
                {
                    MWLDataset.ScheduledProcedureStepRow row = ds.ScheduledProcedureStep.Rows[0] as MWLDataset.ScheduledProcedureStepRow;

                    row.Update(procedureStep);
                    DB.DataAccess.UpdateMWL(ds);
                }
                else
                {
                    throw new Exception("Scheduled procedure step not found");
                }
            }
        }
Пример #6
0
 public DeleteScheduledProcedureStep(WCFRequestedProcedure procedure, WCFScheduledProcedureStep procedureStep)
 {
     _procedure     = procedure;
     _procedureStep = procedureStep;
 }
Пример #7
0
 public UpdateScheduledProcedureStep(ImagingServiceRequest imageServiceRequest, WCFRequestedProcedure procedure, WCFScheduledProcedureStep procedureStep)
 {
     _imageServiceRequest = imageServiceRequest;
     _procedure           = procedure;
     _procedureStep       = procedureStep;
 }
Пример #8
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);
        }