public PartialViewResult _reportSectionForm(int ReportSectionID, int TVItemID) { ViewBag.ReportSectionModelList = null; List <ReportSectionModel> reportSectionModelList = new List <ReportSectionModel>(); ReportSectionModel reportSectionModel = _ReportSectionService.GetReportSectionModelWithReportSectionIDDB(ReportSectionID); reportSectionModelList.Add(reportSectionModel); List <ReportSectionModel> reportSectionModelLinkList = _ReportSectionService.GetReportSectionModelListWithReportSectionIDTemplateLinkAndTVItemIDForAllYearsDB(ReportSectionID, TVItemID); foreach (ReportSectionModel reportSectionModelLink in reportSectionModelLinkList) { reportSectionModelList.Add(reportSectionModelLink); } ViewBag.ReportSectionModelList = reportSectionModelList; return(PartialView()); }
public ActionResult PatientSummary(long id) { _model = new PreScreenModel(); SetContextLists(); PopulateAccordions(_model); PopulateItems(_model); var preScreen = _dataContext.PreScreens.Find(id); ApplyFilter(preScreen.PreScreenType.Name); ReportModel model = new ReportModel(); var section = new ReportSectionModel() { Label = "Patient Demographics" }; model.Sections.Add(section); var modelSections = GetSections(); var patientId = _dataContext.PreScreens.Find(id).PatientId; foreach (var item in _dataContext.PatientData.Where(p => p.PatientId == patientId && p.Deleted == false && p.SectionCode == "demographics.general").OrderBy(p => p.PatientDataId).ToList()) { section.Items.Add(new ReportItemModel() { Label = item.Label, Value = item.Value }); } Dictionary <string, string> sections = new Dictionary <string, string>(); sections.Add("psstatus.preadmission", "PS Pt. Status - Pre - Admission"); sections.Add("psstatus.ivfluids", "PS Pt. Status - IV Fluids or IV Meds(e.g., IV Antibiotics, IV Lasix etc.) > _ 1x daily"); sections.Add("psstatus.isolationtype", "PS Pt. Status - Isolation Type"); sections.Add("psstatus.diet", "PS Pt. Status - Diet"); sections.Add("psstatus.bladder", "PS Pt. Status - Bladder"); sections.Add("pssystems.neuroassessment", "PS Pt. Systems - Neuro Assessment"); sections.Add("pssystems.cardiovascular", "PS Pt. Systems - Cardiovascular"); sections.Add("pssystems.gastrointestinal", "PS Pt. Systems - Gastrointestinal"); sections.Add("pssystems.wounds", "PS Pt. Systems - Wounds"); sections.Add("pssystems.renalfunction", "PS Pt. Systems - Renal Function"); sections.Add("pssystems.dialysis", "PS Pt. Systems - Dialysis"); sections.Add("psfunctions.ptotsummary", "PS Function & Equipment - PT / OT Summary"); sections.Add("psfunctions.specialequipment", "PS Function & Equipment - Special Equipment"); sections.Add("psrespiratory.treatments", "PS Respiratory - Treatments"); sections.Add("psrespiratory.oxygenrequired", "PS Respiratory - Oxygen Required"); sections.Add("psrespiratory.ventilation", "PS Respiratory - Ventilation"); sections.Add("psrespiratory.mode2", "PS Respiratory - Mode"); sections.Add("psrespiratory.arterialbloodgases", "PS Respiratory - Arterial Blood Gases"); sections.Add("psrespiratory.trach", "PS Respiratory - Trach"); sections.Add("psrespiratory.chesttube", "PS Respiratory - Chest Tube"); sections.Add("pslabs.medicationlist", "PS Labs - Medication List"); sections.Add("pslabs.bloodworklabs", "PS Labs - Blood Work/ Labs"); section = new ReportSectionModel() { Label = "Key Clinical Indicators" }; model.Sections.Add(section); foreach (var key in sections.Keys) { foreach (var item in _dataContext.PreScreenData.Where(p => p.PreScreenId == id && p.Deleted == false && p.SectionCode == key).OrderBy(p => p.PreScreenDataId).ToList()) { if (modelSections.Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode && p.KeyClinicalIndicator == true).Count() <= 0) { continue; } var reportItem = new ReportItemModel() { Label = item.Label, Value = item.Value, Type = item.Type }; if (reportItem.Type == "Table") { reportItem.Table = (TableDataModel)Common.XmlDeserialize(typeof(TableDataModel), item.Value); reportItem.HeaderList = modelSections.Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode).Single().LabelList; } if (reportItem.Type == "Dropdown") { var value = item.Value; var values = modelSections.Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode).Single().ValueList.ToArray(); var labels = modelSections.Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode).Single().LabelList.ToArray(); var index = Array.IndexOf(values, value); reportItem.Value = labels[index]; } var modelItem = modelSections.Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode).Single(); if (modelItem.KeyClinicalIndicatorAssertValue != null) { if (modelItem.KeyClinicalIndicatorAssertValue.Split('|').Contains(item.Value)) { section.Items.Add(reportItem); } } else { section.Items.Add(reportItem); } } } //Add code for key clinical indicators. sections = new Dictionary <string, string>(); sections.Add("referralsourceinfo.general", "Referral Source Info"); foreach (var key in sections.Keys) { section = new ReportSectionModel() { Label = sections[key] }; foreach (var item in _dataContext.PreScreenData.Where(p => p.PreScreenId == id && p.Deleted == false && p.SectionCode == key).OrderBy(p => p.PreScreenDataId).ToList()) { var reportItem = new ReportItemModel() { Label = item.Label, Value = item.Value, Type = item.Type }; if (reportItem.Type == "Table") { reportItem.Table = (TableDataModel)Common.XmlDeserialize(typeof(TableDataModel), item.Value); reportItem.HeaderList = modelSections.Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode).Single().LabelList; } if (reportItem.Type == "Dropdown") { var value = item.Value; var values = modelSections.Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode).Single().ValueList.ToArray(); var labels = modelSections.Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode).Single().LabelList.ToArray(); var index = Array.IndexOf(values, value); reportItem.Value = labels[index]; } section.Items.Add(reportItem); } model.Sections.Add(section); } return(View(model)); }
public ActionResult IVF(long id) { _model = new PreScreenModel(); SetContextLists(); PopulateAccordions(_model); PopulateItems(_model); var preScreen = _dataContext.PreScreens.Find(id); ApplyFilter(preScreen.PreScreenType.Name); ReportModel model = new ReportModel(); var section = new ReportSectionModel() { Label = "Patient Demographics", DisplaySeparate = true }; model.Sections.Add(section); var patientId = _dataContext.PreScreens.Find(id).PatientId; foreach (var item in _dataContext.PatientData.Where(p => p.PatientId == patientId && p.Deleted == false && p.SectionCode == "demographics.general").OrderBy(p => p.PatientDataId).ToList()) { section.Items.Add(new ReportItemModel() { Label = item.Label, Value = item.Value }); } Dictionary <string, string> sections = new Dictionary <string, string>(); sections.Add("payorinfo.primary.all", "Primary Payor - All"); sections.Add("payorinfo.primary.general", "Primary Payor - General"); sections.Add("payorinfo.primary.medicare", "Primary Payor - Medicare"); sections.Add("payorinfo.secondary.all", "Secondary Payor - All"); sections.Add("payorinfo.secondary.general", "Secondary Payor - General"); sections.Add("payorinfo.secondary.medicare", "Secondary Payor - Medicare"); sections.Add("payorinfo.tertiary.all", "Tertiary Payor - All"); sections.Add("payorinfo.tertiary.general", "Tertiary Payor - General"); sections.Add("payorinfo.tertiary.medicare", "Tertiary Payor - Medicare"); var modelSections = GetSections(); foreach (var key in sections.Keys) { section = new ReportSectionModel() { Label = sections[key] }; foreach (var item in _dataContext.PatientData.Where(p => p.PatientId == patientId && p.Deleted == false && p.SectionCode == key).OrderBy(p => p.PatientDataId).ToList()) { if (modelSections.Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode && p.IsIVFField == true).Count() <= 0) { continue; } var reportItem = new ReportItemModel() { Label = item.Label, Value = item.Value, Type = item.Type }; if (reportItem.Type == "Table") { reportItem.Table = (TableDataModel)Common.XmlDeserialize(typeof(TableDataModel), item.Value); reportItem.HeaderList = GetSections().Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode).Single().LabelList; } section.Items.Add(reportItem); } model.Sections.Add(section); } return(View(model)); }
//[HttpPost] public ActionResult Report(long id) { _model = new PreScreenModel(); SetContextLists(); PopulateAccordions(_model); PopulateItems(_model); var preScreen = _dataContext.PreScreens.Find(id); ApplyFilter(preScreen.PreScreenType.Name); ReportModel model = new ReportModel(); var section = new ReportSectionModel() { Label = "Patient Demographics" }; model.Sections.Add(section); var patientId = _dataContext.PreScreens.Find(id).PatientId; foreach (var item in _dataContext.PatientData.Where(p => p.PatientId == patientId && p.Deleted == false && p.SectionCode == "demographics.general").OrderBy(p => p.PatientDataId).ToList()) { section.Items.Add(new ReportItemModel() { Label = item.Label, Value = item.Value }); } Dictionary <string, string> sections = new Dictionary <string, string>(); sections.Add("psstatus.prehospitalliving", "PS Pt. Status - Pre - Hospital Living"); sections.Add("psstatus.languagecommunicationneeds", "PS Pt. Status - Language Communication Needs"); sections.Add("psstatus.preadmission", "PS Pt. Status - Pre - Admission"); sections.Add("psstatus.listallacute", "PS Pt. Status - List All Acute Care Hospitalizations During the Last 60 Days"); sections.Add("psstatus.surgery", "PS Pt. Status - Surgery"); sections.Add("psstatus.socialhistory", "PS Pt. Status - Social History"); sections.Add("psstatus.ivaccess", "PS Pt. Status - IV Access"); sections.Add("psstatus.ivfluids", "PS Pt. Status - IV Fluids or IV Meds(e.g., IV Antibiotics, IV Lasix etc.) > _ 1x daily"); sections.Add("psstatus.infection", "PS Pt. Status - Infection"); sections.Add("psstatus.isolationtype", "PS Pt. Status - Isolation Type"); sections.Add("psstatus.diet", "PS Pt. Status - Diet"); sections.Add("psstatus.bladder", "PS Pt. Status - Bladder"); sections.Add("psstatus.bladderappliance", "PS Pt. Status - Bladder Appliance"); sections.Add("psstatus.bowel", "PS Pt. Status - Bowel"); sections.Add("psstatus.bowelappliance", "PS Pt. Status - Bowel Appliance"); sections.Add("psstatus.vitals", "PS Pt. Status - Vitals"); sections.Add("psstatus.painscale", "PS Pt. Status - Pain Scale"); sections.Add("psstatus.vaccinations", "PS Pt. Status - Vaccinations"); sections.Add("psstatus.psychsocial", "PS Pt. Status - Psych - Social"); sections.Add("pssystems.specialprecautionsisolation", "PS Pt. Systems - Special Precautions / Isolation"); sections.Add("pssystems.allergies", "PS Pt. Systems - Allergies"); sections.Add("pssystems.neuroassessment", "PS Pt. Systems - Neuro Assessment"); sections.Add("pssystems.cognitive", "PS Pt. Systems - Cognitive"); sections.Add("pssystems.vision", "PS Pt. Systems - Vision"); sections.Add("pssystems.hearing", "PS Pt. Systems - Hearing"); sections.Add("pssystems.cardiovascular", "PS Pt. Systems - Cardiovascular"); sections.Add("pssystems.gastrointestinal", "PS Pt. Systems - Gastrointestinal"); sections.Add("pssystems.musculoskeletal", "PS Pt. Systems - Musculoskeletal"); sections.Add("pssystems.skin", "PS Pt. Systems - Skin"); sections.Add("pssystems.wounds", "PS Pt. Systems - Wounds"); sections.Add("pssystems.endocrine", "PS Pt. Systems - Endocrine"); sections.Add("pssystems.renalfunction", "PS Pt. Systems - Renal Function"); sections.Add("pssystems.dialysis", "PS Pt. Systems - Dialysis"); sections.Add("pssystems.dialysisaccess", "PS Pt. Systems - Dialysis Access"); sections.Add("psfunctions.ptotsummary", "PS Function & Equipment - PT / OT Summary"); sections.Add("psfunctions.motor", "PS Function & Equipment - Motor"); sections.Add("psfunctions.verbal", "PS Function & Equipment - Verbal"); sections.Add("psfunctions.safety", "PS Function & Equipment - Safety"); sections.Add("psfunctions.restraints", "PS Function & Equipment - Restraints"); sections.Add("psfunctions.specialequipment", "PS Function & Equipment - Special Equipment"); sections.Add("psrespiratory.respiratorystatus", "PS Respiratory - Respiratory Status"); sections.Add("psrespiratory.treatments", "PS Respiratory - Treatments"); sections.Add("psrespiratory.oxygenrequired", "PS Respiratory - Oxygen Required"); sections.Add("psrespiratory.mode", "PS Respiratory - Mode"); sections.Add("psrespiratory.ventilation", "PS Respiratory - Ventilation"); sections.Add("psrespiratory.frequency", "PS Respiratory - Frequency"); sections.Add("psrespiratory.mode2", "PS Respiratory - Mode"); sections.Add("psrespiratory.arterialbloodgases", "PS Respiratory - Arterial Blood Gases"); sections.Add("psrespiratory.trach", "PS Respiratory - Trach"); sections.Add("psrespiratory.ettube", "PS Respiratory - ET Tube"); sections.Add("psrespiratory.chesttube", "PS Respiratory - Chest Tube"); sections.Add("pslabs.medicationlist", "PS Labs - Medication List"); sections.Add("pslabs.bloodproducts", "PS Labs - Blood/ Blood Products"); sections.Add("pslabs.bloodworklabs", "PS Labs - Blood Work/ Labs"); sections.Add("pslabs.microbiology", "PS Labs - Microbiology"); sections.Add("pslabs.studies", "PS Labs - Studies"); foreach (var key in sections.Keys) { section = new ReportSectionModel() { Label = sections[key] }; foreach (var item in _dataContext.PreScreenData.Where(p => p.PreScreenId == id && p.Deleted == false && p.SectionCode == key).OrderBy(p => p.PreScreenDataId).ToList()) { var reportItem = new ReportItemModel() { Label = item.Label, Value = item.Value, Type = item.Type }; if (reportItem.Type == "Table") { reportItem.Table = (TableDataModel)Common.XmlDeserialize(typeof(TableDataModel), item.Value); reportItem.HeaderList = GetSections().Where(p => p.GetUniqueClientCode() == $"{_prefix}{key}").Single().Items.Where(p => p.ClientCode == item.ItemCode).Single().LabelList; } section.Items.Add(reportItem); } model.Sections.Add(section); } return(View(model)); }
public void PublicGenerateHTMLSUBSECTOR_GenerateSectionsRecursiveDocx_Test() { foreach (LanguageEnum LanguageRequest in new List <LanguageEnum>() { LanguageEnum.en, LanguageEnum.fr }) { SetupTest(LanguageRequest); ReportSectionModel reportSectionModel = _ReportSectionService.GetReportSectionModelWithReportSectionIDDB(95); Assert.IsNotNull(reportSectionModel); int SubsectorTVItemID = 635; int ReportTypeID = 32; int Year = 2018; FileInfo fi = new FileInfo(@"C:\Users\leblancc\Desktop\TestHTML\_GenerateSectionsRecursiveDocx_" + LanguageRequest.ToString() + ".html"); StringBuilder sbHTML = new StringBuilder(); string Parameters = $"|||TVItemID,{ SubsectorTVItemID }|||ReportTypeID,{ ReportTypeID }|||Year,{ Year }|||"; ReportTypeModel reportTypeModel = _ReportTypeService.GetReportTypeModelWithReportTypeIDDB(ReportTypeID); AppTaskModel appTaskModel = new AppTaskModel() { AppTaskID = 10000, TVItemID = SubsectorTVItemID, TVItemID2 = SubsectorTVItemID, AppTaskCommand = AppTaskCommandEnum.CreateDocumentFromParameters, AppTaskStatus = AppTaskStatusEnum.Created, PercentCompleted = 1, Parameters = Parameters, Language = LanguageRequest, StartDateTime_UTC = DateTime.Now, EndDateTime_UTC = null, EstimatedLength_second = null, RemainingTime_second = null, LastUpdateDate_UTC = DateTime.Now, LastUpdateContactTVItemID = 2, // Charles LeBlanc }; appTaskModel.AppTaskStatus = AppTaskStatusEnum.Running; BWObj bwObj = new BWObj() { Index = 1, appTaskModel = appTaskModel, appTaskCommand = appTaskModel.AppTaskCommand, TextLanguageList = new List <TextLanguage>(), bw = new BackgroundWorker(), }; TaskRunnerBaseService taskRunnerBaseService = new TaskRunnerBaseService(new List <BWObj>() { bwObj }); taskRunnerBaseService._BWObj = bwObj; ParametersService parameterService = new ParametersService(taskRunnerBaseService); parameterService.fi = fi; parameterService.sb = sbHTML; parameterService.Parameters = Parameters; parameterService.reportTypeModel = reportTypeModel; parameterService.TVItemID = SubsectorTVItemID; parameterService.Year = Year; StringBuilder sbTemp = new StringBuilder(); // bool retBool = parameterService.GenerateSectionsRecursiveDocx(reportSectionModel); //Assert.AreEqual(true, retBool); StreamWriter sw = fi.CreateText(); sw.Write(sbTemp.ToString()); sw.Flush(); sw.Close(); } }
private bool GenerateSectionsRecursiveDocx(ReportSectionModel reportSectionModel) { List <ReportSectionModel> reportSectionModelList = new List <ReportSectionModel>(); if (reportSectionModel.ReportSectionID == 0) { reportSectionModelList = _ReportSectionService.GetReportSectionModelListWithReportTypeIDAndTVItemIDAndYearDB(reportTypeModel.ReportTypeID, null, null).Where(c => c.ParentReportSectionID == null).OrderBy(c => c.Ordinal).ToList(); } else { reportSectionModelList = new List <ReportSectionModel>() { reportSectionModel }; } if (reportSectionModelList.Count == 0) { sb.AppendLine(TaskRunnerServiceRes.NoReportSectionFound); } else { foreach (ReportSectionModel reportSectionModelTemp in reportSectionModelList) { if (reportSectionModelTemp.Year != null && reportSectionModelTemp.Year != Year) { sb.Append($@"<p class=""bgyellow"">{ TaskRunnerServiceRes.From } { reportSectionModelTemp.Year } { TaskRunnerServiceRes.Report }. ({ TaskRunnerServiceRes.Below })</p>"); sb.Append(reportSectionModelTemp.ReportSectionText); sb.Append($@"<p class=""bgyellow"">{ TaskRunnerServiceRes.From } { reportSectionModelTemp.Year } { TaskRunnerServiceRes.Report }. ({ TaskRunnerServiceRes.Above })</p>"); } else { sb.Append(reportSectionModelTemp.ReportSectionText); } List <ReportSectionModel> reportSectionModelAllChildrenList = _ReportSectionService.GetReportSectionModelListWithParentReportSectionIDDB(reportSectionModelTemp.ReportSectionID, reportSectionModelTemp.Language).OrderBy(c => c.Ordinal).ToList(); ReportSectionModel reportSectionModelNonStaticChild = (from c in reportSectionModelAllChildrenList where c.TVItemID == TVItemID && c.Year != null && c.Year <= Year orderby c.Year descending select c).FirstOrDefault(); List <ReportSectionModel> reportSectionModelAllStaticChildrenList = (from c in reportSectionModelAllChildrenList where c.TVItemID == null && c.Year == null select c).ToList(); List <ReportSectionModel> reportSectionModelChildrenList = new List <ReportSectionModel>(); int Ordinal = 0; if (reportSectionModelNonStaticChild != null) { Ordinal = reportSectionModelNonStaticChild.Ordinal; reportSectionModelChildrenList.Add(reportSectionModelNonStaticChild); } foreach (ReportSectionModel reportSectionModelNoYear in reportSectionModelAllStaticChildrenList) { if (Ordinal > 0 && reportSectionModelNoYear.Ordinal == Ordinal) { continue; } reportSectionModelChildrenList.Add(reportSectionModelNoYear); } foreach (ReportSectionModel reportSectionModelChild in reportSectionModelChildrenList) { GenerateSectionsRecursiveDocx(reportSectionModelChild); } } } return(true); }
public JsonResult ReportSectionOrdinalUpJSON(int ReportSectionID) { ReportSectionModel reportSectionModel = _ReportSectionService.PostReportSectionOrdinalUpDB(ReportSectionID); return(Json(reportSectionModel.Error, JsonRequestBehavior.AllowGet)); }
public JsonResult ReportSectionTextModifyJSON(FormCollection fc) { ReportSectionModel reportSectionModel = _ReportSectionService.PostReportSectionTextModifyDB(fc); return(Json(reportSectionModel.Error, JsonRequestBehavior.AllowGet)); }
public JsonResult ReportSectionDeleteJSON(int ReportSectionID) { ReportSectionModel reportSectionModel = _ReportSectionService.PostDeleteReportSectionWithReportSectionIDDB(ReportSectionID); return(Json(reportSectionModel.Error, JsonRequestBehavior.AllowGet)); }
public JsonResult ReportSectionConvertToSubSectionJSON(int ReportSectionID) { ReportSectionModel reportSectionModel = _ReportSectionService.PostReportSectionConvertToSubSectionDB(ReportSectionID); return(Json(reportSectionModel.Error, JsonRequestBehavior.AllowGet)); }
public JsonResult ReportSectionChangeLockedJSON(int ReportTypeID, bool Locked) { ReportSectionModel reportSectionModel = _ReportSectionService.PostReportSectionChangeLockedDB(ReportTypeID, LanguageRequest, Locked); return(Json(reportSectionModel.Error, JsonRequestBehavior.AllowGet)); }
public JsonResult ReportSectionChangeIsStaticJSON(int ReportSectionID, bool IsStatic) { ReportSectionModel reportSectionModel = _ReportSectionService.PostReportSectionChangeIsStaticDB(ReportSectionID, IsStatic); return(Json(reportSectionModel.Error, JsonRequestBehavior.AllowGet)); }
public JsonResult ReportSectionAddNewYearForTVItemIDJSON(int ReportSectionID, int TVItemID, int Year) { ReportSectionModel reportSectionModel = _ReportSectionService.PostReportSectionAddNewYearForTVItemIDDB(ReportSectionID, TVItemID, Year); return(Json(reportSectionModel.Error, JsonRequestBehavior.AllowGet)); }