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); }
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; } }
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; } }
public void SetDoseAdministrationTask(DoseAdministrationTask d) { _doseAdministrationTask = d; }