예제 #1
0
        public string GetCCMCycle(int patientId, int Cycle)
        {
            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 = "";
                }

                cCMCycleStatus.CreatedBy = User.Identity.GetUserId();
                cCMCycleStatus.CreatedOn = DateTime.Now;
                _db.CCMCycleStatuses.Add(cCMCycleStatus);
                _db.SaveChanges();
                return(cCMCycleStatus.CCMStatus);
            }
            else
            {
                return(CCMCycleStatus.CCMStatus);
            }
            //return HelperExtensions.GetCCMCycleStatus(patientId, Cycle, User.Identity.GetUserId());
        }
예제 #2
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);
                }
            }
        }