private static string GetRootContentSection(string contentRoot, RequestAssessmentPcsVo s, int order) { var result = contentRoot; if (s.Sections[order] != null && s.Sections[order].SectionQuestions.Count > 0) { foreach (var item in s.Sections[order].SectionQuestions) { result = result.Replace("{{Order" + item.Order + "}}", item.Content); } } return(result); }
private void GetContentHtml(RequestAssessmentPcsVo objAssessmentPcs, AssessmentDataVo assessmentDataVo) { if (objAssessmentPcs.Sections != null && objAssessmentPcs.Sections.Count > 0) { var header = objAssessmentPcs.Sections.FirstOrDefault(o => o.Order == 0); if (header != null) { for (int i = 1; i < 16; i++) { var field = "ContentHtml" + (i > 9 ? i.ToString() : "0" + i); var contentHtmlSection = GetPropValue(objAssessmentPcs.Sections[i], "ResultContent"); if (contentHtmlSection != null && !string.IsNullOrEmpty(contentHtmlSection.ToString())) { SetPropValue(assessmentDataVo, field, contentHtmlSection); } else { var contentSelected = GetPropValue(assessmentDataVo, field); if (contentSelected == null) { objAssessmentPcs.Sections[i].ResultContent = GetRootContentSection(objAssessmentPcs.Sections[i].Content, objAssessmentPcs, i); } else { objAssessmentPcs.Sections[i].ResultContent = assessmentDataVo.ContentHtml15; } } } assessmentDataVo.ContentHtml = CreateFileHtmlContent(TemplateHelpper.FormatTemplateWithContentTemplate(WebUtility.HtmlDecode(header.Content), new { section1 = string.IsNullOrEmpty(objAssessmentPcs.Sections[1].ResultContent) ? "" : objAssessmentPcs.Sections[1].ResultContent, section2 = string.IsNullOrEmpty(objAssessmentPcs.Sections[2].ResultContent) ? "" : objAssessmentPcs.Sections[2].ResultContent, section3 = string.IsNullOrEmpty(objAssessmentPcs.Sections[3].ResultContent) ? "" : objAssessmentPcs.Sections[3].ResultContent, section4 = string.IsNullOrEmpty(objAssessmentPcs.Sections[4].ResultContent) ? "" : objAssessmentPcs.Sections[4].ResultContent, section5 = string.IsNullOrEmpty(objAssessmentPcs.Sections[5].ResultContent) ? "" : objAssessmentPcs.Sections[5].ResultContent, section6 = string.IsNullOrEmpty(objAssessmentPcs.Sections[6].ResultContent) ? "" : objAssessmentPcs.Sections[6].ResultContent, section7 = string.IsNullOrEmpty(objAssessmentPcs.Sections[7].ResultContent) ? "" : objAssessmentPcs.Sections[7].ResultContent, section8 = string.IsNullOrEmpty(objAssessmentPcs.Sections[8].ResultContent) ? "" : objAssessmentPcs.Sections[8].ResultContent, section9 = string.IsNullOrEmpty(objAssessmentPcs.Sections[9].ResultContent) ? "" : objAssessmentPcs.Sections[9].ResultContent, section10 = string.IsNullOrEmpty(objAssessmentPcs.Sections[10].ResultContent) ? "" : objAssessmentPcs.Sections[10].ResultContent, section11 = string.IsNullOrEmpty(objAssessmentPcs.Sections[11].ResultContent) ? "" : objAssessmentPcs.Sections[11].ResultContent, section12 = string.IsNullOrEmpty(objAssessmentPcs.Sections[12].ResultContent) ? "" : objAssessmentPcs.Sections[12].ResultContent, section13 = string.IsNullOrEmpty(objAssessmentPcs.Sections[13].ResultContent) ? "" : objAssessmentPcs.Sections[13].ResultContent, section14 = string.IsNullOrEmpty(objAssessmentPcs.Sections[14].ResultContent) ? "" : objAssessmentPcs.Sections[14].ResultContent, section15 = string.IsNullOrEmpty(objAssessmentPcs.Sections[15].ResultContent) ? "" : objAssessmentPcs.Sections[15].ResultContent, })); } } }
public string GetMid(RequestAssessmentPcsVo viewModel) { var disclosureFormVo = viewModel.DisclosureFormVo; var fieldMid = viewModel.AssessmentSectionQuestions.FirstOrDefault(o => o.Order == 13); if (fieldMid != null) { if (!string.IsNullOrEmpty(disclosureFormVo.Member.Mid)) { return(disclosureFormVo.Member.Mid); } if (!string.IsNullOrEmpty(fieldMid.Field01)) { return(disclosureFormVo.Member.Mid); } } return(""); }
public List <MessageErrorVo> CheckMidDisclosureFormAndPcstForm(RequestAssessmentPcsVo viewModel) { var listError = new List <MessageErrorVo>(); var disclosureFormVo = viewModel.DisclosureFormVo; var fieldMid = viewModel.AssessmentSectionQuestions.FirstOrDefault(o => o.Order == 13); if (fieldMid != null) { if (!string.IsNullOrEmpty(disclosureFormVo.Member.Mid) && !string.IsNullOrEmpty(fieldMid.Field01)) { if (disclosureFormVo.Member.Mid != fieldMid.Field01) { listError.Add(new MessageErrorVo { MessageError = "MID at Disclosure Form not match PCST Form." }); } } } return(listError); }
private List <MessageErrorVo> CheckErrorExpedited(RequestAssessmentPcsVo viewModel) { var listError = new List <MessageErrorVo>(); var fieldRequestType = viewModel.AssessmentSectionQuestions.FirstOrDefault(o => o.Order == 5); var fieldPeriod = viewModel.AssessmentSectionQuestions.FirstOrDefault(o => o.Order == 64); if (fieldRequestType != null && fieldRequestType.Field01 != null) { if (fieldRequestType.Field01.ToString() == "2") { if (fieldPeriod != null && fieldPeriod.Field01 != null) { if (fieldPeriod.Field01.ToString() != "5") { listError.Add(new MessageErrorVo { MessageError = "Item 64: You must be chosen 1 months (4 weeks) because this request is Expedited Request." }); } } } } return(listError); }
private RequestAssessmentPcsVo GetUpdateAssessment(int id) { var result = new RequestAssessmentPcsVo(); //var SectionVos = new List<SectionVo>(); using (var context = new AssessmentContext()) { var assessment = context.Assessments.FirstOrDefault(o => o.Id == id); if (assessment != null) { //Case for the new assessment if (string.IsNullOrEmpty(assessment.AssessmentData) && string.IsNullOrEmpty(assessment.DisclosureFormData)) { return(GetNewAssessment(assessment.FileName, id)); } string encyptKey = ConfigurationManager.AppSettings["EncyptKey"]; if (string.IsNullOrEmpty(encyptKey)) { throw new Exception("EncyptKey not found in App.config"); } var dataJsonAssessmentData = new AssessmentDataVo(); if (!string.IsNullOrEmpty(assessment.AssessmentData)) { var decryptAssessmentData = EncryptHelper.Decrypt(assessment.AssessmentData, encyptKey); dataJsonAssessmentData = JsonConvert.DeserializeObject <AssessmentDataVo>(decryptAssessmentData); } var dataJsonDiscloseData = new DisclosureFormVo(); if (!string.IsNullOrEmpty(assessment.DisclosureFormData)) { var decryptDiscloseData = EncryptHelper.Decrypt(assessment.DisclosureFormData, encyptKey); dataJsonDiscloseData = JsonConvert.DeserializeObject <DisclosureFormVo>(decryptDiscloseData); } //always get content new result.Sections = GetHtmlToDisplay();//dataJsonAssessmentData.Sections; result.AssessmentSectionQuestions = dataJsonAssessmentData.AssessmentSectionQuestions; result.AssessmentPcsId = assessment.Id; result.AssessmentName = assessment.FileName; if (dataJsonDiscloseData != null && dataJsonDiscloseData.Providers != null && dataJsonDiscloseData.Providers.Count > 0) { foreach (var dt in dataJsonDiscloseData.Providers) { dt.Id = CaculatorHelper.TryParseIntFromStr(dt.Mpi); } } result.DisclosureFormVo = dataJsonDiscloseData; //parse string to DateTime if (result.DisclosureFormVo != null) { if (result.DisclosureFormVo.Member != null) { result.DisclosureFormVo.Member.DobStr = result.DisclosureFormVo.Member.Dob != null? result.DisclosureFormVo.Member.Dob.GetValueOrDefault().ToShortDateString() : ""; } result.DisclosureFormVo.DateSignedStr = result.DisclosureFormVo.DateSigned != null? result.DisclosureFormVo.DateSigned.GetValueOrDefault().ToShortDateString() : ""; result.DisclosureFormVo.TheFollowingDateStr = result.DisclosureFormVo.TheFollowingDate != null ? result.DisclosureFormVo.TheFollowingDate.GetValueOrDefault().ToShortDateString() : ""; } return(result); } return(GetNewAssessment()); } return(result); }
private List <AssQuestionVo> GetAssessmentSectionQuestion(List <SectionVo> list, RequestAssessmentPcsVo objVo) { var result = new List <AssQuestionVo>(); foreach (var section in list) { if (section.Order != 0) { foreach (var sectionQuestion in section.SectionQuestions) { var obj = new AssQuestionVo { SectionQuestionId = sectionQuestion.Id, Order = sectionQuestion.Order, IsSignature = sectionQuestion.IsSignature, IsMid = sectionQuestion.IsMid, Name = sectionQuestion.Name, SectionId = section.Order }; result.Add(obj); } } } return(result); }
private RequestAssessmentPcsVo GetNewAssessment(string fileName = null, int id = 0) { var result = new RequestAssessmentPcsVo(); var SectionVos = new List <SectionVo>(); using (var context = new DefaulDataContext()) { var sections = context.Sections.ToList(); foreach (var section in sections) { var obj = new SectionVo { Id = section.Id, Content = section.Content, Name = section.Name, Order = section.Order, SectionQuestions = new List <SectionQuestionVo>(), }; foreach (var question in section.SectionQuestions) { var objSectionQuestionVo = new SectionQuestionVo { Id = question.Id, Content = question.Content, Order = question.Order, Parameters = question.Parameters, Calculator = question.Calculator, Name = question.Name, IsSignature = question.IsSignature.GetValueOrDefault(), IsSignatureDate = question.IsSignatureDate.GetValueOrDefault(), IsBathing = question.IsBathing.GetValueOrDefault(), IsADLsCal = question.IsADLsCal.GetValueOrDefault(), IsMOT = question.IsMOT.GetValueOrDefault(), IsMedicalAppointments = question.IsMedicalAppointments.GetValueOrDefault(), IsServicesIncidental = question.IsServicesIncidental.GetValueOrDefault(), IsBehaviorsMedicalConditionsSeizures = question.IsBehaviorsMedicalConditionsSeizures.GetValueOrDefault(), IsDiagnoses = question.IsDiagnoses.GetValueOrDefault(), IsMedications = question.IsMedications.GetValueOrDefault(), IsDME = question.IsDME.GetValueOrDefault(), IsAllergies = question.IsAllergies.GetValueOrDefault(), IsFunctionalLimitation = question.IsFunctionalLimitation.GetValueOrDefault(), IsActivitiesPermitted = question.IsActivitiesPermitted.GetValueOrDefault(), IsMentalStatus = question.IsMentalStatus.GetValueOrDefault(), IsReassessmentDue = question.IsReassessmentDue.GetValueOrDefault(), IsCheckZeroMinutesPCST = question.IsCheckZeroMinutesPCST.GetValueOrDefault(), IsMid = question.IsMid, SectionId = question.SectionId }; obj.SectionQuestions.Add(objSectionQuestionVo); //SectionQuestionVos.Add(objSectionQuestionVo); } SectionVos.Add(obj); } } result.Sections = SectionVos; result.AssessmentSectionQuestions = GetAssessmentSectionQuestion(result.Sections, result); result.AssessmentPcsId = id; result.AssessmentName = !string.IsNullOrEmpty(fileName) ? fileName : ""; result.DisclosureFormVo = new DisclosureFormVo(); return(result); }
public static void TrackingCompleteInformation(RequestAssessmentPcsVo viewModel) { var exceptions = new List <string>(); var listMessageErrorTotal = new List <MessageErrorVo>(); List <SectionTempleteVo> parameters = null; var listSectionQuestion = new List <SectionQuestionVo>(); foreach (var sectionVo in viewModel.Sections) { listSectionQuestion.AddRange(sectionVo.SectionQuestions); } listSectionQuestion = listSectionQuestion.OrderBy(o => o.Order).ToList(); foreach (var item in viewModel.AssessmentSectionQuestions) { if (item.Order == 44) { } item.IsValid = null; var objSection = listSectionQuestion.FirstOrDefault(o => o.Order == item.Order); if (objSection != null) { var str = objSection.Parameters; parameters = JsonConvert.DeserializeObject <List <SectionTempleteVo> >(str); var countParameter = parameters.Count; var index = 0; var listMessageError = new List <MessageErrorVo>(); foreach (var parameter in parameters) { if (item.Order == 49 && parameter.Name.Contains("08")) { } index++; var val = GetPropValue(item, parameter.Name); //To check Staffing Schedule of Each Agency or Provider Providing Services if (parameter.CheckListStaffingScheduleServices == true) { CheckListStaffingScheduleServices(parameter, item, val, listMessageError); } //Schedule of any informal supports else if (parameter.CheckListInformalSupports == true) { CheckListInformalSupports(parameter, item, val, listMessageError); } //List of Diagnoses Conditions else if (parameter.CheckTypeListDiagnosesConditions == true) { if (val == null) { item.IsValid = false; AddMessageError(parameter, listMessageError, item); } else { CheckTypeListDiagnosesConditions(parameter, item, val, listMessageError); } } //MOT List Other Miscellaneous else if (parameter.CheckTypeListOtherMiscellaneous == true) { #region //if (item.IsValid != false) //{ var referField = parameter.ReferRequiredField; var referFieldVal = parameter.ReferRequiredValueField; if (referField != null && referFieldVal != null) { var valOfReferField = GetPropValue(item, referField); if (valOfReferField != null) { if (referFieldVal.Contains(valOfReferField.ToString().ToLower())) { if (val == null) { item.IsValid = false; AddMessageError(parameter, listMessageError, item); } else { CheckTypeListOtherMiscellaneous(parameter, item, val, listMessageError); //check Max value //var row = 0; //var listObj = JsonConvert.DeserializeObject<List<OrderItemReport>>(val.ToString()); //foreach (var obj in listObj) //{ // //Max per day // if (parameter.MaxValuePerDay != null) // { // if (!string.IsNullOrEmpty(obj.Field02)) // { // row++; // var perDay = Convert.ToInt32(obj.Field02); // if (perDay > parameter.MaxValuePerDay.GetValueOrDefault()) // { // item.IsValid = false; // AddMessageErrorMaxValueMiscellaneous(parameter, listMessageError, item, parameter.MaxValuePerDay.GetValueOrDefault(), row, 1); // } // var perWeek = Convert.ToInt32(obj.Field03); // if (perWeek > parameter.MaxValuePerWeek.GetValueOrDefault()) // { // item.IsValid = false; // AddMessageErrorMaxValueMiscellaneous(parameter, listMessageError, item, parameter.MaxValuePerWeek.GetValueOrDefault(), row, 2); // } // } // } //} } } } //} } #endregion } //Check Demonstrated Ability to required option else if (parameter.AbilityField != null && parameter.AbilityFieldToRequred != null) { CheckReferRequiredFieldDemonstratedAbility(parameter, item, parameters, val, listMessageError); } else if (val == null || string.IsNullOrEmpty(val.ToString())) { #region //Check required if (parameter.IsValidation == true) { item.IsValid = false; AddMessageError(parameter, listMessageError, item); } //Check Refer Field if (!string.IsNullOrEmpty(parameter.ReferRequiredField)) { CheckReferRequiredField(parameter, item, parameters, val, listMessageError); } //Check group Field DataType = string if (parameter.GroupRequiredFieldString != null) { CheckGroupRequiredString(parameter, item, listMessageError); } //Check group Field DataType = bool if (parameter.GroupRequiredFieldBool != null) { CheckGroupRequiredBool(parameter, item, listMessageError); } if (parameter.RefFieldToCheck != null && parameter.ListValRefFieldToCheck != null && parameter.ListSameField != null) { CheckReferRequiredFieldWasCheckAleast(parameter, item, listMessageError); } //Check Group Field is required if (parameter.GroupFieldToRequired != null) { CheckGroupFieldToRequired(parameter, item, parameters, val, listMessageError); } //Check at least checkbox is checked if (parameter.GroupRequiredALeastField != null && parameter.GroupRequiredALeastFieldRefer != null) { GroupRequiredALeastField(parameter, item, listMessageError); } #endregion } else { #region var valStr = val.ToString(); switch (parameter.DataType) { case SectionDataType.Hour: try { DateTime dt = DateTime.Parse(DateTime.Now.ToShortDateString() + " " + valStr, new CultureInfo("en-US")); } catch (FormatException) { item.IsValid = false; AddMessageError(parameter, listMessageError, item); } break; //case SectionDataType.Int: // int valInt; // if (int.TryParse(valStr, out valInt)) // { // //if (parameter.IsNullIfValue != null && valInt == parameter.IsNullIfValue) // //{ // // AddMessageError(parameter, listMessageError, item); // //} // if (parameter.MaxValue != null) // { // if (parameter.MaxValue.GetValueOrDefault() < valInt) // { // item.IsValid = false; // AddMessageErrorMaxValue(parameter, listMessageError, item, parameter.MaxValue.GetValueOrDefault()); // } // } // } // break; } #endregion } } if (item.IsValid != false) { item.IsValid = true; } item.MessageError = JsonConvert.SerializeObject(listMessageError); if (countParameter == index && listMessageError.Count > 0) { if (viewModel.CurrentSectionId != null) { if (objSection.SectionId == viewModel.CurrentSectionId + 1) { listMessageErrorTotal.AddRange(listMessageError); } } else { listMessageErrorTotal.AddRange(listMessageError); } } } } if (exceptions.Count > 0) { viewModel.Exceptions = exceptions; } if (listMessageErrorTotal.Count > 0) { viewModel.MessageErrorTotal = listMessageErrorTotal; } }