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 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); }
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); } } } }