public TestResult Parse(DataRow dr) { _errorSummary = string.Empty; var testResult = new HemaglobinA1CTestResult(); if (IsDataRowItemEmpty(dr[ColumnA1c])) { return(null); } try { if (!IsDataRowItemEmpty(dr[ColumnA1c])) { testResult.Hba1c = new ResultReading <string>(ReadingLabels.Hba1c) { ReadingSource = ReadingSource.Automatic, Reading = dr[ColumnA1c].ToString() }; } } catch (Exception ex) { _errorSummary += "Data extraction for Hba1c failed. "; _logger.Error("\n Data extraction for Hba1c failed! Error: " + ex.Message + "\n\t\t" + ex.StackTrace); } return(testResult); }
public PcpResultExportModel SetHemoglobinA1CData(PcpResultExportModel model, HemaglobinA1CTestResult testResult, bool useBlankValue = false) { if (testResult.Hba1c != null) { if (testResult.Hba1c.Reading != null) { model.HemoglobinReading = testResult.Hba1c.Reading; } } model.HemoglobinUnabletoScreen = testResult.UnableScreenReason != null && testResult.UnableScreenReason.Count > 0 ? PcpResultExportHelper.YesString : (useBlankValue ? "" : PcpResultExportHelper.NoString); if ((testResult.ResultStatus != null && testResult.ResultStatus.SelfPresent) || (testResult.PhysicianInterpretation != null && testResult.PhysicianInterpretation.IsCritical)) { model.HemoglobinCritical = PcpResultExportHelper.YesString; } else if (!useBlankValue) { model.HemoglobinCritical = PcpResultExportHelper.NoString; } if (testResult.PhysicianInterpretation != null) { model.HemoglobinPhysicianNotes = testResult.PhysicianInterpretation.Remarks; } return(model); }
public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestEntity) { var testResult = new HemaglobinA1CTestResult(customerEventScreeningTestEntity.CustomerEventScreeningTestId); var customerEventReadingEntities = customerEventScreeningTestEntity.CustomerEventReading.ToList(); testResult.Hba1c = CreateResultReadingforInputValues((int)ReadingLabels.Hba1c, customerEventReadingEntities); return(testResult); }
public TestResult GetHemaglobinA1CTestResultDomain(KynHealthAssessmentEditModel model, HemaglobinA1CTestResult inpersistence, long uploadedby, bool isNewResultFlow) { if (!IsHemaglobinA1CTestReadingProvided(model) && inpersistence == null) { return(inpersistence); } if (inpersistence == null) { inpersistence = new HemaglobinA1CTestResult { Hba1c = new ResultReading <string> { Reading = model.A1c.HasValue ? model.A1c.Value.ToString() : string.Empty, Label = ReadingLabels.Hba1c, ReadingSource = ReadingSource.Manual }, ResultStatus = new TestResultState { StateNumber = isNewResultFlow ? (int)NewTestResultStateNumber.ResultEntryPartial : (int)TestResultStateNumber.ManualEntry } }; } else { inpersistence.Hba1c = new ResultReading <string> { Reading = model.A1c.HasValue ? model.A1c.Value.ToString() : string.Empty, Label = ReadingLabels.Hba1c, ReadingSource = ReadingSource.Manual }; } inpersistence.ResultStatus.DataRecorderMetaData = SetDataRecorderMetaData(inpersistence.ResultStatus.DataRecorderMetaData, uploadedby); inpersistence.DataRecorderMetaData = SetDataRecorderMetaData(inpersistence.DataRecorderMetaData, uploadedby); return(inpersistence); }