private void fillPotentialTasks() { if (Item != null) { //Need to find all DoseAdministrationTasks where //completed == false //RadiopharmaceuticalID = item.RadiopharmaceuticalID //scheduledCompletionDate == Today if (true == true) { RetrievalCriteria rc1 = new RetrievalCriteria("ScheduledCompletionTime", CriteraType.GreaterThanOrEqual, DateTime.Today); RetrievalCriteria rc2 = new RetrievalCriteria("Completed", CriteraType.Equals, false); RetrievalCriteria rc3 = new RetrievalCriteria("ScheduledCompletionTime", CriteraType.LessThan, DateTime.Today.AddDays(1)); List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); rcList.Add(rc1); rcList.Add(rc2); rcList.Add(rc3); _potentialTasks = DesktopApplication.Librarian.GetItems(typeof(DoseAdministrationTask), rcList).ToList(); _potentialTasks = _potentialTasks.Where(y => (y as DoseAdministrationTask).PrescribedRadioPharmaceutical != null && (y as DoseAdministrationTask).UnitDose == null).Where(x => (x as DoseAdministrationTask).PrescribedRadioPharmaceutical.ID == (Item as BaseBulkDose).Radiopharmaceutical.ID).ToList(); } } else { _potentialTasks = DesktopApplication.Librarian.GetItems(typeof(DoseAdministrationTask), new List <RetrievalCriteria>()).ToList(); } }
public static User AutheticateUser(string username, string password) { List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); RetrievalCriteria rc = new RetrievalCriteria("LoginName", CriteraType.ExactTextMatch, username); rcList.Add(rc); if (Platform.Retriever.RetrieveItems(typeof(User), rcList).Any()) { User u = (User)Platform.Retriever.RetrieveItems(typeof(User), rcList).First(); string hashed = HashPassword(password); if (u.Password == hashed) { Properties.Settings.Default.LastLoginName = username; Properties.Settings.Default.Save(); logger.Info("User authenticated"); return(u); } else { return(null); } } else { return(null); } }
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); } } } }
public User AuthenticateUserByPin(string PIN) { try { List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); RetrievalCriteria rc0 = new RetrievalCriteria("PinNumber", CriteraType.IsNotNull, PIN); RetrievalCriteria rc = new RetrievalCriteria("PinNumber", CriteraType.ExactTextMatch, PIN); rcList.Add(rc0); rcList.Add(rc); if (DesktopApplication.Librarian.GetItems(typeof(User), rcList).Any()) { User u = (User)DesktopApplication.Librarian.GetItems(typeof(User), rcList).First(); //Properties.Settings.Default.LastLoginName = login; //Properties.Settings.Default.Save(); logger.Info("User authenticated by PIN"); return(u); } else { logger.Info("Did not find a user to match that PIN."); return(null); } } catch (Exception ex) { logger.Error(ex.Message); } return(null); }
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; } }
public override void GetData() { List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); RetrievalCriteria rcstart = new RetrievalCriteria("ReservationStart", CriteraType.GreaterThan, new DateTime(DateTime.Today.Year, 1, 1)); RetrievalCriteria rcfinish = new RetrievalCriteria("ReservationFinish", CriteraType.LessThan, new DateTime(DateTime.Today.Year + 2, 1, 1)); rcList.Add(rcstart); rcList.Add(rcfinish); //Reservations = Application.GetLibrarian().GetViewModels(typeof(RoomReservation), rcList); //ReservationsView = Application.CreateCollectionView(Reservations); //ReservationsView.Filter = CustomerFilter; //viewSource = new CollectionViewSource(); //viewSource.Source = Reservations; }
public static void FillRadiopharmaceuticals() { DataTable dt = iRadiate.Common.IO.TextFileReader.ReadCSVFile("Radiopharmacueticals.csv", true); foreach (DataRow r in dt.Rows) { Console.WriteLine(r["AtomicSymbol"].ToString() + " " + r["AtomicWeight"].ToString()); Chemical rp = new Chemical(); List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); RetrievalCriteria rc1 = new RetrievalCriteria("Abbreviation", CriteraType.ExactTextMatch, r["AtomicSymbol"].ToString() + "-" + r["AtomicWeight"].ToString()); rcList.Add(rc1); Isotope iso = lib.GetItems(typeof(Isotope), rcList).First() as Isotope; rp.Isotope = iso; rp.LigandAbbreviation = r["Ligand"].ToString(); lib.SaveItem(rp); } }
private static Workstation GetThisWorkstation() { string name = System.Environment.MachineName; RetrievalCriteria rc = new RetrievalCriteria("Name", CriteraType.Equals, name); List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); rcList.Add(rc); var result = retriever.RetrieveItems(typeof(Workstation), rcList); if (result.Any()) { return(result.First() as Workstation); } else { return(AddThisWorkstation()); } }
public ReconstitutionViewModel(DataStoreItem item) : base(item) { if (item is Kit) { (item as Kit).ColdKitReconstituted += ColdKitReconstituted; } RetrievalCriteria rc = new RetrievalCriteria("Radiopharmaceutical", CriteraType.Equals, (item as Kit).KitDefinition.RadioactiveIngredient); RetrievalCriteria rc1 = new RetrievalCriteria("ExpiryDate", CriteraType.GreaterThan, DateTime.Now); RetrievalCriteria rc2 = new RetrievalCriteria("IsDisposed", CriteraType.Equals, false); List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); rcList.Add(rc); rcList.Add(rc1); rcList.Add(rc2); _potentialIngredients = DesktopApplication.Librarian.GetItems(typeof(BaseBulkDose), rcList); SaveDoseCommand = new RelayCommand(SaveBulkDose); ReadActivityCommand = new RelayCommand(ReadActivity); BdExpiryDate = DateTime.Now.AddDays(1); }
private void Search() { RetrievalCriteria rc = new RetrievalCriteria("Date", CriteraType.GreaterThan, _startDate); RetrievalCriteria rc1 = new RetrievalCriteria("Date", CriteraType.LessThan, _endDate); List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); rcList.Add(rc); rcList.Add(rc1); if (SelectedStudyType != null) { RetrievalCriteria rc2 = new RetrievalCriteria("StudyTypeID", CriteraType.Equals, SelectedStudyType.ID); rcList.Add(rc2); } RetrievedStudies = DesktopApplication.GetLibrarian().GetItems(typeof(Study), rcList); //RetrievedStudies = Application.GetLibrarian().GetViewModels(typeof(Study), rcList); StudiesView = CollectionViewSource.GetDefaultView(RetrievedStudies); StudiesView.Filter = new Predicate <object>(FilterStudy); }
private void search() { if (SearchCriteriaEntered()) { object p = new object(); BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += (o, ea) => { List <RetrievalCriteria> criter = new List <RetrievalCriteria>(); if (SurnameSearch != null && SurnameSearch.Trim() != "") { RetrievalCriteria rc = new RetrievalCriteria("Surname", CriteraType.TextMatch, SurnameSearch); criter.Add(rc); } if (GivenNamesSearch != null && GivenNamesSearch.Trim() != "") { RetrievalCriteria rc = new RetrievalCriteria("GivenNames", CriteraType.TextMatch, GivenNamesSearch); criter.Add(rc); } if (MrnSearch != null && MrnSearch.Trim() != "") { RetrievalCriteria rc = new RetrievalCriteria("PatientID", CriteraType.TextMatch, MrnSearch); criter.Add(rc); } _patients = DesktopApplication.Librarian.GetItems(typeof(Patient), criter); RaisePropertyChanged("Patients"); //ViewModelCollection = Application.GetLibrarian().GetViewModels(typeof(iRadiate.DataModel.HealthCare.Patient), criter); }; worker.RunWorkerCompleted += (o, ea) => { Busy = false; }; Busy = true; worker.RunWorkerAsync(); } }
public override void GetData() { logger.Trace("GetData()...."); base.GetData(); RetrievalCriteria rc1 = new RetrievalCriteria("ValidCompletionTime", CriteraType.GreaterThan, SelectedDate.Date); RetrievalCriteria rc2 = new RetrievalCriteria("ValidCompletionTime", CriteraType.LessThan, SelectedDate.Date.AddDays(1)); RetrievalCriteria rc3 = new RetrievalCriteria("Cancelled", CriteraType.Equals, false); List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); rcList.Add(rc1); rcList.Add(rc2); rcList.Add(rc3); var col = DesktopApplication.Librarian.GetItems(typeof(ScanTask), rcList); if (ScanTasks.Any()) { logger.Trace("ScanTasks already found during GetData(), Clear()"); ScanTasks.Clear(); } foreach (IDataStoreItem i in col) { logger.Trace("Created new DiaryEventWrapper.."); DiaryEventWrapper dew = new DiaryEventWrapper(i as ScanTask, this); dew.RoomChanged += Dew_RoomChanged; dew.Selected += Dew_Selected; ScanTasks.Add(dew); } RaisePropertyChanged("Diaries"); logger.Trace("GetData()....Complete"); }
public override void GetData() { base.GetData(); KitDefinitions = DesktopApplication.Librarian.GetItems(typeof(KitDefinition), new List <RetrievalCriteria>()); Radiopharmaceuticals = DesktopApplication.Librarian.GetItems(typeof(Chemical), new List <RetrievalCriteria>()); RetrievalCriteria rcMin = new RetrievalCriteria("DateAdded", CriteraType.GreaterThan, BulkDoseDateMinimum); List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); rcList.Add(rcMin); InventoryItems = DesktopApplication.Librarian.GetItems(typeof(BaseBulkDose), rcList); foreach (IDataStoreItem d in InventoryItems) { (d as BaseBulkDose).UnitDoseDrawn += InventoryItemAdded; if (d is Elution && (d as Elution).CalibrationDate.Date == DateTime.Today) { //&& (d as Elution).CalibrationDate.Date == DateTime.Today NumberOfElutionsToday++; ActivityOfElutionsToday = ActivityOfElutionsToday + ((d as Elution).CurrentActivity); if ((d as IInventory).Expired) { DisposableItems++; DisposableActivity += (d as BaseRadioactiveInventoryItem).CurrentActivity; } } else if (d is ReconstitutedColdKit) { NumberOfColdKitsToday++; ActivityOfColdKitsToday += (d as ReconstitutedColdKit).CurrentActivity; if ((d as IInventory).Expired) { DisposableItems++; DisposableActivity += (d as BaseRadioactiveInventoryItem).CurrentActivity; } } } rcMin = new RetrievalCriteria("DateAdded", CriteraType.GreaterThan, UnitDoseDateMinimum); rcList.Clear(); rcList.Add(rcMin); foreach (IDataStoreItem d in DesktopApplication.Librarian.GetItems(typeof(BaseUnitDose), rcList)) { InventoryItems.Add(d); NumberOfUnitDosesToday++; ActivityOfUnitDosesToday += (d as BaseUnitDose).CurrentActivity; if ((d as IInventory).Expired) { DisposableItems++; DisposableActivity += (d as BaseRadioactiveInventoryItem).CurrentActivity; } } rcMin = new RetrievalCriteria("DateAdded", CriteraType.GreaterThan, GeneratorDateMinimum); rcList.Clear(); rcList.Add(rcMin); foreach (IDataStoreItem d in DesktopApplication.Librarian.GetItems(typeof(Generator), rcList)) { InventoryItems.Add(d); (d as Generator).GeneratorEluted += InventoryItemAdded; } rcMin = new RetrievalCriteria("DateAdded", CriteraType.GreaterThan, ColdKitDateMinimum); rcList.Clear(); rcList.Add(rcMin); foreach (IDataStoreItem d in DesktopApplication.Librarian.GetItems(typeof(Kit), rcList)) { InventoryItems.Add(d); (d as Kit).ColdKitReconstituted += InventoryItemAdded; } foreach (IDataStoreItem d in InventoryItems) { (d as IInventory).ItemDisposed += RadiopharmacyModule_ItemDeleted; (d as IInventory).ItemUnDisposed += RadiopharmacyModule_ItemUnDisposed; } var isotopes = Platform.Retriever.RetrieveItems(typeof(Isotope), new List <RetrievalCriteria>()); System.Diagnostics.Debug.WriteLine("Isotopes.count = " + isotopes.Count); foreach (var i in isotopes) { IsotopeLevel lvl = new IsotopeLevel(); lvl.Isotope = (Isotope)i; lvl.CurrentActivity = InventoryItems.Where(x => x is BaseRadioactiveInventoryItem).Where(y => (y as BaseRadioactiveInventoryItem).Disposed == DisposalStatus.NotDisposed && (y as BaseRadioactiveInventoryItem).Isotope == i).Sum(z => (z as BaseRadioactiveInventoryItem).CurrentActivity); if (lvl.CurrentActivity > 0) { IsotopeLevels.Add(lvl); } } try { var a = Platform.Retriever.RetrieveItems(typeof(BaseUnitDose)).Where(x => (x as BaseUnitDose).Disposed == DisposalStatus.NotDisposed && (x as BaseUnitDose).Expired == true); var b = Platform.Retriever.RetrieveItems(typeof(BaseBulkDose)).Where(x => (x as BaseBulkDose).Disposed == DisposalStatus.NotDisposed && (x as BaseBulkDose).Expired == true); var c = Platform.Retriever.RetrieveItems(typeof(Generator)).Where(x => (x as BaseBulkDose).Disposed == DisposalStatus.NotDisposed && (x as BaseBulkDose).Expired == true); NumberOfExpiredItems = a.Count(); NumberOfExpiredItems += b.Count(); NumberOfExpiredItems += c.Count(); ActivityOfExpiredItems = a.Select(x => (x as BaseRadioactiveInventoryItem).CurrentActivity).Sum(); ActivityOfExpiredItems += b.Select(x => (x as BaseRadioactiveInventoryItem).CurrentActivity).Sum(); ActivityOfExpiredItems += c.Select(x => (x as BaseRadioactiveInventoryItem).CurrentActivity).Sum(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Exception: " + ex.Message); } }
static void Main(string[] args) { DateTime starttime = DateTime.Now; logger.Info("DicomTest start " + DateTime.Now); DicomConnector dc = new DicomConnector(); var links = dc.GetPatientImageByStudy(DateTime.Today.AddDays(0)); logger.Info("links has returned"); if (links.Any()) { logger.Info(links.Count + " links found"); foreach (DicomLink link in links) { if (link == null) { logger.Warn("A null link was returned by the DicomConnector"); continue; } if (link.PatientImage == null) { logger.Warn("A link was returned by the dataconnector with a null patientIage"); continue; } ScanTask t = link.PatientImage.ScanTask; if (t == null) { logger.Error("Null ScanTaskFound for PatientImage " + link.PatientImage.ID); continue; } logger.Info("PatientImage.SeriesDescription = " + link.PatientImage.SeriesDescription); //link.PatientImage.Debug(); //DicomMassage.MassageScanTask(link.PatientImage.ScanTask); } } else { logger.Info("No links returned"); } RetrievalCriteria rc1 = new RetrievalCriteria("ScheduledArrivalTime", CriteraType.GreaterThan, DateTime.Today); RetrievalCriteria rc2 = new RetrievalCriteria("ScheduledArrivalTime", CriteraType.LessThan, DateTime.Today.AddDays(1)); List <RetrievalCriteria> rcList = new List <RetrievalCriteria>(); rcList.Add(rc1); rcList.Add(rc2); var appointments = Platform.Retriever.RetrieveItems(typeof(Appointment), rcList); foreach (Appointment a in appointments) { foreach (ScanTask st in a.Tasks.Where(x => x is ScanTask)) { DicomMassage.MassageScanTask(st); } } logger.Info("DicomTest finish " + DateTime.Now + " - total " + (DateTime.Now - starttime).TotalMinutes + " minutes"); //Console.ReadLine(); }