public PcpResultExportModel SetLeadData(PcpResultExportModel model, LeadTestResult testResult, IEnumerable <ResultReading <int> > readings, bool useBlankValue = false) { if (testResult.RightResultReadings != null) { model.LeadRightCfaPsv = GetOutputFromNullableDecimalResultReading(testResult.RightResultReadings.CFAPSV); model.LeadRightPsfaPsv = GetOutputFromNullableDecimalResultReading(testResult.RightResultReadings.PSFAPSV); model.LeadRightNoVisualPlaque = PcpResultExportHelper.GetOutputFromNullableBoolTypeResultReading(testResult.RightResultReadings.NoVisualPlaque, useBlankValue); model.LeadRightVisuallyDemonstratedPlaque = PcpResultExportHelper.GetOutputFromNullableBoolTypeResultReading(testResult.RightResultReadings.VisuallyDemonstratedPlaque, useBlankValue); model.LeadRightModerateStenosis = PcpResultExportHelper.GetOutputFromNullableBoolTypeResultReading(testResult.RightResultReadings.ModerateStenosis, useBlankValue); model.LeadRightPossibleOcclusion = PcpResultExportHelper.GetOutputFromNullableBoolTypeResultReading(testResult.RightResultReadings.PossibleOcclusion, useBlankValue); } if (testResult.LeftResultReadings != null) { model.LeadLeftCfaPsv = GetOutputFromNullableDecimalResultReading(testResult.LeftResultReadings.CFAPSV); model.LeadLeftPsfaPsv = GetOutputFromNullableDecimalResultReading(testResult.LeftResultReadings.PSFAPSV); model.LeadLeftNoVisualPlaque = PcpResultExportHelper.GetOutputFromNullableBoolTypeResultReading(testResult.LeftResultReadings.NoVisualPlaque, useBlankValue); model.LeadLeftVisuallyDemonstratedPlaque = PcpResultExportHelper.GetOutputFromNullableBoolTypeResultReading(testResult.LeftResultReadings.VisuallyDemonstratedPlaque, useBlankValue); model.LeadLeftModerateStenosis = PcpResultExportHelper.GetOutputFromNullableBoolTypeResultReading(testResult.LeftResultReadings.ModerateStenosis, useBlankValue); model.LeadLeftPossibleOcclusion = PcpResultExportHelper.GetOutputFromNullableBoolTypeResultReading(testResult.LeftResultReadings.PossibleOcclusion, useBlankValue); } model.LeadResult = GetLeadResult(testResult, readings); model.LeadRightLowVelocity = testResult.LowVelocityRight != null ? PcpResultExportHelper.YesString : (useBlankValue ? "" : PcpResultExportHelper.NoString); model.LeadLeftLowVelocity = testResult.LowVelocityLeft != null ? PcpResultExportHelper.YesString : (useBlankValue ? "" : PcpResultExportHelper.NoString); model.LeadUnabletoScreen = 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.LeadCritical = PcpResultExportHelper.YesString; } else if (!useBlankValue) { model.LeadCritical = PcpResultExportHelper.NoString; } model.LeadTechnicallyLimitedButReadable = PcpResultExportHelper.GetOutputFromBoolTypeResultReading(testResult.TechnicallyLimitedbutReadable, useBlankValue); model.LeadRepeatStudyUnreadable = PcpResultExportHelper.GetOutputFromBoolTypeResultReading(testResult.RepeatStudy, useBlankValue); if (testResult.PhysicianInterpretation != null) { model.LeadPhysicianNotes = testResult.PhysicianInterpretation.Remarks; } return(model); }
public LeadTestResult MapXmlToDomainObject(string filePathtoXml) { var testResult = new LeadTestResult(); var xDoc = XDocument.Load(filePathtoXml); testResult.LeftResultReadings = GetLeadTestReadings(xDoc, SideToCheckLeft); testResult.RightResultReadings = GetLeadTestReadings(xDoc, SideToCheckRight); if (testResult.LeftResultReadings != null) { if (testResult.LeftResultReadings.CFAPSV != null) { testResult.LeftResultReadings.CFAPSV.Label = ReadingLabels.LeftCFAPSV; } if (testResult.LeftResultReadings.PSFAPSV != null) { testResult.LeftResultReadings.PSFAPSV.Label = ReadingLabels.LeftPSFAPSV; } } if (testResult.RightResultReadings != null) { if (testResult.RightResultReadings.CFAPSV != null) { testResult.RightResultReadings.CFAPSV.Label = ReadingLabels.RightCFAPSV; } if (testResult.RightResultReadings.PSFAPSV != null) { testResult.RightResultReadings.PSFAPSV.Label = ReadingLabels.RightPSFAPSV; } } bool isExceptionCaused; testResult.ResultImages = _mediaHelper.GetMediaforTest(Directory.GetParent(filePathtoXml).Parent.FullName, _mediaLocation, TestType.Lead.ToString(), out isExceptionCaused).ToList(); if (isExceptionCaused) { _errorSummary += "Media Extraction Failed. "; } return(testResult); }
private void SetLeadResult(HtmlDocument doc, LeadTestResult testResult, List <ResultReading <int> > readings) { if (testResult.LeftResultReadings != null && testResult.RightResultReadings != null) { var readingLabel = string.Empty; var leftResultReadings = testResult.LeftResultReadings; var rightResultReading = testResult.RightResultReadings; if ((leftResultReadings.NoVisualPlaque != null && leftResultReadings.NoVisualPlaque.Reading != null) || (rightResultReading.NoVisualPlaque != null && rightResultReading.NoVisualPlaque.Reading != null)) { var reading = readings.First(x => x.Label == ReadingLabels.LeftNoVisualPlaque); readingLabel = reading.LableText; } if ((leftResultReadings.VisuallyDemonstratedPlaque != null && leftResultReadings.VisuallyDemonstratedPlaque.Reading != null) || (rightResultReading.VisuallyDemonstratedPlaque != null && rightResultReading.VisuallyDemonstratedPlaque.Reading != null)) { var reading = readings.First(x => x.Label == ReadingLabels.LeftVisuallyDemonstratedPlaque); readingLabel = reading.LableText; } if ((leftResultReadings.ModerateStenosis != null && leftResultReadings.ModerateStenosis.Reading != null) || (rightResultReading.ModerateStenosis != null && rightResultReading.ModerateStenosis.Reading != null)) { var reading = readings.First(x => x.Label == ReadingLabels.LeftModerateStenosis); readingLabel = reading.LableText; } if ((leftResultReadings.PossibleOcclusion != null && leftResultReadings.PossibleOcclusion.Reading != null) || (rightResultReading.PossibleOcclusion != null && rightResultReading.PossibleOcclusion.Reading != null)) { var reading = readings.First(x => x.Label == ReadingLabels.LeftPossibleOcclusion); readingLabel = reading.LableText; } var selectedNode = doc.DocumentNode.SelectSingleNode("//span[@id='lead-rpp-resultspan']"); if (selectedNode != null) { selectedNode.InnerHtml = readingLabel; } } }
private string GetLeadResult(LeadTestResult testResult, IEnumerable <ResultReading <int> > readings) { var readingLabel = string.Empty; if (testResult.LeftResultReadings != null && testResult.RightResultReadings != null) { var leftResultReadings = testResult.LeftResultReadings; var rightResultReading = testResult.RightResultReadings; if ((leftResultReadings.NoVisualPlaque != null && leftResultReadings.NoVisualPlaque.Reading != null) || (rightResultReading.NoVisualPlaque != null && rightResultReading.NoVisualPlaque.Reading != null)) { var reading = readings.First(x => x.Label == ReadingLabels.LeftNoVisualPlaque); readingLabel = reading.LableText; } if ((leftResultReadings.VisuallyDemonstratedPlaque != null && leftResultReadings.VisuallyDemonstratedPlaque.Reading != null) || (rightResultReading.VisuallyDemonstratedPlaque != null && rightResultReading.VisuallyDemonstratedPlaque.Reading != null)) { var reading = readings.First(x => x.Label == ReadingLabels.LeftVisuallyDemonstratedPlaque); readingLabel = reading.LableText; } if ((leftResultReadings.ModerateStenosis != null && leftResultReadings.ModerateStenosis.Reading != null) || (rightResultReading.ModerateStenosis != null && rightResultReading.ModerateStenosis.Reading != null)) { var reading = readings.First(x => x.Label == ReadingLabels.LeftModerateStenosis); readingLabel = reading.LableText; } if ((leftResultReadings.PossibleOcclusion != null && leftResultReadings.PossibleOcclusion.Reading != null) || (rightResultReading.PossibleOcclusion != null && rightResultReading.PossibleOcclusion.Reading != null)) { var reading = readings.First(x => x.Label == ReadingLabels.LeftPossibleOcclusion); readingLabel = reading.LableText; } } return(readingLabel); }
public void LoadLeadTestresults(HtmlDocument doc, LeadTestResult testResult, bool removeLongDescription, List <OrderedPair <long, string> > technicianIdNamePairs, bool loadImages, IEnumerable <CustomerScreeningEvaluatinPhysicianViewModel> physicians, IEnumerable <EventPhysicianTest> eventPhysicianTests, IEnumerable <PhysicianEvaluation> eventCustomerPhysicianEvaluation, CustomerSkipReview customerSkipReview, DateTime eventDate, bool isPhysicianPartnerCustomer) { var findingVelocityLeftList = _standardFindingRepository.GetAllStandardFindings <decimal?>((int)TestType.Lead, (int)ReadingLabels.LeftCFAPSV); var findingVelocityRightList = _standardFindingRepository.GetAllStandardFindings <decimal?>((int)TestType.Lead, (int)ReadingLabels.RightCFAPSV); var incidentalFindings = _incidentalFindingRepository.GetAllIncidentalFinding((int)TestType.Stroke); var selectedNode = doc.DocumentNode.SelectSingleNode("//span[@id='LowVelocityLeftLabel']"); if (selectedNode != null) { selectedNode.InnerHtml = findingVelocityLeftList.FirstOrDefault().Label; } selectedNode = doc.DocumentNode.SelectSingleNode("//span[@id='LowVelocityRightLabel']"); if (selectedNode != null) { selectedNode.InnerHtml = findingVelocityRightList.FirstOrDefault().Label; } var getAbsValue = new Func <ResultReading <decimal?>, ResultReading <decimal?> >(r => { if (r != null && r.Reading != null && r.Reading.Value < 0) { r.Reading = r.Reading.Value * -1; } return(r); }); if (testResult != null) { selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='lead-rpp-section']"); if (selectedNode != null && (testResult.UnableScreenReason == null || testResult.UnableScreenReason.Count == 0) && (testResult.TestNotPerformed == null || testResult.TestNotPerformed.TestNotPerformedReasonId <= 0) && (testResult.RepeatStudy == null || testResult.RepeatStudy.Reading == false)) { selectedNode.SetAttributeValue("style", "display:block;"); } selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='rpp-eus-lead-div']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:block;"); } _resultPdfHelper.SetPhysicianSignature(doc, "lead-primaryEvalPhysicianSign", "lead-overreadEvalPhysicianSign", physicians, eventPhysicianTests, eventCustomerPhysicianEvaluation, customerSkipReview); var readings = new TestResultRepository().GetAllReadings((int)TestType.Lead); foreach (var resultReading in readings) { switch (resultReading.Label) { case ReadingLabels.RightCFAPSV: if (testResult.RightResultReadings != null) { testResult.RightResultReadings.CFAPSV = getAbsValue(testResult.RightResultReadings.CFAPSV); _resultPdfHelper.SetInputBox(doc, "RightCFAPSVInputText", testResult.RightResultReadings.CFAPSV); } break; case ReadingLabels.RightPSFAPSV: if (testResult.RightResultReadings != null) { testResult.RightResultReadings.PSFAPSV = getAbsValue(testResult.RightResultReadings.PSFAPSV); _resultPdfHelper.SetInputBox(doc, "RightPSFAPSVInputText", getAbsValue(testResult.RightResultReadings.PSFAPSV)); } break; case ReadingLabels.LeftCFAPSV: if (testResult.LeftResultReadings != null) { testResult.LeftResultReadings.CFAPSV = getAbsValue(testResult.LeftResultReadings.CFAPSV); _resultPdfHelper.SetInputBox(doc, "LeftCFAPSVInputText", getAbsValue(testResult.LeftResultReadings.CFAPSV)); } break; case ReadingLabels.LeftPSFAPSV: if (testResult.LeftResultReadings != null) { testResult.LeftResultReadings.PSFAPSV = getAbsValue(testResult.LeftResultReadings.PSFAPSV); _resultPdfHelper.SetInputBox(doc, "LeftPSFAPSVInputText", getAbsValue(testResult.LeftResultReadings.PSFAPSV)); } break; case ReadingLabels.TechnicallyLimitedbutReadable: _resultPdfHelper.SetCheckBox(doc, "TechnicallyLimitedbutReadableLeadInputCheck", testResult.TechnicallyLimitedbutReadable); break; case ReadingLabels.RepeatStudy: _resultPdfHelper.SetCheckBox(doc, "RepeatStudyLeadInputCheck", testResult.RepeatStudy); break; } } if (findingVelocityLeftList != null) { selectedNode = doc.DocumentNode.SelectSingleNode("//input[@id='LowVelocityLeftCheckbox']"); if (selectedNode != null && testResult.LowVelocityLeft != null) { selectedNode.SetAttributeValue("checked", "checked"); } } if (findingVelocityLeftList != null) { selectedNode = doc.DocumentNode.SelectSingleNode("//input[@id='LowVelocityRightCheckbox']"); if (selectedNode != null && testResult.LowVelocityRight != null) { selectedNode.SetAttributeValue("checked", "checked"); } } _resultPdfHelper.LoadTestMedia(doc, testResult.ResultImages, "testmedia-lead", loadImages); LoadLeadIncidentalFindings(doc, incidentalFindings, testResult.IncidentalFindings); _resultPdfHelper.SetUnableToScreenReasons(doc, TestType.Lead, "leadUnableToScreen", testResult.UnableScreenReason); _resultPdfHelper.SetTechnician(doc, testResult, "techlead", "technoteslead", technicianIdNamePairs); _resultPdfHelper.SetPhysicianRemarks(doc, testResult, "followUpLead", "criticalLead", "physicianRemarksLead"); if (testResult.IncidentalFindings != null && testResult.IncidentalFindings.Any()) { selectedNode = doc.DocumentNode.SelectSingleNode("//p[@id='incidentalfinding-description-lead']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:block;"); } } selectedNode = doc.DocumentNode.SelectSingleNode("//span[@id='diagnosisCodeLead']"); if (selectedNode != null && testResult.DiagnosisCode != null && !string.IsNullOrEmpty(testResult.DiagnosisCode.Reading)) { var readingList = testResult.DiagnosisCode.Reading.Split('|'); var stBuilder = string.Empty; foreach (var reading in readingList) { stBuilder = stBuilder + "<br/>" + reading; } selectedNode.InnerHtml = stBuilder; } selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='lead-longdescription-div']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", removeLongDescription ? "display:none" : "display:block"); } if (_settings.ChangeLeadReadingDate.HasValue && eventDate.Date >= _settings.ChangeLeadReadingDate.Value) { selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='diagnosisCodeLeadContainer']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:none"); } selectedNode = doc.DocumentNode.SelectSingleNode("//table[@id='leadFinding']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:none"); } selectedNode = doc.DocumentNode.SelectSingleNode("//table[@id='leadFinding-CheckBox']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:block"); } selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='lead-longdescription-div']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:none"); } selectedNode = doc.DocumentNode.SelectSingleNode("//p[@id='long-description-lead']"); if (selectedNode != null) { selectedNode.InnerHtml = "<i>" + LeadLongLongDescription + "</i>"; } if (testResult.RightResultReadings != null) { _resultPdfHelper.SetCheckBox(doc, "rightNoVisualPlaque", testResult.RightResultReadings.NoVisualPlaque); _resultPdfHelper.SetCheckBox(doc, "rightVisuallyDemonstratedPlaque", testResult.RightResultReadings.VisuallyDemonstratedPlaque); _resultPdfHelper.SetCheckBox(doc, "rightModerateStenosis", testResult.RightResultReadings.ModerateStenosis); _resultPdfHelper.SetCheckBox(doc, "rightPossibleOcclusion", testResult.RightResultReadings.PossibleOcclusion); } if (testResult.LeftResultReadings != null) { _resultPdfHelper.SetCheckBox(doc, "leftNoVisualPlaque", testResult.LeftResultReadings.NoVisualPlaque); _resultPdfHelper.SetCheckBox(doc, "leftVisuallyDemonstratedPlaque", testResult.LeftResultReadings.VisuallyDemonstratedPlaque); _resultPdfHelper.SetCheckBox(doc, "leftModerateStenosis", testResult.LeftResultReadings.ModerateStenosis); _resultPdfHelper.SetCheckBox(doc, "leftPossibleOcclusion", testResult.LeftResultReadings.PossibleOcclusion); } SetLeadResult(doc, testResult, readings); } else { selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='diagnosisCodeLeadContainer']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:block"); } selectedNode = doc.DocumentNode.SelectSingleNode("//table[@id='leadFinding']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:block"); } selectedNode = doc.DocumentNode.SelectSingleNode("//table[@id='leadFinding-CheckBox']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:none"); } LoadLeadFindings(doc, testResult); } if (isPhysicianPartnerCustomer) { selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='ppLead-patient-detail']"); if (selectedNode != null) { selectedNode.SetAttributeValue("style", "display:block"); } } } else { LoadLeadFindings(doc, null, false); _resultPdfHelper.SetIncidentalFindings(doc, incidentalFindings, null, "leadIncidenatlFindings"); _resultPdfHelper.SetUnableToScreenReasons(doc, TestType.Lead, "leadUnableToScreen", null); } }
private void LoadLeadFindings(HtmlDocument doc, LeadTestResult testResult, bool isTestPurchased = true) { var standardFindingList = _standardFindingRepository.GetAllStandardFindings <decimal>((int)TestType.Lead, (int)ReadingLabels.Left); StandardFinding <decimal> leftFinding = null; StandardFinding <decimal> rightFinding = null; if (testResult != null) { if (testResult.LeftResultReadings != null && testResult.LeftResultReadings.Finding != null) { leftFinding = testResult.LeftResultReadings.Finding; } if (testResult.RightResultReadings != null && testResult.RightResultReadings.Finding != null) { rightFinding = testResult.RightResultReadings.Finding; } } StandardFinding <decimal> finding = leftFinding != null && rightFinding != null ? (leftFinding.Id > rightFinding.Id ? leftFinding : rightFinding) : (leftFinding ?? rightFinding); UnableScreenReason unableScreenReason = null; //TODO: This is a hack for U Screen Text on Stroke Summary if (testResult != null && testResult.UnableScreenReason != null && testResult.UnableScreenReason.Count > 0 && testResult.UnableScreenReason.Where(us => us.Reason == UnableToScreenReason.TechnicallyLimitedImages).Count() < 1) { unableScreenReason = testResult.UnableScreenReason.First(); } _resultPdfHelper.SetSummaryFindings(doc, finding, standardFindingList, "FindingsLeadDiv", "long-description-lead", null, isTestPurchased, unableScreenReason); HtmlNode selectedNode; if (finding != null) { var stdFinding = standardFindingList.Where(f => f.Id == finding.Id).Single(); selectedNode = doc.DocumentNode.SelectSingleNode("//span[@id='lead-rpp-resultspan']"); if (selectedNode != null) { selectedNode.InnerHtml = stdFinding.Label; } selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='docletter-lead']"); if (stdFinding.ResultInterpretation != null && stdFinding.ResultInterpretation.Value != (long)ResultInterpretation.Normal && selectedNode != null) { selectedNode.SetAttributeValue("style", "display:block;"); } } string htmlRows = ""; string strokeDescription = "<fieldset><legend>STENOSIS RANGE</legend><Table>"; foreach (var standardFinding in standardFindingList) { string rowString = "<tr>"; strokeDescription += "<tr>"; if (rightFinding != null && rightFinding.Id == standardFinding.Id) { rowString += "<td> <input type='checkbox' checked='checked' /> </td>"; } else { rowString += "<td> <input type='checkbox' /> </td>"; } if (leftFinding != null && leftFinding.Id == standardFinding.Id) { rowString += "<td> <input type='checkbox' checked='checked' /> </td>"; } else { rowString += "<td> <input type='checkbox' /> </td>"; } rowString += "<td> " + standardFinding.Label + " " + standardFinding.Description + "</td></tr>"; htmlRows = htmlRows + rowString; } strokeDescription += "</Table></fieldset>"; selectedNode = doc.DocumentNode.SelectSingleNode("//table[@id='leadFinding']"); if (selectedNode != null) { selectedNode.InnerHtml += htmlRows; } selectedNode = doc.DocumentNode.SelectSingleNode("//div[@id='leadFindingDescriptionDiv']"); if (selectedNode != null) { selectedNode.InnerHtml += strokeDescription; } if (leftFinding != null) { selectedNode = doc.DocumentNode.SelectSingleNode("//span[@id='lead-at-a-glance-finding-left']"); if (selectedNode != null) { selectedNode.InnerHtml = leftFinding.Label; } } if (rightFinding != null) { selectedNode = doc.DocumentNode.SelectSingleNode("//span[@id='lead-at-a-glance-finding-right']"); if (selectedNode != null) { selectedNode.InnerHtml = rightFinding.Label; } } if (finding != null) { selectedNode = doc.DocumentNode.SelectSingleNode("//span[@id='lead-at-a-glance-result']"); if (selectedNode != null && testResult.ResultInterpretation.HasValue) { selectedNode.InnerHtml = ((ResultInterpretation)testResult.ResultInterpretation).ToString(); } } }
public override TestResult CreateActualTestResult(CustomerEventScreeningTestsEntity customerEventScreeningTestsEntity) { var customerEventReadingEntities = customerEventScreeningTestsEntity.CustomerEventReading.ToList(); var testResult = new LeadTestResult(customerEventScreeningTestsEntity.CustomerEventScreeningTestId) { LeftResultReadings = new LeadTestReadings(), RightResultReadings = new LeadTestReadings() }; var standardFindingEntities = customerEventScreeningTestsEntity.StandardFindingTestReadingCollectionViaCustomerEventTestStandardFinding.ToList(); if (standardFindingEntities.Count > 0) { var customerEventStandardFindingEntities = customerEventScreeningTestsEntity.CustomerEventTestStandardFinding.ToList(); var leftFindingEntity = standardFindingEntities.Find(entity => entity.ReadingId.Value == (int)ReadingLabels.Left); var rightFindingEntity = standardFindingEntities.Find(entity => entity.ReadingId.Value == (int)ReadingLabels.Right); var velocityFindingLeft = standardFindingEntities.Find(entity => entity.ReadingId == (int)ReadingLabels.LeftCFAPSV); var velocityFindingRight = standardFindingEntities.Find(entity => entity.ReadingId == (int)ReadingLabels.RightCFAPSV); if (leftFindingEntity != null) { testResult.LeftResultReadings.Finding = new TestResultService().GetAllStandardFindings <decimal>((int)TestType.Lead, (int)ReadingLabels.Left). FirstOrDefault(standardFinding => standardFinding.Id == leftFindingEntity.StandardFindingId); if (testResult.LeftResultReadings.Finding != null) { testResult.LeftResultReadings.Finding.CustomerEventStandardFindingId = customerEventStandardFindingEntities.Find(standardFindingEntity => standardFindingEntity.StandardFindingTestReadingId == leftFindingEntity.StandardFindingTestReadingId).CustomerEventTestStandardFindingId; } } if (rightFindingEntity != null) { testResult.RightResultReadings.Finding = new TestResultService().GetAllStandardFindings <decimal>((int)TestType.Lead, (int)ReadingLabels.Right). FirstOrDefault(standardFinding => standardFinding.Id == rightFindingEntity.StandardFindingId); if (testResult.RightResultReadings.Finding != null) { testResult.RightResultReadings.Finding.CustomerEventStandardFindingId = customerEventStandardFindingEntities.Find(standardFindingEntity => standardFindingEntity.StandardFindingTestReadingId == rightFindingEntity.StandardFindingTestReadingId).CustomerEventTestStandardFindingId; } } if (velocityFindingLeft != null) { testResult.LowVelocityLeft = new TestResultService().GetAllStandardFindings <int>((int)TestType.Lead, (int)ReadingLabels.LeftCFAPSV). Find(standardFinding => standardFinding.Id == velocityFindingLeft.StandardFindingId); testResult.LowVelocityLeft.CustomerEventStandardFindingId = customerEventStandardFindingEntities.Find(standardFindingEntity => standardFindingEntity.StandardFindingTestReadingId == velocityFindingLeft.StandardFindingTestReadingId).CustomerEventTestStandardFindingId; } if (velocityFindingRight != null) { testResult.LowVelocityRight = new TestResultService().GetAllStandardFindings <int>((int)TestType.Lead, (int)ReadingLabels.RightCFAPSV). Find(standardFinding => standardFinding.Id == velocityFindingRight.StandardFindingId); testResult.LowVelocityRight.CustomerEventStandardFindingId = customerEventStandardFindingEntities.Find(standardFindingEntity => standardFindingEntity.StandardFindingTestReadingId == velocityFindingRight.StandardFindingTestReadingId).CustomerEventTestStandardFindingId; } } testResult.LeftResultReadings.CFAPSV = CreateResultReadingforNullableDecimal((int)ReadingLabels.LeftCFAPSV, customerEventReadingEntities); testResult.LeftResultReadings.PSFAPSV = CreateResultReadingforNullableDecimal((int)ReadingLabels.LeftPSFAPSV, customerEventReadingEntities); testResult.LeftResultReadings.NoVisualPlaque = CreateResultReadingforNullableBool((int)ReadingLabels.LeftNoVisualPlaque, customerEventReadingEntities); testResult.LeftResultReadings.VisuallyDemonstratedPlaque = CreateResultReadingforNullableBool((int)ReadingLabels.LeftVisuallyDemonstratedPlaque, customerEventReadingEntities); testResult.LeftResultReadings.ModerateStenosis = CreateResultReadingforNullableBool((int)ReadingLabels.LeftModerateStenosis, customerEventReadingEntities); testResult.LeftResultReadings.PossibleOcclusion = CreateResultReadingforNullableBool((int)ReadingLabels.LeftPossibleOcclusion, customerEventReadingEntities); testResult.RightResultReadings.CFAPSV = CreateResultReadingforNullableDecimal((int)ReadingLabels.RightCFAPSV, customerEventReadingEntities); testResult.RightResultReadings.PSFAPSV = CreateResultReadingforNullableDecimal((int)ReadingLabels.RightPSFAPSV, customerEventReadingEntities); testResult.RightResultReadings.NoVisualPlaque = CreateResultReadingforNullableBool((int)ReadingLabels.RightNoVisualPlaque, customerEventReadingEntities); testResult.RightResultReadings.VisuallyDemonstratedPlaque = CreateResultReadingforNullableBool((int)ReadingLabels.RightVisuallyDemonstratedPlaque, customerEventReadingEntities); testResult.RightResultReadings.ModerateStenosis = CreateResultReadingforNullableBool((int)ReadingLabels.RightModerateStenosis, customerEventReadingEntities); testResult.RightResultReadings.PossibleOcclusion = CreateResultReadingforNullableBool((int)ReadingLabels.RightPossibleOcclusion, customerEventReadingEntities); testResult.TechnicallyLimitedbutReadable = CreateResultReading((int)ReadingLabels.TechnicallyLimitedbutReadable, customerEventReadingEntities); testResult.RepeatStudy = CreateResultReading((int)ReadingLabels.RepeatStudy, customerEventReadingEntities); testResult.DiagnosisCode = CreateResultReadingforInputValues((int)ReadingLabels.DiagnosisCode, customerEventReadingEntities); var testImages = customerEventScreeningTestsEntity.TestMedia.ToList(); var fileEntityCollection = customerEventScreeningTestsEntity.FileCollectionViaTestMedia.ToList(); if (testImages.Count > 0) { var resultImages = new List <ResultMedia>(); testImages.ForEach(testMedia => resultImages.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 = resultImages; } return(testResult); }
public PhysicianPartnerResultExportModel SetLeadData(PhysicianPartnerResultExportModel model, LeadTestResult testResult) { if (testResult.RightResultReadings != null) { if (testResult.RightResultReadings.Finding != null) { model.LeadRightResult = testResult.RightResultReadings.Finding.Label; } if (testResult.RightResultReadings.CFAPSV != null && testResult.RightResultReadings.CFAPSV.Reading != null && testResult.RightResultReadings.CFAPSV.Reading.HasValue) { model.LeadRightCfaMeasurement = testResult.RightResultReadings.CFAPSV.Reading.Value.ToString("00.00"); } if (testResult.RightResultReadings.PSFAPSV != null && testResult.RightResultReadings.PSFAPSV.Reading != null && testResult.RightResultReadings.PSFAPSV.Reading.HasValue) { model.LeadRightPsfaMeasurement = testResult.RightResultReadings.PSFAPSV.Reading.Value.ToString("00.00"); } } if (testResult.LeftResultReadings != null) { if (testResult.LeftResultReadings.Finding != null) { model.LeadLeftResult = testResult.LeftResultReadings.Finding.Label; } if (testResult.LeftResultReadings.CFAPSV != null && testResult.LeftResultReadings.CFAPSV.Reading != null && testResult.LeftResultReadings.CFAPSV.Reading.HasValue) { model.LeadLeftCfaMeasurement = testResult.LeftResultReadings.CFAPSV.Reading.Value.ToString("00.00"); } if (testResult.LeftResultReadings.PSFAPSV != null && testResult.LeftResultReadings.PSFAPSV.Reading != null && testResult.LeftResultReadings.PSFAPSV.Reading.HasValue) { model.LeadLeftPsfaMeasurement = testResult.LeftResultReadings.PSFAPSV.Reading.Value.ToString("00.00"); } } model.LeadUnuauallyLowVelocityRight = testResult.LowVelocityRight != null ? PhysicianPartnerResultExportHelper.YesString : PhysicianPartnerResultExportHelper.NoString; model.LeadUnuauallyLowVelocityLeft = testResult.LowVelocityLeft != null ? PhysicianPartnerResultExportHelper.YesString : PhysicianPartnerResultExportHelper.NoString; model.LeadTechnicallyLimitedButReadable = PhysicianPartnerResultExportHelper.GetOutputFromBoolTypeResultReading(testResult.TechnicallyLimitedbutReadable); model.LeadRepeatStudyUnreadable = PhysicianPartnerResultExportHelper.GetOutputFromBoolTypeResultReading(testResult.RepeatStudy); model.LeadUnabletoScreen = testResult.UnableScreenReason != null && testResult.UnableScreenReason.Count > 0 ? PhysicianPartnerResultExportHelper.YesString : PhysicianPartnerResultExportHelper.NoString; if ((testResult.ResultStatus != null && testResult.ResultStatus.SelfPresent) || (testResult.PhysicianInterpretation != null && testResult.PhysicianInterpretation.IsCritical)) { model.LeadCritical = PhysicianPartnerResultExportHelper.YesString; } else { model.LeadCritical = PhysicianPartnerResultExportHelper.NoString; } if (testResult.PhysicianInterpretation != null) { model.LeadPhysicianNotes = testResult.PhysicianInterpretation.Remarks; } var leadDiagnosisCodes = new System.Collections.Generic.List <OrderedPair <string, string> >(); if (testResult.DiagnosisCode != null) { foreach (var diagnosisCode in PhysicianPartnerResultExportHelper.LeadDiagnosisCodes) { if (testResult.DiagnosisCode.Reading.Contains(diagnosisCode)) { leadDiagnosisCodes.Add(new OrderedPair <string, string>(diagnosisCode, PhysicianPartnerResultExportHelper.YesString)); } else { leadDiagnosisCodes.Add(new OrderedPair <string, string>(diagnosisCode, PhysicianPartnerResultExportHelper.NoString)); } } } else { leadDiagnosisCodes.AddRange(PhysicianPartnerResultExportHelper.LeadDiagnosisCodes.Select(diagnosisCode => new OrderedPair <string, string>(diagnosisCode, PhysicianPartnerResultExportHelper.NoString))); } model.LeadDiagnosisCodes = leadDiagnosisCodes; return(model); }