Example #1
0
        private static bool UpdatePatientReviewTimeCycleByCategory(int patientid, int billingCategoryId, int?cycle)
        {
            using (var _db = new ApplicationdbContect())
            {
                if (cycle == null)
                {
                    var patient = _db.Patients.Where(x => x.Id == patientid).AsNoTracking().FirstOrDefault();
                    if (patient != null)
                    {
                        cycle = patient.Cycle;
                    }
                }

                if (cycle > 0)
                {
                    var reviewtimeccms = _db.ReviewTimeCcms.Where(x => x.PatientId == patientid && x.BillingcategoryId == billingCategoryId).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.GetInteger())
                        {
                            item.Cycle            = cycle.GetInteger();
                            _db.Entry(item).State = EntityState.Modified;
                            _db.SaveChanges();
                        }
                    }
                    return(true);
                }
                return(false);
            }
        }
Example #2
0
        public static string GetLiaisonNameFromID(this int?Id)
        {
            var name = "";

            if (Id != null)
            {
                var _db = new ApplicationdbContect();
                _db.Database.Connection.Open();
                var liasion = _db.Liaisons.Where(x => x.Id == Id).FirstOrDefault();
                if (liasion != null)
                {
                    name = liasion.LastName + " " + liasion.FirstName;
                }
                else
                {
                    name = "No Counselor/Translator Found for Id=" + Id;
                }
                _db.Database.Connection.Close();
            }
            else
            {
                name = "Liaison Id is null";
            }
            return(name);
        }
Example #3
0
        private static bool UpdatePatientFinalCarePlaneCycleByCategory(int patientid, int billingCategoryId, int?cycle)
        {
            using (var _db = new ApplicationdbContect())
            {
                if (cycle == null)
                {
                    var patient = _db.Patients.Where(x => x.Id == patientid).AsNoTracking().FirstOrDefault();
                    if (patient != null)
                    {
                        cycle = patient.Cycle;
                    }
                }

                if (cycle > 0)
                {
                    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.GetInteger())
                        {
                            item.Cycle            = cycle.GetInteger();
                            _db.Entry(item).State = EntityState.Modified;
                            _db.SaveChanges();
                        }
                    }
                    return(true);
                }
                return(false);
            }
        }
Example #4
0
        private static string GetothereCategoryCycleStatus(int patientid, int billingCategoryId, int?cycle)
        {
            string status = "";

            using (var _db = new ApplicationdbContect())
            {
                if (cycle == null)
                {
                    var patient = _db.Patients.Where(x => x.Id == patientid).AsNoTracking().FirstOrDefault();
                    if (patient != null)
                    {
                        cycle = patient.Cycle;
                    }
                }
                var billingCategory = _db.BillingCategories.Where(x => x.BillingCategoryId == billingCategoryId).AsNoTracking().FirstOrDefault();
                //for monthly billing cycle
                if (billingCategory.BillingPeriodsId == BillingCodeHelper.MonthalyPeriodId)
                {
                    bool res = UpdatePatientReviewTimeCycleByCategory(patientid, billingCategoryId, cycle);
                    status = GetMonthlyCycleStatusforCategory(patientid, billingCategoryId, cycle);
                }
                //for one time
                if (billingCategory.BillingPeriodsId == BillingCodeHelper.OneTimePeriodId)
                {
                    bool res = UpdatePatientReviewTimeCycleByCategory(patientid, billingCategoryId, cycle);
                    status = GetOneTimeCycleStatusforCategory(patientid, billingCategoryId, cycle);
                }
            }
            return(status);
        }
Example #5
0
        public static string GetPatientNewOrOldCycleStatusbyCategory(int patientid, int billingCategoryId, int?cycle, bool UpdatePatientCycle = false)
        {
            using (ApplicationdbContect _db = new ApplicationdbContect())
            {
                if (cycle != null && UpdatePatientCycle)
                {
                    var patient = _db.Patients.Where(x => x.Id == patientid).FirstOrDefault();
                    patient.Cycle            = cycle.GetInteger();
                    _db.Entry(patient).State = EntityState.Modified;
                    _db.SaveChanges();
                }

                if (billingCategoryId == BillingCodeHelper.cmmBillingCatagoryid)
                {
                    bool res  = UpdatePatientReviewTimeCycleByCategory(patientid, billingCategoryId, cycle);
                    bool res1 = UpdatePatientFinalCarePlaneCycleByCategory(patientid, billingCategoryId, cycle);
                    return(GetCCMCycleStatus(patientid, cycle));
                }
                else
                {
                    bool res = UpdatePatientReviewTimeCycleByCategory(patientid, billingCategoryId, cycle);
                    return(GetothereCategoryCycleStatus(patientid, billingCategoryId, cycle));
                }
            }
        }
Example #6
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);
            }
        }
Example #7
0
        public static void CategoryStatusManipulation()
        {
            ApplicationdbContect _db = new ApplicationdbContect();
            var categorystatus       = _db.CategoriesStatuses.Where(p => p.BillingCategoryId == BillingCodeHelper.G0506BillingCatagoryid).ToList();
            var duplicatelist        = categorystatus.GroupBy(p => p.PatientId).Where(p => p.Count() > 1).Select(p => p.ToList().OrderBy(x => x.PatientId));
            var duplicatecount       = duplicatelist.Count();

            foreach (var item in duplicatelist)
            {
                if (item.Where(p => p.Status == "Claims Submission").Count() > 0)
                {
                    var claim = item.Where(p => p.Status == "Claims Submission").FirstOrDefault();
                    claim.Cycle            = 1;
                    _db.Entry(claim).State = EntityState.Modified;
                    _db.SaveChanges();
                    var removelist = _db.CategoriesStatuses.Where(p => p.PatientId == claim.PatientId && p.Id != claim.Id).ToList();
                    _db.CategoriesStatuses.RemoveRange(removelist);
                    _db.SaveChanges();
                }
                else
                {
                    if (item.Where(p => p.Status == "Clinical Sign-Off").Count() > 0)
                    {
                        var clinical = item.Where(p => p.Status == "Clinical Sign-Off").FirstOrDefault();
                        clinical.Cycle            = 1;
                        _db.Entry(clinical).State = EntityState.Modified;
                        _db.SaveChanges();
                        var removelist = _db.CategoriesStatuses.Where(p => p.PatientId == clinical.PatientId && p.Id != clinical.Id).ToList();
                        _db.CategoriesStatuses.RemoveRange(removelist);
                        _db.SaveChanges();
                    }
                    else
                    {
                        if (item.Where(p => p.Status == "Enrolled").Count() > 0)
                        {
                            var des = item.OrderByDescending(p => p.UpdatedOn == null ? p.CreatedOn : p.UpdatedOn);


                            var Enrolled = des.Where(p => p.Status == "Enrolled").FirstOrDefault();
                            if (Enrolled != null)
                            {
                                Enrolled.Cycle            = 1;
                                _db.Entry(Enrolled).State = EntityState.Modified;
                                _db.SaveChanges();

                                var removelist = _db.CategoriesStatuses.Where(p => p.PatientId == Enrolled.PatientId && p.Id != Enrolled.Id).ToList();
                                _db.CategoriesStatuses.RemoveRange(removelist);
                                _db.SaveChanges();
                            }
                        }
                    }
                }
            }
        }
Example #8
0
        private static void UpdateData()
        {
            List <Liaison> liaisons = new List <Liaison>();

            using (var _db = new ApplicationdbContect(Properties.Settings.Default.ConnectionString))
            {
                liaisons = _db.Liaisons.Where(x => x.TwilioNumbersTableId != null).ToList();
                foreach (var i in liaisons)
                {
                    TwilioClient.Init(Properties.Settings.Default.TwilioAccountSid, Properties.Settings.Default.TwilioAuthToken);

                    //var availablePhoneNumberCountry = AvailablePhoneNumberCountryResource.Fetch(
                    // pathCountryCode: "US"
                    // );

                    //Console.WriteLine();

                    #region Check Phone Number info friendly name etc
                    var type = new List <string> {
                        "carrier"
                    };

                    var phoneNumber = PhoneNumberResource.Fetch(
                        type: type,
                        pathPhoneNumber: new Twilio.Types.PhoneNumber(i.TwilioCallerId)
                        );

                    Console.WriteLine(phoneNumber.Carrier);
                    Console.WriteLine(phoneNumber.NationalFormat);
                    Console.WriteLine(phoneNumber.PhoneNumber);
                    #endregion


                    #region Map existing number in twilio table
                    if (phoneNumber != null)
                    {
                        TwilioNumbersTable tn = new TwilioNumbersTable();
                        tn.FriendlyPhoneNumer = phoneNumber.NationalFormat;
                        tn.MobilePhoneNumber  = phoneNumber.PhoneNumber.ToString();
                        tn.Status             = true;
                        tn.CreatedOn          = DateTime.Now;
                        tn.CreatedBy          = "bcbfb545-1d9e-40a5-b823-3616c5fc4050";
                        _db.TwilioNumbersTable.Add(tn);
                        _db.SaveChanges();
                        i.TwilioNumbersTableId = tn.Id;
                        i.UpdatedBy            = "bcbfb545-1d9e-40a5-b823-3616c5fc4050";
                        i.UpdatedOn            = DateTime.Now;
                        _db.Entry(i).State     = System.Data.Entity.EntityState.Modified;
                        _db.SaveChanges();
                    }
                    #endregion
                }
            }
        }
Example #9
0
 public static string GetStatusName(int?id)
 {
     try
     {
         using (ApplicationdbContect db = new ApplicationdbContect())
         {
             var statusObj = db.Status.Where(x => x.Id == id).FirstOrDefault();
             return(statusObj != null ? statusObj.statusName : "Not Found");
         }
     }
     catch (Exception ex)
     {
         return("Not Found");
     }
 }
Example #10
0
        public static List <SelectListItem> GetAssigneeUsers(string userid)
        {
            try
            {
                using (ApplicationdbContect db = new ApplicationdbContect())
                {
                    var user1    = db.Users.Find(userid);
                    var allusers = db.Users.Where(x => x.Role != "Patient" && x.Id != user1.Id
                                                  ).Select(x2 => new UsersViewModel {
                        Id = x2.Id, Name = x2.FirstName + " " + x2.LastName + " (" + x2.Role + ")"
                    }).ToList();
                    foreach (var user in allusers)
                    {
                        if (user.Name.Contains("Liaison"))
                        {
                            var istranslator = HelperExtensions.isTranslator(user.Id);
                            var currentUser  = db.Liaisons.Where(x => x.UserId == user.Id).FirstOrDefault();
                            if (istranslator == true)
                            {
                                user.Name     = user.Name.Replace("(Liaison)", "(Translator)");
                                user.isActive = currentUser == null?false: currentUser.isActive;
                            }
                            else
                            {
                                user.Name     = user.Name.Replace("(Liaison)", "(Counselor)");
                                user.isActive = currentUser == null ? false : currentUser.isActive;
                            }
                        }
                        else
                        {
                            user.Name     = user.Name.Replace("(Sales)", "(Enroller)");
                            user.isActive = true;
                        }
                    }

                    return(allusers.OrderBy(m => m.Name).ToList().Select(x => new SelectListItem()
                    {
                        Text = x.Name,
                        Value = x.Id.ToString(),
                        Selected = x.isActive
                    }).ToList());
                }
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Example #11
0
 public static List <SelectListItem> GetTicketStatusAll()
 {
     try
     {
         using (ApplicationdbContect Db = new ApplicationdbContect())
         {
             return(Db.Status.Where(x => (x.statusName != "Pending")).ToList().Select(x => new SelectListItem()
             {
                 Text = x.statusName,
                 Value = x.Id.ToString()
             }).ToList());
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #12
0
 public static List <SelectListItem> GetTicketStatus()
 {
     try
     {
         using (ApplicationdbContect Db = new ApplicationdbContect())
         {
             return(Db.Status.Where(x => (x.statusName.Equals("Open", StringComparison.CurrentCultureIgnoreCase))).ToList().Select(x => new SelectListItem()
             {
                 Text = x.statusName,
                 Value = x.Id.ToString()
             }).ToList());
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #13
0
 public static List <SelectListItem> GetActiveDevicesTypes()
 {
     try
     {
         using (ApplicationdbContect Db = new ApplicationdbContect())
         {
             return(Db.RPMServices.Where(x => x.IsActive == 1).ToList().Select(x => new SelectListItem()
             {
                 Text = x.ServiceName,
                 Value = x.Id.ToString()
             }).ToList());
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #14
0
 public static List <SelectListItem> GetTicketType()
 {
     try
     {
         using (ApplicationdbContect Db = new ApplicationdbContect())
         {
             return(Db.Type.ToList().Select(x => new SelectListItem()
             {
                 Text = x.typeName,
                 Value = x.Id.ToString()
             }).ToList());
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #15
0
        //public static List<SelectListItem> GetStatus()
        //{
        //    IStatusRepository _IStatusRepository = new StatusRepository();

        //    var _List = _IStatusRepository.GetAll().Where(x => x.isDelete == null).Select(x =>
        //      new SelectListItem()
        //      {
        //          Text = x.Status1,
        //          Value = x.StatusID.ToString()
        //      });
        //    return _List.ToList();
        //}

        public static List <SelectListItem> GetTicketSubject()
        {
            try
            {
                using (ApplicationdbContect Db = new ApplicationdbContect())
                {
                    return(Db.TicketGeneration.Where(x => x.isDeleted == null).ToList().Select(x => new SelectListItem()
                    {
                        Text = x.subjectName,
                        Value = x.Id.ToString()
                    }).ToList());
                }
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Example #16
0
 public static List <SelectListItem> GetTicketResolution()
 {
     try
     {
         using (ApplicationdbContect Db = new ApplicationdbContect())
         {
             return(Db.ticketResolution.ToList().Select(x => new SelectListItem()
             {
                 Text = x.resolutionName,
                 Value = x.id.ToString()
             }).OrderByDescending(x => x.Text).ToList());
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #17
0
 public static List <SelectListItem> GetTicketPriority()
 {
     try
     {
         using (ApplicationdbContect Db = new ApplicationdbContect())
         {
             return(Db.Priority.ToList().Select(x => new SelectListItem()
             {
                 Text = x.priorityLevel,
                 Value = x.Id.ToString()
             }).ToList());
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #18
0
 internal static int GetRPMCycle(int Patientid)
 {
     try
     {
         using (ApplicationdbContect Db = new ApplicationdbContect())
         {
             var patient = Db.Patients.Where(x => x.Id == Patientid).AsNoTracking().FirstOrDefault();
             if (patient != null)
             {
                 if (patient.CCMEnrolledOn == null)
                 {
                     return(0);
                 }
                 else
                 {
                     if (patient.EnrollmentSubStatus == "Active Enrolled")
                     {
                         return((((DateTime.Now.Year - patient.CCMEnrolledOn.Value.Year) * 12) + DateTime.Now.Month - patient.CCMEnrolledOn.Value.Month) + 1);
                     }
                     else
                     {
                         var lastcycle = Db.CategoriesStatuses.Where(x => x.PatientId == patient.Id).OrderByDescending(o => o.Id).AsNoTracking().FirstOrDefault();
                         if (lastcycle != null)
                         {
                             return(lastcycle.Cycle.GetInteger());
                         }
                         else
                         {
                             return(0);
                         }
                     }
                 }
             }
             else
             {
                 return(0);
             }
         }
     }
     catch (Exception ex)
     {
         return(0);
     }
 }
Example #19
0
 public static List <SelectListItem> GetTicketStatusWithOutInProgressOrignal()
 {
     try
     {
         using (ApplicationdbContect Db = new ApplicationdbContect())
         {
             //.Where(x => (x.statusName.Equals("Pending", StringComparison.CurrentCultureIgnoreCase) || x.statusName.Equals("Resolved", StringComparison.CurrentCultureIgnoreCase)))
             return(Db.Status.ToList().Where(x => (x.statusName.Equals("In Progress", StringComparison.CurrentCultureIgnoreCase) || x.statusName.Equals("Resolved", StringComparison.CurrentCultureIgnoreCase) || x.statusName.Equals("UnResolved", StringComparison.CurrentCultureIgnoreCase) || x.statusName.Equals("UnResolved", StringComparison.CurrentCultureIgnoreCase) || x.statusName.Equals("Open", StringComparison.CurrentCultureIgnoreCase)))
                    .Select(x => new SelectListItem()
             {
                 Text = x.statusName,
                 Value = x.Id.ToString()
             }).OrderByDescending(x => x.Text).ToList());
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #20
0
        internal static void UpdateCategoryCycle()
        {
            bool CycleEntryForCurrentMonth = HelperExtensions.CycleEntryForCurrentMonth();

            if (CycleEntryForCurrentMonth)
            {
                using (var _db = new ApplicationdbContect())
                {
                    try
                    {
                        var patients = _db.Patients.AsNoTracking().AsQueryable();
                        foreach (var currentPatient in patients)
                        {
                            try
                            {
                                var MonthlyBillingCategory = currentPatient.Patients_BillingCategories.Where(x => x.Status = true && x.BillingCategory.BillingPeriods.BillingPeriodsId == BillingPeriodsHelper.MonthlyPeriod_ID).ToList();
                                MonthlyBillingCategory.ForEach(x =>
                                {
                                    UpdatePatientCycleAndCycleStatus(currentPatient.Id, x.Id);
                                });
                            }
                            catch (Exception e)
                            {
                                HelperExtensions.WriteErrorLog(e);
                            }
                        }
                        _db.automaticCycleStatusEntries.Add(new AutomaticCycleStatusEntry {
                            EntryMonth = DateTime.Now.Month, EntryYear = DateTime.Now.Year
                        });
                        _db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        HelperExtensions.WriteErrorLog(ex);
                    }
                }
            }
        }
Example #21
0
 public static List <SelectListItem> GetPatients()
 {
     try
     {
         using (ApplicationdbContect Db = new ApplicationdbContect())
         {
             var liaisons = Db.Liaisons.Where(x => x.IsTranslator == false).Select(p => new SelectListItem
             {
                 Value = p.Id.ToString(),
                 Text  = p.FirstName + " " + p.LastName
             }).ToList();
             var translator = Db.Liaisons.Where(x => x.IsTranslator == true).Select(p => new SelectListItem
             {
                 Value = p.Id.ToString(),
                 Text  = p.FirstName + " " + p.LastName
             }).ToList();
             var physicians = Db.Physicians.AsNoTracking().Select(p => new SelectListItem
             {
                 Value = p.Id.ToString(),
                 Text  = p.FirstName + " " + p.LastName
             }).ToList();
             var physiciansGroups = Db.PhysiciansGroup.AsNoTracking().Select(p => new SelectListItem
             {
                 Value = p.Id.ToString(),
                 Text  = p.GroupName
             }).ToList();
             return(Db.Priority.ToList().Select(x => new SelectListItem()
             {
                 Text = x.priorityLevel,
                 Value = x.Id.ToString()
             }).ToList());
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Example #22
0
        public static int GetPatientNewOrOldCycleByCategory(int patientid, int BillingCatagoryid)
        {
            try
            {
                using (ApplicationdbContect _db = new ApplicationdbContect())
                {
                    var patient = _db.Patients.Where(x => x.Id == patientid).AsNoTracking().FirstOrDefault();

                    if (patient != null)
                    {
                        if (patient.CCMEnrolledOn == null)
                        {
                            return(0);
                        }
                        else
                        {
                            if (patient.EnrollmentSubStatus == "Active Enrolled")
                            {
                                int cycle = (((DateTime.Now.Year - patient.CCMEnrolledOn.Value.Year) * 12) + DateTime.Now.Month - patient.CCMEnrolledOn.Value.Month) + 1;
                                //try
                                //{
                                //    patient.Cycle = cycle;
                                //    _db.Entry(patient).State = EntityState.Modified;
                                //    _db.SaveChanges();
                                //}
                                //catch { }


                                return(cycle);
                            }
                            else
                            {
                                if (BillingCatagoryid == BillingCodeHelper.cmmBillingCatagoryid || BillingCatagoryid == 0)
                                {
                                    var lastcycle = _db.CCMCycleStatuses.Where(x => x.PatientId == patient.Id).OrderByDescending(o => o.Id).AsNoTracking().FirstOrDefault();
                                    if (lastcycle != null)
                                    {
                                        return(lastcycle.Cycle);
                                    }
                                    else
                                    {
                                        return(0);
                                    }
                                }
                                else
                                {
                                    var lastcycle = _db.CategoriesStatuses.Where(x => x.PatientId == patient.Id && x.BillingCategoryId == BillingCatagoryid).OrderByDescending(o => o.Id).AsNoTracking().FirstOrDefault();
                                    if (lastcycle != null)
                                    {
                                        return(lastcycle.Cycle.GetInteger());
                                    }
                                    else
                                    {
                                        return(0);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        return(0);
                    }
                }
            }
            catch (Exception ex)
            {
                return(0);
            }
        }
Example #23
0
        private static string GetCCMCycleStatus(int patientId, 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 CCMCycleStatus = _db.CCMCycleStatuses.Where(x => x.PatientId == patientId && x.Cycle == Cycle).FirstOrDefault();
                if (CCMCycleStatus == null)
                {
                    CCMCycleStatus cCMCycleStatus = new CCMCycleStatus();
                    cCMCycleStatus.PatientId     = patientId;
                    cCMCycleStatus.Cycle         = Cycle;
                    cCMCycleStatus.RejectedCount = 0;
                    if (Cycle == 0)
                    {
                        cCMCycleStatus.CCMStatus    = "In Progress";
                        cCMCycleStatus.CCMSubStatus = "";
                    }
                    else
                    {
                        cCMCycleStatus.CCMStatus    = "Enrolled";
                        cCMCycleStatus.CCMSubStatus = "";
                    }
                    if (!string.IsNullOrEmpty(patient.EnrollmentSubStatus))
                    {
                        if (patient.EnrollmentSubStatus != "Active Enrolled" && Cycle > 0)
                        {
                            cCMCycleStatus.CCMStatus    = "Expired";
                            cCMCycleStatus.CCMSubStatus = "";
                        }
                    }
                    cCMCycleStatus.CreatedBy = User.Identity.GetUserId();
                    cCMCycleStatus.CreatedOn = DateTime.Now;
                    _db.CCMCycleStatuses.Add(cCMCycleStatus);
                    _db.SaveChanges();
                    return(cCMCycleStatus.CCMStatus);
                }
                else
                {
                    if (!string.IsNullOrEmpty(patient.EnrollmentSubStatus))
                    {
                        if (patient.EnrollmentSubStatus == "Active Enrolled")
                        {
                            if (CCMCycleStatus.CCMStatus != "Claims Submission" && CCMCycleStatus.CCMStatus != "Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "Ready for Clinical Sign-Off" /*&& CCMCycleStatus.CCMStatus != "In Progress"*/)
                            {
                                CCMCycleStatus.CCMStatus        = "Enrolled";
                                CCMCycleStatus.UpdatedOn        = DateTime.Now;
                                CCMCycleStatus.UpdatedBy        = "";
                                _db.Entry(CCMCycleStatus).State = EntityState.Modified;
                                _db.SaveChanges();
                                return("Enrolled");
                            }
                        }
                        else
                        {
                            if (CCMCycleStatus.CCMStatus != "Claims Submission" && CCMCycleStatus.CCMStatus != "Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "Ready for Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "In Progress")
                            {
                                CCMCycleStatus.CCMStatus        = "Expired";
                                CCMCycleStatus.UpdatedOn        = DateTime.Now;
                                CCMCycleStatus.UpdatedBy        = "";
                                _db.Entry(CCMCycleStatus).State = EntityState.Modified;
                                _db.SaveChanges();
                                return("Expired");
                            }
                        }
                        var previouscycles = _db.CCMCycleStatuses.Where(x => x.PatientId == patientId && x.Cycle < Cycle && x.CCMStatus != "Claims Submission" && x.CCMStatus != "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();
                            }
                        }
                    }
                    else
                    {
                        if (patient.EnrollmentSubStatus == "Active Enrolled")
                        {
                            if (CCMCycleStatus.CCMStatus != "Claims Submission" && CCMCycleStatus.CCMStatus != "Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "Ready for Clinical Sign-Off" /*&& CCMCycleStatus.CCMStatus != "In Progress"*/)
                            {
                                CCMCycleStatus.CCMStatus        = "Enrolled";
                                CCMCycleStatus.UpdatedOn        = DateTime.Now;
                                CCMCycleStatus.UpdatedBy        = "";
                                _db.Entry(CCMCycleStatus).State = EntityState.Modified;
                                _db.SaveChanges();
                                return("Enrolled");
                            }
                        }
                        else
                        {
                            if (CCMCycleStatus.CCMStatus != "Claims Submission" && CCMCycleStatus.CCMStatus != "Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "Ready for Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "In Progress")
                            {
                                CCMCycleStatus.CCMStatus        = "Expired";
                                CCMCycleStatus.UpdatedOn        = DateTime.Now;
                                CCMCycleStatus.UpdatedBy        = "";
                                _db.Entry(CCMCycleStatus).State = EntityState.Modified;
                                _db.SaveChanges();
                                return("Expired");
                            }
                        }
                        var previouscycles = _db.CCMCycleStatuses.Where(x => x.PatientId == patientId && x.Cycle < Cycle && x.CCMStatus != "Claims Submission" && x.CCMStatus != "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(CCMCycleStatus.CCMStatus);
                }
            }
        }
Example #24
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);
                }
            }
        }