Example #1
0
        public void LoadMyBioCheckResult(HtmlDocument doc, MyBioAssessmentTestResult testResult, bool isMale, List <OrderedPair <long, string> > technicianIdNamePairs, IEnumerable <CustomerScreeningEvaluatinPhysicianViewModel> physicians,
                                         IEnumerable <EventPhysicianTest> eventPhysicianTests, IEnumerable <PhysicianEvaluation> eventCustomerPhysicianEvaluations, CustomerSkipReview customerSkipReview)
        {
            LoadMyBioCheckFinding(doc, testResult, isMale);

            if (testResult != null)
            {
                var selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='mybiocheck-rpp-section']");
                if (selectedNode != null && (testResult.UnableScreenReason == null || testResult.UnableScreenReason.Count == 0) && (testResult.TestNotPerformed == null || testResult.TestNotPerformed.TestNotPerformedReasonId <= 0))
                {
                    selectedNode.SetAttributeValue("style", "display:block;");
                }

                _resultPdfHelper.SetPhysicianSignature(doc, "mybiocheck-primaryEvalPhysicianSign", "mybiocheck-overreadEvalPhysicianSign", physicians, eventPhysicianTests, eventCustomerPhysicianEvaluations, customerSkipReview);

                _resultPdfHelper.SetInputBox(doc, "mybiocheckTotalCholestrolInputText", testResult.TotalCholestrol);
                _resultPdfHelper.SetInputBox(doc, "mybiocheckTCHDLRatioInputText", testResult.TcHdlRatio);
                _resultPdfHelper.SetInputBox(doc, "mybiocheckHDLInputText", testResult.Hdl);
                _resultPdfHelper.SetInputBox(doc, "mybiocheckLDLInputText", testResult.Ldl);
                _resultPdfHelper.SetInputBox(doc, "mybiocheckGlucoseInputText", testResult.Glucose);
                _resultPdfHelper.SetInputBox(doc, "mybiocheckTriglyceridesInputText", testResult.TriGlycerides);

                _resultPdfHelper.SetTechnician(doc, testResult, "techmybiocheck", "technotesmybiocheck", technicianIdNamePairs);
                _resultPdfHelper.SetPhysicianRemarks(doc, testResult, "followUpmybiocheck", "criticalmybiocheck", "physicianRemarksmybiocheck");
                _resultPdfHelper.SetUnableToScreenReasons(doc, TestType.MyBioCheckAssessment, "mybiocheckUnableToScreen", testResult.UnableScreenReason);
            }
            else
            {
                _resultPdfHelper.SetUnableToScreenReasons(doc, TestType.MyBioCheckAssessment, "mybiocheckUnableToScreen", null);
            }
        }
        public TestResult GetMyBioCheckAssessmentTestResultDomain(KynHealthAssessmentEditModel model, MyBioAssessmentTestResult inpersistence, long uploadedby, bool isNewResultFlow)
        {
            if (!IsLipidReadingProvided(model) && inpersistence == null)
            {
                return(inpersistence);
            }

            decimal?tchol         = null;
            decimal?hdl           = null;
            decimal?triglycerides = null;

            if (inpersistence == null)
            {
                inpersistence = new MyBioAssessmentTestResult
                {
                    ResultStatus = new TestResultState
                    {
                        StateNumber = isNewResultFlow ? (int)NewTestResultStateNumber.ResultEntryPartial : (int)TestResultStateNumber.ManualEntry
                    }
                };
            }

            inpersistence.TotalCholestrol = GetTotalColesterolReading(model.TotalCholesterol, ref tchol);
            inpersistence.Hdl             = GetHdlReading(model.HDLCholesterol, ref hdl);
            inpersistence.TriGlycerides   = GetTriglyceridesReading(model.Triglycerides, ref triglycerides);
            inpersistence.TcHdlRatio      = CalculateTchdlRatio(tchol, hdl, TestType.MyBioCheckAssessment);
            inpersistence.Ldl             = CalculateLdlReading(hdl, tchol, triglycerides, TestType.MyBioCheckAssessment);

            inpersistence.Glucose = GetGlucoseReading(model.Glucose);

            inpersistence.DataRecorderMetaData = SetDataRecorderMetaData(inpersistence.DataRecorderMetaData, uploadedby);
            inpersistence.ResultStatus.DataRecorderMetaData = SetDataRecorderMetaData(inpersistence.ResultStatus.DataRecorderMetaData, uploadedby);

            return(inpersistence);
        }
Example #3
0
        private void UpdateCustomerResultMedia(string pdfFilePath, long customerId, long eventid, ILogger logger)
        {
            string folderToSavePdf = _mediaRepository.GetResultMediaFileLocation(customerId, eventid).PhysicalPath;
            var    mediaFiles      = GetMediaFromPdfFile(pdfFilePath, folderToSavePdf, TestType.MyBioCheckAssessment);

            mediaFiles.ReadingSource = ReadingSource.Automatic;

            var testResult = new MyBioAssessmentTestResult {
                ResultImage = mediaFiles
            };

            var eventCustomerResult = SaveEventCustomerResult(eventid, customerId);

            SaveTestResult(testResult, eventid, customerId, eventCustomerResult.ResultState, eventCustomerResult.IsPartial, logger);
        }
Example #4
0
        private void UpdateCustomerResultMedia(string pdfFilePath, long customerId, long eventid, ILogger logger, bool isNewResultFlow)
        {
            string folderToSavePdf = _mediaRepository.GetResultMediaFileLocation(customerId, eventid).PhysicalPath;
            var    mediaFiles      = GetMediaFromPdfFile(pdfFilePath, folderToSavePdf, TestType.MyBioCheckAssessment);

            mediaFiles.ReadingSource = ReadingSource.Automatic;

            var testResult = new MyBioAssessmentTestResult {
                ResultImage = mediaFiles, IsNewResultFlow = isNewResultFlow
            };

            var eventCustomerResult = GetEventCustomerResult(eventid, customerId);

            if (isNewResultFlow)
            {
                if (eventCustomerResult.ResultState < (int)NewTestResultStateNumber.PostAuditNew)
                {
                    SaveTestResult(testResult, eventid, customerId, eventCustomerResult.ResultState, eventCustomerResult.IsPartial, logger);
                }
                else
                {
                    logger.Info("Customer Result has been crossed Post Audit Stage: Customer Id: " + customerId + " EventId: " + eventid);
                }
            }
            else
            {
                if (eventCustomerResult.ResultState < (int)TestResultStateNumber.PostAudit)
                {
                    SaveTestResult(testResult, eventid, customerId, eventCustomerResult.ResultState, eventCustomerResult.IsPartial, logger);
                }
                else
                {
                    logger.Info("Customer Result has been crossed Post Audit Stage: Customer Id: " + customerId + " EventId: " + eventid);
                }
            }
        }
Example #5
0
        private void SetLabValus(List <BioCheckResponseModel> bioCheckResponse, MyBioAssessmentTestResult testResult, KynLabValues kynLabValues, BasicBiometric basicBiometric, Customer customer)
        {
            if (testResult.TotalCholestrol != null)
            {
                if (testResult.TotalCholestrol.Reading != null)
                {
                    bioCheckResponse.Add(new BioCheckResponseModel("Q11", testResult.TotalCholestrol.Reading)); //;
                }
            }
            if (testResult.Hdl != null)
            {
                if (testResult.Hdl.Reading != null)
                {
                    bioCheckResponse.Add(new BioCheckResponseModel("Q12", testResult.Hdl.Reading));
                }
                // testResult.HDL.Reading;
            }

            if (testResult.Ldl != null)
            {
                if (testResult.Ldl.Reading != null)
                {
                    bioCheckResponse.Add(new BioCheckResponseModel("Q13", testResult.Ldl.Reading.Value.ToString()));
                }
                // testResult.LDL.Reading.ToString();
            }

            if (testResult.TcHdlRatio != null)
            {
                if (testResult.TcHdlRatio.Reading != null)
                {
                    bioCheckResponse.Add(new BioCheckResponseModel("Q14", testResult.TcHdlRatio.Reading.Value.ToString()));
                }
                // testResult.LDL.Reading.ToString();
            }

            if (testResult.Glucose != null)
            {
                if (testResult.Glucose.Reading != null)
                {
                    bioCheckResponse.Add(new BioCheckResponseModel("Q15", testResult.Glucose.Reading.Value.ToString()));
                }
                // testResult.LDL.Reading.ToString();
            }

            if (testResult.TriGlycerides != null)
            {
                if (testResult.TriGlycerides.Reading != null)
                {
                    bioCheckResponse.Add(new BioCheckResponseModel("Q16", testResult.TriGlycerides.Reading));
                }
                // testResult.TriGlycerides.Reading;
            }

            if (basicBiometric != null)
            {
                if (basicBiometric.SystolicPressure != null)
                {
                    bioCheckResponse.Add(new BioCheckResponseModel("Q17", basicBiometric.SystolicPressure.Value.ToString()));
                }

                if (basicBiometric.DiastolicPressure != null)
                {
                    bioCheckResponse.Add(new BioCheckResponseModel("Q18", basicBiometric.DiastolicPressure.Value.ToString()));
                }
            }
            bioCheckResponse.Add(new BioCheckResponseModel("Q19", string.Empty));

            if (kynLabValues != null && kynLabValues.FastingStatus != null && kynLabValues.FastingStatus.Value == (long)FastingStatus.Fasting)
            {
                bioCheckResponse.Add(new BioCheckResponseModel("Q20", "true"));
            }
            else
            {
                bioCheckResponse.Add(new BioCheckResponseModel("Q20", "false"));
            }

            decimal waist = customer.Waist != null ? customer.Waist.Value : 0;

            bioCheckResponse.Add(new BioCheckResponseModel {
                Question = "Q21", Value = waist.ToString()
            });
        }
Example #6
0
        private void LoadMyBioCheckFinding(HtmlDocument doc, MyBioAssessmentTestResult testResult, bool isMale)
        {
            var hdlFinding       = _standardFindingRepository.GetAllStandardFindings <string>((int)TestType.MyBioCheckAssessment, (int)ReadingLabels.HDL);
            var ldlFinding       = _standardFindingRepository.GetAllStandardFindings <int?>((int)TestType.MyBioCheckAssessment, (int)ReadingLabels.LDL);
            var glucoseFinding   = _standardFindingRepository.GetAllStandardFindings <int?>((int)TestType.MyBioCheckAssessment, (int)ReadingLabels.Glucose);
            var trigFinding      = _standardFindingRepository.GetAllStandardFindings <string>((int)TestType.MyBioCheckAssessment, (int)ReadingLabels.TriGlycerides);
            var totalCholFinding = _standardFindingRepository.GetAllStandardFindings <string>((int)TestType.MyBioCheckAssessment, (int)ReadingLabels.TotalCholestrol);
            var tcHdlFinding     = _standardFindingRepository.GetAllStandardFindings <decimal?>((int)TestType.MyBioCheckAssessment, (int)ReadingLabels.TCHDLRatio);

            hdlFinding = FilterMaleFemalRecordsontheGenderBasis(hdlFinding, isMale).ToList();
            _resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.Hdl != null ? testResult.Hdl.Finding : null, hdlFinding, "mybiocheckhdlFinding");
            _resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.Ldl != null ? testResult.Ldl.Finding : null, ldlFinding, "mybiocheckldlFinding");
            _resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.Glucose != null ? testResult.Glucose.Finding : null, glucoseFinding, "mybiocheckglucoseFinding");

            _resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.TriGlycerides != null ? testResult.TriGlycerides.Finding : null, trigFinding, "mybiochecktriglyceridesFinding");
            _resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.TotalCholestrol != null ? testResult.TotalCholestrol.Finding : null, totalCholFinding, "mybiochecktotalCholestrolFinding");
            _resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.TcHdlRatio != null ? testResult.TcHdlRatio.Finding : null, tcHdlFinding, "mybiochecktchdlRatioFinding");

            //StandardFinding<string> hdlFindingForLongDescription = null;
            //int t = 0;
            //if (testResult != null && testResult.Hdl != null && !string.IsNullOrEmpty(testResult.Hdl.Reading) && int.TryParse(testResult.Hdl.Reading, out t))
            //{
            //    var findingIds = _testResultService.GetMultipleCalculatedStandardFinding(t, (int)TestType.Lipid, (int)ReadingLabels.HDL);
            //    if (findingIds != null && findingIds.Count() > 0)
            //    {
            //        hdlFindingForLongDescription = hdlFinding.Where(fd => findingIds.Contains(fd.Id)).SingleOrDefault();
            //    }
            //}
            //_resultPdfHelper.SetSummaryFindings(doc, testResult != null && testResult.Hdl != null ? testResult.Hdl.Finding : null, hdlFinding, "FindingMyBioCheckHdlDiv", "longdescription-MyBioCheck-hdl", hdlFindingForLongDescription, testResult != null, unableScreenReason);
            //_resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.Hdl != null ? testResult.Hdl.Finding : null, hdlFinding, "mybiocheckhdlFinding");



            //StandardFinding<int?> ldlFindingForLongDescription = null;
            //if (testResult != null && testResult.Ldl != null && testResult.Ldl.Reading.HasValue)
            //{
            //    var findingId = _testResultService.GetCalculatedStandardFinding(testResult.Ldl.Reading, (int)TestType.Lipid, (int)ReadingLabels.LDL);
            //    if (findingId > 0)
            //    {
            //        ldlFindingForLongDescription = ldlFinding.Where(fd => findingId == fd.Id).SingleOrDefault();
            //    }
            //}
            //_resultPdfHelper.SetSummaryFindings(doc, testResult != null && testResult.Ldl != null ? testResult.Ldl.Finding : null, ldlFinding, "FindingsLdlDiv", "longdescription-ldl", ldlFindingForLongDescription, testResult != null, unableScreenReason);
            //_resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.Ldl != null ? testResult.Ldl.Finding : null, ldlFinding, "mybiocheckldlFinding");


            //StandardFinding<int?> glucoseFindingForLongDescription = null;
            //if (testResult != null && testResult.Glucose != null && testResult.Glucose.Reading.HasValue)
            //{
            //    var findingId = _testResultService.GetCalculatedStandardFinding(testResult.Glucose.Reading, (int)TestType.Lipid, (int)ReadingLabels.Glucose);
            //    if (findingId > 0)
            //    {
            //        glucoseFindingForLongDescription = glucoseFinding.Where(fd => findingId == fd.Id).SingleOrDefault();
            //    }
            //}
            //_resultPdfHelper.SetSummaryFindings(doc, testResult != null && testResult.Glucose != null ? testResult.Glucose.Finding : null, glucoseFinding, "FindingsGlucoseDiv", "longdescription-glucose", glucoseFindingForLongDescription, testResult != null, unableScreenReason);
            //_resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.Glucose != null ? testResult.Glucose.Finding : null, glucoseFinding, "mybiocheckglucoseFinding");

            //_resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.TriGlycerides != null ? testResult.TriGlycerides.Finding : null, trigFinding, "mybiochecktriglyceridesFinding");
            //_resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.TotalCholestrol != null ? testResult.TotalCholestrol.Finding : null, totalCholFinding, "mybiochecktotalCholestrolFinding");
            //_resultPdfHelper.SetFindingsVertical(doc, testResult != null && testResult.TcHdlRatio != null ? testResult.TcHdlRatio.Finding : null, tcHdlFinding, "mybiocheckTCHDLRatioInputText");
        }
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestsEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestsEntity.CustomerEventReading.ToList();

            var testResult = new MyBioAssessmentTestResult(customerEventScreeningTestsEntity.CustomerEventScreeningTestId);

            if (customerEventScreeningTestsEntity.TestMedia != null && customerEventScreeningTestsEntity.TestMedia.Count > 0)
            {
                var fileEntityCollection = customerEventScreeningTestsEntity.FileCollectionViaTestMedia.ToList();
                var testMediaEntity      = customerEventScreeningTestsEntity.TestMedia.FirstOrDefault();

                testResult.ResultImage = new ResultMedia(testMediaEntity.MediaId)
                {
                    File          = GetFileObjectfromEntity(testMediaEntity.FileId, fileEntityCollection),
                    Thumbnail     = testMediaEntity.ThumbnailFileId != null ? new File(testMediaEntity.ThumbnailFileId.Value) : null,
                    ReadingSource = testMediaEntity.IsManual ? ReadingSource.Manual : ReadingSource.Automatic
                };
            }

            var standardFindingTestReadingEntities =
                customerEventScreeningTestsEntity.
                StandardFindingTestReadingCollectionViaCustomerEventReading.ToList();

            var totalCholesterolData = customerEventReadingEntities.
                                       Where(customerEventReading => customerEventReading.TestReading.ReadingId == (int)ReadingLabels.TotalCholestrol).
                                       SingleOrDefault();

            if (totalCholesterolData != null)
            {
                testResult.TotalCholestrol = CreateTestReadingforaIntValue(totalCholesterolData, (int)ReadingLabels.TotalCholestrol, standardFindingTestReadingEntities, totalCholesterolData.Value);
            }

            var hdlData = customerEventReadingEntities.
                          Where(customerEventReading => customerEventReading.TestReading.ReadingId == (int)ReadingLabels.HDL).
                          SingleOrDefault();

            if (hdlData != null)
            {
                testResult.Hdl = CreateTestReadingforaIntValue(hdlData, (int)ReadingLabels.HDL, standardFindingTestReadingEntities, hdlData.Value);
            }

            var ldlData = customerEventReadingEntities.
                          Where(customerEventReading => customerEventReading.TestReading.ReadingId == (int)ReadingLabels.LDL).
                          SingleOrDefault();

            if (ldlData != null)
            {
                testResult.Ldl = CreateTestReadingforaIntValue(ldlData, (int)ReadingLabels.LDL, standardFindingTestReadingEntities, (string.IsNullOrEmpty(ldlData.Value) ? null : (int?)Convert.ToInt32(ldlData.Value)));
            }

            var glucoseData = customerEventReadingEntities.
                              Where(customerEventReading => customerEventReading.TestReading.ReadingId == (int)ReadingLabels.Glucose).
                              SingleOrDefault();

            if (glucoseData != null)
            {
                testResult.Glucose = CreateTestReadingforaIntValue(glucoseData, (int)ReadingLabels.Glucose, standardFindingTestReadingEntities,
                                                                   (string.IsNullOrEmpty(glucoseData.Value) ? null : (int?)Convert.ToInt32(glucoseData.Value)));
            }

            var triglyceridesData = customerEventReadingEntities.
                                    Where(customerEventReading => customerEventReading.TestReading.ReadingId == (int)ReadingLabels.TriGlycerides).
                                    SingleOrDefault();

            if (triglyceridesData != null)
            {
                testResult.TriGlycerides = CreateTestReadingforaIntValue(triglyceridesData, (int)ReadingLabels.TriGlycerides, standardFindingTestReadingEntities, triglyceridesData.Value);
            }


            var tchdlratioData = customerEventReadingEntities.
                                 Where(customerEventReading => customerEventReading.TestReading.ReadingId == (int)ReadingLabels.TCHDLRatio).
                                 SingleOrDefault();

            if (tchdlratioData != null)
            {
                testResult.TcHdlRatio = CreateTestReadingforaDecimalValue(tchdlratioData, (int)ReadingLabels.TCHDLRatio, standardFindingTestReadingEntities,
                                                                          (string.IsNullOrEmpty(tchdlratioData.Value) ? null : (decimal?)Convert.ToDecimal(tchdlratioData.Value)));
            }


            return(testResult);
        }