public ActionResult PatientEncounters(string mrn) { patient patient = db.patients.Where(r => r.medical_record_number == mrn).First(); patient_name pName = db.patient_name.Where(r => r.patient_id == patient.patient_id && r.patient_name_type_id == 1).First(); List <patient_insurance> pi = db.patient_insurance.Where(r => r.patient_id == patient.patient_id).ToList(); List <encounter_main> encounterHistory = new List <encounter_main>(); foreach (patient_insurance pin in pi) { List <encounter_main> e = db.encounter_main.Where(r => r.individual_insurance_id == pin.individual_insurance_id).ToList(); foreach (encounter_main a in e) { encounterHistory.Add(a); } } ViewBag.id = patient.patient_id; ViewBag.mrn = patient.medical_record_number; ViewBag.last = pName.last_name; ViewBag.first = pName.first_name; return(View(encounterHistory)); }
public ActionResult DetailsUpdateAll(System.Web.Mvc.FormCollection form) { string mrn = Request.Form["mrn"]; patient p = db.patients.Where(r => r.medical_record_number == mrn).FirstOrDefault(); user account = db.users.Find(UserAccount.GetUserID()); int patientID = p.patient_id; //Tables List <patient_name> pn = db.patient_name.Where(r => r.patient_id == patientID).ToList(); List <patient_family> pf = db.patient_family.Where(r => r.patient_id == patientID).ToList(); patient_birth_information pbi = db.patient_birth_information.Where(r => r.patient_id == patientID).FirstOrDefault(); List <patient_address> pa = db.patient_address.Where(r => r.patient_id == patientID).ToList(); List <patient_insurance> pi = db.patient_insurance.Where(r => r.patient_id == patientID).ToList(); //Form inputs //PrimaryName string fName = Request.Form["firstName"]; string mName = Request.Form["middleName"]; string lName = Request.Form["lastName"]; //NewAlias string AfName = Request.Form["AfirstName"]; string AmName = Request.Form["AmiddleName"]; string AlName = Request.Form["AlastName"]; //Work out Patient Names if (pn.Any()) { //Find Primary Name patient_name foundPrimary = db.patient_name.Where(r => r.patient_id == patientID && r.patient_name_type_id == 1).FirstOrDefault(); if (foundPrimary != null) { //if the patient has a primary name (Which they should) if (foundPrimary.first_name != fName || foundPrimary.middle_name != mName || foundPrimary.last_name != lName) { //check if the primary name changed foundPrimary.patient_name_type_id = 2; //change primary name to an alias. foundPrimary.date_edited = DateTime.Now; foundPrimary.edited_by = account.userId; db.Entry(foundPrimary).State = EntityState.Modified; patient_name newPrimary = new patient_name(); newPrimary.patient_name_type_id = 1; newPrimary.patient_id = patientID; newPrimary.first_name = fName; newPrimary.middle_name = mName; newPrimary.last_name = lName; newPrimary.date_added = DateTime.Now; db.patient_name.Add(newPrimary); db.SaveChanges(); } if (AfName.Length > 1 && AlName.Length > 1) {//Add an Alias patient_name newAlias = new patient_name(); newAlias.patient_name_type_id = 2; newAlias.patient_id = patientID; newAlias.first_name = AfName; newAlias.middle_name = AmName; newAlias.last_name = AlName; newAlias.date_added = DateTime.Now; db.patient_name.Add(newAlias); db.SaveChanges(); } } } //update any other General Info string motherMaidenName = Request.Form["mothersMaidenName"]; string sex = Request.Form["sex"]; string gender = Request.Form["gender"]; int maritalStatus = Convert.ToInt32(Request.Form["maritalStatus"]); int race = Convert.ToInt32(Request.Form["race"]); int ethnicity = Convert.ToInt32(Request.Form["ethnicity"]); int changed = 0; if (p.mother_maiden_name != motherMaidenName) { p.mother_maiden_name = motherMaidenName; changed++; } if (p.patient_ethnicity_id != ethnicity) { p.patient_ethnicity_id = ethnicity; changed++; } if (p.marital_status_id != maritalStatus) { p.marital_status_id = maritalStatus; changed++; } if (p.patient_race_id != race) { p.patient_race_id = race; changed++; } if (changed > 0)//if there were any changes, update patient record. { p.date_edited = DateTime.Now; p.edited_by = account.userId; db.Entry(p).State = EntityState.Modified; } string address = Request.Form["address"]; string address2 = Request.Form["address2"]; string city = Request.Form["city"]; string state = Request.Form["state"]; string zip = Request.Form["zip"]; string addressBilling = Request.Form["addressBilling"]; string address2Billing = Request.Form["address2Billing"]; string cityBilling = Request.Form["cityBilling"]; string stateBilling = Request.Form["stateBilling"]; string zipBilling = Request.Form["zipBilling"]; changed = 0; if (pa.Any()) { patient_address primaryAddress = db.patient_address.Where(r => r.address_type_id == 1).FirstOrDefault(); if (primaryAddress != null) { if (primaryAddress.street_address_one != address || primaryAddress.street_address_two != address2) { changed++; primaryAddress.address_type_id = 4; primaryAddress.date_edited = DateTime.Now; primaryAddress.edited_by = account.userId; db.Entry(primaryAddress).State = EntityState.Modified; patient_address newPrimary = new patient_address(); newPrimary.patient_id = patientID; newPrimary.street_address_one = address; newPrimary.street_address_two = address2; newPrimary.city = city; newPrimary.state = state; newPrimary.zip = zip; newPrimary.address_type_id = 1; newPrimary.date_added = DateTime.Now; db.patient_address.Add(newPrimary); } } else { changed++; patient_address newPrimary = new patient_address(); newPrimary.patient_id = patientID; newPrimary.street_address_one = address; newPrimary.street_address_two = address2; newPrimary.city = city; newPrimary.state = state; newPrimary.zip = zip; newPrimary.address_type_id = 1; newPrimary.date_added = DateTime.Now; db.patient_address.Add(newPrimary); } patient_address primaryAddressBilling = db.patient_address.Where(r => r.address_type_id == 2).FirstOrDefault(); if (primaryAddressBilling != null) { if (primaryAddressBilling.street_address_one != addressBilling || primaryAddressBilling.street_address_two != address2Billing) { changed++; patient_address newPrimaryBilling = new patient_address(); newPrimaryBilling.patient_id = patientID; newPrimaryBilling.street_address_one = addressBilling; newPrimaryBilling.street_address_two = address2Billing; newPrimaryBilling.city = cityBilling; newPrimaryBilling.state = stateBilling; newPrimaryBilling.zip = zipBilling; newPrimaryBilling.address_type_id = 2; newPrimaryBilling.date_added = DateTime.Now; db.patient_address.Add(newPrimaryBilling); primaryAddressBilling.address_type_id = 4; primaryAddressBilling.date_edited = DateTime.Now; primaryAddressBilling.edited_by = account.userId; db.Entry(primaryAddressBilling).State = EntityState.Modified; } } else { changed++; patient_address newPrimaryBilling = new patient_address(); newPrimaryBilling.patient_id = patientID; newPrimaryBilling.street_address_one = addressBilling; newPrimaryBilling.street_address_two = address2Billing; newPrimaryBilling.city = cityBilling; newPrimaryBilling.state = stateBilling; newPrimaryBilling.zip = zipBilling; newPrimaryBilling.address_type_id = 2; newPrimaryBilling.date_added = DateTime.Now; db.patient_address.Add(newPrimaryBilling); } } else //If no addresses exist add them { if (address.Length > 1 || address2.Length > 1 || city.Length > 1 || state.Length > 1 || zip.Length > 1) { changed++; patient_address newAddress = new patient_address(); newAddress.patient_id = patientID; newAddress.street_address_one = address; newAddress.street_address_two = address2; newAddress.city = city; newAddress.state = state; newAddress.zip = zip; newAddress.address_type_id = 1; newAddress.date_added = DateTime.Now; db.patient_address.Add(newAddress); } if (addressBilling.Length > 1 || address2Billing.Length > 1 || cityBilling.Length > 1 || stateBilling.Length > 1 || zipBilling.Length > 1) { changed++; patient_address newAddressBilling = new patient_address(); newAddressBilling.patient_id = patientID; newAddressBilling.street_address_one = addressBilling; newAddressBilling.street_address_two = address2Billing; newAddressBilling.city = cityBilling; newAddressBilling.state = stateBilling; newAddressBilling.zip = zipBilling; newAddressBilling.address_type_id = 2; newAddressBilling.date_added = DateTime.Now; db.patient_address.Add(newAddressBilling); } } if (changed > 0) {//If address is added or updated, save the changes. db.SaveChanges(); } ViewBag.patientId = mrn; return(View("Details", new { id = mrn })); }
public ActionResult CreateGeneral(System.Web.Mvc.FormCollection form) { string mrn = Request.Form["mrn"]; patient p = db.patients.Where(r => r.medical_record_number == mrn).FirstOrDefault(); try { user account = db.users.Find(UserAccount.GetUserID()); int patientID = p.patient_id; patient_name pn = new patient_name(); patient_family mother = new patient_family(); patient_family father = new patient_family(); patient_birth_information pbi = db.patient_birth_information.Where(r => r.patient_id == patientID).FirstOrDefault(); // Update patient's patient table p.gender_id = Convert.ToInt32(Request.Form["gender"]); p.mother_maiden_name = Request.Form["mothersMaidenName"]; p.date_edited = DateTime.Now; p.marital_status_id = Convert.ToInt32(Request.Form["maritalStatus"]); p.patient_ethnicity_id = Convert.ToInt32(Request.Form["ethnicity"]); p.patient_race_id = Convert.ToInt32(Request.Form["race"]); if (Request.Cookies["userId"] != null) { HttpCookie aCookie = Request.Cookies["userId"]; p.edited_by = Convert.ToInt32(Server.HtmlEncode(aCookie.Value)); } db.Entry(p).State = EntityState.Modified; db.SaveChanges(); //update patient's name table //Primary Name pn.first_name = Request.Form["firstName"]; pn.middle_name = Request.Form["middleName"]; pn.last_name = Request.Form["lastName"]; pn.patient_id = patientID; pn.patient_name_type_id = 1; //Find this in db later pn.date_added = DateTime.Now; db.patient_name.Add(pn); db.SaveChanges(); string aliasFirstName = Request.Form["AfirstName"]; string aliasMiddleName = Request.Form["AmiddleName"]; string aliasLastName = Request.Form["AlastName"]; if (aliasFirstName.Length > 1 && aliasLastName.Length > 1) { patient_name pna = new patient_name(); pna.first_name = aliasFirstName; pna.middle_name = aliasMiddleName; pna.last_name = aliasLastName; pna.patient_id = patientID; pna.patient_name_type_id = 2; pna.date_added = DateTime.Now; db.patient_name.Add(pna); db.SaveChanges(); } if (pbi != null) { } else { patient_birth_information newPBI = new patient_birth_information(); newPBI.birth_date = DateTime.Parse(Request.Form["dob"]).Date; newPBI.patient_id = patientID; newPBI.date_added = DateTime.Now; db.patient_birth_information.Add(newPBI); db.SaveChanges(); } //logger.Info("User " + account.firstName + " " + account.lastName + " created patient: " + p.medical_record_number); // return View("Details", new { id = p.medical_record_number }); return(Redirect("Details/" + p.medical_record_number)); } catch (DbEntityValidationException dbEx) { //return View("Details", new { id = p.medical_record_number }); return(Redirect("Details/" + p.medical_record_number)); } }