private void constructAlert(Patient p) { Alert a = new Alert { PatientId = p.PatientId, AlertDate = DateTime.UtcNow, AlertTypeId = 1 // 1 = "missed medication" }; db.Alerts.Add(a); db.SaveChanges(); }
public ActionResult Create(Patient patient) { if (ModelState.IsValid) { patient.RegisteredBy = User.Identity.Name; patient.ResponseReceived = true; //first day - change later if this doesn't work db.Patients.Add(patient); db.SaveChanges(); sendRegisterConfirmation(patient); // uncomment this call for testing // sendDemoReminders(patient.PatientId); Trace.WriteLine(String.Format("Patient has this phone number {0}, {1}, {2}", patient.Phone, patient.FamilyPhone1, patient.FamilyPhone2)); return RedirectToAction("Index"); } populateTimeZones(null); populateGenderList(null); return View(patient); }
public string ConstructMsg(Patient p) { DateTime now = DateTime.UtcNow; StringBuilder msg = ConstructTitle(p); int num_drugs = p.Drugs.Count; if (num_drugs == 0) { msg.Append("No medicines for today.\n"); } else if (num_drugs == 1) { msg.Append("Take 1 medicine as prescribed for you.\n"); } else { msg.AppendFormat("Take {0} medicines as prescribed for you.\n", num_drugs); } List<Test> testMessages = p.Tests.ToList().FindAll(t => dateInRange(t.TestDate,now,now.AddDays(10))); if (testMessages.Count > 0) { msg.Append("Checkups on the following dates: "); foreach (var t in testMessages) { msg.Append(ConstructTestMsg(t)); } msg.Remove(msg.Length - 2, 2); msg.AppendLine(); } List<Message> customMessages = p.Messages.ToList().FindAll(m => dateInRange(now, m.StartDate, m.EndDate)); if (customMessages.Count > 0) { msg.Append("Note:\n"); foreach (var c in customMessages) { msg.Append(c.MessageText); msg.AppendLine(); } msg.Remove(msg.Length - 1, 1); } return msg.ToString(); }
private bool isUrlValid(Patient patient) { //check of url hacking if (patient == null || !patient.IsRegistedBy(User.Identity.Name)) { return false; } return true; }
/* * For Prototype Testing Only */ //private void sendDemoReminders(int id) //{ // ISchedulerFactory schedulePool = new StdSchedulerFactory(); // IScheduler sched = schedulePool.GetScheduler(); // sched.Start(); // //set up reminder sender // try // { // JobDetail reminderJob = new JobDetail("AlertBuilder", null, typeof(SendReminderJob)); // reminderJob.JobDataMap["pid"] = id; // Trigger trigger = TriggerUtils.MakeMinutelyTrigger("t1", 2, 1); // trigger.StartTimeUtc = TriggerUtils.GetEvenMinuteDate(DateTime.UtcNow.AddMinutes(1)); // sched.ScheduleJob(reminderJob, trigger); // //set up warning sender // JobDetail warningJob = new JobDetail("Warnings", null, typeof(SendWarningJob)); // warningJob.JobDataMap["pid"] = id; // Trigger trigger2 = TriggerUtils.MakeSecondlyTrigger("test2", 10, 0); // trigger2.StartTimeUtc = TriggerUtils.GetEvenMinuteDate(DateTime.UtcNow).AddMinutes(2); // sched.ScheduleJob(warningJob, trigger2); // } // catch (Exception e) // { // Trace.WriteLine(e.Message); // throw e; // } //} private void sendRegisterConfirmation(Patient p) { string msg = String.Format("Dear {0}, welcome to Medivise! Hope you get well soon!\n", p.FirstName); TwilioSender sender = new TwilioSender(); sender.SendSMS(p.Phone, msg); Trace.WriteLine(msg); }
public ActionResult SaveAndEditTimeline(Patient patient) { if (ModelState.IsValid) { db.Entry(patient).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Edit", "MsgTemplate", new { id = patient.PatientId }); } return View(patient); }
public ActionResult Edit(Patient patient) { if (ModelState.IsValid) { patient.RegisteredBy = User.Identity.Name; db.Entry(patient).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } populateTimeZones(patient.TimeZone); populateGenderList(patient.Gender); return View(patient); }
private StringBuilder ConstructTitle(Patient p) { StringBuilder title = new StringBuilder(); title.AppendFormat("Hi {0}:\n", p.FirstName); return title; }