Exemple #1
0
        private TestResult OldResultStateManualEntry(List <ResultReading <int> > compareToResultReadings, TestResult newTestResult)
        {
            if (newTestResult.ResultStatus.StateNumber == (int)TestResultStateNumber.PreAudit)
            {
                return(newTestResult);
            }

            LiverTestResult newLiverTestResult = newTestResult as LiverTestResult;

            bool returnStatus = SynchronizeForChangeReadingSource <int?>(compareToResultReadings.Find(resultReading => resultReading.Label == ReadingLabels.AST).ReadingSource, newLiverTestResult.AST);

            if (returnStatus)
            {
                newLiverTestResult.ResultStatus.StateNumber = (int)TestResultStateNumber.ManualEntry; return(newLiverTestResult);
            }

            returnStatus = SynchronizeForChangeReadingSource <int?>(compareToResultReadings.Find(resultReading => resultReading.Label == ReadingLabels.ALT).ReadingSource, newLiverTestResult.ALT);
            if (returnStatus)
            {
                newLiverTestResult.ResultStatus.StateNumber = (int)TestResultStateNumber.ManualEntry; return(newLiverTestResult);
            }

            newLiverTestResult.ResultStatus.StateNumber = (int)TestResultStateNumber.ResultsUploaded;
            return(newLiverTestResult);
        }
        public void SaveLiverTestResult()
        {
            var testResult = new LiverTestResult((long)TestType.Liver)
            {
                ALT = new CompoundResultReading <int?>((long)0)
                {
                    Finding       = new StandardFinding <int?>(6),
                    Label         = ReadingLabels.ASI,
                    Reading       = 11,
                    ReadingSource = ReadingSource.Automatic
                },
                AST = new CompoundResultReading <int?>((long)0)
                {
                    Finding       = new StandardFinding <int?>(6),
                    Label         = ReadingLabels.AST,
                    Reading       = 12,
                    ReadingSource = ReadingSource.Automatic
                },
                DataRecorderMetaData = new DataRecorderMetaData
                {
                    DataRecorderCreator = new OrganizationRoleUser
                    {
                        UserId         = 1058,
                        RoleId         = 8,
                        OrganizationId = 1
                    },
                    DataRecorderModifier = new OrganizationRoleUser
                    {
                        UserId         = 1058,
                        RoleId         = 8,
                        OrganizationId = 1
                    },
                    DateCreated  = DateTime.Now,
                    DateModified = DateTime.Now
                },
                ResultStatus = new TestResultState {
                    SelfPresent = true, StateNumber = (int)TestResultStateNumber.ManualEntry, Status = TestResultStatus.Incomplete
                }
            };

            Assert.IsTrue(_testResultRepository.SaveTestResults(testResult, CustomerID, EventID, 12));
        }
Exemple #3
0
        public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestsEntity)
        {
            //var testResult = new LiverTestResult();

            var customerEventReadingEntities = customerEventScreeningTestsEntity.CustomerEventReading.ToList();

            var standardFindingTestReadingEntities =
                customerEventScreeningTestsEntity.
                StandardFindingTestReadingCollectionViaCustomerEventReading;

            var testResult = new LiverTestResult(customerEventScreeningTestsEntity.CustomerEventScreeningTestId);

            var astData = customerEventReadingEntities.Where(
                customerEventReading => customerEventReading.TestReading.ReadingId == (int)ReadingLabels.AST).SingleOrDefault();

            if (astData != null)
            {
                StandardFindingTestReadingEntity standardFindingTestReading = null;
                if (astData.StandardFindingTestReadingId != null)
                {
                    standardFindingTestReading =
                        standardFindingTestReadingEntities.ToList().Find(standardFindingTestReadingEntity =>
                                                                         (standardFindingTestReadingEntity.ReadingId ==
                                                                          (int)ReadingLabels.AST) &&
                                                                         (astData.
                                                                          StandardFindingTestReadingId ==
                                                                          standardFindingTestReadingEntity.
                                                                          StandardFindingTestReadingId)
                                                                         );
                }

                testResult.AST = new CompoundResultReading <int?>(astData.CustomerEventReadingId)
                {
                    Label   = ReadingLabels.AST,
                    Reading = !string.IsNullOrEmpty(astData.Value)
                                                        ? (int?)Convert.ToInt32(astData.Value)
                                                        : null,
                    ReadingSource = astData.IsManual
                                                             ? ReadingSource.Manual
                                                             : ReadingSource.Automatic
                };

                int astValue = 0;
                if (astData.Value != null && int.TryParse(astData.Value, out astValue) == true)
                {
                    testResult.AST.Finding = new StandardFinding <int?>(
                        Convert.ToInt64(
                            astData.StandardFindingTestReadingId == null
                                                                 ?
                            (new TestResultService()).
                            GetCalculatedStandardFinding(astValue,
                                                         (int)TestType.Liver, (int)ReadingLabels.AST)
                                                                 : standardFindingTestReading.StandardFindingId));
                }
                else if (astData.StandardFindingTestReadingId != null)
                {
                    testResult.AST.Finding = new StandardFinding <int?>(standardFindingTestReading.StandardFindingId);
                }

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

            var altData = customerEventReadingEntities.Where(
                customerEventReading => customerEventReading.TestReading.ReadingId == (int)ReadingLabels.ALT).SingleOrDefault();

            if (altData != null)
            {
                StandardFindingTestReadingEntity standardFindingTestReading = null;
                if (altData.StandardFindingTestReadingId != null)
                {
                    standardFindingTestReading =
                        standardFindingTestReadingEntities.ToList().Find(standardFindingTestReadingEntity =>
                                                                         (standardFindingTestReadingEntity.ReadingId ==
                                                                          (int)ReadingLabels.ALT) &&
                                                                         (altData.
                                                                          StandardFindingTestReadingId ==
                                                                          standardFindingTestReadingEntity.
                                                                          StandardFindingTestReadingId)
                                                                         );
                }

                testResult.ALT = new CompoundResultReading <int?>(altData.CustomerEventReadingId)
                {
                    Label   = ReadingLabels.ALT,
                    Reading = !string.IsNullOrEmpty(altData.Value)
                                                        ? (int?)Convert.ToInt32(altData.Value)
                                                        : null,
                    ReadingSource = altData.IsManual
                                                             ? ReadingSource.Manual
                                                             : ReadingSource.Automatic
                };

                int altValue = 0;
                if (altData.Value != null && int.TryParse(altData.Value, out altValue) == true)
                {
                    testResult.ALT.Finding = new StandardFinding <int?>(
                        Convert.ToInt64(
                            altData.StandardFindingTestReadingId == null
                                                                 ?
                            (new TestResultService()).
                            GetCalculatedStandardFinding(altValue,
                                                         (int)TestType.Liver, (int)ReadingLabels.ALT)
                                                                 : standardFindingTestReading.StandardFindingId));
                }
                else if (altData.StandardFindingTestReadingId != null)
                {
                    testResult.ALT.Finding = new StandardFinding <int?>(standardFindingTestReading.StandardFindingId);
                }

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