Beispiel #1
0
        public override TestResult GetTestResults(long customerId, long eventId, bool isNewResultFlow)
        {
            List <CustomerEventScreeningTestsEntity> customerEventScreeningTests = GetTestResultsByTestId(customerId, eventId, (int)TestType.PHQ9);

            var testResult = _testResultFactory.CreateTestResults(customerEventScreeningTests).SingleOrDefault();

            if (testResult == null)
            {
                return(null);
            }
            testResult.IsNewResultFlow = isNewResultFlow;
            return(testResult);
        }
Beispiel #2
0
        public override TestResult GetTestResults(long customerId, long eventId, bool isNewResultFlow)
        {
            var customer = new CustomerRepository().GetCustomer(customerId);

            _testResultFactory = new HemoglobinTestResultFactory(customer.Gender != Gender.Female);
            List <CustomerEventScreeningTestsEntity> customerEventScreeningTests = GetTestResultsByTestId(customerId, eventId, (int)TestType.Hemoglobin);

            var testResult = _testResultFactory.CreateTestResults(customerEventScreeningTests).SingleOrDefault();

            if (testResult != null)
            {
                testResult.IsNewResultFlow = isNewResultFlow;
            }

            return(testResult);
        }
        public override TestResult GetTestResults(long customerId, long eventId, bool isNewResultFlow)
        {
            var customer = new CustomerRepository().GetCustomer(customerId);

            _testResultFactory = new DiabetesTestResultFactory(customer.Gender == Gender.Female ? false : true);
            List <CustomerEventScreeningTestsEntity> customerEventScreeningTests = GetTestResultsByTestId(customerId, eventId, (int)TestType.Diabetes);

            var testResult = _testResultFactory.CreateTestResults(customerEventScreeningTests).SingleOrDefault();

            if (testResult == null)
            {
                return(null);
            }
            testResult.IsNewResultFlow = isNewResultFlow;
            return(testResult);
        }
Beispiel #4
0
        public override TestResult GetTestResults(long customerId, long eventId, bool isNewResultFlow)
        {
            List <CustomerEventScreeningTestsEntity> customerEventScreeningTests = GetTestResultsByTestId(customerId, eventId, (int)TestType.PulmonaryFunction);

            var testResult = _testResultFactory.CreateTestResults(customerEventScreeningTests).SingleOrDefault();

            if (testResult == null)
            {
                return(null);
            }
            var pulmonaryTestResult = (PulmonaryFunctionTestResult)testResult;

            if (pulmonaryTestResult.ResultImage != null)
            {
                GetFileDataforResultmedia(pulmonaryTestResult.ResultImage);
            }
            testResult.IsNewResultFlow = isNewResultFlow;
            return(testResult);
        }
Beispiel #5
0
        public override TestResult GetTestResults(long customerId, long eventId, bool isNewResultFlow)
        {
            List <CustomerEventScreeningTestsEntity> customerEventScreeningTests = GetTestResultsByTestId(customerId, eventId, (int)TestType.AwvEcho);
            var testResult = _testResultFactory.CreateTestResults(customerEventScreeningTests).SingleOrDefault();

            if (testResult == null)
            {
                return(null);
            }

            AwvEchocardiogramTestResult awvEchoTestResult = (AwvEchocardiogramTestResult)testResult;

            if (awvEchoTestResult.Media != null)
            {
                GetFileDataforResultmedia(awvEchoTestResult.Media);
            }
            awvEchoTestResult.IsNewResultFlow = isNewResultFlow;
            return(awvEchoTestResult);
        }
Beispiel #6
0
        public override TestResult GetTestResults(long customerId, long eventId, bool isNewResultFlow)
        {
            List <CustomerEventScreeningTestsEntity> customerEventScreeningTests = GetTestResultsByTestId(customerId, eventId, (int)TestType.AAA);

            var testResult = _testResultFactory.CreateTestResults(customerEventScreeningTests).SingleOrDefault();

            if (testResult == null)
            {
                return(null);
            }

            var aaaTestResult = (AAATestResult)testResult;

            if (aaaTestResult.ResultImages != null)
            {
                GetFileDataforResultmedia(aaaTestResult.ResultImages);
            }
            aaaTestResult.IsNewResultFlow = isNewResultFlow;
            return(aaaTestResult);
        }
Beispiel #7
0
        public override TestResult GetTestResults(long customerId, long eventId, bool isNewResultFlow)
        {
            List <CustomerEventScreeningTestsEntity> customerEventScreeningTests = GetTestResultsByTestId(customerId, eventId, (int)TestType.IMT);

            var testResult = _testResultFactory.CreateTestResults(customerEventScreeningTests).SingleOrDefault();

            if (testResult == null)
            {
                return(null);
            }

            var imtTestResult = (ImtTestResult)testResult;

            if (imtTestResult.ResultMedia != null)
            {
                GetFileDataforResultmedia(imtTestResult.ResultMedia.ToList());
            }
            imtTestResult.IsNewResultFlow = isNewResultFlow;
            return(imtTestResult);
        }
Beispiel #8
0
        public override TestResult GetTestResults(long customerId, long eventId, bool isNewResultFlow)
        {
            var customer = new CustomerRepository().GetCustomer(customerId);

            _testResultFactory = new FocTestResultFactory(customer.Gender == Gender.Female ? false : true);
            List <CustomerEventScreeningTestsEntity> customerEventScreeningTests = GetTestResultsByTestId(customerId, eventId, (int)TestType.Foc);

            var testResult = _testResultFactory.CreateTestResults(customerEventScreeningTests).SingleOrDefault();

            if (testResult == null)
            {
                return(null);
            }

            var focTestResult = (FocTestResult)testResult;

            if (focTestResult.ResultImage != null)
            {
                GetFileDataforResultmedia(focTestResult.ResultImage);
            }
            testResult.IsNewResultFlow = isNewResultFlow;
            return(testResult);
        }
Beispiel #9
0
        public override TestResult GetTestResults(long customerId, long eventId, bool isNewResultFlow)
        {
            List <CustomerEventScreeningTestsEntity> customerEventScreeningTests = GetTestResultsByTestId(customerId,
                                                                                                          eventId,
                                                                                                          (int)
                                                                                                          TestType.
                                                                                                          FraminghamRisk);

            long customerEventScreeningTestId = 0;

            if (customerEventScreeningTests == null || customerEventScreeningTests.Count <= 0)
            {
                customerEventScreeningTests = new List <CustomerEventScreeningTestsEntity>();
                var customerEventScreeningTestsEntity = new CustomerEventScreeningTestsEntity(0);
                customerEventScreeningTestsEntity.CustomerEventTestState.Add(new CustomerEventTestStateEntity
                {
                    SelfPresent     = false,
                    EvaluationState =
                        (byte)
                        TestResultStateNumber.NoResults
                });
                customerEventScreeningTests.Add(customerEventScreeningTestsEntity);
            }
            else
            {
                customerEventScreeningTestId = customerEventScreeningTests.First().CustomerEventScreeningTestId;
            }

            var customerEventReadingEntities = new List <CustomerEventReadingEntity>();

            customerEventScreeningTests.ForEach(
                customerEventScreening => customerEventReadingEntities.AddRange(
                    customerEventScreening.CustomerEventReading.Where(
                        customerEventReading =>
                        customerEventReading.TestReading.ReadingId ==
                        (int)ReadingLabels.Age ||
                        customerEventReading.TestReading.ReadingId ==
                        (int)ReadingLabels.Gender ||
                        customerEventReading.TestReading.ReadingId ==
                        (int)ReadingLabels.Smoker ||
                        customerEventReading.TestReading.ReadingId ==
                        (int)ReadingLabels.Diabetes)));

            if (customerEventReadingEntities.Count > 0)
            {
                customerEventScreeningTests.ForEach(
                    customerEventScreening =>
                    customerEventReadingEntities.ForEach(
                        customerEventReading => customerEventScreening.CustomerEventReading.Remove(customerEventReading)));
            }

            customerEventScreeningTests.ForEach(
                customerEventScreening =>
                customerEventScreening.CustomerEventReading.AddRange(
                    GetAgeGenderReading(customerId, customerEventReadingEntities)));


            customerEventScreeningTests.ForEach(
                customerEventScreening =>
                customerEventScreening.CustomerEventReading.AddRange(
                    GetLipidReading(customerId, eventId)));

            customerEventScreeningTests.ForEach(
                customerEventScreening =>
                customerEventScreening.CustomerEventReading.AddRange(
                    GetSmokerDiabeticReading(customerId, customerEventReadingEntities)));

            long eventCustomerResultId = 0;

            using (var myAdapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var linqMetaData      = new LinqMetaData(myAdapter);
                var customerEventtest = linqMetaData.EventCustomerResult.Where(customerEvent => customerEvent.CustomerId == customerId && customerEvent.EventId == eventId).ToList().SingleOrDefault();

                if (customerEventtest != null)
                {
                    eventCustomerResultId = customerEventtest.EventCustomerResultId;
                }
            }

            var customerEventReadingEntitiesForSystolicDiastolic = eventCustomerResultId > 0 ? GetSystolicDiastolicReading(eventCustomerResultId).ToList() : null;

            if (customerEventReadingEntitiesForSystolicDiastolic != null && customerEventReadingEntitiesForSystolicDiastolic.Count > 0)
            {
                customerEventReadingEntities = new List <CustomerEventReadingEntity>();

                customerEventReadingEntitiesForSystolicDiastolic.ForEach(entity =>
                {
                    entity.CustomerEventReadingId       = 0;
                    entity.CustomerEventScreeningTestId = customerEventScreeningTestId;
                });

                customerEventScreeningTests.ForEach(
                    customerEventScreening => customerEventReadingEntities.AddRange(
                        customerEventScreening.CustomerEventReading.Where(
                            customerEventReading =>
                            customerEventReading.TestReading.ReadingId ==
                            (int)ReadingLabels.SystolicRight ||
                            customerEventReading.TestReading.ReadingId ==
                            (int)ReadingLabels.DiastolicRight)));

                if (customerEventReadingEntities.Count > 0)
                {
                    customerEventScreeningTests.ForEach(
                        customerEventScreening =>
                        customerEventReadingEntities.ForEach(
                            customerEventReading => customerEventScreening.CustomerEventReading.Remove(customerEventReading)));
                }

                customerEventScreeningTests.ForEach(
                    customerEventScreening =>
                    customerEventScreening.CustomerEventReading.AddRange(customerEventReadingEntitiesForSystolicDiastolic));
            }


            var testResult = _testResultFactory.CreateTestResults(customerEventScreeningTests).SingleOrDefault();

            if (testResult == null)
            {
                return(null);
            }
            testResult.IsNewResultFlow = isNewResultFlow;
            return(testResult);
        }