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)); }
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); }