public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity) { var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList(); var testResult = new QualityMeasuresTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId); var customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList(); var standardFindingTestReadingEntities = customerEventScreeningTestEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList(); if (customerEventTestStandardFindingEntities.Any()) { var testResultService = new TestResultService(); var functionalAssessmentScore = testResultService.GetAllStandardFindings <int?>((int)TestType.QualityMeasures, (int)ReadingLabels.FunctionalAssessmentScore); var painAssessmentScore = testResultService.GetAllStandardFindings <int?>((int)TestType.QualityMeasures, (int)ReadingLabels.PainAssessmentScore); customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity => { var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId); if (standardFindingTestReadingEntity == null) { return; } var finding = CreateFindingObject(customerEventTestStandardFindingEntity, functionalAssessmentScore, standardFindingTestReadingEntity, (int)ReadingLabels.FunctionalAssessmentScore); if (finding != null) { testResult.FunctionalAssessmentScore = finding; return; } finding = CreateFindingObject(customerEventTestStandardFindingEntity, painAssessmentScore, standardFindingTestReadingEntity, (int)ReadingLabels.PainAssessmentScore); if (finding != null) { testResult.PainAssessmentScore = finding; return; } }); } testResult.MemoryRecallScore = CreateResultReadingforNullableInt((int)ReadingLabels.MemoryRecallScore, customerEventReadingEntities); testResult.ClockPass = CreateResultReading((int)ReadingLabels.ClockPass, customerEventReadingEntities); testResult.ClockFail = CreateResultReading((int)ReadingLabels.ClockFail, customerEventReadingEntities); testResult.GaitPass = CreateResultReading((int)ReadingLabels.GaitPass, customerEventReadingEntities); testResult.GaitFail = CreateResultReading((int)ReadingLabels.GaitFail, customerEventReadingEntities); testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities); testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities); return(testResult); }
public PcpResultExportModel SetQualityMeasuresData(PcpResultExportModel model, QualityMeasuresTestResult testResult, bool useBlankValue = false) { if (testResult.FunctionalAssessmentScore != null) { model.QualityMeasuresFunctionalAssessmentScore = testResult.FunctionalAssessmentScore.Label; } if (testResult.PainAssessmentScore != null) { model.QualityMeasuresPainAssessmentScore = testResult.PainAssessmentScore.Label; } if (testResult.MemoryRecallScore != null) { model.QualityMeasuresMemoryRecallScore = testResult.MemoryRecallScore.Reading.HasValue ? testResult.MemoryRecallScore.Reading.Value.ToString() : string.Empty; } if (testResult.ClockFail != null && testResult.ClockFail.Reading) { model.QualityMeasuresClock = "Fail"; } if (testResult.ClockPass != null && testResult.ClockPass.Reading) { model.QualityMeasuresClock = "Pass"; } if (testResult.GaitFail != null && testResult.GaitFail.Reading) { model.QualityMeasuresGait = "Fail"; } if (testResult.GaitPass != null && testResult.GaitPass.Reading) { model.QualityMeasuresGait = "Pass"; } model.QualityMeasuresUnabletoScreen = testResult.UnableScreenReason != null && testResult.UnableScreenReason.Count > 0 ? PcpResultExportHelper.YesString : (useBlankValue ? "" : PcpResultExportHelper.NoString); if ((testResult.ResultStatus != null && testResult.ResultStatus.SelfPresent) || (testResult.PhysicianInterpretation != null && testResult.PhysicianInterpretation.IsCritical)) { model.QualityMeasuresCritical = PcpResultExportHelper.YesString; } else if (!useBlankValue) { model.QualityMeasuresCritical = PcpResultExportHelper.NoString; } if (testResult.PhysicianInterpretation != null) { model.QualityMeasuresPhysicianNotes = testResult.PhysicianInterpretation.Remarks; } return(model); }