Пример #1
0
 public override void OrderInitialTests(AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
 {
     YellowstonePathology.Business.Test.LynchSyndrome.LynchSyndromeIHCPanelTest lynchSyndromeIHCPanelTest = new YellowstonePathology.Business.Test.LynchSyndrome.LynchSyndromeIHCPanelTest();
     YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(lynchSyndromeIHCPanelTest, orderTarget, false);
     YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
     accessionOrder.TakeATrip(orderTestOrderVisitor);
 }
Пример #2
0
 public override void OrderInitialTests(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
 {
     YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTest whpTest = new WomensHealthProfile.WomensHealthProfileTest();
     YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(whpTest, orderTarget, false);
     YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
     accessionOrder.TakeATrip(orderTestOrderVisitor);
 }
Пример #3
0
        public override void OrderInitialTests(AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
        {
            YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest her2AmplificationByISHTest = new YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest();
            YellowstonePathology.Business.Test.TestOrderInfo testOrderInfo = new TestOrderInfo(her2AmplificationByISHTest, orderTarget, true);
            YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
            accessionOrder.TakeATrip(orderTestOrderVisitor);

            bool hasSurgical = accessionOrder.PanelSetOrderCollection.Exists(13);
            if (hasSurgical == true)
            {
                string surgicalReportNo = accessionOrder.PanelSetOrderCollection.GetSurgical().ReportNo;
                YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder)orderTarget;

                YellowstonePathology.Business.Test.Model.EstrogenReceptorSemiquant er = new YellowstonePathology.Business.Test.Model.EstrogenReceptorSemiquant();
                YellowstonePathology.Business.Visitor.OrderTestVisitor orderERTestVisitor = new Visitor.OrderTestVisitor(surgicalReportNo, er, er.OrderComment, null, false, aliquotOrder, false, false, accessionOrder.TaskOrderCollection);
                accessionOrder.TakeATrip(orderERTestVisitor);

                YellowstonePathology.Business.Test.Model.ProgesteroneReceptorSemiquant pr = new YellowstonePathology.Business.Test.Model.ProgesteroneReceptorSemiquant();
                YellowstonePathology.Business.Visitor.OrderTestVisitor orderPRTestVisitor = new Visitor.OrderTestVisitor(surgicalReportNo, pr, pr.OrderComment, null, false, aliquotOrder, false, false, accessionOrder.TaskOrderCollection);
                accessionOrder.TakeATrip(orderPRTestVisitor);
            }
            else
            {
                YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest erPrSemiQuantitativeTest = new YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest();
                YellowstonePathology.Business.Test.TestOrderInfo testOrderInfoERPR = new TestOrderInfo(erPrSemiQuantitativeTest, orderTarget, true);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorERPR = new Visitor.OrderTestOrderVisitor(testOrderInfoERPR);
                accessionOrder.TakeATrip(orderTestOrderVisitorERPR);
            }
        }
 public override void OrderInitialTests(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
 {
     YellowstonePathology.Business.Test.FLT3Preliminary.FLT3PreliminaryTest flt3PreliminaryTest = new FLT3Preliminary.FLT3PreliminaryTest();
     YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(flt3PreliminaryTest, orderTarget, false);
     YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
     accessionOrder.TakeATrip(orderTestOrderVisitor);
 }
Пример #5
0
 public override void OrderInitialTests(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
 {
     YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest egfrMutationAnalysisTest = new YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest();
     YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(egfrMutationAnalysisTest, orderTarget, false);
     YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
     accessionOrder.TakeATrip(orderTestOrderVisitor);
 }
Пример #6
0
        public override void OrderInitialTests(AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
        {
            YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest her2AmplificationByISHTest = new YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest();
            YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(her2AmplificationByISHTest, orderTarget, true);
            YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
            accessionOrder.TakeATrip(orderTestOrderVisitor);

            bool hasSurgical = accessionOrder.PanelSetOrderCollection.Exists(13);

            if (hasSurgical == true)
            {
                string surgicalReportNo = accessionOrder.PanelSetOrderCollection.GetSurgical().ReportNo;
                YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder)orderTarget;

                YellowstonePathology.Business.Test.Model.EstrogenReceptorSemiquant er = new YellowstonePathology.Business.Test.Model.EstrogenReceptorSemiquant();
                YellowstonePathology.Business.Visitor.OrderTestVisitor             orderERTestVisitor = new Visitor.OrderTestVisitor(surgicalReportNo, er, er.OrderComment, null, false, aliquotOrder, false, false, accessionOrder.TaskOrderCollection);
                accessionOrder.TakeATrip(orderERTestVisitor);

                YellowstonePathology.Business.Test.Model.ProgesteroneReceptorSemiquant pr = new YellowstonePathology.Business.Test.Model.ProgesteroneReceptorSemiquant();
                YellowstonePathology.Business.Visitor.OrderTestVisitor orderPRTestVisitor = new Visitor.OrderTestVisitor(surgicalReportNo, pr, pr.OrderComment, null, false, aliquotOrder, false, false, accessionOrder.TaskOrderCollection);
                accessionOrder.TakeATrip(orderPRTestVisitor);
            }
            else
            {
                YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest erPrSemiQuantitativeTest = new YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest();
                YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfoERPR         = new TestOrderInfo(erPrSemiQuantitativeTest, orderTarget, true);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorERPR = new Visitor.OrderTestOrderVisitor(testOrderInfoERPR);
                accessionOrder.TakeATrip(orderTestOrderVisitorERPR);
            }
        }
Пример #7
0
 public override void OrderInitialTests(AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
 {
     YellowstonePathology.Business.Test.JAK2V617F.JAK2V617FTest panelSetJAK2V617F = new YellowstonePathology.Business.Test.JAK2V617F.JAK2V617FTest();
     if (accessionOrder.PanelSetOrderCollection.Exists(panelSetJAK2V617F.PanelSetId) == false)
     {
         YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(panelSetJAK2V617F, orderTarget, false);
         YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
         accessionOrder.TakeATrip(orderTestOrderVisitor);
     }
 }
Пример #8
0
 public override void OrderInitialTests(AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
 {
     YellowstonePathology.Business.Test.LynchSyndrome.LynchSyndromeIHCPanelTest lynchSyndromeIHCPanelTest = new YellowstonePathology.Business.Test.LynchSyndrome.LynchSyndromeIHCPanelTest();
     if (accessionOrder.PanelSetOrderCollection.Exists(lynchSyndromeIHCPanelTest.PanelSetId, this.m_OrderedOnId, true) == false)
     {
         YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(lynchSyndromeIHCPanelTest, orderTarget, false);
         YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
         accessionOrder.TakeATrip(orderTestOrderVisitor);
     }
 }
Пример #9
0
        public string FromClientOrder(YellowstonePathology.Business.ClientOrder.Model.ClientOrder clientOrder,
                                      YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                      YellowstonePathology.Business.User.SystemIdentity systemIdentity)
        {
            string result   = null;
            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();

            switch (clientOrder.UniversalServiceId)
            {
            case "TRCHMNAA":
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder     trichSpecimen       = accessionOrder.SpecimenOrderCollection.GetThinPrep();
                YellowstonePathology.Business.Test.Trichomonas.TrichomonasTest panelSetTrichomonas = new YellowstonePathology.Business.Test.Trichomonas.TrichomonasTest();
                if (accessionOrder.PanelSetOrderCollection.Exists(panelSetTrichomonas.PanelSetId) == false)
                {
                    YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(panelSetTrichomonas, trichSpecimen, true);
                    YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
                    accessionOrder.TakeATrip(orderTestOrderVisitor);
                }
                break;

            case "THINPREP":
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder     papSpecimen         = accessionOrder.SpecimenOrderCollection.GetThinPrep();
                YellowstonePathology.Business.Test.ThinPrepPap.ThinPrepPapTest panelSetThinPrepPap = new YellowstonePathology.Business.Test.ThinPrepPap.ThinPrepPapTest();
                if (accessionOrder.PanelSetOrderCollection.Exists(panelSetThinPrepPap.PanelSetId) == false)
                {
                    YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(panelSetThinPrepPap, papSpecimen, true);
                    YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
                    accessionOrder.TakeATrip(orderTestOrderVisitor);
                }
                break;

            case "CTGC":
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder ngctSpecimen = accessionOrder.SpecimenOrderCollection.GetThinPrep();
                YellowstonePathology.Business.Test.NGCT.NGCTTest           panelSetNGCT = new YellowstonePathology.Business.Test.NGCT.NGCTTest();
                if (accessionOrder.PanelSetOrderCollection.Exists(panelSetNGCT.PanelSetId) == false)
                {
                    YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(panelSetNGCT, ngctSpecimen, true);
                    YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
                    accessionOrder.TakeATrip(orderTestOrderVisitor);
                }
                break;

            case "CFYPI":
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder           cfSpecimen = accessionOrder.SpecimenOrderCollection[0];
                YellowstonePathology.Business.Test.CysticFibrosis.CysticFibrosisTest panelSetCF = new YellowstonePathology.Business.Test.CysticFibrosis.CysticFibrosisTest();
                if (accessionOrder.PanelSetOrderCollection.Exists(panelSetCF.PanelSetId) == false)
                {
                    YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(panelSetCF, cfSpecimen, true);
                    YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
                    accessionOrder.TakeATrip(orderTestOrderVisitor);
                }
                break;
            }
            return(result);
        }
Пример #10
0
        public override void OrderInitialTests(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
        {
            YellowstonePathology.Business.Test.PDL122C3.PDL122C3Test pdl122C3Test = new PDL122C3.PDL122C3Test();
            if (accessionOrder.PanelSetOrderCollection.Exists(pdl122C3Test.PanelSetId, orderTarget.GetId(), true) == false)
            {
                YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfoPDL122C3         = new TestOrderInfo(pdl122C3Test, orderTarget, false);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorPDL122C3 = new Visitor.OrderTestOrderVisitor(testOrderInfoPDL122C3);
                accessionOrder.TakeATrip(orderTestOrderVisitorPDL122C3);
            }

            YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest egfrMutationAnalysisTest = new YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest();
            if (accessionOrder.PanelSetOrderCollection.Exists(egfrMutationAnalysisTest.PanelSetId, orderTarget.GetId(), true) == false)
            {
                YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfoEGFR         = new TestOrderInfo(egfrMutationAnalysisTest, orderTarget, false);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorEGFR = new Visitor.OrderTestOrderVisitor(testOrderInfoEGFR);
                accessionOrder.TakeATrip(orderTestOrderVisitorEGFR);
            }

            YellowstonePathology.Business.Test.ROS1ByFISH.ROS1ByFISHTest ros1ByfishTest = new ROS1ByFISH.ROS1ByFISHTest();
            if (accessionOrder.PanelSetOrderCollection.Exists(ros1ByfishTest.PanelSetId, orderTarget.GetId(), true) == false)
            {
                YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfoRos1         = new TestOrderInfo(ros1ByfishTest, orderTarget, false);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorRos1 = new Visitor.OrderTestOrderVisitor(testOrderInfoRos1);
                accessionOrder.TakeATrip(orderTestOrderVisitorRos1);
            }

            YellowstonePathology.Business.Test.ALKForNSCLCByFISH.ALKForNSCLCByFISHTest alkTest = new ALKForNSCLCByFISH.ALKForNSCLCByFISHTest();
            if (accessionOrder.PanelSetOrderCollection.Exists(alkTest.PanelSetId, orderTarget.GetId(), true) == false)
            {
                YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfoALK         = new TestOrderInfo(alkTest, orderTarget, false);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorALK = new Visitor.OrderTestOrderVisitor(testOrderInfoALK);
                accessionOrder.TakeATrip(orderTestOrderVisitorALK);
            }

            YellowstonePathology.Business.Test.BRAFMutationAnalysis.BRAFMutationAnalysisTest brafTest = new BRAFMutationAnalysis.BRAFMutationAnalysisTest();
            if (accessionOrder.PanelSetOrderCollection.Exists(brafTest.PanelSetId, orderTarget.GetId(), true) == false)
            {
                YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfoBRAF         = new TestOrderInfo(brafTest, orderTarget, false);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorBRAF = new Visitor.OrderTestOrderVisitor(testOrderInfoBRAF);
                accessionOrder.TakeATrip(orderTestOrderVisitorBRAF);
            }
        }
Пример #11
0
        public override void OrderInitialTests(AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
        {
            bool hasSurgical = accessionOrder.PanelSetOrderCollection.Exists(13);

            if (hasSurgical == true)
            {
                string surgicalReportNo = accessionOrder.PanelSetOrderCollection.GetSurgical().ReportNo;
                YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(surgicalReportNo);

                if (panelSetOrder.AssignedToId != 5132 && panelSetOrder.AssignedToId != 5133)
                {
                    YellowstonePathology.Business.Test.AliquotOrder        aliquotOrder       = (YellowstonePathology.Business.Test.AliquotOrder)orderTarget;
                    YellowstonePathology.Business.Test.Model.Test          er                 = YellowstonePathology.Business.Test.Model.TestCollectionInstance.GetClone("99"); // EstrogenReceptorSemiquant();
                    YellowstonePathology.Business.Visitor.OrderTestVisitor orderERTestVisitor = new Visitor.OrderTestVisitor(surgicalReportNo, er, er.OrderComment, null, false, aliquotOrder, false, false, accessionOrder.TaskOrderCollection);
                    accessionOrder.TakeATrip(orderERTestVisitor);

                    YellowstonePathology.Business.Test.Model.Test          pr = YellowstonePathology.Business.Test.Model.TestCollectionInstance.GetClone("145"); // ProgesteroneReceptorSemiquant();
                    YellowstonePathology.Business.Visitor.OrderTestVisitor orderPRTestVisitor = new Visitor.OrderTestVisitor(surgicalReportNo, pr, pr.OrderComment, null, false, aliquotOrder, false, false, accessionOrder.TaskOrderCollection);
                    accessionOrder.TakeATrip(orderPRTestVisitor);
                }
                else
                {
                    //If Dr Shannon/Smirnow order separte ERPR
                    YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest erPrSemiQuantitativeTest = new YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest();
                    YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfoERPR         = new TestOrderInfo(erPrSemiQuantitativeTest, orderTarget, true);
                    YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorERPR = new Visitor.OrderTestOrderVisitor(testOrderInfoERPR);
                    accessionOrder.TakeATrip(orderTestOrderVisitorERPR);
                }
            }
            else
            {
                YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest erPrSemiQuantitativeTest = new YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest();
                YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfoERPR         = new TestOrderInfo(erPrSemiQuantitativeTest, orderTarget, true);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorERPR = new Visitor.OrderTestOrderVisitor(testOrderInfoERPR);
                accessionOrder.TakeATrip(orderTestOrderVisitorERPR);
            }

            YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest her2AmplificationByISHTest = new YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest();
            YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(her2AmplificationByISHTest, orderTarget, true);
            YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
            accessionOrder.TakeATrip(orderTestOrderVisitor);
        }
 public override void OrderInitialTests(AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
 {
     YellowstonePathology.Business.Test.JAK2V617F.JAK2V617FTest panelSetJAK2V617F = new YellowstonePathology.Business.Test.JAK2V617F.JAK2V617FTest();
     if (accessionOrder.PanelSetOrderCollection.Exists(panelSetJAK2V617F.PanelSetId) == false)
     {
         YellowstonePathology.Business.Test.TestOrderInfo testOrderInfo = new TestOrderInfo(panelSetJAK2V617F, orderTarget, false);
         YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
         accessionOrder.TakeATrip(orderTestOrderVisitor);
     }
 }
 public override void OrderInitialTests(AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
 {
     YellowstonePathology.Business.Test.LynchSyndrome.LynchSyndromeIHCPanelTest lynchSyndromeIHCPanelTest = new YellowstonePathology.Business.Test.LynchSyndrome.LynchSyndromeIHCPanelTest();
     YellowstonePathology.Business.Test.TestOrderInfo testOrderInfo = new TestOrderInfo(lynchSyndromeIHCPanelTest, orderTarget, false);
     YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
     accessionOrder.TakeATrip(orderTestOrderVisitor);
 }
Пример #14
0
        public void HandleReflexTestingFromClientOrder(YellowstonePathology.Business.ClientOrder.Model.ClientOrder clientOrder,
                                                       YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                                       YellowstonePathology.Business.User.SystemIdentity systemIdentity)
        {
            if (string.IsNullOrEmpty(accessionOrder.SpecialInstructions) == false)
            {
                string reflexInstruction1 = "Test->Pap Test with High Risk HPV with reflex to HPV 16/18 Genotyping (only if PAP neg/HPV Pos)";
                if (accessionOrder.SpecialInstructions.Contains(reflexInstruction1) == true)
                {
                    if (this.HasWomensHealthProfileOrder() == false)
                    {
                        YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTest womensHealthProfileTest = new YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTest();
                        string reportNo = accessionOrder.GetNextReportNo(womensHealthProfileTest);
                        string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
                        YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTestOrder womensHealthProfileTestOrder = new YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTestOrder(accessionOrder.MasterAccessionNo, reportNo, objectId, womensHealthProfileTest, accessionOrder.SpecimenOrderCollection[0], false);
                        womensHealthProfileTestOrder.AssignedToId = 5051;

                        YellowstonePathology.Business.Client.Model.HPV1618ReflexOrderPAPNormalHPVPositive hpv1618ReflexOrderPAPNormalHPVPositive = new YellowstonePathology.Business.Client.Model.HPV1618ReflexOrderPAPNormalHPVPositive();
                        womensHealthProfileTestOrder.HPV1618ReflexOrderCode = hpv1618ReflexOrderPAPNormalHPVPositive.ReflexOrderCode;
                        womensHealthProfileTestOrder.OrderHPV = true;
                        accessionOrder.PanelSetOrderCollection.Add(womensHealthProfileTestOrder);

                        YellowstonePathology.Business.Specimen.Model.SpecimenOrder  hpvSpecimen           = accessionOrder.SpecimenOrderCollection.GetThinPrep();
                        YellowstonePathology.Business.Test.HPV.HPVTest              panelSetHPV           = new YellowstonePathology.Business.Test.HPV.HPVTest();
                        YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(panelSetHPV, hpvSpecimen, true);
                        YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
                        accessionOrder.TakeATrip(orderTestOrderVisitor);
                    }
                }

                string reflexInstruction2 = "Test->Pap Test with High Risk HPV DNA reflex testing if diagnosis is ASCUS";
                if (accessionOrder.SpecialInstructions.Contains(reflexInstruction2) == true)
                {
                    if (this.HasWomensHealthProfileOrder() == false)
                    {
                        YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTest womensHealthProfileTest = new YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTest();
                        string reportNo = accessionOrder.GetNextReportNo(womensHealthProfileTest);
                        string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
                        YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTestOrder womensHealthProfileTestOrder = new YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTestOrder(accessionOrder.MasterAccessionNo, reportNo, objectId, womensHealthProfileTest, accessionOrder.SpecimenOrderCollection[0], false);
                        womensHealthProfileTestOrder.AssignedToId = 5051;

                        YellowstonePathology.Business.Client.Model.HPVReflexOrderRule2 hpvReflexOrderRule2 = new YellowstonePathology.Business.Client.Model.HPVReflexOrderRule2();
                        womensHealthProfileTestOrder.HPVReflexOrderCode = hpvReflexOrderRule2.ReflexOrderCode;
                        accessionOrder.PanelSetOrderCollection.Add(womensHealthProfileTestOrder);
                    }
                }

                string reflexInstruction3 = "Test->Pap Test with High Risk HPV DNA testing regardless of diagnosis";
                if (accessionOrder.SpecialInstructions.Contains(reflexInstruction3) == true)
                {
                    if (this.HasWomensHealthProfileOrder() == false)
                    {
                        YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTest womensHealthProfileTest = new YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTest();
                        string whpReportNo = accessionOrder.GetNextReportNo(womensHealthProfileTest);
                        string objectId    = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
                        YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTestOrder womensHealthProfileTestOrder = new YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTestOrder(accessionOrder.MasterAccessionNo, whpReportNo, objectId, womensHealthProfileTest, accessionOrder.SpecimenOrderCollection[0], false);
                        womensHealthProfileTestOrder.AssignedToId = 5051;
                        womensHealthProfileTestOrder.OrderHPV     = true;
                        accessionOrder.PanelSetOrderCollection.Add(womensHealthProfileTestOrder);

                        YellowstonePathology.Business.Specimen.Model.SpecimenOrder  hpvSpecimen           = accessionOrder.SpecimenOrderCollection.GetThinPrep();
                        YellowstonePathology.Business.Test.HPV.HPVTest              panelSetHPV           = new YellowstonePathology.Business.Test.HPV.HPVTest();
                        YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(panelSetHPV, hpvSpecimen, true);
                        YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
                        accessionOrder.TakeATrip(orderTestOrderVisitor);
                    }
                }
            }
        }
 public override void OrderInitialTests(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
 {
     YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest egfrMutationAnalysisTest = new YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest();
     YellowstonePathology.Business.Test.TestOrderInfo testOrderInfo = new TestOrderInfo(egfrMutationAnalysisTest, orderTarget, false);
     YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
     accessionOrder.TakeATrip(orderTestOrderVisitor);
 }
        public override void OrderInitialTests(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
        {
            int[] clientIds = new int[] { 658, 1116, 879, 1123, 1505, 1469, 1558, 313, 1311, 294, 1487 };

            if (clientIds.Contains(accessionOrder.ClientId) == true)
            {
                YellowstonePathology.Business.Test.PDL122C3.PDL122C3Test pdl122C3Test = new PDL122C3.PDL122C3Test();
                YellowstonePathology.Business.Test.TestOrderInfo testOrderInfoPDL122C3 = new TestOrderInfo(pdl122C3Test, orderTarget, false);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorPDL122C3 = new Visitor.OrderTestOrderVisitor(testOrderInfoPDL122C3);
                accessionOrder.TakeATrip(orderTestOrderVisitorPDL122C3);
            }
            else
            {
                YellowstonePathology.Business.Test.PDL1SP142.PDL1SP142Test pdl1SP142Test = new PDL1SP142.PDL1SP142Test();
                YellowstonePathology.Business.Test.TestOrderInfo testOrderInfoPDL1SP142 = new TestOrderInfo(pdl1SP142Test, orderTarget, false);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorPDL1SP142 = new Visitor.OrderTestOrderVisitor(testOrderInfoPDL1SP142);
                accessionOrder.TakeATrip(orderTestOrderVisitorPDL1SP142);
            }

            YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest egfrMutationAnalysisTest = new YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTest();
            YellowstonePathology.Business.Test.TestOrderInfo testOrderInfoEGFR = new TestOrderInfo(egfrMutationAnalysisTest, orderTarget, false);
            YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorEGFR = new Visitor.OrderTestOrderVisitor(testOrderInfoEGFR);
            accessionOrder.TakeATrip(orderTestOrderVisitorEGFR);

            YellowstonePathology.Business.Test.ROS1ByFISH.ROS1ByFISHTest ros1ByfishTest = new ROS1ByFISH.ROS1ByFISHTest();
            YellowstonePathology.Business.Test.TestOrderInfo testOrderInfoRos1 = new TestOrderInfo(ros1ByfishTest, orderTarget, false);
            YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorRos1 = new Visitor.OrderTestOrderVisitor(testOrderInfoRos1);
            accessionOrder.TakeATrip(orderTestOrderVisitorRos1);

            YellowstonePathology.Business.Test.ALKForNSCLCByFISH.ALKForNSCLCByFISHTest alkTest = new ALKForNSCLCByFISH.ALKForNSCLCByFISHTest();
            YellowstonePathology.Business.Test.TestOrderInfo testOrderInfoALK = new TestOrderInfo(alkTest, orderTarget, false);
            YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorALK = new Visitor.OrderTestOrderVisitor(testOrderInfoALK);
            accessionOrder.TakeATrip(orderTestOrderVisitorALK);
        }