Ejemplo n.º 1
0
        public async Task <ActionResult> Index(string to)
        {
            var from      = Request["From"];
            var to1       = Request["To"];
            var callsid   = Request["CallSid"];
            var patientid = Request["PatientID"];
            var liaisonId = Request["LiaisonID"];
            //var fromcode = Request["CallerCountry"];
            //var tocode = Request["ToCountry"];
            //var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(_db));
            //ApplicationUser currentUser = UserManager.FindById(User.Identity.GetUserId());
            var callerid = ConfigurationManager.AppSettings["TwilioCallerId"];

            try
            {
                var callHistory = new CallHistory()
                {
                    To           = to,
                    From         = from,
                    PatientID    = Convert.ToInt32(patientid),
                    TwilioCallId = callsid,
                    Direction    = "Outgoing",
                    LiaisonId    = Convert.ToInt32(liaisonId)
                };
                _db.CallHistories.Add(callHistory);
                _db.SaveChanges();
            }
            catch (Exception ex)
            {
                WriteErrorLog(ex);
            }
            try
            {
                var Calleridnew = Request["From"];
                if (!string.IsNullOrEmpty(Calleridnew))
                {
                    callerid = Calleridnew;
                }
            }
            catch (Exception ex)
            {
                WriteErrorLog(ex);
            }
            if (!string.IsNullOrEmpty(to))
            {
                return(Content(new VoiceResponse()
                               .Dial(new Dial(callerId: callerid,
                                              record: "Record-from-ringing", recordingStatusCallback: Url.ActionUri("SaveRecordings", "Voice"), recordingStatusCallbackMethod: Twilio.Http.HttpMethod.Post).Number(to)).ToString(), "text/xml"));
            }
            else
            {
                var response = new VoiceResponse();
                response.Say("Thanks for calling!");
                return(Content(response.ToString(), "text/xml"));
            }
        }
Ejemplo n.º 2
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
                }
            }
        }
Ejemplo n.º 3
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));
                }
            }
        }
Ejemplo n.º 4
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);
            }
        }
Ejemplo n.º 5
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);
            }
        }
Ejemplo n.º 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);
            }
        }
Ejemplo n.º 7
0
 internal static void SeedData()
 {
     //Seed Billing Periods
     if (_db.BillingPeriods.ToList().Count() < BillingPeriodList.Count())
     {
         foreach (var i in BillingPeriodList)
         {
             var billingPeriod = _db.BillingPeriods.Where(x => x.Name == i).FirstOrDefault();
             if (billingPeriod == null)
             {
                 _db.BillingPeriods.Add(new BillingPeriods()
                 {
                     Name        = i,
                     Description = i
                 });
                 _db.SaveChanges();
             }
         }
     }
 }
Ejemplo n.º 8
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();
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 9
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);
                    }
                }
            }
        }
Ejemplo n.º 10
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);
                }
            }
        }
Ejemplo n.º 11
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);
                }
            }
        }
Ejemplo n.º 12
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();
            }
        }
Ejemplo n.º 13
0
        public async Task <ActionResult> Create([Bind(Exclude = "Photo")] Physician physician)
        {
            //    , decimal CPT99490Billing, decimal CPT99491Billing, decimal CPT99487Billing, decimal CPT99489Billing, decimal CPT99490Invoice, decimal CPT99491Invoice, decimal CPT99487Invoice, decimal CPT99489Invoice
            if (ModelState.IsValid)
            {
                var existingUser = await UserManager.FindByNameAsync(physician.Email);

                if (existingUser == null)
                {
                    physician.CreatedOn = DateTime.Now;
                    physician.CreatedBy = User.Identity.GetUserId();
                    var postedImageFile = Request.Files["Photo"];

                    if (postedImageFile?.ContentLength != 0 && postedImageFile?.InputStream != null)
                    {
                        using (var binary = new BinaryReader(postedImageFile.InputStream))
                        {
                            var imageData = binary.ReadBytes(postedImageFile.ContentLength);
                            if (imageData.Length > 0)
                            {
                                physician.Photo = imageData;
                            }
                        }
                    }
                    _db.Physicians.Add(physician);
                    _db.SaveChanges();
                    try
                    {
                        //Physician_CPTRates physician_CPTRatesCPT99490 = new Physician_CPTRates();
                        //physician_CPTRatesCPT99490.BillingCode = "CPT99490";
                        //physician_CPTRatesCPT99490.BillingRate = CPT99490Billing;
                        //physician_CPTRatesCPT99490.InvoiceRate = CPT99490Invoice;
                        //physician_CPTRatesCPT99490.CreatedBy = User.Identity.GetUserId();
                        //physician_CPTRatesCPT99490.CreatedOn = DateTime.Now;
                        //physician_CPTRatesCPT99490.PhysicianId = physician.Id;
                        ////CPTpp491
                        //Physician_CPTRates physician_CPTRatesCPT99491 = new Physician_CPTRates();
                        //physician_CPTRatesCPT99491.BillingCode = "CPT99491";
                        //physician_CPTRatesCPT99491.BillingRate = CPT99491Billing;
                        //physician_CPTRatesCPT99491.InvoiceRate = CPT99491Invoice;
                        //physician_CPTRatesCPT99491.CreatedBy = User.Identity.GetUserId();
                        //physician_CPTRatesCPT99491.CreatedOn = DateTime.Now;
                        //physician_CPTRatesCPT99491.PhysicianId = physician.Id;
                        ////CPT99487
                        //Physician_CPTRates physician_CPTRatesCPT99487 = new Physician_CPTRates();
                        //physician_CPTRatesCPT99487.BillingCode = "CPT99487";
                        //physician_CPTRatesCPT99487.BillingRate = CPT99487Billing;
                        //physician_CPTRatesCPT99487.InvoiceRate = CPT99487Invoice;
                        //physician_CPTRatesCPT99487.CreatedBy = User.Identity.GetUserId();
                        //physician_CPTRatesCPT99487.CreatedOn = DateTime.Now;
                        //physician_CPTRatesCPT99487.PhysicianId = physician.Id;
                        ////CPT99489
                        //Physician_CPTRates physician_CPTRatesCPT99489 = new Physician_CPTRates();
                        //physician_CPTRatesCPT99489.BillingCode = "CPT99489";
                        //physician_CPTRatesCPT99489.BillingRate = CPT99489Billing;
                        //physician_CPTRatesCPT99489.InvoiceRate = CPT99489Invoice;
                        //physician_CPTRatesCPT99489.CreatedBy = User.Identity.GetUserId();
                        //physician_CPTRatesCPT99489.CreatedOn = DateTime.Now;
                        //physician_CPTRatesCPT99489.PhysicianId = physician.Id;

                        //_db.Physician_CPTRates.Add(physician_CPTRatesCPT99490);
                        //_db.Physician_CPTRates.Add(physician_CPTRatesCPT99491);
                        //_db.Physician_CPTRates.Add(physician_CPTRatesCPT99487);
                        //_db.Physician_CPTRates.Add(physician_CPTRatesCPT99489);
                        //_db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                    }



                    var user = new ApplicationUser {
                        UserName = physician.Email, Email = physician.Email
                    };
                    var password = physician.LastName.ToLower() + "#PH1013"; // + physician.Id;
                    var result   = await UserManager.CreateAsync(user, password);

                    if (result.Succeeded)
                    {
                        user.Role        = "Physician";
                        user.CCMid       = physician.Id;
                        user.FirstName   = physician.FirstName;
                        user.LastName    = physician.LastName;
                        user.PhoneNumber = physician.MobilePhoneNumber;

                        await UserManager.AddToRoleAsync(user.Id, "Physician");

                        _db.Entry(user).State = EntityState.Modified;
                        await _db.SaveChangesAsync();

                        ViewBag.Message  = "Physician Portal Created.";
                        ViewBag.Username = user.Email;
                        ViewBag.Password = password;

                        return(View(physician));
                    }

                    _db.Physicians.Remove(physician);
                    await _db.SaveChangesAsync();

                    ViewBag.Message = "Error: Unable To Create Physician Portal! Please, Try Again.";
                    return(View(physician));
                }

                ViewBag.Message = "Email Already Exists! Physician Portal Not Created!.";
            }

            return(View(physician));
        }