示例#1
0
        public HER2AmplificationResult(PanelSetOrderCollection panelSetOrderCollection, HER2AnalysisSummary.HER2AnalysisSummaryTestOrder panelSetOrder)
        {
            Her2AmplificationByIHC.Her2AmplificationByIHCTest     her2AmplificationByIHCTest   = new Her2AmplificationByIHC.Her2AmplificationByIHCTest();
            HER2AmplificationRecount.HER2AmplificationRecountTest her2AmplificationRecountTest = new HER2AmplificationRecount.HER2AmplificationRecountTest();

            this.m_HER2AnalysisSummaryTestOrder = panelSetOrder;
            this.m_Indicator = this.m_HER2AnalysisSummaryTestOrder.Indicator;
            this.m_AverageHer2Chr17SignalAsDouble = this.m_HER2AnalysisSummaryTestOrder.AverageHer2Chr17SignalAsDouble;
            this.m_AverageHer2NeuSignal           = this.m_HER2AnalysisSummaryTestOrder.AverageHer2NeuSignal;

            this.m_IsHer2AmplificationByIHCRequired = true;
            if (panelSetOrderCollection.Exists(her2AmplificationByIHCTest.PanelSetId) == true)
            {
                this.m_IsHer2AmplificationByIHCOrdered     = true;
                this.m_PanelSetOrderHer2AmplificationByIHC = (Her2AmplificationByIHC.PanelSetOrderHer2AmplificationByIHC)panelSetOrderCollection.GetPanelSetOrder(her2AmplificationByIHCTest.PanelSetId);
                if (this.m_PanelSetOrderHer2AmplificationByIHC.Final == true)
                {
                    if (this.m_PanelSetOrderHer2AmplificationByIHC.Score == "2+")
                    {
                        this.m_IsHER2AmplificationRecountRequired = true;
                    }
                }
            }
            if (panelSetOrderCollection.Exists(her2AmplificationRecountTest.PanelSetId) == true)
            {
                this.m_IsHER2AmplificationRecountOrdered = true;
                this.m_HER2AmplificationRecountTestOrder = (HER2AmplificationRecount.HER2AmplificationRecountTestOrder)panelSetOrderCollection.GetPanelSetOrder(her2AmplificationRecountTest.PanelSetId);
            }
        }
示例#2
0
 public HER2AmplificationResultGroup3Breast(PanelSetOrderCollection panelSetOrderCollection, HER2AnalysisSummary.HER2AnalysisSummaryTestOrder panelSetOrder) : base(panelSetOrderCollection, panelSetOrder)
 {
     this.m_InterpretiveComment = "There are insufficient data on the efficacy of human epidermal growth factor receptor 2 (HER2)-targeted " +
                                  "therapy in cases with a HER2 ratio of < 2.0 in the absence of protein overexpression because such patients were not eligible " +
                                  "for the first generation of adjuvant trastuzumab clinical trials.  When concurrent immunohistochemistry (IHC) results are " +
                                  "negative (0 or 1+), it is recommended that the specimen be considered HER2 negative.";
 }
示例#3
0
        public override void SetStatus(PanelSetOrderCollection panelSetOrderCollection)
        {
            if (panelSetOrderCollection.HasPanelSetBeenOrdered(this.PanelSet.PanelSetId) == false)
            {
                this.m_Ordered       = false;
                this.m_StatusMessage = "Not Ordered";
            }
            else
            {
                YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = panelSetOrderCollection.GetPanelSetOrder(this.PanelSet.PanelSetId);
                this.m_Ordered   = true;
                this.m_OrderDate = panelSetOrder.OrderDate;

                if (panelSetOrder.Final == false)
                {
                    this.m_StatusMessage = "Not Finalized";
                }
                else
                {
                    this.m_StatusMessage   = "Finaled";
                    this.m_ResultIsFinal   = true;
                    this.m_ResultFinalDate = panelSetOrder.FinalDate;
                }
            }
        }
 public HER2AmplificationResultCollection(PanelSetOrderCollection panelSetOrderCollection, HER2AmplificationByISHTestOrder panelSetOrder)
 {
     this.Add(new HER2AmplificationResultGroup1Breast(panelSetOrderCollection, panelSetOrder));
     this.Add(new HER2AmplificationResultGroup2Breast(panelSetOrderCollection, panelSetOrder));
     this.Add(new HER2AmplificationResultGroup3Breast(panelSetOrderCollection, panelSetOrder));
     this.Add(new HER2AmplificationResultGroup4Breast(panelSetOrderCollection, panelSetOrder));
     this.Add(new HER2AmplificationResultGroup5Breast(panelSetOrderCollection, panelSetOrder));
     this.Add(new HER2AmplificationResultGastric(panelSetOrderCollection, panelSetOrder));
 }
示例#5
0
 public HER2AmplificationResultGroup4Breast(PanelSetOrderCollection panelSetOrderCollection, HER2AnalysisSummary.HER2AnalysisSummaryTestOrder panelSetOrder) : base(panelSetOrderCollection, panelSetOrder)
 {
     this.m_InterpretiveComment = "It is uncertain whether patients with an average of ≥ 4.0 and < 6.0 human epidermal growth factor 2 " +
                                  "receptor(HER2) signals per cell and HER2 / chromosome enumeration probe 17(CEP17) ratio of < 2.0 benefit from HER2 - " +
                                  "targeted therapy in the absence of protein overexpression(immunohistochemistry[IHC] 3 +).  If the specimen test result is " +
                                  "close to the in situ hybridization (ISH)ratio threshold for positive, there is a higher likelihood that repeat testing will " +
                                  "result in different results by chance alone.  Therefore, when IHC results are not 3 + positive, it is recommended that the " +
                                  "sample be considered HER2 negative without additional testing on the same specimen.";
 }
 public HER2AmplificationResultGastric(PanelSetOrderCollection panelSetOrderCollection, HER2AmplificationByISHTestOrder panelSetOrder) : base(panelSetOrderCollection, panelSetOrder)
 {
     this.m_InterpretiveComment = "Human epidermal growth factor receptor 2 gene (HER2) is amplified in up to 25% of gastric cancers, " +
                                  "particularly those that arise at the gastroesophageal junction.  Amplification of the HER2 gene in gastric tumors is associated with " +
                                  "a worse prognosis and is also predictive of response to chemotherapeutic agents.  Dual in situ hybridization (ISH) studies for HER2 " +
                                  "amplification were performed on the submitted sample, in accordance with ASCO/CAP guidelines." + Environment.NewLine + Environment.NewLine +
                                  "For this patient, the HER2:Chr17 ratio was *RATIO*. A total of *CELLSCOUNTED* nuclei were examined. Therefore, HER2 status is *HER2STATUS*.";
     this.m_ReportReference = "Gravalos, C. et al., HER2 in gastric cancer: a new prognostic factor and a novel therapeutic target. Ann " +
                              "Oncology 2008, 19:1523-1529.";
 }
 public HER2AmplificationResultGroup2Breast(PanelSetOrderCollection panelSetOrderCollection, HER2AnalysisSummary.HER2AnalysisSummaryTestOrder panelSetOrder) : base(panelSetOrderCollection, panelSetOrder)
 {
     this.m_InterpretiveComment = "Evidence is limited on the efficacy of human epidermal growth factor 2 (HER2)-targeted therapy in the " +
                                  "small subset of cases with a HER2/chromosome enumeration probe 17 (CEP17) ratio ≥ 2.0 and an average HER2 copy number " +
                                  "of < 4.0 per cell.  In the first generation of adjuvant trastuzumab trials, patients in this subgroup who were randomly " +
                                  "assigned to the trastuzumab arm did not seem to derive an improvement in disease-free or overall survival, but there were " +
                                  "too few such cases to draw definitive conclusions.  Immunohistochemistry (IHC) expression for HER2 should be used to " +
                                  "complement in situ hybridization (ISH) and define HER2 status.  If the IHC result is not 3+ positive, it is recommended " +
                                  "that the specimen be considered HER2 negative because of the low HER2 copy number by ISH and the lack of protein expression.";
 }
        public override void SetStatus(PanelSetOrderCollection panelSetOrderCollection)
        {
            this.m_ReflexTestingPlanStepCollection.Clear();

            InvasiveBreastPanelStep1 step1 = new InvasiveBreastPanelStep1();
            step1.Walk(panelSetOrderCollection, this);

            InvasiveBreastPanelStep2 step2 = new InvasiveBreastPanelStep2();
            step2.Walk(panelSetOrderCollection, this);

            InvasiveBreastPanelStep3 step3 = new InvasiveBreastPanelStep3();
            step3.Walk(panelSetOrderCollection, this);
        }
        public override void Walk(PanelSetOrderCollection panelSetOrderCollection, YellowstonePathology.Business.Test.ReflexTesting.ReflexTestingPlan reflexTestingPlan)
        {
            reflexTestingPlan.ReflexTestingPlanStepCollection.Add(this);
            this.SetStatus(panelSetOrderCollection);

            reflexTestingPlan.StatusMessage += System.Environment.NewLine;
            if (panelSetOrderCollection.HasTestBeenOrdered(this.m_Test.TestId) == true)
            {
                reflexTestingPlan.StatusMessage += "Progesterone Receptor, Semi-quantitative has been ordered.";
            }
            else
            {
                reflexTestingPlan.StatusMessage += "Progesterone Receptor, Semi-quantitative has not been ordered.";
            }
        }
示例#10
0
        public override void Walk(PanelSetOrderCollection panelSetOrderCollection, YellowstonePathology.Business.Test.ReflexTesting.ReflexTestingPlan reflexTestingPlan)
        {
            reflexTestingPlan.ReflexTestingPlanStepCollection.Add(this);
            this.SetStatus(panelSetOrderCollection);

            reflexTestingPlan.StatusMessage += System.Environment.NewLine;
            if (panelSetOrderCollection.HasTestBeenOrdered(this.m_Test.TestId) == true)
            {
                reflexTestingPlan.StatusMessage += "Estrogen Receptor, Semi-quantitative has been ordered.";
            }
            else
            {
                reflexTestingPlan.StatusMessage += "Estrogen Receptor, Semi-quantitative has not been ordered.";
            }
        }
 public override void SetStatus(PanelSetOrderCollection panelSetOrderCollection)
 {
     if (panelSetOrderCollection.HasTestBeenOrdered(this.m_Test.TestId) == false)
     {
         this.m_Ordered       = false;
         this.m_StatusMessage = "Not Ordered";
     }
     else
     {
         YellowstonePathology.Business.Test.Model.TestOrder testOrder  = panelSetOrderCollection.GetTestOrderByTestId(this.m_Test.TestId);
         YellowstonePathology.Business.Test.PanelOrder      panelOrder = panelSetOrderCollection.GetPanelOrderByTestOrderId(testOrder.TestOrderId);
         this.m_Ordered       = true;
         this.m_OrderDate     = panelOrder.OrderTime;
         this.m_StatusMessage = "Test has been ordered";
     }
 }
 public override void SetStatus(PanelSetOrderCollection panelSetOrderCollection)
 {
     if (panelSetOrderCollection.HasTestBeenOrdered(this.m_Test.TestId) == false)
     {
         this.m_Ordered = false;
         this.m_StatusMessage = "Not Ordered";
     }
     else
     {
         YellowstonePathology.Business.Test.Model.TestOrder testOrder = panelSetOrderCollection.GetTestOrderByTestId(this.m_Test.TestId);
         YellowstonePathology.Business.Test.PanelOrder panelOrder = panelSetOrderCollection.GetPanelOrderByTestOrderId(testOrder.TestOrderId);
         this.m_Ordered = true;
         this.m_OrderDate = panelOrder.OrderTime;
         this.m_StatusMessage = "Test has been ordered";
     }
 }
示例#13
0
        public override void SetStatus(PanelSetOrderCollection panelSetOrderCollection)
        {
            this.m_ReflexTestingPlanStepCollection.Clear();

            InvasiveBreastPanelStep1 step1 = new InvasiveBreastPanelStep1();

            step1.Walk(panelSetOrderCollection, this);

            InvasiveBreastPanelStep2 step2 = new InvasiveBreastPanelStep2();

            step2.Walk(panelSetOrderCollection, this);

            InvasiveBreastPanelStep3 step3 = new InvasiveBreastPanelStep3();

            step3.Walk(panelSetOrderCollection, this);
        }
示例#14
0
        public override void Walk(PanelSetOrderCollection panelSetOrderCollection, YellowstonePathology.Business.Test.ReflexTesting.ReflexTestingPlan reflexTestingPlan)
        {
            reflexTestingPlan.ReflexTestingPlanStepCollection.Add(this);
            this.SetStatus(panelSetOrderCollection);

            if (this.Ordered == true)
            {
                if (this.ResultIsFinal == true)
                {
                    reflexTestingPlan.StatusMessage = "HER2 is finalized.";
                }
                else
                {
                    reflexTestingPlan.StatusMessage = "HER2 is not finalized.";
                }
            }
            else
            {
                reflexTestingPlan.StatusMessage = "HER2 has not been ordered.";
            }
        }
示例#15
0
        public void SetResults(PanelSetOrderCollection panelSetOrderCollection)
        {
            StringBuilder interpretation = new StringBuilder();
            StringBuilder method         = new StringBuilder();
            StringBuilder references     = new StringBuilder();

            YellowstonePathology.Business.Test.PDL122C3.PDL122C3Test pdl122C3Test = new PDL122C3.PDL122C3Test();
            YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest egfrMutationAnalysisTest = new YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest();
            YellowstonePathology.Business.Test.ROS1ByFISH.ROS1ByFISHTest ros1ByfishTest = new ROS1ByFISH.ROS1ByFISHTest();
            YellowstonePathology.Business.Test.ALKForNSCLCByFISH.ALKForNSCLCByFISHTest       alkTest  = new ALKForNSCLCByFISH.ALKForNSCLCByFISHTest();
            YellowstonePathology.Business.Test.BRAFMutationAnalysis.BRAFMutationAnalysisTest brafTest = new BRAFMutationAnalysis.BRAFMutationAnalysisTest();
            YellowstonePathology.Business.Test.PDL1SP142.PDL1SP142Test pdl1SP142Test = new PDL1SP142.PDL1SP142Test();

            YellowstonePathology.Business.PanelSet.Model.PanelSetALKRetired panelSetALKRetired = new PanelSet.Model.PanelSetALKRetired();

            if (panelSetOrderCollection.Exists(egfrMutationAnalysisTest.PanelSetId) == true)
            {
                Test.EGFRMutationAnalysis.EGFRMutationAnalysisTestOrder egfrMutationAnalysisTestOrder = (EGFRMutationAnalysis.EGFRMutationAnalysisTestOrder)panelSetOrderCollection.GetPanelSetOrder(egfrMutationAnalysisTest.PanelSetId);
                interpretation.AppendLine("EGFR: " + egfrMutationAnalysisTestOrder.Interpretation);
                references.AppendLine("EGFR: " + egfrMutationAnalysisTestOrder.ReportReferences);
                method.AppendLine("EGFR: " + egfrMutationAnalysisTestOrder.Method);
                this.m_EGFRMutationAnalysisResult  = egfrMutationAnalysisTestOrder.Result;
                this.m_EGFRMutationAnalysisComment = egfrMutationAnalysisTestOrder.Comment;
            }

            if (panelSetOrderCollection.Exists(alkTest.PanelSetId) == true)
            {
                Test.ALKForNSCLCByFISH.ALKForNSCLCByFISHTestOrder alkTestOrder = (ALKForNSCLCByFISH.ALKForNSCLCByFISHTestOrder)panelSetOrderCollection.GetPanelSetOrder(alkTest.PanelSetId);
                references.AppendLine();
                references.AppendLine("ALK: " + alkTestOrder.ReportReferences);

                interpretation.AppendLine();
                interpretation.AppendLine("ALK: " + alkTestOrder.Interpretation);

                method.AppendLine();
                method.AppendLine("ALK: " + alkTestOrder.Method);
                this.m_ALKForNSCLCByFISHResult = alkTestOrder.Result;
            }
            else if (panelSetOrderCollection.Exists(panelSetALKRetired.PanelSetId) == true)
            {
                YellowstonePathology.Business.Test.ALKForNSCLCByFISH.ALKForNSCLCByFISHTestOrderReportedSeparately alkForNSCLCByFISHTestOrderReportedSeparately = new YellowstonePathology.Business.Test.ALKForNSCLCByFISH.ALKForNSCLCByFISHTestOrderReportedSeparately();
                this.m_ALKForNSCLCByFISHResult = alkForNSCLCByFISHTestOrderReportedSeparately.Result;
            }

            if (panelSetOrderCollection.Exists(ros1ByfishTest.PanelSetId) == true)
            {
                Test.ROS1ByFISH.ROS1ByFISHTestOrder ros1ByFISHTestOrder = (ROS1ByFISH.ROS1ByFISHTestOrder)panelSetOrderCollection.GetPanelSetOrder(ros1ByfishTest.PanelSetId);
                interpretation.AppendLine();
                interpretation.AppendLine("ROS1: " + ros1ByFISHTestOrder.Interpretation);

                method.AppendLine();
                method.AppendLine("ROS1: " + ros1ByFISHTestOrder.Method);
                this.m_ROS1ByFISHResult = ros1ByFISHTestOrder.Result;
            }

            if (panelSetOrderCollection.Exists(pdl1SP142Test.PanelSetId) == true)
            {
                Test.PDL1SP142.PDL1SP142TestOrder pdl1SP142TestOrder = (PDL1SP142.PDL1SP142TestOrder)panelSetOrderCollection.GetPanelSetOrder(pdl1SP142Test.PanelSetId);
                interpretation.AppendLine();
                interpretation.AppendLine(pdl1SP142TestOrder.PanelSetName + ": " + pdl1SP142TestOrder.Interpretation);

                method.AppendLine();
                method.AppendLine(pdl1SP142TestOrder.PanelSetName + ": " + pdl1SP142TestOrder.Method);
                this.m_PDL1SP142Result       = pdl1SP142TestOrder.Result;
                this.m_PDL1SP142StainPercent = pdl1SP142TestOrder.StainPercent;
            }

            if (panelSetOrderCollection.Exists(pdl122C3Test.PanelSetId) == true)
            {
                Test.PDL122C3.PDL122C3TestOrder pdl122C3TestOrder = (PDL122C3.PDL122C3TestOrder)panelSetOrderCollection.GetPanelSetOrder(pdl122C3Test.PanelSetId);
                interpretation.AppendLine();
                interpretation.AppendLine(pdl122C3TestOrder.PanelSetName + ": " + pdl122C3TestOrder.Interpretation);

                method.AppendLine();
                method.AppendLine(pdl122C3TestOrder.PanelSetName + ": " + pdl122C3TestOrder.Method);
                this.m_PDL122C3Result = pdl122C3TestOrder.Result;
            }

            if (panelSetOrderCollection.Exists(brafTest.PanelSetId) == true)
            {
                Test.BRAFMutationAnalysis.BRAFMutationAnalysisTestOrder brafTestOrder = (BRAFMutationAnalysis.BRAFMutationAnalysisTestOrder)panelSetOrderCollection.GetPanelSetOrder(brafTest.PanelSetId);
                interpretation.AppendLine();
                interpretation.AppendLine(brafTestOrder.PanelSetName + ": " + brafTestOrder.Interpretation);

                method.AppendLine();
                method.AppendLine(brafTestOrder.PanelSetName + ": " + brafTestOrder.Method);
                this.m_BRAFMutationAnalysisResult = brafTestOrder.Result;
            }

            char[] lineFeedCharacters = { '\r', '\n' };
            this.Interpretation   = interpretation.ToString().TrimEnd(lineFeedCharacters);
            this.Method           = method.ToString().TrimEnd(lineFeedCharacters);
            this.ReportReferences = references.ToString().TrimEnd(lineFeedCharacters);
            this.NotifyPropertyChanged(string.Empty);
        }
示例#16
0
 public HER2AmplificationResultGroup5Breast(PanelSetOrderCollection panelSetOrderCollection, HER2AmplificationByISHTestOrder panelSetOrder) : base(panelSetOrderCollection, panelSetOrder)
 {
 }
示例#17
0
 public virtual void Walk(PanelSetOrderCollection panelSetOrderCollection, ReflexTestingPlan reflexTestingPlan)
 {
     throw new Exception("Not implemented here.");
 }
示例#18
0
 public virtual void SetStatus(PanelSetOrderCollection panelSetOrderCollection)
 {
     throw new Exception("Not implemented here.");
 }
 public virtual void Walk(PanelSetOrderCollection panelSetOrderCollection, ReflexTestingPlan reflexTestingPlan)
 {
     throw new Exception("Not implemented here.");
 }
 public virtual void SetStatus(PanelSetOrderCollection panelSetOrderCollection)
 {
     throw new Exception("Not implemented here.");
 }
示例#21
0
 public HER2AmplificationResultBreast(PanelSetOrderCollection panelSetOrderCollection, HER2AnalysisSummary.HER2AnalysisSummaryTestOrder panelSetOrder) : base(panelSetOrderCollection, panelSetOrder)
 {
     this.m_ReportReference = "Wolff AC, Hammond MEH, Hicks DG, et al. Recommendations for Human Epidermal Growth Factor Receptor 2 Testing in " +
                              "Breast Cancer. Arch Pathol Lab Med. doi: 10.5858/arpa.2013-0953-SA.";
 }
 public HER2AmplificationResultCollection(PanelSetOrderCollection panelSetOrderCollection, HER2AnalysisSummary.HER2AnalysisSummaryTestOrder panelSetOrder)
 {
     this.Add(new HER2AmplificationResultGroup2Breast(panelSetOrderCollection, panelSetOrder));
     this.Add(new HER2AmplificationResultGroup3Breast(panelSetOrderCollection, panelSetOrder));
     this.Add(new HER2AmplificationResultGroup4Breast(panelSetOrderCollection, panelSetOrder));
 }