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);
        }
예제 #2
0
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList();

            var testResult = new HPyloriTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId);

            var customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList();
            var standardFindingTestReadingEntities       = customerEventScreeningTestEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList();

            if (customerEventTestStandardFindingEntities.Any())
            {
                var testResultService = new TestResultService();
                var standardFindings  = testResultService.GetAllStandardFindings <int?>((int)TestType.HPylori);

                customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
                {
                    var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                    if (standardFindingTestReadingEntity == null)
                    {
                        return;
                    }

                    var finding = CreateFindingObject(customerEventTestStandardFindingEntity, standardFindings, standardFindingTestReadingEntity, null);
                    if (finding != null)
                    {
                        testResult.Finding = finding; return;
                    }
                });
            }

            testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities);
            testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities);

            return(testResult);
        }
예제 #3
0
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList();

            var testResult = new DpnTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId);

            if (customerEventScreeningTestEntity.TestMedia != null && customerEventScreeningTestEntity.TestMedia.Count > 0)
            {
                var fileEntityCollection = customerEventScreeningTestEntity.FileCollectionViaTestMedia.ToList();
                var testMediaEntity      = customerEventScreeningTestEntity.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 customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList();
            var standardFindingTestReadingEntities       = customerEventScreeningTestEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList();

            if (customerEventTestStandardFindingEntities.Count() > 0)
            {
                var testResultService = new TestResultService();
                var standardFindings  = testResultService.GetAllStandardFindings <int?>((int)TestType.DPN);

                customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
                {
                    var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                    if (standardFindingTestReadingEntity == null)
                    {
                        return;
                    }

                    var finding = CreateFindingObject(customerEventTestStandardFindingEntity, standardFindings, standardFindingTestReadingEntity, null);
                    if (finding != null)
                    {
                        testResult.Finding = finding; return;
                    }
                });
            }

            testResult.Amplitude          = CreateResultReadingforNullableDecimal((int)ReadingLabels.DpnAmplitude, customerEventReadingEntities);
            testResult.ConductionVelocity = CreateResultReadingforNullableDecimal((int)ReadingLabels.DpnConductionVelocity, customerEventReadingEntities);

            testResult.RightLeg = CreateResultReadingforNullableBool((int)ReadingLabels.DpnRightLeg, customerEventReadingEntities);
            testResult.LeftLeg  = CreateResultReadingforNullableBool((int)ReadingLabels.DpnLeftLeg, customerEventReadingEntities);


            testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities);
            testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities);

            return(testResult);
        }
예제 #4
0
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList();

            var testResult = new MedicareTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId);

            var customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList();
            var standardFindingTestReadingEntities       = customerEventScreeningTestEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList();

            if (customerEventTestStandardFindingEntities.Count() > 0)
            {
                var testResultService = new TestResultService();
                var standardFindings  = testResultService.GetAllStandardFindings <int?>((int)TestType.Medicare);

                customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
                {
                    var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                    if (standardFindingTestReadingEntity == null)
                    {
                        return;
                    }

                    var finding = CreateFindingObject(customerEventTestStandardFindingEntity, standardFindings, standardFindingTestReadingEntity, null);
                    if (finding != null)
                    {
                        testResult.Finding = finding; return;
                    }
                });
            }


            var testMediaCollection  = customerEventScreeningTestEntity.TestMedia.ToList();
            var fileEntityCollection = customerEventScreeningTestEntity.FileCollectionViaTestMedia.ToList();

            if (testMediaCollection.Count > 0)
            {
                var resultMedia = new List <ResultMedia>();
                testMediaCollection.ForEach(testMedia => resultMedia.Add(new ResultMedia(testMedia.MediaId)
                {
                    File          = GetFileObjectfromEntity(testMedia.FileId, fileEntityCollection),
                    Thumbnail     = testMedia.ThumbnailFileId != null ? new File(testMedia.ThumbnailFileId.Value) : null,
                    ReadingSource = testMedia.IsManual ? ReadingSource.Manual : ReadingSource.Automatic
                }));

                testResult.ResultImages = resultMedia;
            }

            testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities);
            testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities);

            return(testResult);
        }
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList();

            var testResult = new UrineMicroalbuminTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId);

            testResult.SerialKey         = CreateResultReadingforInputValues((int)ReadingLabels.MicroalbuminSerialKey, customerEventReadingEntities);
            testResult.MicroalbuminValue = CreateResultReadingforString((int)ReadingLabels.MicroalbuminValue, customerEventReadingEntities);

            if (customerEventScreeningTestEntity.TestMedia != null && customerEventScreeningTestEntity.TestMedia.Count > 0)
            {
                var fileEntityCollection = customerEventScreeningTestEntity.FileCollectionViaTestMedia.ToList();
                var testMediaEntity      = customerEventScreeningTestEntity.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 customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList();
            var standardFindingTestReadingEntities       = customerEventScreeningTestEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList();

            if (customerEventTestStandardFindingEntities.Any())
            {
                var testResultService = new TestResultService();
                var standardFindings  = testResultService.GetAllStandardFindings <int?>((int)TestType.UrineMicroalbumin);

                customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
                {
                    var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                    if (standardFindingTestReadingEntity == null)
                    {
                        return;
                    }

                    var finding = CreateFindingObject(customerEventTestStandardFindingEntity, standardFindings, standardFindingTestReadingEntity, null);
                    if (finding != null)
                    {
                        testResult.Finding = finding; return;
                    }
                });
            }

            testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities);
            testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities);

            return(testResult);
        }
예제 #6
0
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity)
        {
            var testResult = new PulmonaryFunctionTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId);

            var customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList();
            var standardFindingTestReadingEntities       = customerEventScreeningTestEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList();

            if (customerEventTestStandardFindingEntities.Count() > 0)
            {
                var testResultService = new TestResultService();
                var standardFindings  = testResultService.GetAllStandardFindings <int?>((int)TestType.PulmonaryFunction);

                customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
                {
                    var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                    if (standardFindingTestReadingEntity == null)
                    {
                        return;
                    }

                    var finding = CreateFindingObject(customerEventTestStandardFindingEntity, standardFindings, standardFindingTestReadingEntity, null);
                    if (finding != null)
                    {
                        testResult.Finding = finding; return;
                    }
                });
            }


            if (customerEventScreeningTestEntity.TestMedia != null && customerEventScreeningTestEntity.TestMedia.Count > 0)
            {
                var fileEntityCollection = customerEventScreeningTestEntity.FileCollectionViaTestMedia.ToList();
                var testMediaEntity      = customerEventScreeningTestEntity.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
                };
            }



            return(testResult);
        }
예제 #7
0
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList();

            var testResult = new DiabeticNeuropathyTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId);

            var customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList();
            var standardFindingTestReadingEntities       = customerEventScreeningTestEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList();

            if (customerEventTestStandardFindingEntities.Count() > 0)
            {
                var testResultService = new TestResultService();
                var standardFindings  = testResultService.GetAllStandardFindings <int?>((int)TestType.DiabeticNeuropathy);

                customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
                {
                    var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                    if (standardFindingTestReadingEntity == null)
                    {
                        return;
                    }

                    var finding = CreateFindingObject(customerEventTestStandardFindingEntity, standardFindings, standardFindingTestReadingEntity, null);
                    if (finding != null)
                    {
                        testResult.Finding = finding; return;
                    }
                });
            }

            testResult.Amplitude          = CreateResultReadingforNullableDecimal((int)ReadingLabels.Amplitude, customerEventReadingEntities);
            testResult.ConductionVelocity = CreateResultReadingforNullableDecimal((int)ReadingLabels.ConductionVelocity, customerEventReadingEntities);

            testResult.RightLeg = CreateResultReadingforNullableBool((int)ReadingLabels.RightLeg, customerEventReadingEntities);
            testResult.LeftLeg  = CreateResultReadingforNullableBool((int)ReadingLabels.LeftLeg, customerEventReadingEntities);


            testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities);
            testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities);

            return(testResult);
        }
예제 #8
0
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestsEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestsEntity.CustomerEventReading.ToList();
            var testResult = new AwvAaaTestResult(customerEventScreeningTestsEntity.CustomerEventScreeningTestId);

            var customerEventTestStandardFindingEntities = customerEventScreeningTestsEntity.CustomerEventTestStandardFinding.ToList();
            var standardFindingTestReadingEntities       = customerEventScreeningTestsEntity.StandardFindingTestReadingCollectionViaCustomerEventReading.ToList();

            standardFindingTestReadingEntities.AddRange(customerEventScreeningTestsEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList());

            testResult.AortaSize = CreateResultReadingforNullableDecimal((int)ReadingLabels.AortaSize, customerEventReadingEntities);

            testResult.TransverseView             = new OrderedPair <ResultReading <decimal?>, ResultReading <decimal?> >(null, null);
            testResult.TransverseView.FirstValue  = CreateResultReadingforNullableDecimal((int)ReadingLabels.TransverseViewDataPointOne, customerEventReadingEntities);
            testResult.TransverseView.SecondValue = CreateResultReadingforNullableDecimal((int)ReadingLabels.TransverseViewDataPointTwo, customerEventReadingEntities);

            testResult.ResidualLumenStandardFindings             = new OrderedPair <ResultReading <decimal?>, ResultReading <decimal?> >(null, null);
            testResult.ResidualLumenStandardFindings.FirstValue  = CreateResultReadingforNullableDecimal((int)ReadingLabels.ResidualLumenTransverseViewDataPointOne, customerEventReadingEntities);
            testResult.ResidualLumenStandardFindings.SecondValue = CreateResultReadingforNullableDecimal((int)ReadingLabels.ResidualLumenTransverseViewDataPointTwo, customerEventReadingEntities);

            var aortaValue = GetMaxofthreeAortaValues(testResult);

            if (aortaValue != null)
            {
                testResult.Finding = new StandardFinding <decimal?>(Convert.ToInt64((new TestResultService()).GetCalculatedStandardFinding(EventId, CustomerId, aortaValue, (int)TestType.AwvAAA, (int)ReadingLabels.AortaSize)));
            }

            if (testResult.Finding != null)
            {
                testResult.Finding = new TestResultService().GetAllStandardFindings <decimal?>((int)TestType.AwvAAA, (int)ReadingLabels.AortaSize).Find(standardFinding => standardFinding.Id == testResult.Finding.Id);
            }

            testResult.PeakSystolicVelocity = CreateResultReadingforNullableDecimal((int)ReadingLabels.PeakSystolicVelocity, customerEventReadingEntities);

            testResult.AorticDissection = CreateResultReading((int)ReadingLabels.AorticDissection, customerEventReadingEntities);
            testResult.Plaque           = CreateResultReading((int)ReadingLabels.Plaque, customerEventReadingEntities);
            testResult.Thrombus         = CreateResultReading((int)ReadingLabels.Thrombus, customerEventReadingEntities);
            testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities);
            testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities);

            var testResultService = new TestResultService();
            var aortaRangeSaggitalViewFindings   = testResultService.GetAllStandardFindings <int?>((int)TestType.AwvAAA, (int)ReadingLabels.AortaRangeSaggitalView);
            var peakSystolicSaggitalViewFindings = testResultService.GetAllStandardFindings <int?>((int)TestType.AwvAAA, (int)ReadingLabels.AortaRangeSaggitalView);
            var aortaRangeTransverseViewFindings = testResultService.GetAllStandardFindings <int?>((int)TestType.AwvAAA, (int)ReadingLabels.AortaRangeTransverseView);
            var aortaValueFindings = testResultService.GetAllStandardFindings <int?>((int)TestType.AwvAAA, (int)ReadingLabels.AortaSize);

            customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
            {
                var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                if (standardFindingTestReadingEntity == null)
                {
                    return;
                }

                var finding = CreateFindingObject(customerEventTestStandardFindingEntity, aortaRangeSaggitalViewFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.AortaRangeSaggitalView);
                if (finding != null)
                {
                    if (testResult.AortaRangeSaggitalView == null)
                    {
                        testResult.AortaRangeSaggitalView = new List <StandardFinding <int> >();
                    }
                    testResult.AortaRangeSaggitalView.Add(finding); return;
                }

                finding = CreateFindingObject(customerEventTestStandardFindingEntity, peakSystolicSaggitalViewFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.PeakSystolicVelocitySaggitalView);
                if (finding != null)
                {
                    if (testResult.PeakSystolicVelocityStandardFindings == null)
                    {
                        testResult.PeakSystolicVelocityStandardFindings = new List <StandardFinding <int> >();
                    }
                    testResult.PeakSystolicVelocityStandardFindings.Add(finding); return;
                }

                finding = CreateFindingObject(customerEventTestStandardFindingEntity, aortaRangeTransverseViewFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.AortaRangeTransverseView);
                if (finding != null)
                {
                    if (testResult.AortaRangeTransverseView == null)
                    {
                        testResult.AortaRangeTransverseView = new List <StandardFinding <int> >();
                    }
                    testResult.AortaRangeTransverseView.Add(finding); return;
                }

                finding = CreateFindingObject(customerEventTestStandardFindingEntity, aortaValueFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.AortaSize);
                if (finding != null)
                {
                    testResult.Finding = new StandardFinding <decimal?>(finding.Id)
                    {
                        CustomerEventStandardFindingId = finding.CustomerEventStandardFindingId,
                        Label       = finding.Label,
                        Description = finding.Description
                    };
                    return;
                }
            });

            var testMediaCollection  = customerEventScreeningTestsEntity.TestMedia.ToList();
            var fileEntityCollection = customerEventScreeningTestsEntity.FileCollectionViaTestMedia.ToList();

            if (testMediaCollection.Count > 0)
            {
                var resultMedia = new List <ResultMedia>();
                testMediaCollection.ForEach(testMedia => resultMedia.Add(new ResultMedia(testMedia.MediaId)
                {
                    File          = GetFileObjectfromEntity(testMedia.FileId, fileEntityCollection),
                    Thumbnail     = testMedia.ThumbnailFileId != null ? new File(testMedia.ThumbnailFileId.Value) : null,
                    ReadingSource = testMedia.IsManual ? ReadingSource.Manual : ReadingSource.Automatic
                }));

                testResult.ResultImages = resultMedia;
            }
            return(testResult);
        }
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList();
            var testResult = new PpEchocardiogramTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId);

            var customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList();
            var standardFindingTestReadingEntities       = customerEventScreeningTestEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList();

            {
                var testResultService              = new TestResultService();
                var standardFindings               = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho);
                var estimatedEjactionFindings      = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.EstimatedEjactionFraction);
                var aorticRegurgitationFindings    = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.Aortic);
                var mitralRegurgitationFindings    = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.Mitral);
                var pulmonicRegurgitationFindings  = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.Pulmonic);
                var tricuspidRegurgitationFindings = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.Tricuspid);
                var aorticMorphologyFindings       = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.AorticMorphology);
                var mitralMorphologyFindings       = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.MitralMorphology);
                var pulmonicMorphologyFindings     = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.PulmonicMorphology);
                var tricuspidMorphologyFindings    = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.TricuspidMorphology);
                var distolicDysfunctionFindings    = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.DiastolicDysfunction);
                var pericardialEffusionFindings    = testResultService.GetAllStandardFindings <int?>((int)TestType.PPEcho, (int)ReadingLabels.PericardialEffusion);

                customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
                {
                    var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                    if (standardFindingTestReadingEntity == null)
                    {
                        return;
                    }

                    var finding = CreateFindingObject(customerEventTestStandardFindingEntity, standardFindings, standardFindingTestReadingEntity, null);
                    if (finding != null)
                    {
                        testResult.Finding = finding; return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, estimatedEjactionFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.EstimatedEjactionFraction);
                    if (finding != null)
                    {
                        testResult.EstimatedEjactionFraction = finding; return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, aorticRegurgitationFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.Aortic);
                    if (finding != null)
                    {
                        testResult.AorticRegurgitation = finding; return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, mitralRegurgitationFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.Mitral);
                    if (finding != null)
                    {
                        testResult.MitralRegurgitation = finding; return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, pulmonicRegurgitationFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.Pulmonic);
                    if (finding != null)
                    {
                        testResult.PulmonicRegurgitation = finding; return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, tricuspidRegurgitationFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.Tricuspid);
                    if (finding != null)
                    {
                        testResult.TricuspidRegurgitation = finding; return;
                    }


                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, aorticMorphologyFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.AorticMorphology);
                    if (finding != null)
                    {
                        if (testResult.AorticMorphology == null)
                        {
                            testResult.AorticMorphology = new List <StandardFinding <int> >();
                        }
                        testResult.AorticMorphology.Add(finding); return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, mitralMorphologyFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.MitralMorphology);
                    if (finding != null)
                    {
                        if (testResult.MitralMorphology == null)
                        {
                            testResult.MitralMorphology = new List <StandardFinding <int> >();
                        }
                        testResult.MitralMorphology.Add(finding); return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, pulmonicMorphologyFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.PulmonicMorphology);
                    if (finding != null)
                    {
                        if (testResult.PulmonicMorphology == null)
                        {
                            testResult.PulmonicMorphology = new List <StandardFinding <int> >();
                        }
                        testResult.PulmonicMorphology.Add(finding); return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, tricuspidMorphologyFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.TricuspidMorphology);
                    if (finding != null)
                    {
                        if (testResult.TricuspidMorphology == null)
                        {
                            testResult.TricuspidMorphology = new List <StandardFinding <int> >();
                        }
                        testResult.TricuspidMorphology.Add(finding); return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, distolicDysfunctionFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.DiastolicDysfunction);
                    if (finding != null)
                    {
                        testResult.DistolicDysfunctionFinding = finding; return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, pericardialEffusionFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.PericardialEffusion);
                    if (finding != null)
                    {
                        if (testResult.PericardialEffusionFinding == null)
                        {
                            testResult.PericardialEffusionFinding = new List <StandardFinding <int> >();
                        }
                        testResult.PericardialEffusionFinding.Add(finding); return;
                    }
                });
            }

            testResult.DiastolicDysfunction = CreateResultReading((int)ReadingLabels.DiastolicDysfunction, customerEventReadingEntities);
            testResult.PericardialEffusion  = CreateResultReading((int)ReadingLabels.PericardialEffusion, customerEventReadingEntities);

            testResult.Aortic    = CreateResultReading((int)ReadingLabels.Aortic, customerEventReadingEntities);
            testResult.Mitral    = CreateResultReading((int)ReadingLabels.Mitral, customerEventReadingEntities);
            testResult.Pulmonic  = CreateResultReading((int)ReadingLabels.Pulmonic, customerEventReadingEntities);
            testResult.Tricuspid = CreateResultReading((int)ReadingLabels.Tricuspid, customerEventReadingEntities);

            testResult.VentricularEnlargement          = CreateResultReading((int)ReadingLabels.VentricularEnlargement, customerEventReadingEntities);
            testResult.LeftVentricularEnlargment       = CreateResultReading((int)ReadingLabels.LeftVentricularEnlargment, customerEventReadingEntities);
            testResult.RightVentricularEnlargment      = CreateResultReading((int)ReadingLabels.RightVentricularEnlargment, customerEventReadingEntities);
            testResult.LeftVentricularEnlargmentValue  = CreateResultReadingforInputValues((int)ReadingLabels.LeftVentricularEnlargmentValue, customerEventReadingEntities);
            testResult.RightVentricularEnlargmentValue = CreateResultReadingforInputValues((int)ReadingLabels.RightVentricularEnlargmentValue, customerEventReadingEntities);

            testResult.DiagnosisCode = CreateResultReadingforInputValues((int)ReadingLabels.DiagnosisCode, customerEventReadingEntities);

            testResult.AorticRoot    = CreateResultReading((int)ReadingLabels.AorticRoot, customerEventReadingEntities);
            testResult.Sclerotic     = CreateResultReading((int)ReadingLabels.Sclerotic, customerEventReadingEntities);
            testResult.Calcified     = CreateResultReading((int)ReadingLabels.Calcified, customerEventReadingEntities);
            testResult.EnlargedValue = CreateResultReadingforInputValues((int)ReadingLabels.EnlargedValue, customerEventReadingEntities);
            testResult.Enlarged      = CreateResultReading((int)ReadingLabels.Enlarged, customerEventReadingEntities);

            testResult.VentricularHypertrophy = CreateResultReading((int)ReadingLabels.VentricularHypertrophy, customerEventReadingEntities);

            testResult.LeftVHypertrophy       = CreateResultReading((int)ReadingLabels.LeftVHypertrophy, customerEventReadingEntities);
            testResult.RightVHypertrophy      = CreateResultReading((int)ReadingLabels.RightVHypertrophy, customerEventReadingEntities);
            testResult.IvshHypertrophy        = CreateResultReading((int)ReadingLabels.IVSHHypertrophy, customerEventReadingEntities);
            testResult.LeftVHypertrophyValue  = CreateResultReadingforInputValues((int)ReadingLabels.LeftVHypertrophyValue, customerEventReadingEntities);
            testResult.RightVHypertrophyValue = CreateResultReadingforInputValues((int)ReadingLabels.RightVHypertrophyValue, customerEventReadingEntities);
            testResult.IvshHypertrophyValue   = CreateResultReadingforInputValues((int)ReadingLabels.IVSHHypertrophyValue, customerEventReadingEntities);

            testResult.AtrialEnlargement          = CreateResultReading((int)ReadingLabels.AtrialEnlargement, customerEventReadingEntities);
            testResult.LeftAtrialEnlargmentValue  = CreateResultReadingforInputValues((int)ReadingLabels.LeftAtrialEnlargmentValue, customerEventReadingEntities);
            testResult.RightAtrialEnlargmentValue = CreateResultReadingforInputValues((int)ReadingLabels.RightAtrialEnlargmentValue, customerEventReadingEntities);
            testResult.LeftAtrialEnlargment       = CreateResultReading((int)ReadingLabels.LeftAtrialEnlargment, customerEventReadingEntities);
            testResult.RightAtrialEnlargment      = CreateResultReading((int)ReadingLabels.RightAtrialEnlargment, customerEventReadingEntities);

            testResult.RestrictedLeafletMotion          = CreateResultReading((int)ReadingLabels.RestrictedLeafletMotion, customerEventReadingEntities);
            testResult.RestrictedLeafletMotionAortic    = CreateResultReading((int)ReadingLabels.RestrictedLeafletMotionAortic, customerEventReadingEntities);
            testResult.RestrictedLeafletMotionMitral    = CreateResultReading((int)ReadingLabels.RestrictedLeafletMotionMitral, customerEventReadingEntities);
            testResult.RestrictedLeafletMotionPulmonic  = CreateResultReading((int)ReadingLabels.RestrictedLeafletMotionPulmonic, customerEventReadingEntities);
            testResult.RestrictedLeafletMotionTricuspid = CreateResultReading((int)ReadingLabels.RestrictedLeafletMotionTricuspid, customerEventReadingEntities);

            testResult.ASD       = CreateResultReading((int)ReadingLabels.ASD, customerEventReadingEntities);
            testResult.PFO       = CreateResultReading((int)ReadingLabels.PFO, customerEventReadingEntities);
            testResult.VSD       = CreateResultReading((int)ReadingLabels.VSD, customerEventReadingEntities);
            testResult.FlailAS   = CreateResultReading((int)ReadingLabels.FlailAS, customerEventReadingEntities);
            testResult.Arrythmia = CreateResultReading((int)ReadingLabels.Arrythmia, customerEventReadingEntities);

            testResult.AFib     = CreateResultReading((int)ReadingLabels.AFib, customerEventReadingEntities);
            testResult.AFlutter = CreateResultReading((int)ReadingLabels.AFlutter, customerEventReadingEntities);
            testResult.PAC      = CreateResultReading((int)ReadingLabels.PAC, customerEventReadingEntities);
            testResult.PVC      = CreateResultReading((int)ReadingLabels.PVC, customerEventReadingEntities);

            testResult.SAM             = CreateResultReading((int)ReadingLabels.SAM, customerEventReadingEntities);
            testResult.LVOTO           = CreateResultReading((int)ReadingLabels.LVOTO, customerEventReadingEntities);
            testResult.MitralAnnularCa = CreateResultReading((int)ReadingLabels.MitralAnnularCa, customerEventReadingEntities);
            testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities);
            testResult.RepeatStudyUnreadable         = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities);

            testResult.Hypokinetic       = CreateResultReading((int)ReadingLabels.Hypokinetic, customerEventReadingEntities);
            testResult.Akinetic          = CreateResultReading((int)ReadingLabels.Akinetic, customerEventReadingEntities);
            testResult.Dyskinetic        = CreateResultReading((int)ReadingLabels.Dyskinetic, customerEventReadingEntities);
            testResult.Anterior          = CreateResultReading((int)ReadingLabels.Anterior, customerEventReadingEntities);
            testResult.Posterior         = CreateResultReading((int)ReadingLabels.Posterior, customerEventReadingEntities);
            testResult.Apical            = CreateResultReading((int)ReadingLabels.Apical, customerEventReadingEntities);
            testResult.Septal            = CreateResultReading((int)ReadingLabels.Septal, customerEventReadingEntities);
            testResult.Lateral           = CreateResultReading((int)ReadingLabels.Lateral, customerEventReadingEntities);
            testResult.Inferior          = CreateResultReading((int)ReadingLabels.Inferior, customerEventReadingEntities);
            testResult.AoticVelocity     = CreateResultReadingforInputValues((int)ReadingLabels.AoticVelocity, customerEventReadingEntities);
            testResult.MitralPT          = CreateResultReadingforInputValues((int)ReadingLabels.MitralPT, customerEventReadingEntities);
            testResult.PulmonicVelocity  = CreateResultReadingforInputValues((int)ReadingLabels.PulmonicVelocity, customerEventReadingEntities);
            testResult.TricuspidVelocity = CreateResultReadingforInputValues((int)ReadingLabels.TricuspidVelocity, customerEventReadingEntities);
            testResult.TricuspidPap      = CreateResultReadingforInputValues((int)ReadingLabels.TricuspidPap, customerEventReadingEntities);

            testResult.MorphologyTricuspidHighOrGreater = CreateResultReading((int)ReadingLabels.High35MmHgOrGreater, customerEventReadingEntities);
            testResult.MorphologyTricuspidNormal        = CreateResultReading((int)ReadingLabels.Normal, customerEventReadingEntities);

            var testMediaCollection  = customerEventScreeningTestEntity.TestMedia.ToList();
            var fileEntityCollection = customerEventScreeningTestEntity.FileCollectionViaTestMedia.ToList();

            if (testMediaCollection.Count > 0)
            {
                var resultMedia = new List <ResultMedia>();
                testMediaCollection.ForEach(testMedia => resultMedia.Add(new ResultMedia(testMedia.MediaId)
                {
                    File          = GetFileObjectfromEntity(testMedia.FileId, fileEntityCollection),
                    Thumbnail     = testMedia.ThumbnailFileId != null ? new File(testMedia.ThumbnailFileId.Value) : null,
                    ReadingSource = testMedia.IsManual ? ReadingSource.Manual : ReadingSource.Automatic
                }));

                testResult.Media = resultMedia;
            }
            return(testResult);
        }
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList();

            var testResult = new DiabeticRetinopathyTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId);

            testResult.SuspectedVeinOcclusion      = CreateResultReading((int)ReadingLabels.DiabeticRetinopathySuspectedVeinOcclusion, customerEventReadingEntities);
            testResult.SuspectedWetAmd             = CreateResultReading((int)ReadingLabels.DiabeticRetinopathySuspectedWetAmd, customerEventReadingEntities);
            testResult.SuspectedHtnRetinopathy     = CreateResultReading((int)ReadingLabels.DiabeticRetinopathySuspectedHtnRetinopathy, customerEventReadingEntities);
            testResult.SuspectedEpiretinalMembrane = CreateResultReading((int)ReadingLabels.DiabeticRetinopathySuspectedEpiretinalMembrane, customerEventReadingEntities);
            testResult.SuspectedMacularHole        = CreateResultReading((int)ReadingLabels.DiabeticRetinopathySuspectedMacularHole, customerEventReadingEntities);
            testResult.SuspectedCataract           = CreateResultReading((int)ReadingLabels.DiabeticRetinopathySuspectedCataract, customerEventReadingEntities);
            testResult.SuspectedOtherDisease       = CreateResultReading((int)ReadingLabels.DiabeticRetinopathySuspectedOtherDisease, customerEventReadingEntities);
            testResult.SuspectedGlaucoma           = CreateResultReading((int)ReadingLabels.DiabeticRetinopathySuspectedGlaucoma, customerEventReadingEntities);
            testResult.SuspectedDryAmd             = CreateResultReading((int)ReadingLabels.DiabeticRetinopathySuspectedDryAmd, customerEventReadingEntities);

            testResult.DiabeticRetinopathyHighestLevelOfSpecificity = CreateResultReading((int)ReadingLabels.DiabeticRetinopathyHighestLevelOfSpecificity, customerEventReadingEntities);
            testResult.MacularEdemaHighestLevelOfSpecificity        = CreateResultReading((int)ReadingLabels.MacularEdemaHighestLevelOfSpecificity, customerEventReadingEntities);

            var customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList();
            var standardFindingTestReadingEntities       = customerEventScreeningTestEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList();


            if (customerEventTestStandardFindingEntities.Count() > 0)
            {
                var testResultService = new TestResultService();
                var standardFindings  = testResultService.GetAllStandardFindings <int?>((int)TestType.DiabeticRetinopathy);
                var diabeticRetinopathyLevelFindings = testResultService.GetAllStandardFindings <int?>((int)TestType.DiabeticRetinopathy, (int)ReadingLabels.DiabeticRetinopathyHighestLevelOfSpecificity);
                var macularEdemLevel = testResultService.GetAllStandardFindings <int?>((int)TestType.DiabeticRetinopathy, (int)ReadingLabels.MacularEdemaHighestLevelOfSpecificity);

                customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
                {
                    var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                    if (standardFindingTestReadingEntity == null)
                    {
                        return;
                    }

                    var finding = CreateFindingObject(customerEventTestStandardFindingEntity, standardFindings, standardFindingTestReadingEntity, null);
                    if (finding != null)
                    {
                        testResult.Finding = finding; return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, diabeticRetinopathyLevelFindings, standardFindingTestReadingEntity, (int?)ReadingLabels.DiabeticRetinopathyHighestLevelOfSpecificity);
                    if (finding != null)
                    {
                        testResult.DiabeticRetinopathyLevel = finding; return;
                    }

                    finding = CreateFindingObject(customerEventTestStandardFindingEntity, macularEdemLevel, standardFindingTestReadingEntity, (int?)ReadingLabels.MacularEdemaHighestLevelOfSpecificity);
                    if (finding != null)
                    {
                        testResult.MacularEdemaLevel = finding; return;
                    }
                });
            }

            if (customerEventScreeningTestEntity.TestMedia != null && customerEventScreeningTestEntity.TestMedia.Count > 0)
            {
                var fileEntityCollection = customerEventScreeningTestEntity.FileCollectionViaTestMedia.ToList();
                var testMediaEntity      = customerEventScreeningTestEntity.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
                };
            }


            testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities);
            testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities);

            return(testResult);
        }
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity)
        {
            var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList();
            var testResult = new AwvEkgIppeTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId);

            if (customerEventScreeningTestEntity.TestMedia != null && customerEventScreeningTestEntity.TestMedia.Count > 0)
            {
                var fileEntityCollection = customerEventScreeningTestEntity.FileCollectionViaTestMedia.ToList();
                var testMediaEntity      = customerEventScreeningTestEntity.TestMedia.FirstOrDefault();
                testResult.ResultImage = new ResultMedia(testMediaEntity.MediaId);

                testResult.ResultImage.File      = GetFileObjectfromEntity(testMediaEntity.FileId, fileEntityCollection);
                testResult.ResultImage.Thumbnail = testMediaEntity.ThumbnailFileId != null ? new File(testMediaEntity.ThumbnailFileId.Value) : null;

                if (testMediaEntity.IsManual)
                {
                    testResult.ResultImage.ReadingSource = ReadingSource.Manual;
                }
                else
                {
                    testResult.ResultImage.ReadingSource = ReadingSource.Automatic;
                }
            }

            var customerEventTestStandardFindingEntities = customerEventScreeningTestEntity.CustomerEventTestStandardFinding.ToList();

            var testResultService    = new TestResultService();
            var standardFindings     = testResultService.GetAllStandardFindings <int?>((int)TestType.AwvEkgIPPE);
            var bundleBranchFindings = testResultService.GetAllStandardFindings <int?>((int)TestType.AwvEkgIPPE, (int)ReadingLabels.BundleBranchBlock);
            var infarctionFindings   = testResultService.GetAllStandardFindings <int?>((int)TestType.AwvEkgIPPE, (int)ReadingLabels.InfarctionPattern);

            var standardFindingTestReadingEntities =
                customerEventScreeningTestEntity.
                StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList();

            customerEventTestStandardFindingEntities.ForEach(customerEventTestStandardFindingEntity =>
            {
                var standardFindingTestReadingEntity = standardFindingTestReadingEntities.Find(entity => entity.StandardFindingTestReadingId == customerEventTestStandardFindingEntity.StandardFindingTestReadingId);
                if (standardFindingTestReadingEntity == null)
                {
                    return;
                }

                var standardFindingEntity = standardFindings.ToList().FindAll(standardFinding => standardFinding.Id == standardFindingTestReadingEntity.StandardFindingId).FirstOrDefault();
                if (standardFindingEntity != null)
                {
                    testResult.Finding = new StandardFinding <int?>(standardFindingEntity.Id)
                    {
                        CustomerEventStandardFindingId =
                            customerEventTestStandardFindingEntity.
                            CustomerEventTestStandardFindingId,
                        Label =
                            standardFindingEntity.Label,
                        MaxValue = Convert.ToInt32(standardFindingEntity.MaxValue),
                        MinValue = Convert.ToInt32(standardFindingEntity.MinValue)
                    };
                    return;
                }

                standardFindingEntity = bundleBranchFindings.ToList().FindAll(standardFinding => standardFinding.Id == standardFindingTestReadingEntity.StandardFindingId).FirstOrDefault();
                if (standardFindingEntity != null)
                {
                    var finding = new StandardFinding <int>(standardFindingEntity.Id)
                    {
                        CustomerEventStandardFindingId =
                            customerEventTestStandardFindingEntity.
                            CustomerEventTestStandardFindingId,
                        Label =
                            standardFindingEntity.Label,
                        MaxValue = Convert.ToInt32(standardFindingEntity.MaxValue),
                        MinValue = Convert.ToInt32(standardFindingEntity.MinValue)
                    };
                    if (testResult.BundleBranchBlockFinding == null)
                    {
                        testResult.BundleBranchBlockFinding = new List <StandardFinding <int> >();
                    }
                    testResult.BundleBranchBlockFinding.Add(finding);
                    return;
                }

                standardFindingEntity = infarctionFindings.ToList().FindAll(standardFinding => standardFinding.Id == standardFindingTestReadingEntity.StandardFindingId).FirstOrDefault();
                if (standardFindingEntity != null)
                {
                    var finding = new StandardFinding <int>(standardFindingEntity.Id)
                    {
                        CustomerEventStandardFindingId =
                            customerEventTestStandardFindingEntity.
                            CustomerEventTestStandardFindingId,
                        Label =
                            standardFindingEntity.Label,
                        MaxValue = Convert.ToInt32(standardFindingEntity.MaxValue),
                        MinValue = Convert.ToInt32(standardFindingEntity.MinValue)
                    };
                    if (testResult.InfarctionPatternFinding == null)
                    {
                        testResult.InfarctionPatternFinding = new List <StandardFinding <int> >();
                    }
                    testResult.InfarctionPatternFinding.Add(finding);
                    return;
                }
            });


            testResult.PRInterval  = CreateResultReadingforNullableDecimal((int)ReadingLabels.PRInterval, customerEventReadingEntities);
            testResult.QRSDuration = CreateResultReadingforNullableDecimal((int)ReadingLabels.QRSDuration, customerEventReadingEntities);
            testResult.QTcInterval = CreateResultReadingforNullableDecimal((int)ReadingLabels.QTcInterval, customerEventReadingEntities);

            testResult.PRTAxis          = new PRTAxis();
            testResult.PRTAxis.PFront   = CreateResultReadingforNullableInt((int)ReadingLabels.PRTAxisPFront, customerEventReadingEntities);
            testResult.PRTAxis.QRSFront = CreateResultReadingforNullableInt((int)ReadingLabels.PRTAxisQRSFront, customerEventReadingEntities);
            testResult.PRTAxis.TFront   = CreateResultReadingforNullableInt((int)ReadingLabels.PRTAxisTFront, customerEventReadingEntities);

            testResult.QTDispersion = CreateResultReadingforNullableInt((int)ReadingLabels.QTDispersion, customerEventReadingEntities);
            testResult.QTInterval   = CreateResultReadingforNullableDecimal((int)ReadingLabels.QTInterval, customerEventReadingEntities);
            testResult.RRInterval   = CreateResultReadingforNullableInt((int)ReadingLabels.RRInterval, customerEventReadingEntities);
            testResult.VentRate     = CreateResultReadingforNullableInt((int)ReadingLabels.VentRate, customerEventReadingEntities);

            testResult.SinusRythm         = CreateResultReading((int)ReadingLabels.SinusRythm, customerEventReadingEntities);
            testResult.SinusArrythmia     = CreateResultReading((int)ReadingLabels.SinusArrythmia, customerEventReadingEntities);
            testResult.SinusBradycardia   = CreateResultReading((int)ReadingLabels.SinusBradycardia, customerEventReadingEntities);
            testResult.Mild               = CreateResultReading((int)ReadingLabels.Mild, customerEventReadingEntities);
            testResult.Marked             = CreateResultReading((int)ReadingLabels.Marked, customerEventReadingEntities);
            testResult.SinusTachycardia   = CreateResultReading((int)ReadingLabels.SinusTachycardia, customerEventReadingEntities);
            testResult.AtrialFibrillation = CreateResultReading((int)ReadingLabels.AtrialFibrillation, customerEventReadingEntities);
            testResult.AtrialFlutter      = CreateResultReading((int)ReadingLabels.AtrialFlutter, customerEventReadingEntities);
            testResult.SVT                           = CreateResultReading((int)ReadingLabels.SVT, customerEventReadingEntities);
            testResult.PACs                          = CreateResultReading((int)ReadingLabels.PACs, customerEventReadingEntities);
            testResult.PVCs                          = CreateResultReading((int)ReadingLabels.PVCs, customerEventReadingEntities);
            testResult.QRSWidening                   = CreateResultReading((int)ReadingLabels.QRSWidening, customerEventReadingEntities);
            testResult.LeftAxis                      = CreateResultReading((int)ReadingLabels.LeftAxis, customerEventReadingEntities);
            testResult.RightAxis                     = CreateResultReading((int)ReadingLabels.RightAxis, customerEventReadingEntities);
            testResult.AbnormalAxis                  = CreateResultReading((int)ReadingLabels.AbnormalAxis, customerEventReadingEntities);
            testResult.Left                          = CreateResultReading((int)ReadingLabels.Left, customerEventReadingEntities);
            testResult.Right                         = CreateResultReading((int)ReadingLabels.Right, customerEventReadingEntities);
            testResult.HeartBlock                    = CreateResultReading((int)ReadingLabels.HeartBlock, customerEventReadingEntities);
            testResult.TypeI                         = CreateResultReading((int)ReadingLabels.TypeI, customerEventReadingEntities);
            testResult.TypeII                        = CreateResultReading((int)ReadingLabels.TypeII, customerEventReadingEntities);
            testResult.FirstDegreeBlock              = CreateResultReading((int)ReadingLabels.FirstDegreeBlock, customerEventReadingEntities);
            testResult.SecondDegreeBlock             = CreateResultReading((int)ReadingLabels.SecondDegreeBlock, customerEventReadingEntities);
            testResult.ThirdDegreeCompleteHeartBlock = CreateResultReading((int)ReadingLabels.ThirdDegreeCompleteHeartBlock, customerEventReadingEntities);
            testResult.Artifact                      = CreateResultReading((int)ReadingLabels.Artifact, customerEventReadingEntities);

            testResult.BundleBranchBlock           = CreateResultReading((int)ReadingLabels.BundleBranchBlock, customerEventReadingEntities);
            testResult.LeftAnteriorFasicularBlock  = CreateResultReading((int)ReadingLabels.LeftAnteriorFasicularBlock, customerEventReadingEntities);
            testResult.VentricularHypertrophy      = CreateResultReading((int)ReadingLabels.VentricularHypertrophy, customerEventReadingEntities);
            testResult.LeftVentricularHypertrophy  = CreateResultReading((int)ReadingLabels.LeftVHypertrophy, customerEventReadingEntities);
            testResult.RightVentricularHypertrophy = CreateResultReading((int)ReadingLabels.RightVHypertrophy, customerEventReadingEntities);
            testResult.ProlongedQTInterval         = CreateResultReading((int)ReadingLabels.ProlongedQTInterval, customerEventReadingEntities);
            testResult.IschemicSTTChanges          = CreateResultReading((int)ReadingLabels.IschemicSTTChanges, customerEventReadingEntities);
            testResult.NonSpecificSTTChanges       = CreateResultReading((int)ReadingLabels.NonSpecificSTTChanges, customerEventReadingEntities);
            testResult.PoorRWaveProgression        = CreateResultReading((int)ReadingLabels.PoorRWaveProgression, customerEventReadingEntities);
            testResult.InfarctionPattern           = CreateResultReading((int)ReadingLabels.InfarctionPattern, customerEventReadingEntities);
            testResult.AtypicalQWaveLead           = CreateResultReading((int)ReadingLabels.AtypicalQWaveLead, customerEventReadingEntities);
            testResult.AtrialEnlargement           = CreateResultReading((int)ReadingLabels.AtrialEnlargement, customerEventReadingEntities);
            testResult.LeftAtrialEnlargement       = CreateResultReading((int)ReadingLabels.LeftAtrialEnlargment, customerEventReadingEntities);
            testResult.RightAtrialEnlargement      = CreateResultReading((int)ReadingLabels.RightAtrialEnlargment, customerEventReadingEntities);
            testResult.RepolarizationVariant       = CreateResultReading((int)ReadingLabels.RepolarizationVariant, customerEventReadingEntities);
            testResult.PacerRythm = CreateResultReading((int)ReadingLabels.PacerRythm, customerEventReadingEntities);
            testResult.SupraventricularArrythmia = CreateResultReading((int)ReadingLabels.SupraventricularArrythmia, customerEventReadingEntities);

            testResult.ReversedLeads = CreateResultReading((int)ReadingLabels.ReversedLeads, customerEventReadingEntities);
            testResult.RepeatStudy   = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities);
            testResult.ComparetoEkg  = CreateResultReading((int)ReadingLabels.ComparetoEkg, customerEventReadingEntities);

            testResult.LowVoltage      = CreateResultReading((int)ReadingLabels.LowVoltage, customerEventReadingEntities);
            testResult.LimbLeads       = CreateResultReading((int)ReadingLabels.LimbLeads, customerEventReadingEntities);
            testResult.PrecordialLeads = CreateResultReading((int)ReadingLabels.PrecordialLeads, customerEventReadingEntities);

            return(testResult);
        }