예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
                }
            }
        }
예제 #3
0
        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);
                }
            }
        }
예제 #4
0
        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();
            }
        }