示例#1
0
        public static PanelSetOrder CreatePanelSetOrder(YellowstonePathology.Business.PanelSet.Model.PanelSet panelSet)
        {
            Type          panelSetType  = Type.GetType(panelSet.PanelSetOrderClassName);
            PanelSetOrder panelSetOrder = (PanelSetOrder)Activator.CreateInstance(panelSetType);

            return(panelSetOrder);
        }
        public override void ToXml(XElement document)
        {
            PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo);

            this.AddHeader(document, panelSetOrder, "Bone Marrow Summary");
            this.AddNextObxElement("", document, "F");

            this.AddNextObxElement("SURGICAL PATHOLOGY DIAGNOSIS: ", document, "F");

            YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder surgicalTestOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetSurgical();
            this.AddNextObxElement("Reference Report No: " + surgicalTestOrder.ReportNo, document, "F");

            foreach (YellowstonePathology.Business.Test.Surgical.SurgicalSpecimen surgicalSpecimen in surgicalTestOrder.SurgicalSpecimenCollection)
            {
                this.HandleLongString("Specimen: " + surgicalSpecimen.DiagnosisIdFormatted + "  " + surgicalSpecimen.SpecimenOrder.Description, document, "F");
                this.HandleLongString("Diagnosis: " + surgicalSpecimen.Diagnosis, document, "F");
            }

            this.AddNextObxElement("", document, "F");
            this.AddAmendments(document);

            this.AddNextObxElement("", document, "F");
            this.AddNextObxElement("TESTING SUMMARY:", document, "F");

            List <Business.Test.PanelSetOrder> testingSummaryList = this.m_AccessionOrder.PanelSetOrderCollection.GetBoneMarrowAccessionSummaryList(panelSetOrder.ReportNo, true);
            int surgicalPanelSetId = new Test.Surgical.SurgicalTest().PanelSetId;

            for (int idx = testingSummaryList.Count - 1; idx > -1; idx--)
            {
                Business.Test.PanelSetOrder pso = testingSummaryList[idx];
                if (pso.PanelSetId != surgicalPanelSetId)
                {
                    this.AddNextObxElement("Reference Report No: " + pso.ReportNo, document, "F");
                    this.AddNextObxElement("Test Name: " + pso.PanelSetName, document, "F");
                    string result = pso.ToResultString(this.m_AccessionOrder);
                    if (result == "The result string for this test has not been implemented.")
                    {
                        if (string.IsNullOrEmpty(pso.SummaryComment) == false)
                        {
                            result = pso.SummaryComment;
                        }
                        else
                        {
                            result = "Result reported separately.";
                        }
                    }
                    this.HandleLongString(result, document, "F");
                    this.AddNextObxElement("", 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");
            }
        }
示例#3
0
 public override void SetPreviousResults(PanelSetOrder pso)
 {
     Business.Test.BCRABLByFish.BCRABLByFishTestOrder panelSetOrder = (Business.Test.BCRABLByFish.BCRABLByFishTestOrder)pso;
     panelSetOrder.Result         = this.m_Result;
     panelSetOrder.Interpretation = this.m_Interpretation;
     panelSetOrder.ProbeSetDetail = this.ProbeSetDetail;
     panelSetOrder.NucleiScored   = this.NucleiScored;
     base.SetPreviousResults(pso);
 }
示例#4
0
 public static void UnacceptResults(PanelSetOrder testOrder)
 {
     testOrder.Unaccept();
     if (testOrder.PanelOrderCollection.GetAcceptedPanelCount() > 0)
     {
         YellowstonePathology.Business.Test.PanelOrder panelOrder = testOrder.PanelOrderCollection.GetLastAcceptedPanelOrder();
         panelOrder.UnacceptResults();
     }
 }
示例#5
0
        public static PanelSetOrder CreatePanelSetOrder(string masterAccessionNo, string reportNo, string objectId,
                                                        YellowstonePathology.Business.PanelSet.Model.PanelSet panelSet,
                                                        bool distribute)
        {
            Type          panelSetType  = Type.GetType(panelSet.PanelSetOrderClassName);
            PanelSetOrder panelSetOrder = (PanelSetOrder)Activator.CreateInstance(panelSetType, masterAccessionNo, reportNo, objectId, panelSet, distribute);

            return(panelSetOrder);
        }
示例#6
0
 public override void SetPreviousResults(PanelSetOrder pso)
 {
     Business.Test.MPL.PanelSetOrderMPL panelSetOrder = (Business.Test.MPL.PanelSetOrderMPL)pso;
     panelSetOrder.Result         = this.m_Result;
     panelSetOrder.Interpretation = this.m_Interpretation;
     panelSetOrder.Method         = this.Method;
     panelSetOrder.ASR            = this.ASR;
     base.SetPreviousResults(pso);
 }
示例#7
0
 public override void SetPreviousResults(PanelSetOrder pso)
 {
     Business.Test.JAK2Exon1214.JAK2Exon1214TestOrder panelSetOrder = (Business.Test.JAK2Exon1214.JAK2Exon1214TestOrder)pso;
     panelSetOrder.Result         = this.m_Result;
     panelSetOrder.Interpretation = this.m_Interpretation;
     panelSetOrder.Method         = this.m_Method;
     panelSetOrder.ASRComment     = this.m_ASRComment;
     base.SetPreviousResults(pso);
 }
示例#8
0
 public override void SetPreviousResults(PanelSetOrder pso)
 {
     Business.Test.CKIT.CKITTestOrder panelSetOrder = (CKITTestOrder)pso;
     panelSetOrder.Result          = this.m_Result;
     panelSetOrder.Comment         = this.m_Comment;
     panelSetOrder.Interpretation  = this.m_Interpretation;
     panelSetOrder.Method          = this.m_Method;
     panelSetOrder.TestDevelopment = this.m_TestDevelopment;
     base.SetPreviousResults(pso);
 }
示例#9
0
        public override void SetPreviousResults(PanelSetOrder pso)
        {
            PDL122C3TestOrder panelSetOrder = (PDL122C3TestOrder)pso;

            panelSetOrder.Result         = this.m_Result;
            panelSetOrder.Method         = this.Method;
            panelSetOrder.Comment        = this.Comment;
            panelSetOrder.Interpretation = this.m_Interpretation;
            base.SetPreviousResults(pso);
        }
示例#10
0
 public override void SetPreviousResults(PanelSetOrder pso)
 {
     Business.Test.CalreticulinMutationAnalysis.CalreticulinMutationAnalysisTestOrder panelSetOrder = (Business.Test.CalreticulinMutationAnalysis.CalreticulinMutationAnalysisTestOrder)pso;
     panelSetOrder.Result         = this.m_Result;
     panelSetOrder.Interpretation = this.m_Interpretation;
     panelSetOrder.Percentage     = this.Percentage;
     panelSetOrder.Mutations      = this.Mutations;
     panelSetOrder.Method         = this.Method;
     panelSetOrder.ASR            = this.ASR;
     base.SetPreviousResults(pso);
 }
示例#11
0
 public override void SetPreviousResults(PanelSetOrder pso)
 {
     Business.Test.BCRABLByPCR.BCRABLByPCRTestOrder panelSetOrder = (Business.Test.BCRABLByPCR.BCRABLByPCRTestOrder)pso;
     panelSetOrder.Result               = this.m_Result;
     panelSetOrder.Interpretation       = this.m_Interpretation;
     panelSetOrder.DetectedLogReduction = this.DetectedLogReduction;
     panelSetOrder.FusionTranscriptType = this.FusionTranscriptType;
     panelSetOrder.PercentBCRABL        = this.PercentBCRABL;
     panelSetOrder.Method               = this.Method;
     base.SetPreviousResults(pso);
 }
示例#12
0
 public override void SetPreviousResults(PanelSetOrder pso)
 {
     Business.Test.JAK2V617F.JAK2V617FTestOrder panelSetOrder = (Business.Test.JAK2V617F.JAK2V617FTestOrder)pso;
     panelSetOrder.Result         = this.m_Result;
     panelSetOrder.Interpretation = this.m_Interpretation;
     panelSetOrder.Method         = this.Method;
     panelSetOrder.Disclosure     = this.Disclosure;
     panelSetOrder.Comment        = this.Comment;
     panelSetOrder.Reference      = this.Reference;
     base.SetPreviousResults(pso);
 }
示例#13
0
 public override void SetPreviousResults(PanelSetOrder panelSetOrder)
 {
     Business.Test.MPNStandardReflex.PanelSetOrderMPNStandardReflex panelSetOrderMPNStandardReflex = (Business.Test.MPNStandardReflex.PanelSetOrderMPNStandardReflex)panelSetOrder;
     panelSetOrderMPNStandardReflex.JAK2V617FResult    = this.JAK2V617FResult;
     panelSetOrderMPNStandardReflex.JAK2Exon1214Result = this.m_JAK2Exon1214Result;
     panelSetOrderMPNStandardReflex.MPLResult          = this.m_MPLResult;
     panelSetOrderMPNStandardReflex.Comment            = this.m_Comment;
     panelSetOrderMPNStandardReflex.Interpretation     = this.m_Interpretation;
     panelSetOrderMPNStandardReflex.Method             = this.m_Method;
     base.SetPreviousResults(panelSetOrder);
 }
        public override void SetPreviousResults(PanelSetOrder pso)
        {
            ChromosomeAnalysisTestOrder panelSetOrder = (ChromosomeAnalysisTestOrder)pso;

            panelSetOrder.Result         = this.m_Result;
            panelSetOrder.Interpretation = this.m_Interpretation;
            panelSetOrder.Karyotype      = this.Karyotype;
            panelSetOrder.Comment        = this.m_Comment;
            panelSetOrder.CultureType    = this.m_CultureType;
            panelSetOrder.ASR            = this.m_ASR;
            base.SetPreviousResults(pso);
        }
 public override void SetPreviousResults(PanelSetOrder pso)
 {
     Business.Test.BRAFMutationAnalysis.BRAFMutationAnalysisTestOrder panelSetOrder = (Business.Test.BRAFMutationAnalysis.BRAFMutationAnalysisTestOrder)pso;
     panelSetOrder.Result            = this.m_Result;
     panelSetOrder.Interpretation    = this.m_Interpretation;
     panelSetOrder.Indication        = this.m_Indication;
     panelSetOrder.IndicationComment = this.m_IndicationComment;
     panelSetOrder.Comment           = this.m_Comment;
     panelSetOrder.Method            = this.m_Method;
     panelSetOrder.ReportDisclaimer  = this.m_ReportDisclaimer;
     base.SetPreviousResults(pso);
 }
示例#16
0
        public override void SetPreviousResults(PanelSetOrder pso)
        {
            ROS1ByFISHTestOrder panelSetOrder = (ROS1ByFISHTestOrder)pso;

            panelSetOrder.Result                = this.m_Result;
            panelSetOrder.Interpretation        = this.m_Interpretation;
            panelSetOrder.ReferenceRange        = this.m_ReferenceRange;
            panelSetOrder.ProbeSetDetail        = this.m_ProbeSetDetail;
            panelSetOrder.NucleiScored          = this.m_NucleiScored;
            panelSetOrder.Method                = this.m_Method;
            panelSetOrder.ReportDisclaimer      = this.m_ReportDisclaimer;
            panelSetOrder.TumorNucleiPercentage = this.m_TumorNucleiPercentage;
            base.SetPreviousResults(pso);
        }
示例#17
0
        public override void SetPreviousResults(PanelSetOrder pso)
        {
            EGFRMutationAnalysisTestOrder panelSetOrder = (EGFRMutationAnalysisTestOrder)pso;

            panelSetOrder.Result                   = this.m_Result;
            panelSetOrder.Mutation                 = this.m_Mutation;
            panelSetOrder.Method                   = this.m_Method;
            panelSetOrder.Indication               = this.m_Indication;
            panelSetOrder.Interpretation           = this.m_Interpretation;
            panelSetOrder.MicrodissectionPerformed = this.m_MicrodissectionPerformed;
            panelSetOrder.Comment                  = this.Comment;
            panelSetOrder.ReportDisclaimer         = this.m_ReportDisclaimer;
            base.SetPreviousResults(pso);
        }
示例#18
0
        public TestResult GetResult(PanelSetOrder panelSetOrder)
        {
            TestResult result = null;

            foreach (TestResult testResult in this)
            {
                if (testResult.ResultCode == panelSetOrder.ResultCode)
                {
                    result = testResult;
                    break;
                }
            }
            return(result);
        }
示例#19
0
        public override Audit.Model.AuditResult IsOkToSetPreviousResults(PanelSetOrder panelSetOrder, AccessionOrder accessionOrder)
        {
            Audit.Model.AuditResult result = base.IsOkToSetPreviousResults(panelSetOrder, accessionOrder);
            if (result.Status == Audit.Model.AuditStatusEnum.OK)
            {
                ROS1ByFISHTestOrder pso = (ROS1ByFISHTestOrder)panelSetOrder;
                this.DoesFinalSummaryResultMatch(accessionOrder, pso.Result, result);
                if (result.Status == Audit.Model.AuditStatusEnum.Warning)
                {
                    result.Message += AskSetPreviousResults;
                }
            }

            return(result);
        }
示例#20
0
        public override Audit.Model.AuditResult IsOkToSetPreviousResults(PanelSetOrder panelSetOrder, AccessionOrder accessionOrder)
        {
            Audit.Model.AuditResult result = base.IsOkToSetPreviousResults(panelSetOrder, accessionOrder);
            if (result.Status == Audit.Model.AuditStatusEnum.OK)
            {
                EGFRMutationAnalysisTestOrder egfrMutationAnalysisTestOrder = (EGFRMutationAnalysisTestOrder)panelSetOrder;
                this.DoesFinalSummaryResultMatch(accessionOrder, egfrMutationAnalysisTestOrder.Result, result);
                if (result.Status == Audit.Model.AuditStatusEnum.Warning)
                {
                    result.Message += AskSetPreviousResults;
                }
            }

            return(result);
        }
示例#21
0
        public override void SetPreviousResults(PanelSetOrder pso)
        {
            ALKForNSCLCByFISHTestOrder panelSetOrder = (ALKForNSCLCByFISHTestOrder)pso;

            panelSetOrder.Result                = this.m_Result;
            panelSetOrder.Interpretation        = this.m_Interpretation;
            panelSetOrder.ReferenceRange        = this.m_ReferenceRange;
            panelSetOrder.ProbeSetDetail        = this.m_ProbeSetDetail;
            panelSetOrder.NucleiScored          = this.m_NucleiScored;
            panelSetOrder.NucleiPercent         = this.m_NucleiPercent;
            panelSetOrder.Fusions               = this.m_Fusions;
            panelSetOrder.Method                = this.Method;
            panelSetOrder.ReportDisclaimer      = this.m_ReportDisclaimer;
            panelSetOrder.ThreeFPercentage      = this.m_ThreeFPercentage;
            panelSetOrder.ALKGeneAmplification  = this.m_ALKGeneAmplification;
            panelSetOrder.TumorNucleiPercentage = this.m_TumorNucleiPercentage;
            base.SetPreviousResults(pso);
        }
示例#22
0
        public override Audit.Model.AuditResult IsOkToSetPreviousResults(PanelSetOrder panelSetOrder, AccessionOrder accessionOrder)
        {
            Audit.Model.AuditResult result = base.IsOkToSetPreviousResults(panelSetOrder, accessionOrder);
            if (result.Status == Audit.Model.AuditStatusEnum.OK)
            {
                this.AreComponentTestOrdersAccepted(accessionOrder, result);
            }

            /*if (result.Status == Audit.Model.AuditStatusEnum.OK)
             * {
             *  this.DoComponentTestResultsMatchPreviousResults(accessionOrder, (EGFRToALKReflexAnalysisTestOrder)panelSetOrder, result);
             *  if (result.Status == Audit.Model.AuditStatusEnum.Warning)
             *  {
             *      result.Message += AskSetPreviousResults;
             *  }
             * }*/

            return(result);
        }
示例#23
0
 private void AddTestOrders(PanelSetOrder panelSetOrder)
 {
     foreach (PanelOrder panelOrder in panelSetOrder.PanelOrderCollection)
     {
         foreach (YellowstonePathology.Business.Test.Model.TestOrder testOrder in panelOrder.TestOrderCollection)
         {
             if (testOrder.TestName != "H and E")
             {
                 PathologistTestOrderListItem item = new PathologistTestOrderListItem();
                 string description = testOrder.AliquotOrder.Display;
                 if (string.IsNullOrEmpty(description))
                 {
                     description = string.Empty;
                 }
                 item.AliquotDescription = description;
                 item.TestName           = testOrder.TestName;
                 item.TestOrderDate      = panelOrder.OrderDate.Value.ToShortDateString();
                 this.Add(item);
             }
         }
     }
 }
        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;
            }
            else
            {
                Test.HER2AmplificationByISHSendOut.HER2AmplificationByISHSendOutTest test = new HER2AmplificationByISHSendOut.HER2AmplificationByISHSendOutTest();
                if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(test.PanelSetId, this.m_InvasiveBreastPanel.OrderedOnId, true) == true)
                {
                    PanelSetOrder sendoutHer2 = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(test.PanelSetId, this.m_InvasiveBreastPanel.OrderedOnId, true);
                    this.m_HER2ResultString = "Reported separately (" + sendoutHer2.ReportNo + ")";
                }
            }

            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.";
            }
        }