Пример #1
0
        private static Study AddAStudy(Patient p, NucMedPractice nmp)
        {
            Study s = new Study();

            s.Practice  = nmp;
            s.StudyType = GetFirstStudyType();
            s.Patient   = p;
            retriever.SaveItem(s);
            Appointment a = new Appointment();

            a.ScheduledArrivalTime = new DateTime(2017, 10, 18, 9, 0, 0);
            a.Study = s;
            retriever.SaveItem(a);

            ArrivalTask t = new ArrivalTask();

            t.ScheduledCompletionTime = new DateTime(2017, 10, 18, 9, 15, 0);
            t.Appointment             = a;
            retriever.SaveItem(t);

            DoseAdministrationTask dat = new DoseAdministrationTask();

            dat.ScheduledCompletionTime = new DateTime(2017, 10, 18, 9, 45, 0);
            dat.Appointment             = a;
            retriever.SaveItem(dat);

            ScanTask st = new ScanTask();

            st.ScheduledCommencementTime = new DateTime(2017, 10, 18, 12, 45, 0);
            st.Appointment = a;
            retriever.SaveItem(st);

            return(s);
        }
Пример #2
0
        public RadioactiveGasModule(DoseAdministrationTask dat) : base()
        {
            SaveDoseCommand    = new RelayCommand(SaveItem);
            CalibrationDate    = DateTime.Now;
            AdministrationDate = DateTime.Now;
            ExpiryDate         = DateTime.Now.AddMinutes(15);
            SetItem(dat);
            DoseAdministrationTask = dat;
            _potentialIngredients  = new List <IDataStoreItem>();
            //RetrievalCriteria rc = new RetrievalCriteria("Radiopharmaceutical", CriteraType.Equals, dat.PrescribedRadioPharmaceutical);
            RetrievalCriteria        rc1    = new RetrievalCriteria("ExpiryDate", CriteraType.GreaterThan, DateTime.Now);
            List <RetrievalCriteria> rcList = new List <RetrievalCriteria>();

            //rcList.Add(rc);
            rcList.Add(rc1);

            //get all elutions that match the isotope from  Radioactive Gas Module
            //RetrievalCriteria rc = new RetrievalCriteria("IsExpired", CriteraType.Equals, false);
            //List<RetrievalCriteria> rcList = new List<RetrievalCriteria>();
            rcList.Add(rc1);
            var result = Platform.Retriever.RetrieveItems(typeof(BaseBulkDose), rcList);

            foreach (IDataStoreItem i  in result)
            {
                if (i is Elution)
                {
                    if ((i as Elution).Isotope.ID == dat.PrescribedRadioPharmaceutical.Isotope.ID)
                    {
                        _potentialIngredients.Add(i);
                    }
                }
            }
        }
 protected override void _whiteboard_SelectionChanged(object sender, EventArgs e)
 {
     if (Whiteboard.SelectedAppointment != null)
     {
         Appointment a = Whiteboard.SelectedAppointment as Appointment;
         if (a.Completed)
         {
             Available = false;
             return;
         }
         if (a.Cancelled)
         {
             Available = false;
             return;
         }
         if (a.Tasks.Where(x => x.Deleted == false && x.IsCancelled == false && x.Completed == false && x is DoseAdministrationTask).Where(y => (y as DoseAdministrationTask).UnitDose == null).Any())
         {
             Available = true;
             _task     = a.Tasks.Where(x => x.Deleted == false && x.IsCancelled == false && x.Completed == false && x is DoseAdministrationTask).Where(y => (y as DoseAdministrationTask).UnitDose == null).First() as DoseAdministrationTask;
         }
         else
         {
             Available = false;
         }
     }
     else
     {
         Available = false;
     }
 }
        protected override void Execute()
        {
            base.Execute();
            Appointment            a   = Whiteboard.SelectedAppointment as Appointment;
            DoseAdministrationTask dat = a.Tasks.Where(x => x.Deleted == false && x.Completed == false && x is DoseAdministrationTask).Where(j => (j as DoseAdministrationTask).PrescribedRadioPharmaceutical.IsGaseous == true).First() as DoseAdministrationTask;
            RadioactiveGasModule   mod = new RadioactiveGasModule(dat);

            DesktopApplication.MakeModalDocument(mod);

            //Figure this out later
        }
 protected override void _whiteboard_SelectionChanged(object sender, EventArgs e)
 {
     if (Whiteboard.SelectedAppointment != null)
     {
         Appointment a = Whiteboard.SelectedAppointment as Appointment;
         if (a.Completed)
         {
             Available = false;
             return;
         }
         if (a.Cancelled)
         {
             Available = false;
             return;
         }
         if (a.Tasks.Where(x => x.Deleted == false && x.IsCancelled == false && x.Completed == false && x is DoseAdministrationTask).Where(y => (y as DoseAdministrationTask).UnitDose == null).Any())
         {
             //do we have a bulk dose to draw from?
             //Get the next dose administration task
             dat = a.Tasks.Where(x => x.Deleted == false && x.IsCancelled == false && x.Completed == false && x is DoseAdministrationTask).Where(y => (y as DoseAdministrationTask).UnitDose == null).OrderBy(y => y.SchedulingTime).First() as DoseAdministrationTask;
             //Get the list of bulk doses which are not expired and have the right radiopharmaceuical
             RetrievalCriteria        rc1    = new RetrievalCriteria("Expired", CriteraType.Equals, false);
             RetrievalCriteria        rc2    = new RetrievalCriteria("Radiopharmaceutical", CriteraType.Equals, dat.PrescribedRadioPharmaceutical);
             RetrievalCriteria        rc3    = new RetrievalCriteria("IsDisposed", CriteraType.Equals, false);
             List <RetrievalCriteria> rcList = new List <RetrievalCriteria>();
             rcList.Add(rc1);
             rcList.Add(rc2);
             rcList.Add(rc3);
             var bulkDoses = DesktopApplication.Librarian.DataRetriever.RetrieveItems(typeof(BaseBulkDose), rcList);
             if (bulkDoses.Any())
             {
                 bulkDose  = bulkDoses.First() as BaseBulkDose;
                 Available = true;
             }
             else
             {
                 Available = false;
             }
         }
         else
         {
             Available = false;
         }
     }
     else
     {
         Available = false;
     }
 }
Пример #6
0
        private void AddTask()
        {
            if (SelectedTaskType == null)
            {
                DesktopApplication.ShowDialog("Error", "Please select a type of task");
                return;
            }

            if (SelectedTaskType == "Arrival")
            {
                ArrivalTask a = new ArrivalTask();
                ((Appointment)Item).Tasks.Add(a);
                a.Appointment             = ((Appointment)Item);
                a.ScheduledCompletionTime = ((Appointment)Item).ScheduledArrivalTime.Date.Add(SelectedTaskTime.TimeOfDay);
                Tasks.Add(a);
                return;
            }

            if (SelectedTaskType == "Injection")
            {
                DoseAdministrationTask d = new DoseAdministrationTask();
                ((Appointment)Item).Tasks.Add(d);
                d.Appointment             = ((Appointment)Item);
                d.ScheduledCompletionTime = ((Appointment)Item).ScheduledArrivalTime.Date.Add(SelectedTaskTime.TimeOfDay);
                Tasks.Add(d);
                return;
            }
            if (SelectedTaskType == "Scan")
            {
                ScanTask d = new ScanTask();
                ((Appointment)Item).Tasks.Add(d);
                d.Appointment = ((Appointment)Item);
                d.ScheduledCommencementTime = ((Appointment)Item).ScheduledArrivalTime.Date.Add(SelectedTaskTime.TimeOfDay);
                d.ScheduledCompletionTime   = d.ScheduledCommencementTime.AddMinutes(15);
                Tasks.Add(d);
                return;
            }
        }
Пример #7
0
 public void SetDoseAdministrationTask(DoseAdministrationTask d)
 {
     _doseAdministrationTask = d;
 }