private static string GetOneTimeCycleStatusforCategory(int patientid, int billingCategoryId, int?cycle) { string status = ""; using (var _db = new ApplicationdbContect()) { var patient = _db.Patients.Where(x => x.Id == patientid).AsNoTracking().FirstOrDefault(); if (cycle == null) { if (patient != null) { cycle = patient.Cycle; } } int Cycle = cycle.GetInteger(); if (patient != null) { var categorystatus = _db.CategoriesStatuses.Where(x => x.PatientId == patientid && x.BillingCategoryId == billingCategoryId).OrderByDescending(x => x.Id).FirstOrDefault(); if (categorystatus == null) { CategoriesStatuses cateCycleStatus = new CategoriesStatuses(); cateCycleStatus.PatientId = patientid; cateCycleStatus.Cycle = Cycle; cateCycleStatus.RejectedCount = 0; cateCycleStatus.BillingCategoryId = billingCategoryId; if (Cycle == 0) { cateCycleStatus.Status = "In Progress"; cateCycleStatus.SubStatus = ""; } else { cateCycleStatus.Status = "Enrolled"; cateCycleStatus.SubStatus = ""; } if (patient.EnrollmentSubStatus != "") { if (patient.EnrollmentSubStatus != "Active Enrolled") { cateCycleStatus.Status = "Expired"; cateCycleStatus.SubStatus = ""; } } cateCycleStatus.CreatedBy = User.Identity.GetUserId(); cateCycleStatus.CreatedOn = DateTime.Now; _db.CategoriesStatuses.Add(cateCycleStatus); _db.SaveChanges(); status = cateCycleStatus.Status; } else { status = categorystatus.Status; } } return(status); } }
private static object GetUpdateRPMCycleStatus(int patientId, int Cycle, string Userid, string EnrollmentSubStatus) { using (ApplicationdbContect Db = new ApplicationdbContect()) { try { if (Cycle > 0)//means patient is enrolled in any billing category { var reviewtimeccms = Db.ReviewTimeCcms.Where(x => x.PatientId == patientId && x.BillingcategoryId == BillingCodeHelper.RPMBillingCatagoryid).ToList().Where(x => x.StartTime.Month == DateTime.Now.Month && x.StartTime.Year == DateTime.Now.Year).ToList(); foreach (var item in reviewtimeccms) { if (item.Cycle != Cycle) { item.Cycle = Cycle; Db.Entry(item).State = EntityState.Modified; Db.SaveChanges(); } } //var finalcareplans = Db.FinalCarePlanNotes.Where(x => x.PatientId == patientId).ToList().Where(x => x.CarePlanCreatedOn.Value.Month == DateTime.Now.Month && x.CarePlanCreatedOn.Value.Year == DateTime.Now.Year && x.CarePlanCreatedOn != null).ToList(); //foreach (var item in finalcareplans) //{ // if (item.Cycle != Cycle) // { // item.Cycle = Cycle; // Db.Entry(item).State = EntityState.Modified; // Db.SaveChanges(); // } //} } } catch (Exception ex) { } var RMPCyclesStatus = Db.CategoriesStatuses.Where(x => x.PatientId == patientId && x.Cycle == Cycle && x.BillingCategoryId == BillingCodeHelper.RPMBillingCatagoryid).FirstOrDefault(); if (RMPCyclesStatus == null) { CategoriesStatuses rpmStatuses = new CategoriesStatuses(); rpmStatuses.PatientId = patientId; rpmStatuses.Cycle = Cycle; rpmStatuses.RejectedCount = 0; if (Cycle == 0) { rpmStatuses.Status = "In Progress"; rpmStatuses.SubStatus = ""; } else { rpmStatuses.Status = "Enrolled"; rpmStatuses.SubStatus = ""; } if (EnrollmentSubStatus != "") { if (EnrollmentSubStatus != "Active Enrolled" && Cycle > 0) { rpmStatuses.Status = "Expired"; rpmStatuses.SubStatus = ""; } } rpmStatuses.CreatedBy = Userid; rpmStatuses.CreatedOn = DateTime.Now; Db.CategoriesStatuses.Add(rpmStatuses); Db.SaveChanges(); return(rpmStatuses.Status); } else { if (EnrollmentSubStatus != "") { if (EnrollmentSubStatus == "Active Enrolled") { if (RMPCyclesStatus.Status != "Claims Submission" && RMPCyclesStatus.Status != "Clinical Sign-Off" && RMPCyclesStatus.Status != "Ready for Clinical Sign-Off" /*&& RMPCyclesStatus.Status != "In Progress"*/) { RMPCyclesStatus.Status = "Enrolled"; RMPCyclesStatus.UpdatedOn = DateTime.Now; RMPCyclesStatus.UpdatedBy = ""; Db.Entry(RMPCyclesStatus).State = EntityState.Modified; Db.SaveChanges(); return("Enrolled"); } } else { if (RMPCyclesStatus.Status != "Claims Submission" && RMPCyclesStatus.Status != "Clinical Sign-Off" && RMPCyclesStatus.Status != "Ready for Clinical Sign-Off" /*&& RMPCyclesStatus.Status != "In Progress"*/) { RMPCyclesStatus.Status = "Expired"; RMPCyclesStatus.UpdatedOn = DateTime.Now; RMPCyclesStatus.UpdatedBy = ""; Db.Entry(RMPCyclesStatus).State = EntityState.Modified; Db.SaveChanges(); return("Expired"); } } var previouscycles = Db.CategoriesStatuses.Where(x => x.PatientId == patientId && x.BillingCategoryId == BillingCodeHelper.RPMBillingCatagoryid && x.Cycle < Cycle && x.Status != "Claims Submission" && x.Status != "Clinical Sign-Off" && x.Status != "Ready for Clinical Sign-Off" /*&& x.Status != "In Progress"*/).ToList(); foreach (var item in previouscycles) { if (item.Status == "Enrolled") { item.Status = "Expired"; item.UpdatedOn = DateTime.Now; item.UpdatedBy = ""; Db.Entry(item).State = EntityState.Modified; Db.SaveChanges(); } } } else { var patientData = Db.Patients.Where(x => x.Id == patientId).FirstOrDefault(); if (patientData.EnrollmentSubStatus == "Active Enrolled") { if (RMPCyclesStatus.Status != "Claims Submission" && RMPCyclesStatus.Status != "Clinical Sign-Off" && RMPCyclesStatus.Status != "Ready for Clinical Sign-Off" /*&& RMPCyclesStatus.Status != "In Progress"*/) { RMPCyclesStatus.Status = "Enrolled"; RMPCyclesStatus.UpdatedOn = DateTime.Now; RMPCyclesStatus.UpdatedBy = ""; Db.Entry(RMPCyclesStatus).State = EntityState.Modified; Db.SaveChanges(); return("Enrolled"); } } else { if (RMPCyclesStatus.Status != "Claims Submission" && RMPCyclesStatus.Status != "Clinical Sign-Off" && RMPCyclesStatus.Status != "Ready for Clinical Sign-Off" /*&& RMPCyclesStatus.Status != "In Progress"*/) { RMPCyclesStatus.Status = "Expired"; RMPCyclesStatus.UpdatedOn = DateTime.Now; RMPCyclesStatus.UpdatedBy = ""; Db.Entry(RMPCyclesStatus).State = EntityState.Modified; Db.SaveChanges(); return("Expired"); } } //var previouscycles = Db.CategoriesStatuses.Where(x => x.PatientId == patientId && x.Cycle < Cycle && x.Status != "Claims Submission" && x.Status != "Clinical Sign-Off" && x.CCMStatus != "Ready for Clinical Sign-Off" && x.CCMStatus != "In Progress").ToList(); //foreach (var item in previouscycles) //{ // if (item.CCMStatus == "Enrolled") // { // item.CCMStatus = "Expired"; // item.UpdatedOn = DateTime.Now; // item.UpdatedBy = ""; // Db.Entry(item).State = EntityState.Modified; // Db.SaveChanges(); // } //} } return(RMPCyclesStatus.Status); } } }
private static string GetMonthlyCycleStatusforCategory(int patientId, int billingCategoryId, int?cycle) { using (var _db = new ApplicationdbContect()) { var patient = _db.Patients.Where(x => x.Id == patientId).AsNoTracking().FirstOrDefault(); if (cycle == null) { if (patient != null) { cycle = patient.Cycle; } } int Cycle = cycle.GetInteger(); var rpmCycleStatus = _db.CategoriesStatuses.Where(x => x.PatientId == patientId && x.Cycle == Cycle && x.BillingCategoryId == billingCategoryId).FirstOrDefault(); if (rpmCycleStatus == null) { CategoriesStatuses RPMCycleStatus = new CategoriesStatuses(); RPMCycleStatus.PatientId = patientId; RPMCycleStatus.Cycle = Cycle; RPMCycleStatus.RejectedCount = 0; RPMCycleStatus.BillingCategoryId = billingCategoryId; if (Cycle == 0) { RPMCycleStatus.Status = "In Progress"; RPMCycleStatus.SubStatus = ""; } else { RPMCycleStatus.Status = "Enrolled"; RPMCycleStatus.SubStatus = ""; } if (patient.EnrollmentSubStatus != "") { if (patient.EnrollmentSubStatus != "Active Enrolled" && Cycle > 0) { RPMCycleStatus.Status = "Expired"; RPMCycleStatus.SubStatus = ""; } } RPMCycleStatus.CreatedBy = User.Identity.GetUserId(); RPMCycleStatus.CreatedOn = DateTime.Now; _db.CategoriesStatuses.Add(RPMCycleStatus); _db.SaveChanges(); return(RPMCycleStatus.Status); } else { if (!string.IsNullOrEmpty(patient.EnrollmentSubStatus)) { if (patient.EnrollmentSubStatus == "Active Enrolled") { if (rpmCycleStatus.Status != "Claims Submission" && rpmCycleStatus.Status != "Clinical Sign-Off" && rpmCycleStatus.Status != "Ready for Clinical Sign-Off" /*&& rpmCycleStatus.Status != "In Progress"*/) { rpmCycleStatus.Status = "Enrolled"; rpmCycleStatus.UpdatedOn = DateTime.Now; rpmCycleStatus.UpdatedBy = ""; _db.Entry(rpmCycleStatus).State = EntityState.Modified; _db.SaveChanges(); return("Enrolled"); } } else { if (rpmCycleStatus.Status != "Claims Submission" && rpmCycleStatus.Status != "Clinical Sign-Off" && rpmCycleStatus.Status != "Ready for Clinical Sign-Off" && rpmCycleStatus.Status != "In Progress") { rpmCycleStatus.Status = "Expired"; rpmCycleStatus.UpdatedOn = DateTime.Now; rpmCycleStatus.UpdatedBy = ""; _db.Entry(rpmCycleStatus).State = EntityState.Modified; _db.SaveChanges(); return("Expired"); } } var previouscycles = _db.CategoriesStatuses.Where(x => x.PatientId == patientId && x.Cycle < Cycle && x.Status != "Claims Submission" && x.Status != "Clinical Sign-Off" && x.Status != "Ready for Clinical Sign-Off" /*&& x.Status != "In Progress"*/).ToList(); foreach (var item in previouscycles) { if (item.Status == "Enrolled") { item.Status = "Expired"; item.UpdatedOn = DateTime.Now; item.UpdatedBy = ""; _db.Entry(item).State = EntityState.Modified; _db.SaveChanges(); } } } else { if (patient.EnrollmentSubStatus == "Active Enrolled") { if (rpmCycleStatus.Status != "Claims Submission" && rpmCycleStatus.Status != "Clinical Sign-Off" && rpmCycleStatus.Status != "Ready for Clinical Sign-Off" /*&& rpmCycleStatus.Status != "In Progress"*/) { rpmCycleStatus.Status = "Enrolled"; rpmCycleStatus.UpdatedOn = DateTime.Now; rpmCycleStatus.UpdatedBy = ""; _db.Entry(rpmCycleStatus).State = EntityState.Modified; _db.SaveChanges(); return("Enrolled"); } } else { if (rpmCycleStatus.Status != "Claims Submission" && rpmCycleStatus.Status != "Clinical Sign-Off" && rpmCycleStatus.Status != "Ready for Clinical Sign-Off" /*&& rpmCycleStatus.Status != "In Progress"*/) { rpmCycleStatus.Status = "Expired"; rpmCycleStatus.UpdatedOn = DateTime.Now; rpmCycleStatus.UpdatedBy = ""; _db.Entry(rpmCycleStatus).State = EntityState.Modified; _db.SaveChanges(); return("Expired"); } } var previouscycles = _db.CategoriesStatuses.Where(x => x.PatientId == patientId && x.BillingCategoryId == billingCategoryId && x.Cycle < Cycle && x.Status != "Claims Submission" && x.Status != "Clinical Sign-Off" && x.Status != "Ready for Clinical Sign-Off" && x.Status != "In Progress").ToList(); foreach (var item in previouscycles) { if (item.Status == "Enrolled") { item.Status = "Expired"; item.UpdatedOn = DateTime.Now; item.UpdatedBy = ""; _db.Entry(item).State = EntityState.Modified; _db.SaveChanges(); } } } return(rpmCycleStatus.Status); } } }
private static void UpdatePatients() { var patients = _DBb.Patients.Where(x => x.EnrollmentSubStatus == "Active Enrolled").AsQueryable().ToList(); foreach (var x in patients) { //CheckDatabaseStateOpenIfClosed(); var transection = _DBb.Database.BeginTransaction(); try { Console.WriteLine("Patient Id" + x.Id + " Cycle is " + x.Cycle); //CheckDatabaseStateOpenIfClosed(); var exiting = _DBb.Patients_BillingCategories.Where(c => c.PatientId == x.Id && c.BillingCategoryId == 2 && c.Status == true && c.IsTranslator == false).FirstOrDefault(); if (exiting == null) { var PatientBilling = new Patients_BillingCategories(); PatientBilling.PatientId = x.Id; PatientBilling.BillingCategoryId = 2; PatientBilling.CreatedOn = DateTime.Now; PatientBilling.CreatedBy = "bcbfb545-1d9e-40a5-b823-3616c5fc4050";//standadmin PatientBilling.EnrolledOn = DateTime.Now; PatientBilling.Status = true; PatientBilling.LiaisonId = 1125;//bruk auston PatientBilling.IsTranslator = false; _DBb.Patients_BillingCategories.Add(PatientBilling); Console.WriteLine("Billing Category Added"); } else { Console.WriteLine("Billing Category Already Exit"); } //var exiting1 = _DBb.Patients_BillingCategories.Where(c => c.PatientId == x.Id && c.BillingCategoryId == 2 && c.Status == true && c.IsTranslator == true).FirstOrDefault(); //if (exiting1 == null) //{ // var PatientBilling1 = new Patients_BillingCategories(); // PatientBilling1.PatientId = x.Id; // PatientBilling1.BillingCategoryId = 2; // PatientBilling1.CreatedOn = DateTime.Now; // PatientBilling1.CreatedBy = "bcbfb545-1d9e-40a5-b823-3616c5fc4050";//standadmin // PatientBilling1.EnrolledOn = DateTime.Now; // PatientBilling1.Status = true; // PatientBilling1.LiaisonId = 1106;//ahmad // PatientBilling1.IsTranslator = true; // _DBb.Patients_BillingCategories.Add(PatientBilling1); //} //_DBb.SaveChanges(); var existing = _DBb.CategoriesStatuses.Where(c => c.PatientId == x.Id && c.Cycle == x.Cycle && c.BillingCategoryId == 2 && c.Status == "Enrolled").FirstOrDefault(); if (existing == null) { var CategoriesStatus = new CategoriesStatuses(); CategoriesStatus.PatientId = x.Id; CategoriesStatus.Status = "Enrolled"; CategoriesStatus.Cycle = x.Cycle; CategoriesStatus.CreatedOn = DateTime.Now; CategoriesStatus.CreatedBy = "bcbfb545-1d9e-40a5-b823-3616c5fc4050"; CategoriesStatus.BillingCategoryId = 2; _DBb.CategoriesStatuses.Add(CategoriesStatus); Console.WriteLine("Category Status Already Exit"); } else { Console.WriteLine("Category Status Already Exit"); } _DBb.SaveChanges(); transection.Commit(); Console.WriteLine(x.Id + " Successfully"); } catch (Exception e) { transection.Rollback(); Console.WriteLine("=========================Error" + x.Id + e + " ============================="); } transection.Dispose(); } }