public HER2AmplificationByISHResult GetResultFromIndication(HER2AmplificationByISHTestOrder testOrder) { HER2AmplificationByISHResult result = null; if (testOrder.Indicator == HER2AmplificationByISHIndicatorCollection.BreastIndication) result = new HER2AmplificationByISHBreastResult(); else if (testOrder.Indicator == HER2AmplificationByISHIndicatorCollection.GastricIndication) result = new HER2AmplificationByISHGastricAdenocarcinomaResult(); return result; }
public HER2AmplificationResult(PanelSetOrderCollection panelSetOrderCollection, HER2AmplificationByISHTestOrder panelSetOrder) { Her2AmplificationByIHC.Her2AmplificationByIHCTest her2AmplificationByIHCTest = new Her2AmplificationByIHC.Her2AmplificationByIHCTest(); HER2AmplificationRecount.HER2AmplificationRecountTest her2AmplificationRecountTest = new HER2AmplificationRecount.HER2AmplificationRecountTest(); this.m_HER2AmplificationByISHTestOrder = panelSetOrder; this.m_Indicator = this.m_HER2AmplificationByISHTestOrder.Indicator; this.m_AverageHer2Chr17SignalAsDouble = this.m_HER2AmplificationByISHTestOrder.AverageHer2Chr17SignalAsDouble; this.m_AverageHer2NeuSignal = this.m_HER2AmplificationByISHTestOrder.AverageHer2NeuSignal; if (this.m_HER2AmplificationByISHTestOrder.Final == true) { if (this.m_HER2AmplificationByISHTestOrder.Result == HER2AmplificationResultEnum.Equivocal.ToString()) { 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); } }
public override void ToXml(XElement document) { HER2AmplificationByISHTestOrder panelSetOrder = (HER2AmplificationByISHTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo); this.AddCompanyHeader(document); this.AddBlankNteElement(document); this.AddNextNteElement("HER2 Gene Amplification", document); this.AddNextNteElement("Master Accession #: " + panelSetOrder.MasterAccessionNo, document); this.AddNextNteElement("Report #: " + panelSetOrder.ReportNo, document); this.AddBlankNteElement(document); if (this.m_AccessionOrder.AccessionDate < DateTime.Parse("1/1/2014") == true) { this.ASCOPre2014ToXml(document, panelSetOrder); } else if (this.m_AccessionOrder.AccessionDate >= DateTime.Parse("1/1/2014") == true) { if (panelSetOrder.Indicator == "Breast") { this.ASCOCAP2018(document, panelSetOrder); } else if (panelSetOrder.Indicator == "Gastric") { this.GastricToXml(document, panelSetOrder); } } }
public override void SetResults(HER2AmplificationByISHTestOrder testOrder) { this.m_ResultComment = null; this.m_ResultDescription = "Ratio = " + testOrder.Her2Chr17Ratio; this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*RATIO*", testOrder.Her2Chr17Ratio.Value.ToString()); this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*CELLSCOUNTED*", testOrder.CellsCounted.ToString()); if (testOrder.AverageHer2NeuSignal.HasValue == true) { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2COPY*", testOrder.AverageHer2NeuSignal.Value.ToString()); } Nullable <double> her2Chr17Ratio = testOrder.AverageHer2Chr17SignalAsDouble; if (her2Chr17Ratio.HasValue) { if (her2Chr17Ratio < 2.0) { if (testOrder.AverageHer2NeuSignal >= 6) { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", PositiveResult); this.m_Result = PositiveResult; this.m_ResultCode = PositiveResultCode; } else if (testOrder.AverageHer2NeuSignal >= 4 && testOrder.AverageHer2NeuSignal < 6) { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", EquivocalResult); this.m_Result = EquivocalResult; this.m_ResultCode = EquivocalResultCode; } else if (testOrder.AverageHer2NeuSignal < 4) { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", NegativeResult); this.m_Result = NegativeResult; this.m_ResultCode = NegativeResultCode; } } else if (her2Chr17Ratio >= 2.0) { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", PositiveResult); this.m_Result = PositiveResult; this.m_ResultCode = PositiveResultCode; } } else { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", IndeterminateResult); this.m_Result = IndeterminateResult; this.m_ResultCode = IndeterminateResultCode; } if (testOrder.Her2byIHCOrder == 1) { this.m_InterpretiveComment += Environment.NewLine + Environment.NewLine + m_InterpretiveCommentP4IHCOrder; } base.SetResults(testOrder); }
public static void AcceptResults(HER2AmplificationByISHTestOrder testOrder, YellowstonePathology.Business.User.SystemIdentity systemIdentity) { testOrder.Accept(); if (testOrder.PanelOrderCollection.GetUnacceptedPanelCount() > 0) { YellowstonePathology.Business.Test.PanelOrder panelOrder = testOrder.PanelOrderCollection.GetUnacceptedPanelOrder(); panelOrder.AcceptResults(); } }
public static void UnacceptResults(HER2AmplificationByISHTestOrder testOrder) { testOrder.Unaccept(); if (testOrder.PanelOrderCollection.GetAcceptedPanelCount() > 0) { YellowstonePathology.Business.Test.PanelOrder panelOrder = testOrder.PanelOrderCollection.GetLastAcceptedPanelOrder(); panelOrder.UnacceptResults(); } }
public static void AcceptResults(HER2AmplificationByISHTestOrder testOrder, YellowstonePathology.Business.User.SystemIdentity systemIdentity) { testOrder.Accept(); if (testOrder.PanelOrderCollection.GetUnacceptedPanelCount() > 0) { YellowstonePathology.Business.Test.PanelOrder panelOrder = testOrder.PanelOrderCollection.GetUnacceptedPanelOrder(); panelOrder.AcceptResults(); } }
public static void UnacceptResults(HER2AmplificationByISHTestOrder testOrder) { testOrder.Unaccept(); if (testOrder.PanelOrderCollection.GetAcceptedPanelCount() > 0) { YellowstonePathology.Business.Test.PanelOrder panelOrder = testOrder.PanelOrderCollection.GetLastAcceptedPanelOrder(); panelOrder.UnacceptResults(); } }
public override void SetResults(HER2AmplificationByISHTestOrder testOrder) { this.m_ResultComment = null; this.m_ResultDescription = "Ratio = " + testOrder.Her2Chr17Ratio; this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*RATIO*", testOrder.Her2Chr17Ratio.Value.ToString()); this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*CELLSCOUNTED*", testOrder.CellsCounted.ToString()); if (testOrder.AverageHer2NeuSignal.HasValue == true) this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2COPY*", testOrder.AverageHer2NeuSignal.Value.ToString()); Nullable<double> her2Chr17Ratio = testOrder.AverageHer2Chr17SignalAsDouble; if (her2Chr17Ratio.HasValue) { if (her2Chr17Ratio < 2.0) { if (testOrder.AverageHer2NeuSignal >= 6) { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", PositiveResult); this.m_Result = PositiveResult; this.m_ResultCode = PositiveResultCode; } else if (testOrder.AverageHer2NeuSignal >= 4 && testOrder.AverageHer2NeuSignal < 6) { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", EquivocalResult); this.m_Result = EquivocalResult; this.m_ResultCode = EquivocalResultCode; } else if (testOrder.AverageHer2NeuSignal < 4) { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", NegativeResult); this.m_Result = NegativeResult; this.m_ResultCode = NegativeResultCode; } } else if (her2Chr17Ratio >= 2.0) { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", PositiveResult); this.m_Result = PositiveResult; this.m_ResultCode = PositiveResultCode; } } else { this.m_InterpretiveComment = this.m_InterpretiveComment.Replace("*HER2STATUS*", IndeterminateResult); this.m_Result = IndeterminateResult; this.m_ResultCode = IndeterminateResultCode; } if (testOrder.Her2byIHCOrder == 1) { this.m_InterpretiveComment += Environment.NewLine + Environment.NewLine + m_InterpretiveCommentP4IHCOrder; } base.SetResults(testOrder); }
public override void ToXml(XElement document) { HER2AmplificationByISHTestOrder panelSetOrder = (HER2AmplificationByISHTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo); this.AddCompanyHeader(document); this.AddBlankNteElement(document); this.AddNextNteElement("HER2 Gene Amplification", document); this.AddNextNteElement("Master Accession #: " + panelSetOrder.MasterAccessionNo, document); this.AddNextNteElement("Report #: " + panelSetOrder.ReportNo, document); this.AddBlankNteElement(document); this.AddNextNteElement("HER2: " + panelSetOrder.Result, document); this.AddNextNteElement("Ratio: " + panelSetOrder.Her2Chr17Ratio, document); if (panelSetOrder.ResultComment != string.Empty) { this.AddNextNteElement("Comment: " + panelSetOrder.ResultComment, document); this.AddBlankNteElement(document); } this.AddNextNteElement("Number of invasive tumor cells counted: " + panelSetOrder.CellsCounted.ToString(), document); this.AddNextNteElement("Number of observers: " + panelSetOrder.NumberOfObservers.ToString(), document); this.AddNextNteElement("HER2 average copy number per nucleus: " + panelSetOrder.AverageHer2NeuSignal, document); this.AddNextNteElement("Chr17 average copy number per nucleus: " + panelSetOrder.AverageChr17Signal, document); this.AddNextNteElement("Ratio of average HER2/Chr17 signals: " + panelSetOrder.Her2Chr17Ratio, document); this.AddBlankNteElement(document); this.AddNextNteElement("Interpretation: ", document); this.HandleLongString(panelSetOrder.InterpretiveComment, document); this.AddBlankNteElement(document); this.AddNextNteElement("Method: ", document); string method = System.Security.SecurityElement.Escape("This test was performed using a molecular method, In Situ Hybridization (ISH) with the US FDA approved Inform HER2 DNA probe kit, modified to report results according to ASCO/CAP guidelines. The test was performed on paraffin embedded tissue in compliance with ASCO/CAP guidelines. Probes used include a locus specific probe for HER2 and an internal hybridization control probe for the centromeric region of chromosome 17 (Chr17)."); this.AddNextNteElement(method, document); this.AddBlankNteElement(document); this.AddNextNteElement("References: ", document); this.AddNextNteElement(panelSetOrder.ReportReference, document); this.AddBlankNteElement(document); foreach (YellowstonePathology.Business.Amendment.Model.Amendment amendment in panelSetOrder.AmendmentCollection) { this.AddNextNteElement(amendment.AmendmentType + ": " + amendment.AmendmentDate.Value.ToString("MM/dd/yyyy"), document); this.HandleLongString(amendment.Text, document); if (amendment.RequirePathologistSignature == true) { this.AddNextNteElement("Signature: " + amendment.PathologistSignature, document); } this.AddNextNteElement("", document); } }
public override void ToXml(XElement document) { HER2AmplificationByISHTestOrder panelSetOrder = (HER2AmplificationByISHTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo); if (panelSetOrder.Indicator == "Breast") { this.BreastToXml(document, panelSetOrder); } else if (panelSetOrder.Indicator == "Gastric") { this.GastricToXml(document, panelSetOrder); } }
public HER2AmplificationByISHResult GetResultFromIndication(HER2AmplificationByISHTestOrder testOrder) { HER2AmplificationByISHResult result = null; if (testOrder.Indicator == HER2AmplificationByISHIndicatorCollection.BreastIndication) { result = new HER2AmplificationByISHBreastResult(); } else if (testOrder.Indicator == HER2AmplificationByISHIndicatorCollection.GastricIndication) { result = new HER2AmplificationByISHGastricAdenocarcinomaResult(); } return(result); }
public override void ToXml(XElement document) { HER2AmplificationByISHTestOrder panelSetOrder = (HER2AmplificationByISHTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo); if (this.m_AccessionOrder.AccessionDate < DateTime.Parse("1/1/2014") == true) { this.ASCOPre2014ToXml(document, panelSetOrder); } else if (this.m_AccessionOrder.AccessionDate >= DateTime.Parse("1/1/2014") == true) { if (panelSetOrder.Indicator == "Breast") { this.ASCOCAP2018(document, panelSetOrder); } else if (panelSetOrder.Indicator == "Gastric") { this.GastricToXml(document, panelSetOrder); } } }
public virtual void SetResults(HER2AmplificationByISHTestOrder testOrder) { if (testOrder.GeneticHeterogeneity == HER2AmplificationByISHGeneticHeterogeneityCollection.GeneticHeterogeneityPresentInCells) { this.m_InterpretiveComment += Environment.NewLine + Environment.NewLine + "However, this tumor exhibits genetic heterogeneity in HER2 gene amplification in scattered individual cells. The " + "clinical significance and potential clinical benefit of trastuzumab is uncertain when " + testOrder.Indicator.ToLower() + "carcinoma demonstrates genetic heterogeneity." + Environment.NewLine + Environment.NewLine; this.m_ResultComment = "This tumor exhibits genetic heterogeneity in HER2 gene amplification in scattered individual cells. The clinical " + "significance and potential clinical benefit of trastuzumab is uncertain when " + testOrder.Indicator.ToLower() + " carcinoma demonstrates genetic heterogeneity"; } else if (testOrder.GeneticHeterogeneity == HER2AmplificationByISHGeneticHeterogeneityCollection.GeneticHeterogeneityPresentInClusters) { this.m_InterpretiveComment += Environment.NewLine + Environment.NewLine + "However, this tumor exhibits genetic heterogeneity in HER2 gene amplification in small cell clusters. The HER2/Chr17 " + "ratio in the clusters is " + testOrder.Her2Chr17ClusterRatio + ". The clinical significance and potential clinical benefit of trastuzumab is uncertain when " + testOrder.Indicator.ToLower() + " carcinoma demonstrates genetic heterogeneity." + Environment.NewLine + Environment.NewLine; this.m_ResultComment = "This tumor exhibits genetic heterogeneity in HER2 gene amplification in small cell clusters. The clinical significance " + "and potential clinical benefit of trastuzumab is uncertain when " + testOrder.Indicator.ToLower() + " carcinoma demonstrates genetic heterogeneity."; } testOrder.Result = this.m_Result; testOrder.ResultCode = this.m_ResultCode; testOrder.ResultComment = this.m_ResultComment; testOrder.InterpretiveComment = this.m_InterpretiveComment.TrimEnd(); testOrder.ResultDescription = this.m_ResultDescription; testOrder.CommentLabel = null; testOrder.Method = this.m_Method; testOrder.ReportReference = this.m_ReportReference; testOrder.ASRComment = this.m_ASRComment; testOrder.NoCharge = false; }
public virtual void SetResults(HER2AmplificationByISHTestOrder testOrder) { if (testOrder.GeneticHeterogeneity == HER2AmplificationByISHGeneticHeterogeneityCollection.GeneticHeterogeneityPresentInCells) { this.m_InterpretiveComment += Environment.NewLine + Environment.NewLine + "However, this tumor exhibits genetic heterogeneity in HER2 gene amplification in scattered individual cells. The " + "clinical significance and potential clinical benefit of trastuzumab is uncertain when " + testOrder.Indicator.ToLower() + "carcinoma demonstrates genetic heterogeneity." + Environment.NewLine + Environment.NewLine; this.m_ResultComment = "This tumor exhibits genetic heterogeneity in HER2 gene amplification in scattered individual cells. The clinical " + "significance and potential clinical benefit of trastuzumab is uncertain when " + testOrder.Indicator.ToLower() + " carcinoma demonstrates genetic heterogeneity"; } else if (testOrder.GeneticHeterogeneity == HER2AmplificationByISHGeneticHeterogeneityCollection.GeneticHeterogeneityPresentInClusters) { this.m_InterpretiveComment += Environment.NewLine + Environment.NewLine + "However, this tumor exhibits genetic heterogeneity in HER2 gene amplification in small cell clusters. The HER2/Chr17 " + "ratio in the clusters is " + testOrder.Her2Chr17ClusterRatio + ". The clinical significance and potential clinical benefit of trastuzumab is uncertain when " + testOrder.Indicator.ToLower() + " carcinoma demonstrates genetic heterogeneity." + Environment.NewLine + Environment.NewLine; this.m_ResultComment = "This tumor exhibits genetic heterogeneity in HER2 gene amplification in small cell clusters. The clinical significance " + "and potential clinical benefit of trastuzumab is uncertain when " + testOrder.Indicator.ToLower() + " carcinoma demonstrates genetic heterogeneity."; } testOrder.Result = this.m_Result; testOrder.ResultCode = this.m_ResultCode; testOrder.ResultComment = this.m_ResultComment; testOrder.InterpretiveComment = this.m_InterpretiveComment.TrimEnd(); testOrder.ResultDescription = this.m_ResultDescription; testOrder.CommentLabel = null; testOrder.Method = this.m_Method; testOrder.ReportReference = this.m_ReportReference; testOrder.ASRComment = this.m_ASRComment; testOrder.NoCharge = false; }
public override void Render() { HER2AmplificationByISHTestOrder panelSetOrderHer2ByIsh = (HER2AmplificationByISHTestOrder)this.m_PanelSetOrder; if (panelSetOrderHer2ByIsh.Indicator.ToUpper() == "BREAST") { if (this.m_AccessionOrder.AccessionDate >= DateTime.Parse("1/1/2014") == true) { this.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\HER2AmplificationByISH.Breast.8.xml"; } else { this.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\HER2AmplificationByISH.ASCOPre2014.7.xml"; } } else if (panelSetOrderHer2ByIsh.Indicator.ToUpper() == "GASTRIC") { if (this.m_AccessionOrder.AccessionDate >= DateTime.Parse("1/1/2014") == true) { this.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\HER2AmplificationByISH.Gastric.7.xml"; } else { this.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\HER2AmplificationByISH.ASCOPre2014.7.xml"; } } base.OpenTemplate(); this.SetDemographicsV2(); this.SetReportDistribution(); this.SetCaseHistory(); if (this.m_AccessionOrder.OrderCancelled == false) { YellowstonePathology.Business.Document.AmendmentSection amendmentSection = new YellowstonePathology.Business.Document.AmendmentSection(); amendmentSection.SetAmendment(m_PanelSetOrder.AmendmentCollection, this.m_ReportXml, this.m_NameSpaceManager, true); YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(this.m_PanelSetOrder.OrderedOn, this.m_PanelSetOrder.OrderedOnId); string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime); this.SetXmlNodeData("date_time_collected", collectionDateTimeString); this.SetXmlNodeData("test_result", panelSetOrderHer2ByIsh.Result); if (panelSetOrderHer2ByIsh.Her2Chr17Ratio.HasValue == true) { this.SetXmlNodeData("test_ratio", "Ratio = " + panelSetOrderHer2ByIsh.Her2Chr17Ratio); } else { this.DeleteRow("test_ratio"); } if (panelSetOrderHer2ByIsh.AverageHer2NeuSignal.HasValue == true) { this.SetXmlNodeData("averageher2_copynumber", "Average HER2 Copy Number = " + panelSetOrderHer2ByIsh.AverageHer2NeuSignal.Value.ToString()); } else { this.DeleteRow("averageher2_copynumber"); } this.SetXmlNodeData("final_date", YellowstonePathology.Business.BaseData.GetShortDateString(this.m_PanelSetOrder.FinalDate)); if (string.IsNullOrEmpty(panelSetOrderHer2ByIsh.ResultComment) == false) { this.SetXmlNodeData("result_comment", panelSetOrderHer2ByIsh.ResultComment); } else { this.DeleteRow("result_comment"); } this.SetXmlNodeData("cell_cnt", panelSetOrderHer2ByIsh.CellsCounted.ToString()); this.SetXmlNodeData("obs_cnt", panelSetOrderHer2ByIsh.NumberOfObservers.ToString()); if (panelSetOrderHer2ByIsh.AverageHer2NeuSignal.HasValue == true) { this.SetXmlNodeData("avg_her", panelSetOrderHer2ByIsh.AverageHer2NeuSignal.Value.ToString()); } else { this.SetXmlNodeData("avg_her", "Unable to calculate"); } this.SetXmlNodeData("avg_chr", panelSetOrderHer2ByIsh.AverageChr17Signal); if (panelSetOrderHer2ByIsh.Her2Chr17Ratio.HasValue == true) { this.SetXmlNodeData("tst_ratio", panelSetOrderHer2ByIsh.Her2Chr17Ratio.Value.ToString()); } else { this.SetXmlNodeData("tst_ratio", "Unable to calculate"); } XmlNode tableNode = this.m_ReportXml.SelectSingleNode("descendant::w:tbl[w:tr/w:tc/w:p/w:r/w:t='report_interpretation']", this.m_NameSpaceManager); if (panelSetOrderHer2ByIsh.InterpretiveComment != null) { this.SetXMLNodeParagraphDataNode(tableNode, "report_interpretation", panelSetOrderHer2ByIsh.InterpretiveComment); } else { this.SetXMLNodeParagraphDataNode(tableNode, "report_interpretation", string.Empty); } YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_PanelSetOrder.OrderedOnId); string blockDescription = string.Empty; if (aliquotOrder != null) { blockDescription = " - Block " + aliquotOrder.Label; } SetXmlNodeData("specimen_type", specimenOrder.Description + blockDescription); SetXmlNodeData("specimen_fixation", specimenOrder.LabFixation); SetXmlNodeData("time_to_fixation", specimenOrder.TimeToFixationHourString); this.SetXmlNodeData("report_reference", panelSetOrderHer2ByIsh.ReportReference); SetXmlNodeData("duration_of_fixation", specimenOrder.FixationDurationString); this.SetXmlNodeData("fixation_comment", specimenOrder.FixationComment); SetXmlNodeData("report_method", panelSetOrderHer2ByIsh.Method); SetXmlNodeData("asr_comment", panelSetOrderHer2ByIsh.ASRComment); SetXmlNodeData("sample_adequacy", panelSetOrderHer2ByIsh.SampleAdequacy); SetXmlNodeData("date_time_collected", collectionDateTimeString); SetXmlNodeData("report_distribution", "No Distribution Selected"); this.SetXmlNodeData("pathologist_signature", this.m_PanelSetOrder.Signature); } else { this.SetXmlNodeData("result_comment", panelSetOrderHer2ByIsh.ResultComment); this.SetXmlNodeData("final_date", YellowstonePathology.Business.BaseData.GetShortDateString(this.m_PanelSetOrder.FinalDate)); } this.SaveReport(); }
public void ASCOPre2014ToXml(XElement document, HER2AmplificationByISHTestOrder panelSetOrder) { this.AddHeader(document, panelSetOrder, "HER2 Gene Amplification"); this.AddNextObxElement("", document, "F"); this.AddNextObxElement("HER2: " + panelSetOrder.Result, document, "F"); this.AddNextObxElement("Ratio: " + panelSetOrder.AverageHer2Chr17Signal, document, "F"); this.AddNextObxElement("Reference Range: Negative < 2, Positive >= 2", document, "F"); if (string.IsNullOrEmpty(panelSetOrder.ResultComment) != true) { this.HandleLongString("Comment: " + panelSetOrder.ResultComment, document, "F"); } this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Pathologist: " + panelSetOrder.Signature, document, "F"); if (panelSetOrder.FinalTime.HasValue == true) { this.AddNextObxElement("E-signed " + panelSetOrder.FinalTime.Value.ToString("MM/dd/yyyy HH:mm"), document, "F"); } this.AddNextObxElement(string.Empty, document, "F"); this.AddAmendments(document); this.AddNextObxElement("Number of invasive tumor cells counted: " + panelSetOrder.CellsCounted.ToString(), document, "F"); this.AddNextObxElement("Number of observers: " + panelSetOrder.NumberOfObservers.ToString(), document, "F"); if (panelSetOrder.AverageHer2NeuSignal.HasValue == true) { this.AddNextObxElement("HER2 average copy number per nucleus: " + panelSetOrder.AverageHer2NeuSignal.Value.ToString(), document, "F"); } this.AddNextObxElement("Chr17 average copy number per nucleus: " + panelSetOrder.AverageChr17Signal, document, "F"); this.AddNextObxElement("Ratio of average HER2/Chr17 signals: " + panelSetOrder.AverageHer2Chr17Signal, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(panelSetOrder.OrderedOn, panelSetOrder.OrderedOnId); YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder)this.m_AccessionOrder.SpecimenOrderCollection.GetOrderTarget(panelSetOrder.OrderedOnId); string blockDescription = string.Empty; if (aliquotOrder != null) { blockDescription = " - Block " + aliquotOrder.Label; } this.AddNextObxElement("Specimen site and type: " + specimenOrder.Description + blockDescription, document, "F"); this.AddNextObxElement("Specimen fixation type: " + specimenOrder.LabFixation, document, "F"); this.AddNextObxElement("Time to fixation: " + specimenOrder.TimeToFixationHourString, document, "F"); this.AddNextObxElement("Duration of fixation: " + specimenOrder.FixationDurationString, document, "F"); this.AddNextObxElement("Sample adequacy: " + panelSetOrder.SampleAdequacy, document, "F"); string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime); this.AddNextObxElement("Collection Date/Time: " + collectionDateTimeString, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Interpretation: ", document, "F"); this.HandleLongString(panelSetOrder.InterpretiveComment, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); if (string.IsNullOrEmpty(specimenOrder.FixationComment) == false) { this.HandleLongString("Fixation Comment:" + specimenOrder.FixationComment, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); } this.AddNextObxElement("Method: ", document, "F"); this.HandleLongString(panelSetOrder.Method, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("References: ", document, "F"); this.HandleLongString(panelSetOrder.ReportReference, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement(panelSetOrder.ASRComment, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); string locationPerformed = panelSetOrder.GetLocationPerformedComment(); this.AddNextObxElement(locationPerformed, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); }
public void BreastToXml(XElement document, HER2AmplificationByISHTestOrder panelSetOrder) { string referenceRange = "Based on 2013 CAP/ASCO guidelines, a case is considered POSITIVE when the HER2 to Chr17 ratio is >=2.0 with any average " + "HER2 copy number or when the HER2 to Chr17 ratio is <2.0 with an average HER2 copy number >=6.0 signals/nucleus, " + "EQUIVOCAL when the HER2 to Chr17 ratio is <2.0 with an average HER2 copy number >=4.0 and <6.0 signals/cell, and " + "NEGATIVE when the HER2 to Chr17 ratio is <2.0 with an average HER2 copy number < 4.0 signals/cell."; this.AddHeader(document, panelSetOrder, "HER2 Gene Amplification"); this.AddNextObxElement("", document, "F"); this.AddNextObxElement("HER2: " + panelSetOrder.Result, document, "F"); this.AddNextObxElement("Ratio: " + panelSetOrder.Her2Chr17Ratio, document, "F"); this.AddNextObxElement("Average HER2 Copy Number = " + panelSetOrder.AverageHer2NeuSignal, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Reference Range: " + referenceRange, document, "F"); if (string.IsNullOrEmpty(panelSetOrder.ResultComment) != true) { this.HandleLongString("Comment: " + panelSetOrder.ResultComment, document, "F"); } this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Pathologist: " + panelSetOrder.Signature, document, "F"); if (panelSetOrder.FinalTime.HasValue == true) { this.AddNextObxElement("E-signed " + panelSetOrder.FinalTime.Value.ToString("MM/dd/yyyy HH:mm"), document, "F"); } this.AddNextObxElement(string.Empty, document, "F"); this.AddAmendments(document); this.AddNextObxElement("Number of invasive tumor cells counted: " + panelSetOrder.CellsCounted.ToString(), document, "F"); this.AddNextObxElement("Number of observers: " + panelSetOrder.NumberOfObservers.ToString(), document, "F"); this.AddNextObxElement("HER2 average copy number per nucleus: " + panelSetOrder.AverageHer2NeuSignal, document, "F"); this.AddNextObxElement("Chr17 average copy number per nucleus: " + panelSetOrder.AverageChr17Signal, document, "F"); this.AddNextObxElement("Ratio of average HER2/Chr17 signals: " + panelSetOrder.Her2Chr17Ratio, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(panelSetOrder.OrderedOn, panelSetOrder.OrderedOnId); YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder)this.m_AccessionOrder.SpecimenOrderCollection.GetOrderTarget(panelSetOrder.OrderedOnId); string specimenDescriptionString = specimenOrder.Description + " - " + aliquotOrder.Label; this.AddNextObxElement("Specimen Description: " + specimenDescriptionString, document, "F"); this.AddNextObxElement("Fixation Type: " + specimenOrder.LabFixation, document, "F"); this.AddNextObxElement("Time to fixation: " + specimenOrder.TimeToFixationHourString, document, "F"); this.AddNextObxElement("Fixation Duration: " + specimenOrder.FixationDurationString, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Interpretation: ", document, "F"); this.HandleLongString(panelSetOrder.InterpretiveComment, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Method: ", document, "F"); this.HandleLongString(panelSetOrder.Method, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("References: ", document, "F"); this.HandleLongString(panelSetOrder.ReportReference, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); foreach (YellowstonePathology.Business.Amendment.Model.Amendment amendment in panelSetOrder.AmendmentCollection) { this.AddNextObxElement(amendment.AmendmentType + ": " + amendment.AmendmentDate.Value.ToString("MM/dd/yyyy"), document, "C"); this.HandleLongString(amendment.Text, document, "C"); if (amendment.RequirePathologistSignature == true) { this.AddNextObxElement("Signature: " + amendment.PathologistSignature, document, "C"); } this.AddNextObxElement("", document, "C"); } this.HandleLongString(panelSetOrder.ASRComment, document, "F"); string locationPerformed = panelSetOrder.GetLocationPerformedComment(); this.AddNextObxElement(locationPerformed, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); }
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."; }
private void BreastToXml(XElement document, HER2AmplificationByISHTestOrder panelSetOrder) { string referenceRange = "Based on 2013 CAP/ASCO guidelines, a case is considered POSITIVE when the HER2 to Chr17 ratio is >=2.0 with any average " + "HER2 copy number or when the HER2 to Chr17 ratio is <2.0 with an average HER2 copy number >=6.0 signals/nucleus, " + "EQUIVOCAL when the HER2 to Chr17 ratio is <2.0 with an average HER2 copy number >=4.0 and <6.0 signals/cell, and " + "NEGATIVE when the HER2 to Chr17 ratio is <2.0 with an average HER2 copy number < 4.0 signals/cell."; this.AddNextNteElement("HER2: " + panelSetOrder.Result, document); this.AddNextNteElement("Ratio: " + panelSetOrder.AverageHer2Chr17Signal, document); this.AddNextNteElement("Average HER2 Copy Number = " + panelSetOrder.AverageHer2NeuSignal.Value.ToString(), document); this.AddBlankNteElement(document); if (panelSetOrder.ResultComment != string.Empty) { this.AddNextNteElement("Comment: " + panelSetOrder.ResultComment, document); this.AddBlankNteElement(document); } this.AddNextNteElement("Pathologist: " + panelSetOrder.Signature, document); if (panelSetOrder.FinalTime.HasValue == true) { this.AddNextNteElement("E-signed " + panelSetOrder.FinalTime.Value.ToString("MM/dd/yyyy HH:mm"), document); } this.AddBlankNteElement(document); this.AddAmendments(document, panelSetOrder, this.m_AccessionOrder); this.AddNextNteElement("Number of invasive tumor cells counted: " + panelSetOrder.CellsCounted.ToString(), document); this.AddNextNteElement("Number of observers: " + panelSetOrder.NumberOfObservers.ToString(), document); if (panelSetOrder.AverageHer2NeuSignal.HasValue == true) { this.AddNextNteElement("HER2 average copy number per nucleus: " + panelSetOrder.AverageHer2NeuSignal, document); } this.AddNextNteElement("Chr17 average copy number per nucleus: " + panelSetOrder.AverageChr17Signal, document); this.AddNextNteElement("Ratio of average HER2/Chr17 signals: " + panelSetOrder.AverageHer2Chr17Signal, document); this.AddBlankNteElement(document); YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(panelSetOrder.OrderedOn, panelSetOrder.OrderedOnId); YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder) this.m_AccessionOrder.SpecimenOrderCollection.GetOrderTarget(panelSetOrder.OrderedOnId); string blockDescription = string.Empty; if (aliquotOrder != null) { blockDescription = " - Block " + aliquotOrder.Label; } this.AddNextNteElement("Specimen site and type: " + specimenOrder.Description + blockDescription, document); this.AddNextNteElement("Specimen fixation type: " + specimenOrder.LabFixation, document); this.AddNextNteElement("Time to fixation: " + specimenOrder.TimeToFixationHourString, document); this.AddNextNteElement("Duration of fixation: " + specimenOrder.FixationDurationString, document); this.AddNextNteElement("Sample adequacy: " + panelSetOrder.SampleAdequacy, document); string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime); this.AddNextNteElement("Collection Date/Time: " + collectionDateTimeString, document); this.AddBlankNteElement(document); this.AddNextNteElement("Interpretation: ", document); this.HandleLongString(panelSetOrder.InterpretiveComment, document); this.AddBlankNteElement(document); this.AddNextNteElement("Reference Range: " + referenceRange, document); this.AddBlankNteElement(document); if (string.IsNullOrEmpty(specimenOrder.FixationComment) == false) { this.HandleLongString("Fixation Comment:" + specimenOrder.FixationComment, document); this.AddBlankNteElement(document); } this.AddNextNteElement("Method: ", document); string method = panelSetOrder.Method; if (string.IsNullOrEmpty(method) == true) { method = System.Security.SecurityElement.Escape("This test was performed using a molecular method, In Situ Hybridization (ISH) with the US FDA approved Inform HER2 DNA probe kit, modified to report results according to ASCO/CAP guidelines. The test was performed on paraffin embedded tissue in compliance with ASCO/CAP guidelines. Probes used include a locus specific probe for HER2 and an internal hybridization control probe for the centromeric region of chromosome 17 (Chr17)."); } this.AddNextNteElement(method, document); this.AddBlankNteElement(document); this.AddNextNteElement("References: ", document); this.AddNextNteElement(panelSetOrder.ReportReference, document); this.AddBlankNteElement(document); this.AddNextNteElement(panelSetOrder.ASRComment, document); this.AddBlankNteElement(document); string locationPerformed = panelSetOrder.GetLocationPerformedComment(); this.AddNextNteElement(locationPerformed, document); this.AddBlankNteElement(document); }
public void BreastToXml(XElement document, HER2AmplificationByISHTestOrder panelSetOrder) { string referenceRange = "Based on 2013 CAP/ASCO guidelines, a case is considered POSITIVE when the HER2 to Chr17 ratio is >=2.0 with any average " + "HER2 copy number or when the HER2 to Chr17 ratio is <2.0 with an average HER2 copy number >=6.0 signals/nucleus, " + "EQUIVOCAL when the HER2 to Chr17 ratio is <2.0 with an average HER2 copy number >=4.0 and <6.0 signals/cell, and " + "NEGATIVE when the HER2 to Chr17 ratio is <2.0 with an average HER2 copy number < 4.0 signals/cell."; this.AddHeader(document, panelSetOrder, "HER2 Gene Amplification"); this.AddNextObxElement("", document, "F"); this.AddNextObxElement("HER2: " + panelSetOrder.Result, document, "F"); this.AddNextObxElement("Ratio: " + panelSetOrder.AverageHer2Chr17Signal, document, "F"); this.AddNextObxElement("Average HER2 Copy Number = " + panelSetOrder.AverageHer2NeuSignal.Value.ToString(), document, "F"); this.AddNextObxElement(string.Empty, document, "F"); if (string.IsNullOrEmpty(panelSetOrder.ResultComment) != true) { this.HandleLongString("Comment: " + panelSetOrder.ResultComment, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); } this.AddNextObxElement("Pathologist: " + panelSetOrder.Signature, document, "F"); if (panelSetOrder.FinalTime.HasValue == true) { this.AddNextObxElement("E-signed " + panelSetOrder.FinalTime.Value.ToString("MM/dd/yyyy HH:mm"), document, "F"); } this.AddNextObxElement(string.Empty, document, "F"); this.AddAmendments(document); this.AddNextObxElement("Number of invasive tumor cells counted: " + panelSetOrder.CellsCounted.ToString(), document, "F"); this.AddNextObxElement("Number of observers: " + panelSetOrder.NumberOfObservers.ToString(), document, "F"); if (panelSetOrder.AverageHer2NeuSignal.HasValue == true) { this.AddNextObxElement("HER2 average copy number: " + panelSetOrder.AverageHer2NeuSignal.Value.ToString(), document, "F"); } this.AddNextObxElement("Chr17 average copy number: " + panelSetOrder.AverageChr17Signal, document, "F"); this.AddNextObxElement("Ratio of average HER2/Chr17 signals: " + panelSetOrder.AverageHer2Chr17Signal, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(panelSetOrder.OrderedOn, panelSetOrder.OrderedOnId); YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder) this.m_AccessionOrder.SpecimenOrderCollection.GetOrderTarget(panelSetOrder.OrderedOnId); string blockDescription = string.Empty; if (aliquotOrder != null) { blockDescription = " - Block " + aliquotOrder.Label; } this.AddNextObxElement("Specimen site and type: " + specimenOrder.Description + blockDescription, document, "F"); this.AddNextObxElement("Specimen fixation type: " + specimenOrder.LabFixation, document, "F"); this.AddNextObxElement("Time to fixation: " + specimenOrder.TimeToFixationHourString, document, "F"); this.AddNextObxElement("Duration of fixation: " + specimenOrder.FixationDurationString, document, "F"); this.AddNextObxElement("Sample adequacy: " + panelSetOrder.SampleAdequacy, document, "F"); string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime); this.AddNextObxElement("Collection Date/Time: " + collectionDateTimeString, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Interpretation: ", document, "F"); this.HandleLongString(panelSetOrder.InterpretiveComment, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Reference Range: " + referenceRange, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); if (string.IsNullOrEmpty(specimenOrder.FixationComment) == false) { this.HandleLongString("Fixation Comment:" + specimenOrder.FixationComment, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); } this.AddNextObxElement("Method: ", document, "F"); this.HandleLongString(panelSetOrder.Method, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("References: ", document, "F"); this.HandleLongString(panelSetOrder.ReportReference, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.HandleLongString(panelSetOrder.ASRComment, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); string locationPerformed = panelSetOrder.GetLocationPerformedComment(); this.AddNextObxElement(locationPerformed, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); }
public HER2AmplificationResultGroup5Breast(PanelSetOrderCollection panelSetOrderCollection, HER2AmplificationByISHTestOrder panelSetOrder) : base(panelSetOrderCollection, panelSetOrder) { }
public HER2AmplificationResultBreast(PanelSetOrderCollection panelSetOrderCollection, HER2AmplificationByISHTestOrder 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."; }
private void ASCOPre2014ToXml(XElement document, HER2AmplificationByISHTestOrder panelSetOrder) { this.AddNextNteElement("HER2: " + panelSetOrder.Result, document); this.AddNextNteElement("Ratio: " + panelSetOrder.AverageHer2Chr17Signal, document); this.AddNextNteElement("Reference Range: Negative < 2, Positive >= 2", document); if (panelSetOrder.ResultComment != string.Empty) { this.AddNextNteElement("Comment: " + panelSetOrder.ResultComment, document); this.AddBlankNteElement(document); } this.AddNextNteElement("Pathologist: " + panelSetOrder.Signature, document); if (panelSetOrder.FinalTime.HasValue == true) { this.AddNextNteElement("E-signed " + panelSetOrder.FinalTime.Value.ToString("MM/dd/yyyy HH:mm"), document); } this.AddBlankNteElement(document); this.AddAmendments(document, panelSetOrder); this.AddNextNteElement("Number of invasive tumor cells counted: " + panelSetOrder.CellsCounted.ToString(), document); this.AddNextNteElement("Number of observers: " + panelSetOrder.NumberOfObservers.ToString(), document); this.AddNextNteElement("HER2 average copy number per nucleus: " + panelSetOrder.AverageHer2NeuSignal.Value.ToString(), document); this.AddNextNteElement("Chr17 average copy number per nucleus: " + panelSetOrder.AverageChr17Signal, document); this.AddNextNteElement("Ratio of average HER2/Chr17 signals: " + panelSetOrder.Her2Chr17Ratio, document); this.AddBlankNteElement(document); YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(panelSetOrder.OrderedOn, panelSetOrder.OrderedOnId); YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder)this.m_AccessionOrder.SpecimenOrderCollection.GetOrderTarget(panelSetOrder.OrderedOnId); string blockDescription = string.Empty; if (aliquotOrder != null) { blockDescription = " - Block " + aliquotOrder.Label; } this.AddNextNteElement("Specimen site and type: " + specimenOrder.Description + blockDescription, document); this.AddNextNteElement("Specimen fixation type: " + specimenOrder.LabFixation, document); this.AddNextNteElement("Time to fixation: " + specimenOrder.TimeToFixationHourString, document); this.AddNextNteElement("Duration of fixation: " + specimenOrder.FixationDurationString, document); this.AddNextNteElement("Sample adequacy: " + panelSetOrder.SampleAdequacy, document); string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime); this.AddNextNteElement("Collection Date/Time: " + collectionDateTimeString, document); this.AddBlankNteElement(document); this.AddNextNteElement("Interpretation: ", document); this.HandleLongString(panelSetOrder.InterpretiveComment, document); this.AddBlankNteElement(document); if (string.IsNullOrEmpty(specimenOrder.FixationComment) == false) { this.HandleLongString("Fixation Comment:" + specimenOrder.FixationComment, document); this.AddBlankNteElement(document); } this.AddNextNteElement("Method: ", document); string method = panelSetOrder.Method; if (string.IsNullOrEmpty(method) == true) { method = System.Security.SecurityElement.Escape("This test was performed using a molecular method, In Situ Hybridization (ISH) with the US FDA approved Inform HER2 DNA probe kit, modified to report results according to ASCO/CAP guidelines. The test was performed on paraffin embedded tissue in compliance with ASCO/CAP guidelines. Probes used include a locus specific probe for HER2 and an internal hybridization control probe for the centromeric region of chromosome 17 (Chr17)."); } this.AddNextNteElement(method, document); this.AddBlankNteElement(document); this.AddNextNteElement("References: ", document); this.AddNextNteElement(panelSetOrder.ReportReference, document); this.AddBlankNteElement(document); this.AddNextNteElement(panelSetOrder.ASRComment, document); this.AddBlankNteElement(document); string locationPerformed = panelSetOrder.GetLocationPerformedComment(); this.AddNextNteElement(locationPerformed, document); this.AddBlankNteElement(document); }
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)); }
public void GastricToXml(XElement document, HER2AmplificationByISHTestOrder panelSetOrder) { this.AddHeader(document, panelSetOrder, "HER2 Gene Amplification"); this.AddNextObxElement("", document, "F"); this.AddNextObxElement("HER2: " + panelSetOrder.Result, document, "F"); this.AddNextObxElement("Ratio: " + panelSetOrder.Her2Chr17Ratio, document, "F"); this.AddNextObxElement("Reference Range: Negative < 2, Positive >= 2", document, "F"); if (string.IsNullOrEmpty(panelSetOrder.ResultComment) != true) { this.HandleLongString("Comment: " + panelSetOrder.ResultComment, document, "F"); } this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Pathologist: " + panelSetOrder.Signature, document, "F"); if (panelSetOrder.FinalTime.HasValue == true) { this.AddNextObxElement("E-signed " + panelSetOrder.FinalTime.Value.ToString("MM/dd/yyyy HH:mm"), document, "F"); } this.AddNextObxElement(string.Empty, document, "F"); this.AddAmendments(document); this.AddNextObxElement("Number of invasive tumor cells counted: " + panelSetOrder.CellsCounted.ToString(), document, "F"); this.AddNextObxElement("Number of observers: " + panelSetOrder.NumberOfObservers.ToString(), document, "F"); this.AddNextObxElement("HER2 average copy number per nucleus: " + panelSetOrder.AverageHer2NeuSignal, document, "F"); this.AddNextObxElement("Chr17 average copy number per nucleus: " + panelSetOrder.AverageChr17Signal, document, "F"); this.AddNextObxElement("Ratio of average HER2/Chr17 signals: " + panelSetOrder.Her2Chr17Ratio, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(panelSetOrder.OrderedOn, panelSetOrder.OrderedOnId); YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder) this.m_AccessionOrder.SpecimenOrderCollection.GetOrderTarget(panelSetOrder.OrderedOnId); string specimenDescriptionString = specimenOrder.Description + " - " + aliquotOrder.Label; this.AddNextObxElement("Specimen Description: " + specimenDescriptionString, document, "F"); this.AddNextObxElement("Fixation Type: " + specimenOrder.LabFixation, document, "F"); this.AddNextObxElement("Time to fixation: " + specimenOrder.TimeToFixationHourString, document, "F"); this.AddNextObxElement("Fixation Duration: " + specimenOrder.FixationDurationString, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Interpretation: ", document, "F"); this.HandleLongString(panelSetOrder.InterpretiveComment, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("Method: ", document, "F"); this.HandleLongString(panelSetOrder.Method, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); this.AddNextObxElement("References: ", document, "F"); this.HandleLongString(panelSetOrder.ReportReference, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); foreach (YellowstonePathology.Business.Amendment.Model.Amendment amendment in panelSetOrder.AmendmentCollection) { this.AddNextObxElement(amendment.AmendmentType + ": " + amendment.AmendmentDate.Value.ToString("MM/dd/yyyy"), document, "C"); this.HandleLongString(amendment.Text, document, "C"); if (amendment.RequirePathologistSignature == true) { this.AddNextObxElement("Signature: " + amendment.PathologistSignature, document, "C"); } this.AddNextObxElement("", document, "C"); } this.AddNextObxElement(panelSetOrder.ASRComment, document, "F"); string locationPerformed = panelSetOrder.GetLocationPerformedComment(); this.AddNextObxElement(locationPerformed, document, "F"); this.AddNextObxElement(string.Empty, document, "F"); }