public OrderTestOrderVisitor(YellowstonePathology.Business.Test.TestOrderInfo testOrderInfo)
     : base(true, true)
 {
     this.m_OrderTargetIsKnow = testOrderInfo.OrderTargetIsKnown;
     this.m_PanelSet = testOrderInfo.PanelSet;
     this.m_OrderTarget = testOrderInfo.OrderTarget;
     this.m_TestOrderInfo = testOrderInfo;
 }
 public OrderTestOrderVisitor(YellowstonePathology.Business.Test.TestOrderInfo testOrderInfo)
     : base(true, true)
 {
     this.m_OrderTargetIsKnow = testOrderInfo.OrderTargetIsKnown;
     this.m_PanelSet          = testOrderInfo.PanelSet;
     this.m_OrderTarget       = testOrderInfo.OrderTarget;
     this.m_TestOrderInfo     = testOrderInfo;
 }
Beispiel #3
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);
        }
Beispiel #4
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);
                    }
                }
            }
        }