예제 #1
0
        public override void ToXml(XElement document)
        {
            KRASStandardTestOrder panelSetOrder = (KRASStandardTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo);

            this.AddHeader(document, panelSetOrder, "KRAS Mutation Analysis");
            this.AddNextObxElement("", document, "F");

            this.AddNextObxElement("Result: " + panelSetOrder.Result, document, "F");

            if (string.IsNullOrEmpty(panelSetOrder.MutationDetected) == false)
            {
                this.AddNextObxElement("  " + panelSetOrder.MutationDetected, document, "F");
            }

            if (string.IsNullOrEmpty(panelSetOrder.Comment) == false)
            {
                this.AddNextObxElement("Comment: " + panelSetOrder.Comment, document, "F");
                this.AddNextObxElement("", 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("", document, "F");
            this.AddAmendments(document);

            this.AddNextObxElement("Indication: " + panelSetOrder.Indication, document, "F");
            this.AddNextObxElement("", document, "F");

            this.AddNextObxElement("Interpretation: ", document, "F");
            this.HandleLongString(panelSetOrder.Interpretation, document, "F");
            this.AddNextObxElement("", document, "F");

            if (string.IsNullOrEmpty(panelSetOrder.TumorNucleiPercentage) == false)
            {
                this.AddNextObxElement("Tumor Nuclei Percent: ", document, "F");
                this.HandleLongString(panelSetOrder.TumorNucleiPercentage, document, "F");
                this.AddNextObxElement("", document, "F");
            }

            this.AddNextObxElement("Method: ", document, "F");
            this.AddNextObxElement(panelSetOrder.Method, document, "F");
            this.AddNextObxElement("", document, "F");

            string locationPerformed = panelSetOrder.GetLocationPerformedComment();

            this.AddNextObxElement(locationPerformed, document, "F");
            this.AddNextObxElement(string.Empty, document, "F");
        }
예제 #2
0
        public virtual void SetResults(KRASStandardTestOrder testOrder)
        {
            YellowstonePathology.Business.Test.IndicationCollection indicationCollection = IndicationCollection.GetAll();
            YellowstonePathology.Business.Test.Indication           indication           = indicationCollection.GetIndication(testOrder.Indication);
            testOrder.IndicationComment = indication.Description;

            testOrder.ResultCode       = this.m_ResultCode;
            testOrder.Result           = this.m_Result;
            testOrder.MutationDetected = this.m_ResultDescription;
            testOrder.Method           = this.m_Method;
            testOrder.Interpretation   = this.m_Interpretation;
            testOrder.Comment          = this.m_Comment;
            testOrder.References       = this.m_References;
        }
예제 #3
0
        public override void Render()
        {
            KRASStandardTestOrder panelSetOrder = (KRASStandardTestOrder)this.m_PanelSetOrder;

            this.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\KRASStandard.1.xml";
            base.OpenTemplate();

            this.SetDemographicsV2();
            this.SetReportDistribution();
            this.SetCaseHistory();

            this.SetXmlNodeData("report_result", panelSetOrder.Result);
            this.SetXmlNodeData("final_date", YellowstonePathology.Business.BaseData.GetShortDateString(this.m_PanelSetOrder.FinalDate));

            YellowstonePathology.Business.Document.AmendmentSection amendmentSection = new YellowstonePathology.Business.Document.AmendmentSection();
            amendmentSection.SetAmendment(m_PanelSetOrder.AmendmentCollection, this.m_ReportXml, this.m_NameSpaceManager, true);

            if (m_PanelSetOrder.AmendmentCollection.Count == 0)
            {
                this.SetXmlNodeData("test_result_header", "Test Result");
            }
            else             // If an amendment exists show as corrected
            {
                this.SetXmlNodeData("test_result_header", "Corrected Test Result");
            }

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(this.m_PanelSetOrder.OrderedOn, this.m_PanelSetOrder.OrderedOnId);
            this.ReplaceText("specimen_description", specimenOrder.Description);

            string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime);

            this.SetXmlNodeData("date_time_collected", collectionDateTimeString);

            if (string.IsNullOrEmpty(panelSetOrder.Comment) == false)
            {
                this.ReplaceText("result_comment", panelSetOrder.Comment);
            }
            else
            {
                this.DeleteRow("result_comment");
            }
            this.ReplaceText("report_interpretation", panelSetOrder.Interpretation);
            this.ReplaceText("kras_result_detail", panelSetOrder.MutationDetected);
            this.ReplaceText("report_indication_comment", panelSetOrder.IndicationComment);
            this.ReplaceText("tumor_nuclei_percent", panelSetOrder.TumorNucleiPercentage);
            this.ReplaceText("report_method", panelSetOrder.Method);
            this.ReplaceText("report_reference", panelSetOrder.References);

            if (this.m_PanelSetOrder.ProfessionalComponentFacilityId == "YPBLGS" && this.m_PanelSetOrder.TechnicalComponentFacilityId == "YPIBLGS")
            {
                this.ReplaceText("test_developed_comment", TestDevelopedComment);
            }
            else
            {
                this.DeleteRow("test_developed_comment");
            }

            this.ReplaceText("report_date", YellowstonePathology.Business.BaseData.GetShortDateString(this.m_PanelSetOrder.FinalDate));
            this.SetXmlNodeData("pathologist_signature", m_PanelSetOrder.Signature);
            this.SaveReport();
        }
예제 #4
0
        public virtual void SetResults(KRASStandardTestOrder testOrder)
        {
            YellowstonePathology.Business.Test.IndicationCollection indicationCollection = IndicationCollection.GetAll();
            YellowstonePathology.Business.Test.Indication indication = indicationCollection.GetIndication(testOrder.Indication);
            testOrder.IndicationComment = indication.Description;

            testOrder.ResultCode = this.m_ResultCode;
            testOrder.Result = this.m_Result;
            testOrder.MutationDetected = this.m_ResultDescription;
            testOrder.Method = this.m_Method;
            testOrder.Interpretation = this.m_Interpretation;
            testOrder.Comment = this.m_Comment;
            testOrder.References = this.m_References;
        }