public InvasiveBreastPanelResult(YellowstonePathology.Business.Test.AccessionOrder accessionOrder) { this.m_AccessionOrder = accessionOrder; YellowstonePathology.Business.Test.InvasiveBreastPanel.InvasiveBreastPanelTest panelSetInvasiveBreastPanel = new YellowstonePathology.Business.Test.InvasiveBreastPanel.InvasiveBreastPanelTest(); this.m_InvasiveBreastPanel = (YellowstonePathology.Business.Test.InvasiveBreastPanel.InvasiveBreastPanel)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetInvasiveBreastPanel.PanelSetId); this.m_InvasiveBreastPanel.SetStatus(this.m_AccessionOrder.PanelSetOrderCollection); this.m_SpecimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_InvasiveBreastPanel.OrderedOnId); if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(46) == true) { this.m_PanelSetOrderHer2ByIsh = (YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(46); this.m_HER2ResultString = this.m_PanelSetOrderHer2ByIsh.Result; } YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest erPrSemiQuantitativeTest = new YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest(); if (this.m_AccessionOrder.PanelSetOrderCollection.HasSurgical() == true && this.m_AccessionOrder.PanelSetOrderCollection.Exists(erPrSemiQuantitativeTest.PanelSetId) == false) { this.m_HasSurgical = true; YellowstonePathology.Business.Test.Surgical.SurgicalTest panelSetSurgical = new YellowstonePathology.Business.Test.Surgical.SurgicalTest(); YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder panelSetOrderSurgical = (YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetSurgical.PanelSetId); this.m_SurgicalSpecimen = panelSetOrderSurgical.SurgicalSpecimenCollection.GetBySpecimenOrderId(this.m_SpecimenOrder.SpecimenOrderId); YellowstonePathology.Business.Test.Model.TestOrder testOrderER = this.m_AccessionOrder.PanelSetOrderCollection.GetTestOrderByTestId(99); this.m_StainResultER = panelSetOrderSurgical.GetStainResult(testOrderER.TestOrderId); this.m_ERResultString = this.m_StainResultER.Result; YellowstonePathology.Business.Test.Model.TestOrder testOrderPR = this.m_AccessionOrder.PanelSetOrderCollection.GetTestOrderByTestId(145); this.m_StainResultPR = panelSetOrderSurgical.GetStainResult(testOrderPR.TestOrderId); this.m_PRResultString = this.m_StainResultPR.Result; } else if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(erPrSemiQuantitativeTest.PanelSetId) == true) { this.m_PanelSetOrderErPrSemiQuantitative = (YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(erPrSemiQuantitativeTest.PanelSetId); this.m_ERResultString = this.m_PanelSetOrderErPrSemiQuantitative.ErResult; this.m_PRResultString = this.m_PanelSetOrderErPrSemiQuantitative.PrResult; } if (this.m_HER2ResultString == YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTestOrder.EquivocalResult) this.m_IsHER2ByFISHRequired = true; YellowstonePathology.Business.PanelSet.Model.PanelSetHer2AmplificationByFishRetired3 panelSetHer2AmplificationByFishRetired3 = new YellowstonePathology.Business.PanelSet.Model.PanelSetHer2AmplificationByFishRetired3(); YellowstonePathology.Business.Test.Her2AmplificationByFish.Her2AmplificationByFishTest panelSetHer2AmplificationByFish = new YellowstonePathology.Business.Test.Her2AmplificationByFish.Her2AmplificationByFishTest(); if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHer2AmplificationByFishRetired3.PanelSetId) == true) { this.m_HER2ByFISHHasBeenOrdered = true; YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetHer2AmplificationByFishRetired3.PanelSetId); this.m_HER2ByFISHResultString = "Result in Report " + panelSetOrder.ReportNo; } else if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHer2AmplificationByFish.PanelSetId) == true) { this.m_HER2ByFISHHasBeenOrdered = true; YellowstonePathology.Business.Test.Her2AmplificationByFish.PanelSetOrderHer2AmplificationByFish panelSetOrderHer2AmplificationByFish = (YellowstonePathology.Business.Test.Her2AmplificationByFish.PanelSetOrderHer2AmplificationByFish)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetHer2AmplificationByFish.PanelSetId); this.m_HER2ByFISHResultString = panelSetOrderHer2AmplificationByFish.Result; } else this.m_HER2ByFISHResultString = "Not Required."; }
public override void Visit(YellowstonePathology.Business.Test.Surgical.SurgicalSpecimen surgicalSpecimen) { if (surgicalSpecimen.StainResultItemCollection.Exists(this.m_TestOrderId) == true) { YellowstonePathology.Business.SpecialStain.StainResultItem stainResult = surgicalSpecimen.StainResultItemCollection.GetStainResult(this.m_TestOrderId); surgicalSpecimen.StainResultItemCollection.Remove(stainResult); } if (surgicalSpecimen.IntraoperativeConsultationResultCollection.Exists(this.m_TestOrderId) == true) { YellowstonePathology.Business.Test.Surgical.IntraoperativeConsultationResult icResult = surgicalSpecimen.IntraoperativeConsultationResultCollection.GetIntraoperativeConsultationResult(this.m_TestOrderId); surgicalSpecimen.IntraoperativeConsultationResultCollection.Remove(icResult); } }
public YellowstonePathology.Business.SpecialStain.StainResultItem GetStainResult(string testOrderId) { YellowstonePathology.Business.SpecialStain.StainResultItem result = null; foreach (SurgicalSpecimen surgicalSpecimen in this.m_SurgicalSpecimenCollection) { foreach (YellowstonePathology.Business.SpecialStain.StainResultItem stainResult in surgicalSpecimen.StainResultItemCollection) { if (stainResult.TestOrderId == testOrderId) { result = stainResult; break; } } } return(result); }
public override int GetBillableGradeStainCount(bool includeOrderedAsDual) { int result = 0; YellowstonePathology.Business.Test.Model.TestCollection gradedTestCollection = YellowstonePathology.Business.Test.Model.TestCollectionInstance.GetGradedTests(); foreach (YellowstonePathology.Business.Test.Model.TestOrder testOrder in this.m_TestOrderCollection) { if (testOrder.NoCharge == false) { if (gradedTestCollection.Exists(testOrder.TestId) == true) { if (includeOrderedAsDual == true) { result += 1; } else if (includeOrderedAsDual == false) { if (testOrder.OrderedAsDual == false) { result += 1; } } } else if (this.m_StainResultCollection.TestOrderExists(testOrder.TestOrderId) == true) { YellowstonePathology.Business.SpecialStain.StainResultItem stainResult = this.m_StainResultCollection.GetStainResult(testOrder.TestOrderId); if (stainResult.IsGraded == true) { if (includeOrderedAsDual == true) { result += 1; } else if (includeOrderedAsDual == false) { if (testOrder.OrderedAsDual == false) { result += 1; } } } } } } return(result); }
public override string ToResultString(AccessionOrder accessionOrder) { StringBuilder result = new StringBuilder(); result.AppendLine("Her2 By Ish"); YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest her2AmplificationByISHTest = new YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest(); if (accessionOrder.PanelSetOrderCollection.Exists(her2AmplificationByISHTest.PanelSetId) == true) { YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTestOrder panelSetOrderHer2ByIsh = (YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTestOrder)accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(her2AmplificationByISHTest.PanelSetId); result.AppendLine(panelSetOrderHer2ByIsh.ToResultString(accessionOrder)); } result.AppendLine(); YellowstonePathology.Business.Test.Surgical.SurgicalTest panelSetSurgical = new YellowstonePathology.Business.Test.Surgical.SurgicalTest(); if (accessionOrder.PanelSetOrderCollection.Exists(panelSetSurgical.PanelSetId) == true) { result.Append("Estrogen/Progesterone Receptor, Semi-Quantitative - Estrogen Receptor : "); YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder panelSetOrderSurgical = (YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder)accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetSurgical.PanelSetId); YellowstonePathology.Business.Test.Model.Test er = YellowstonePathology.Business.Test.Model.TestCollectionInstance.GetClone("99"); // EstrogenReceptorSemiquant(); YellowstonePathology.Business.Test.Model.Test pr = YellowstonePathology.Business.Test.Model.TestCollectionInstance.GetClone("145"); // ProgesteroneReceptorSemiquant(); YellowstonePathology.Business.Test.Model.TestOrderCollection testOrders = panelSetOrderSurgical.GetTestOrders(); if (testOrders.ExistsByTestId(er.TestId) == true) { YellowstonePathology.Business.Test.Model.TestOrder testOrder = testOrders.GetTestOrder(er.TestId); YellowstonePathology.Business.SpecialStain.StainResultItem stainResultItem = panelSetOrderSurgical.GetStainResult(testOrder.TestOrderId); result.AppendLine(stainResultItem.Result); } if (testOrders.ExistsByTestId(pr.TestId) == true) { YellowstonePathology.Business.Test.Model.TestOrder testOrder = testOrders.GetTestOrder(pr.TestId); YellowstonePathology.Business.SpecialStain.StainResultItem stainResultItem = panelSetOrderSurgical.GetStainResult(testOrder.TestOrderId); result.AppendLine("Progesterone Receptor : " + stainResultItem.Result); } } else { YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest erPrSemiQuantitativeTest = new YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest(); if (accessionOrder.PanelSetOrderCollection.Exists(erPrSemiQuantitativeTest.PanelSetId) == true) { YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTestOrder panelSetOrderErPrSemiQuantitative = (YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTestOrder)accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(erPrSemiQuantitativeTest.PanelSetId); result.AppendLine(panelSetOrderErPrSemiQuantitative.ToResultString(accessionOrder)); } } result.AppendLine(); return(result.ToString()); }
private void AddStainResult(YellowstonePathology.Business.Test.Model.Test test) { YellowstonePathology.Business.Test.Model.StainTest stainTest = YellowstonePathology.Business.Gateway.AccessionOrderGateway.GetStainTestByTestId(test.TestId); if (stainTest != null && !string.IsNullOrEmpty(stainTest.CptCode)) { YellowstonePathology.Business.SpecialStain.StainResultItem stainResultItem = this.m_SurgicalSpecimen.StainResultItemCollection.GetNextItem(this.m_SurgicalSpecimen.SurgicalSpecimenId); stainResultItem.TestOrderId = this.m_TestOrder.TestOrderId; stainResultItem.ProcedureName = test.TestName; stainResultItem.CptCode = stainTest.CptCode; stainResultItem.CptCodeQuantity = stainTest.CptCodeQuantity; stainResultItem.ControlComment = stainTest.ControlComment; stainResultItem.StainType = stainTest.StainType; stainResultItem.Billable = true; stainResultItem.Reportable = true; if (stainTest.ImmunoCommentId > 0) { YellowstonePathology.Business.Domain.ImmunoComment immunoComment = Business.Gateway.AccessionOrderGateway.GetImmunoCommentByImmunocommentId(stainTest.ImmunoCommentId); stainResultItem.ImmunoComment = immunoComment.Comment; } this.m_SurgicalSpecimen.StainResultItemCollection.Add(stainResultItem); } }
public InvasiveBreastPanelResult(YellowstonePathology.Business.Test.AccessionOrder accessionOrder) { this.m_AccessionOrder = accessionOrder; YellowstonePathology.Business.Test.InvasiveBreastPanel.InvasiveBreastPanelTest panelSetInvasiveBreastPanel = new YellowstonePathology.Business.Test.InvasiveBreastPanel.InvasiveBreastPanelTest(); this.m_InvasiveBreastPanel = (YellowstonePathology.Business.Test.InvasiveBreastPanel.InvasiveBreastPanel) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetInvasiveBreastPanel.PanelSetId); this.m_InvasiveBreastPanel.SetStatus(this.m_AccessionOrder.PanelSetOrderCollection); this.m_SpecimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_InvasiveBreastPanel.OrderedOnId); if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(46) == true) { this.m_PanelSetOrderHer2ByIsh = (YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(46); this.m_HER2ResultString = this.m_PanelSetOrderHer2ByIsh.Result; } YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest erPrSemiQuantitativeTest = new YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest(); if (this.m_AccessionOrder.PanelSetOrderCollection.HasSurgical() == true && this.m_AccessionOrder.PanelSetOrderCollection.Exists(erPrSemiQuantitativeTest.PanelSetId) == false) { this.m_HasSurgical = true; YellowstonePathology.Business.Test.Surgical.SurgicalTest panelSetSurgical = new YellowstonePathology.Business.Test.Surgical.SurgicalTest(); YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder panelSetOrderSurgical = (YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetSurgical.PanelSetId); this.m_SurgicalSpecimen = panelSetOrderSurgical.SurgicalSpecimenCollection.GetBySpecimenOrderId(this.m_SpecimenOrder.SpecimenOrderId); YellowstonePathology.Business.Test.Model.TestOrder testOrderER = this.m_AccessionOrder.PanelSetOrderCollection.GetTestOrderByTestId(99); this.m_StainResultER = panelSetOrderSurgical.GetStainResult(testOrderER.TestOrderId); this.m_ERResultString = this.m_StainResultER.Result; YellowstonePathology.Business.Test.Model.TestOrder testOrderPR = this.m_AccessionOrder.PanelSetOrderCollection.GetTestOrderByTestId(145); this.m_StainResultPR = panelSetOrderSurgical.GetStainResult(testOrderPR.TestOrderId); this.m_PRResultString = this.m_StainResultPR.Result; } else if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(erPrSemiQuantitativeTest.PanelSetId) == true) { this.m_PanelSetOrderErPrSemiQuantitative = (YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(erPrSemiQuantitativeTest.PanelSetId); this.m_ERResultString = this.m_PanelSetOrderErPrSemiQuantitative.ErResult; this.m_PRResultString = this.m_PanelSetOrderErPrSemiQuantitative.PrResult; } if (this.m_HER2ResultString == YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTestOrder.EquivocalResult) { this.m_IsHER2ByFISHRequired = true; } YellowstonePathology.Business.PanelSet.Model.PanelSetHer2AmplificationByFishRetired3 panelSetHer2AmplificationByFishRetired3 = new YellowstonePathology.Business.PanelSet.Model.PanelSetHer2AmplificationByFishRetired3(); YellowstonePathology.Business.Test.Her2AmplificationByFish.Her2AmplificationByFishTest panelSetHer2AmplificationByFish = new YellowstonePathology.Business.Test.Her2AmplificationByFish.Her2AmplificationByFishTest(); if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHer2AmplificationByFishRetired3.PanelSetId) == true) { this.m_HER2ByFISHHasBeenOrdered = true; YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetHer2AmplificationByFishRetired3.PanelSetId); this.m_HER2ByFISHResultString = "Result in Report " + panelSetOrder.ReportNo; } else if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHer2AmplificationByFish.PanelSetId) == true) { this.m_HER2ByFISHHasBeenOrdered = true; YellowstonePathology.Business.Test.Her2AmplificationByFish.PanelSetOrderHer2AmplificationByFish panelSetOrderHer2AmplificationByFish = (YellowstonePathology.Business.Test.Her2AmplificationByFish.PanelSetOrderHer2AmplificationByFish) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetHer2AmplificationByFish.PanelSetId); this.m_HER2ByFISHResultString = panelSetOrderHer2AmplificationByFish.Result; } else { this.m_HER2ByFISHResultString = "Not Required."; } }
public override int GetBillableIHCTestOrderCount() { int result = 0; YellowstonePathology.Business.Test.Model.TestCollection ihcTestCollection = YellowstonePathology.Business.Test.Model.TestCollection.GetIHCTests(); foreach (YellowstonePathology.Business.Test.Model.TestOrder testOrder in this.m_TestOrderCollection) { if (testOrder.NoCharge == false) { if (ihcTestCollection.Exists(testOrder.TestId) == true) { if (this.m_StainResultCollection.Exists(testOrder.TestOrderId) == true) { YellowstonePathology.Business.SpecialStain.StainResultItem stainResult = this.m_StainResultCollection.GetStainResult(testOrder.TestOrderId); if (stainResult.IsGraded == false) { result += 1; } } } } } return(result); }
public override void SetPanelSetOrderCPTCodes() { if (this.IsOkToSet() == true) { this.SetERPRPQRSCodes(); foreach (StainSpecimen stainSpecimen in this.m_StainSpecimenCollection) { foreach (YellowstonePathology.Business.Test.Model.TestOrder testOrder in stainSpecimen.TestOrderCollection) { YellowstonePathology.Business.Test.Model.Test test = YellowstonePathology.Business.Test.Model.TestCollectionInstance.GetClone(testOrder.TestId); if (test.IsBillable == true) { if (this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.SystemGeneratedReferenceIdExists(testOrder.TestOrderId) == false) { string codeableType = test.GetCodeableType(testOrder.OrderedAsDual); YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetNextItem(this.m_PanelSetOrder.ReportNo); panelSetOrderCPTCode.Quantity = 1; panelSetOrderCPTCode.CodeableType = codeableType; panelSetOrderCPTCode.CodeableDescription = "Specimen " + stainSpecimen.SpecimenOrder.SpecimenNumber + ": " + testOrder.TestName; panelSetOrderCPTCode.EntryType = YellowstonePathology.Business.Billing.Model.PanelSetOrderCPTCodeEntryType.SystemGenerated; panelSetOrderCPTCode.SpecimenOrderId = stainSpecimen.SpecimenOrder.SpecimenOrderId; panelSetOrderCPTCode.ClientId = this.m_AccessionOrder.ClientId; panelSetOrderCPTCode.ReferenceId = testOrder.TestOrderId; panelSetOrderCPTCode.MedicalRecord = this.m_AccessionOrder.SvhMedicalRecord; panelSetOrderCPTCode.Account = this.m_AccessionOrder.SvhAccount; if (this.m_PanelSetOrder.PanelSetId != 31 && this.m_PanelSetOrder.PanelSetId != 201 && this.m_PanelSetOrder.PanelSetId != 289) //Not technical only { YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder panelSetOrderSurgical = (YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder) this.m_PanelSetOrder; if (panelSetOrderSurgical.SurgicalSpecimenCollection.HasStainResult(testOrder.TestOrderId) == true) { YellowstonePathology.Business.SpecialStain.StainResultItem stainResult = panelSetOrderSurgical.SurgicalSpecimenCollection.GetStainResult(testOrder.TestOrderId); YellowstonePathology.Business.Billing.Model.CptCode cptCode = null; if (stainResult.IsGraded == true) { cptCode = test.GetGradedCptCode(false); panelSetOrderCPTCode.CPTCode = cptCode.Code; panelSetOrderCPTCode.CodeType = cptCode.CodeType.ToString(); } else { cptCode = test.GetCptCode(false); panelSetOrderCPTCode.CPTCode = cptCode.Code; panelSetOrderCPTCode.CodeType = cptCode.CodeType.ToString(); } } else { panelSetOrderCPTCode.CPTCode = test.GetCptCode(false).Code; } } else //Is technical only { YellowstonePathology.Business.Billing.Model.CptCode cptCode = test.GetCptCode(true); panelSetOrderCPTCode.CPTCode = cptCode.Code; panelSetOrderCPTCode.CodeType = cptCode.CodeType.ToString(); } this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.Add(panelSetOrderCPTCode); } } } } } }
public virtual void Visit(YellowstonePathology.Business.SpecialStain.StainResultItem stainResult) { }