Пример #1
0
        public CuttingPage(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder,
            YellowstonePathology.Business.Test.Model.TestOrder testOrder,
            YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
            YellowstonePathology.Business.Label.Model.HistologySlidePaperLabelPrinter histologySlidePaperLabelPrinter,
            YellowstonePathology.UI.Navigation.PageNavigator pageNavigator)
        {
            this.m_AliquotOrder = aliquotOrder;
            this.m_AccessionOrder = accessionOrder;
            this.m_TestOrder = testOrder;
            this.m_PageNavigator = pageNavigator;
            this.m_HistologySlidePaperLabelPrinter = histologySlidePaperLabelPrinter;

            this.m_SpecimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByAliquotOrderId(this.m_AliquotOrder.AliquotOrderId);
            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrderByTestOrderId(this.m_TestOrder.TestOrderId);
            this.m_PanelOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelOrderByTestOrderId(this.m_TestOrder.TestOrderId);

            this.m_SystemIdentity = Business.User.SystemIdentity.Instance;

            this.m_ListBoxSlidesMouseDownTimer = new System.Windows.Threading.DispatcherTimer();
            this.m_ListBoxSlidesMouseDownTimer.Interval = new TimeSpan(0, 0, 0, 0, 750);
            this.m_ListBoxSlidesMouseDownTimer.Tick += new EventHandler(ListBoxSlidesMouseDownTimer_Tick);

            this.m_BarcodeScanPort = YellowstonePathology.Business.BarcodeScanning.BarcodeScanPort.Instance;

            InitializeComponent();
            DataContext = this;

            this.m_PageTimeoutTimer = new System.Windows.Threading.DispatcherTimer();
            this.m_PageTimeoutTimer.Interval = TimeSpan.FromMinutes(15);
            this.m_PageTimeoutTimer.Tick += new EventHandler(PageTimeoutTimer_Tick);
            this.m_PageTimeoutTimer.Start();

            this.Loaded += new RoutedEventHandler(CuttingPage_Loaded);
            this.Unloaded += new RoutedEventHandler(CuttingPage_Unloaded);
        }
Пример #2
0
 public override void Visit(YellowstonePathology.Business.Test.Model.TestOrder testOrder)
 {
     if (testOrder.SlideOrderCollection.Exists(this.m_SlideOrder.SlideOrderId) == true)
     {
         testOrder.SlideOrderCollection.Remove(this.m_SlideOrder.SlideOrderId);
     }
 }
Пример #3
0
 public AddSlideOrderVisitor(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, YellowstonePathology.Business.Test.Model.TestOrder testOrder)
     : base(true, false)
 {
     this.m_AliquotOrder = aliquotOrder;
     this.m_TestOrder = testOrder;
     this.m_SystemIdentity = YellowstonePathology.Business.User.SystemIdentity.Instance;
 }
Пример #4
0
 public override void Visit(YellowstonePathology.Business.Test.Model.TestOrderCollection testOrderCollection)
 {
     if (testOrderCollection.ExistsByTestId(this.m_Test.TestId) == true)
     {
         this.m_TestOrder = testOrderCollection.GetTestOrder(this.m_Test.TestId);
     }
 }
Пример #5
0
 public static YellowstonePathology.Business.Test.Model.TestOrder BuildTestOrder(XElement testOrderElement)
 {
     YellowstonePathology.Business.Test.Model.TestOrder testOrder = new YellowstonePathology.Business.Test.Model.TestOrder();
     YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
     xmlPropertyWriter.Write();
     return testOrder;
 }
Пример #6
0
        private void HandleTestOrder()
        {
            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();

            YellowstonePathology.Business.Test.Model.TestOrder testOrder = this.m_PanelOrder.TestOrderCollection.GetNextItem(this.m_PanelOrder.PanelOrderId, objectId, this.m_AliquotOrder.AliquotOrderId, this.m_Test, this.m_TestOrderComment);
            testOrder.OrderedAsDual   = this.m_Test.IsDualOrder;
            testOrder.AliquotOrder    = this.m_AliquotOrder;
            testOrder.PerformedByHand = this.m_Test.PerformedByHand;

            if (this.m_AliquotOrder.Label.Contains(".CE") == true)
            {
                this.m_Test.UseWetProtocol = true;
            }

            this.m_PanelOrder.TestOrderCollection.Add(testOrder);
            this.m_TestOrder = testOrder;
            this.m_TestOrder.UseWetProtocol = this.m_Test.UseWetProtocol;

            this.m_TestOrder.TestStatus           = "ORDERED";
            this.m_TestOrder.TestStatusUpdateTime = DateTime.Now;

            Stain.Model.Stain stain = Stain.Model.StainCollection.Instance.GetStainByTestId(this.m_TestOrder.TestId);
            if (stain != null)
            {
                this.m_TestOrder.TestStatus = "ORDERED";
            }

            this.m_AliquotOrder.SetLabelPrefix(testOrder, true);
            this.m_AliquotOrder.HandleAddFrozen(testOrder);
            this.m_AliquotOrder.TestOrderCollection.Add(this.m_TestOrder);
        }
Пример #7
0
 public override void Visit(YellowstonePathology.Business.Test.Model.TestOrderCollection testOrderCollection)
 {
     if (testOrderCollection.Exists(this.m_Test.TestId) == true)
     {
         this.m_TestOrder = testOrderCollection.GetTestOrder(this.m_Test.TestId);
     }
 }
Пример #8
0
 public AddSlideOrderVisitor(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, YellowstonePathology.Business.Test.Model.TestOrder testOrder)
     : base(true, false)
 {
     this.m_AliquotOrder   = aliquotOrder;
     this.m_TestOrder      = testOrder;
     this.m_SystemIdentity = YellowstonePathology.Business.User.SystemIdentity.Instance;
 }
Пример #9
0
 /// <summary>
 /// Called when adding or removing a testOrder to set the label prefix.
 /// </summary>
 /// <param name="testOrder"></param>
 /// <param name="adding"></param>
 public void SetLabelPrefix(YellowstonePathology.Business.Test.Model.TestOrder testOrder, bool adding)
 {
     if (testOrder.TestId == 45)
     {
         if (adding)
         {
             this.LabelPrefix = "FS";
         }
         else
         {
             this.LabelPrefix = string.Empty;
         }
     }
     else if (testOrder.TestId == 195)
     {
         if (adding)
         {
             this.LabelPrefix = "CB";
         }
         else
         {
             this.LabelPrefix = string.Empty;
         }
     }
 }
Пример #10
0
 public void HandleAddFrozen(YellowstonePathology.Business.Test.Model.TestOrder testOrder)
 {
     if (testOrder.TestId == "45")
     {
         this.AliquotType = "FrozenBlock";
     }
 }
Пример #11
0
        public CuttingPage(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder,
                           YellowstonePathology.Business.Test.Model.TestOrder testOrder,
                           YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                           YellowstonePathology.Business.Label.Model.HistologySlidePaperLabelPrinter histologySlidePaperLabelPrinter,
                           YellowstonePathology.UI.Navigation.PageNavigator pageNavigator)
        {
            this.m_AliquotOrder   = aliquotOrder;
            this.m_AccessionOrder = accessionOrder;
            this.m_TestOrder      = testOrder;
            this.m_PageNavigator  = pageNavigator;
            this.m_HistologySlidePaperLabelPrinter = histologySlidePaperLabelPrinter;

            this.m_SpecimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByAliquotOrderId(this.m_AliquotOrder.AliquotOrderId);
            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrderByTestOrderId(this.m_TestOrder.TestOrderId);
            this.m_PanelOrder    = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelOrderByTestOrderId(this.m_TestOrder.TestOrderId);

            this.m_SystemIdentity = Business.User.SystemIdentity.Instance;

            this.m_ListBoxSlidesMouseDownTimer          = new System.Windows.Threading.DispatcherTimer();
            this.m_ListBoxSlidesMouseDownTimer.Interval = new TimeSpan(0, 0, 0, 0, 750);
            this.m_ListBoxSlidesMouseDownTimer.Tick    += new EventHandler(ListBoxSlidesMouseDownTimer_Tick);

            this.m_BarcodeScanPort = YellowstonePathology.Business.BarcodeScanning.BarcodeScanPort.Instance;

            InitializeComponent();
            DataContext = this;

            this.Loaded   += new RoutedEventHandler(CuttingPage_Loaded);
            this.Unloaded += new RoutedEventHandler(CuttingPage_Unloaded);
        }
        public TestResultEditDialog(YellowstonePathology.Business.Test.Model.TestOrder testOrder)
        {
            this.m_TestOrder = testOrder;

            InitializeComponent();

            DataContext = this.m_TestOrder;
        }
Пример #13
0
 private void UpdateNoChargeStatus()
 {
     foreach (YellowstonePathology.Business.SpecialStain.StainResultItem stainResult in this.m_StainResultCollection)
     {
         YellowstonePathology.Business.Test.Model.TestOrder testOrder = this.m_TestOrderCollection.Get(stainResult.TestOrderId);
         testOrder.NoCharge = stainResult.NoCharge;
     }
 }
Пример #14
0
        public TestResultEditDialog(YellowstonePathology.Business.Test.Model.TestOrder testOrder)
        {
            this.m_TestOrder = testOrder;

            InitializeComponent();

            DataContext = this.m_TestOrder;
        }
Пример #15
0
        private XElement BuildTestOrderElement(YellowstonePathology.Business.Test.Model.TestOrder testOrder)
        {
            XElement result = new XElement("TestOrder",
                                           new XElement("TestOrderId", testOrder.TestOrderId),
                                           new XElement("TestName", testOrder.TestName),
                                           new XElement("TestId", testOrder.TestId.ToString()));

            return(result);
        }
 private void ListBoxTestOrders_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (this.ListViewTestOrderPanelSetOrderViewCollection.SelectedItem != null)
     {
         TestOrderPanelSetOrderView testOrderPanelSetOrderView           = (TestOrderPanelSetOrderView)this.ListViewTestOrderPanelSetOrderViewCollection.SelectedItem;
         YellowstonePathology.Business.Test.Model.TestOrder testOrder    = this.m_AccessionOrder.PanelSetOrderCollection.GetTestOrderByTestOrderId(testOrderPanelSetOrderView.TestOrderId);
         YellowstonePathology.Business.Test.AliquotOrder    aliquotOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrderByTestOrderId(testOrder.TestOrderId);
         this.TestOrderSelected(this, new CustomEventArgs.TestOrderAliquotOrderReturnEventArgs(testOrder, aliquotOrder));
     }
 }
 public TestOrderPanelSetOrderViewCollection(YellowstonePathology.Business.Test.Model.TestOrderCollection_Base testOrderCollection, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
 {
     foreach (YellowstonePathology.Business.Test.Model.TestOrder_Base testOrder in testOrderCollection)
     {
         YellowstonePathology.Business.Test.Model.TestOrder realTestOrder = accessionOrder.PanelSetOrderCollection.GetTestOrderByTestOrderId(testOrder.TestOrderId);
         YellowstonePathology.Business.Test.PanelSetOrder   panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrderByTestOrderId(testOrder.TestOrderId);
         TestOrderPanelSetOrderView testOrderPanelSetOrderView            = new TestOrderPanelSetOrderView(panelSetOrder, realTestOrder);
         this.Add(testOrderPanelSetOrderView);
     }
 }
Пример #18
0
 public void RemoveGradedStains(YellowstonePathology.Business.Test.Model.TestOrderCollection testOrderCollection)
 {
     foreach (StainResultItem stainResultItem in this)
     {
         if (stainResultItem.IsGraded == true)
         {
             YellowstonePathology.Business.Test.Model.TestOrder testOrder = testOrderCollection.Get(stainResultItem.TestOrderId);
             testOrderCollection.Remove(testOrder);
         }
     }
 }
        public RemoveTestOrderAuditVisitor(YellowstonePathology.Business.Test.Model.TestOrder testOrder, YellowstonePathology.Business.Test.PanelOrder panelOrder)
            : base(true, true)
        {
            this.m_TestOrder = testOrder;
            this.m_PanelOrder = panelOrder;

            this.m_TestOrderLeftSideIsRemoved = true;
            this.m_TestOrderRightSideIsRemoved = true;
            this.m_PanelOrderIsRemoved = true;
            this.m_StainResultIsRemoved = true;
            this.m_ICIsRemoved = true;
        }
Пример #20
0
        private void BuildSlideOrderTestOrder(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder, XElement slideOrderElement)
        {
            XElement testOrderElement = slideOrderElement.Element("TestOrder");

            if (testOrderElement != null)
            {
                YellowstonePathology.Business.Test.Model.TestOrder          testOrder         = new YellowstonePathology.Business.Test.Model.TestOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
                xmlPropertyWriter.Write();
                slideOrder.TestOrder = testOrder;
            }
        }
Пример #21
0
        public RemoveTestOrderAuditVisitor(YellowstonePathology.Business.Test.Model.TestOrder testOrder, YellowstonePathology.Business.Test.PanelOrder panelOrder)
            : base(true, true)
        {
            this.m_TestOrder  = testOrder;
            this.m_PanelOrder = panelOrder;

            this.m_TestOrderLeftSideIsRemoved  = true;
            this.m_TestOrderRightSideIsRemoved = true;
            this.m_PanelOrderIsRemoved         = true;
            this.m_StainResultIsRemoved        = true;
            this.m_ICIsRemoved = true;
        }
Пример #22
0
        private void MenuItemCancelTest_Click(object sender, RoutedEventArgs e)
        {
            MenuItem menuItem = (MenuItem)sender;

            if (menuItem.Tag.GetType().Name == "TestOrder")
            {
                YellowstonePathology.Business.Test.Model.TestOrder           testOrder = (YellowstonePathology.Business.Test.Model.TestOrder)menuItem.Tag;
                YellowstonePathology.Business.Visitor.RemoveTestOrderVisitor removeTestOrderVisitor = new Business.Visitor.RemoveTestOrderVisitor(testOrder.TestOrderId);
                this.m_AccessionOrder.TakeATrip(removeTestOrderVisitor);
                //YellowstonePathology.Business.Persistence.DocumentGateway.Instance.SubmitChanges(this.m_AccessionOrder, false);
            }
        }
Пример #23
0
        private void BuildTestOrderAliquotOrder(YellowstonePathology.Business.Test.Model.TestOrder testOrder, XElement testOrderElement)
        {
            XElement aliquotOrderElement = testOrderElement.Element("AliquotOrder");

            if (aliquotOrderElement != null)
            {
                YellowstonePathology.Business.Test.AliquotOrder_Base        aliquotOrder      = new Test.AliquotOrder_Base();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(aliquotOrderElement, aliquotOrder);
                xmlPropertyWriter.Write();
                testOrder.AliquotOrder = aliquotOrder;
            }
        }
Пример #24
0
        private void BuildTestOrderSlideOrderCollection(YellowstonePathology.Business.Test.Model.TestOrder testOrder, XElement testOrderElement)
        {
            List <XElement> slideOrderElements = (from item in testOrderElement.Elements("SlideOrderCollection")
                                                  select item).ToList <XElement>();

            foreach (XElement slideOrderElement in slideOrderElements.Elements("SlideOrder"))
            {
                YellowstonePathology.Business.Slide.Model.SlideOrder        slideOrder        = new YellowstonePathology.Business.Slide.Model.SlideOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new YellowstonePathology.Business.Persistence.XmlPropertyWriter(slideOrderElement, slideOrder);
                xmlPropertyWriter.Write();
                testOrder.SlideOrderCollection.Add(slideOrder);
            }
        }
Пример #25
0
 private void HandleAliquotOrderFound(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder)
 {
     if (aliquotOrder.TestOrderCollection.OnlyHasOneHAndE() == true)
     {
         YellowstonePathology.Business.Test.Model.TestOrder_Base testOrderBase = aliquotOrder.TestOrderCollection.GetTestOrderBase("49");
         YellowstonePathology.Business.Test.Model.TestOrder      testOrder     = this.m_AccessionOrder.PanelSetOrderCollection.GetTestOrderByTestOrderId(testOrderBase.TestOrderId);
         this.ShowCuttingPage(aliquotOrder, testOrder);
     }
     else
     {
         this.ShowTestOrderSelectionPage(aliquotOrder);
     }
 }
Пример #26
0
        private void BuildAliquotOrderTestOrder(Test.AliquotOrder aliquotOrder, XElement aliquotOrderElement)
        {
            List <XElement> aliquotOrderElements = (from item in aliquotOrderElement.Elements("TestOrderCollection")
                                                    select item).ToList <XElement>();

            foreach (XElement testOrderElement in aliquotOrderElements.Elements("TestOrder"))
            {
                YellowstonePathology.Business.Test.Model.TestOrder          testOrder         = new YellowstonePathology.Business.Test.Model.TestOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
                xmlPropertyWriter.Write();
                aliquotOrder.TestOrderCollection.Add(testOrder);
            }
        }
Пример #27
0
        private void HandleTestOrder()
        {
            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();

            YellowstonePathology.Business.Test.Model.TestOrder testOrder = this.m_PanelOrder.TestOrderCollection.GetNextItem(this.m_PanelOrder.PanelOrderId, objectId, this.m_AliquotOrder.AliquotOrderId, this.m_Test, this.m_TestOrderComment);
            testOrder.OrderedAsDual = this.m_OrderedAsDual;
            testOrder.AliquotOrder  = this.m_AliquotOrder;

            this.m_PanelOrder.TestOrderCollection.Add(testOrder);
            this.m_TestOrder = testOrder;

            this.m_AliquotOrder.TestOrderCollection.Add(this.m_TestOrder);
            this.m_AliquotOrder.SetLabelPrefix(testOrder, true);
        }
Пример #28
0
        public OrderTestAuditVisitor(YellowstonePathology.Business.Test.Model.TestOrder testOrder, YellowstonePathology.Business.Test.AliquotOrder aliquotOrder)
            : base(true, true)
        {
            this.m_TestOrder = testOrder;
            this.m_AliquotOrder = aliquotOrder;

            this.m_TestOrderHasBeenAddedToRightSide = false;
            this.m_TestOrderHasBeenAddedToLeftSide = false;
            this.m_TestOrderIsInUnacknowledgedPanelOrder = false;
            this.m_StainResultHasBeenAdded = false;
            this.m_ICHasBeenAdded = false;

            this.HandleItemsWhereVisitingIsNotNecessary();
        }
Пример #29
0
        public OrderTestAuditVisitor(YellowstonePathology.Business.Test.Model.TestOrder testOrder, YellowstonePathology.Business.Test.AliquotOrder aliquotOrder)
            : base(true, true)
        {
            this.m_TestOrder    = testOrder;
            this.m_AliquotOrder = aliquotOrder;

            this.m_TestOrderHasBeenAddedToRightSide      = false;
            this.m_TestOrderHasBeenAddedToLeftSide       = false;
            this.m_TestOrderIsInUnacknowledgedPanelOrder = false;
            this.m_StainResultHasBeenAdded = false;
            this.m_ICHasBeenAdded          = false;

            this.HandleItemsWhereVisitingIsNotNecessary();
        }
Пример #30
0
        public StainResultItemCollection GetGradedStains(YellowstonePathology.Business.Test.Model.TestOrderCollection testOrderCollection)
        {
            StainResultItemCollection result = new StainResultItemCollection();

            foreach (StainResultItem stainresult in this)
            {
                YellowstonePathology.Business.Test.Model.TestOrder  testOrder  = testOrderCollection.Get(stainresult.TestOrderId);
                YellowstonePathology.Business.Test.Model.GradedTest gradedTest = YellowstonePathology.Business.Test.Model.TestCollectionInstance.GetClone(testOrder.TestId) as YellowstonePathology.Business.Test.Model.GradedTest;
                if (gradedTest != null)
                {
                    result.Add(stainresult);
                }
            }
            return(result);
        }
Пример #31
0
 public override void SetStatus(PanelSetOrderCollection panelSetOrderCollection)
 {
     if (panelSetOrderCollection.HasTestBeenOrdered(this.m_Test.TestId) == false)
     {
         this.m_Ordered       = false;
         this.m_StatusMessage = "Not Ordered";
     }
     else
     {
         YellowstonePathology.Business.Test.Model.TestOrder testOrder  = panelSetOrderCollection.GetTestOrderByTestId(this.m_Test.TestId);
         YellowstonePathology.Business.Test.PanelOrder      panelOrder = panelSetOrderCollection.GetPanelOrderByTestOrderId(testOrder.TestOrderId);
         this.m_Ordered       = true;
         this.m_OrderDate     = panelOrder.OrderTime;
         this.m_StatusMessage = "Test has been ordered";
     }
 }
Пример #32
0
        private void BuildTestOrderRightSide(Test.PanelOrder panelOrder, XElement panelOrderElement)
        {
            List <XElement> testOrderElements = (from item in panelOrderElement.Elements("TestOrderCollection")
                                                 select item).ToList <XElement>();

            foreach (XElement testOrderElement in testOrderElements.Elements("TestOrder"))
            {
                YellowstonePathology.Business.Test.Model.TestOrder          testOrder         = new YellowstonePathology.Business.Test.Model.TestOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
                xmlPropertyWriter.Write();

                BuildTestOrderAliquotOrder(testOrder, testOrderElement);
                BuildTestOrderSlideOrderCollection(testOrder, testOrderElement);
                panelOrder.TestOrderCollection.Add(testOrder);
            }
        }
Пример #33
0
        public StainResultItemCollection GetMultiplexStains(YellowstonePathology.Business.Test.Model.TestOrderCollection testOrderCollection)
        {
            StainResultItemCollection result = new StainResultItemCollection();

            foreach (StainResultItem stainresult in this)
            {
                if (stainresult.StainType == "Immunohistochemical" && stainresult.ClientAccessioned == false)
                {
                    YellowstonePathology.Business.Test.Model.TestOrder testOrder = testOrderCollection.Get(stainresult.TestOrderId);
                    if (testOrder.OrderedAsDual == true)
                    {
                        result.Add(stainresult);
                    }
                }
            }
            return(result);
        }
Пример #34
0
        public override string ToResultString(AccessionOrder accessionOrder)
        {
            StringBuilder result = new StringBuilder();

            result.AppendLine("Her2 By Ish");
            YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest her2AmplificationByISHTest = new YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest();
            if (accessionOrder.PanelSetOrderCollection.Exists(her2AmplificationByISHTest.PanelSetId) == true)
            {
                YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTestOrder panelSetOrderHer2ByIsh = (YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTestOrder)accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(her2AmplificationByISHTest.PanelSetId);
                result.AppendLine(panelSetOrderHer2ByIsh.ToResultString(accessionOrder));
            }
            result.AppendLine();

            YellowstonePathology.Business.Test.Surgical.SurgicalTest panelSetSurgical = new YellowstonePathology.Business.Test.Surgical.SurgicalTest();
            if (accessionOrder.PanelSetOrderCollection.Exists(panelSetSurgical.PanelSetId) == true)
            {
                result.Append("Estrogen/Progesterone Receptor, Semi-Quantitative - Estrogen Receptor : ");
                YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder panelSetOrderSurgical = (YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder)accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetSurgical.PanelSetId);
                YellowstonePathology.Business.Test.Model.Test er = YellowstonePathology.Business.Test.Model.TestCollectionInstance.GetClone("99");  // EstrogenReceptorSemiquant();
                YellowstonePathology.Business.Test.Model.Test pr = YellowstonePathology.Business.Test.Model.TestCollectionInstance.GetClone("145"); // ProgesteroneReceptorSemiquant();
                YellowstonePathology.Business.Test.Model.TestOrderCollection testOrders = panelSetOrderSurgical.GetTestOrders();
                if (testOrders.ExistsByTestId(er.TestId) == true)
                {
                    YellowstonePathology.Business.Test.Model.TestOrder         testOrder       = testOrders.GetTestOrder(er.TestId);
                    YellowstonePathology.Business.SpecialStain.StainResultItem stainResultItem = panelSetOrderSurgical.GetStainResult(testOrder.TestOrderId);
                    result.AppendLine(stainResultItem.Result);
                }
                if (testOrders.ExistsByTestId(pr.TestId) == true)
                {
                    YellowstonePathology.Business.Test.Model.TestOrder         testOrder       = testOrders.GetTestOrder(pr.TestId);
                    YellowstonePathology.Business.SpecialStain.StainResultItem stainResultItem = panelSetOrderSurgical.GetStainResult(testOrder.TestOrderId);
                    result.AppendLine("Progesterone Receptor : " + stainResultItem.Result);
                }
            }
            else
            {
                YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest erPrSemiQuantitativeTest = new YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest();
                if (accessionOrder.PanelSetOrderCollection.Exists(erPrSemiQuantitativeTest.PanelSetId) == true)
                {
                    YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTestOrder panelSetOrderErPrSemiQuantitative = (YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTestOrder)accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(erPrSemiQuantitativeTest.PanelSetId);
                    result.AppendLine(panelSetOrderErPrSemiQuantitative.ToResultString(accessionOrder));
                }
            }
            result.AppendLine();
            return(result.ToString());
        }
        public void RemoveTestOrder(YellowstonePathology.Business.Test.Model.TestOrder testOrder)
        {
            if (this.m_AddedTestOrderCollection.ExistsByTestOrderId(testOrder.TestOrderId) == true)
            {
                this.m_AddedTestOrderCollection.Remove(testOrder.TestOrderId);
            }
            else
            {
                this.m_CancelledTestOrderCollection.Add(testOrder);
            }

            if (this.m_AddedTestOrderCollection.Count == 0 && this.m_TaskOrderDetailAddedTestOrders != null)
            {
                this.m_TaskOrderStainAcknowlegedment.TaskOrderDetailCollection.Remove(this.m_TaskOrderDetailAddedTestOrders);
                this.m_TaskOrderDetailAddedTestOrders = null;
            }
        }
Пример #36
0
 public YellowstonePathology.Business.Test.PanelSetOrder GetPanelSetOrder(YellowstonePathology.Business.Test.Model.TestOrder testOrder)
 {
     YellowstonePathology.Business.Test.PanelSetOrder result = null;
     foreach (YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder in this)
     {
         foreach (YellowstonePathology.Business.Test.PanelOrder panelOrder in panelSetOrder.PanelOrders)
         {
             foreach (YellowstonePathology.Business.Test.Model.TestOrder to in panelOrder.TestOrderCollection)
             {
                 if (to.TestOrderId == testOrder.TestOrderId)
                 {
                     result = panelSetOrder;
                     break;
                 }
             }
         }
     }
     return(result);
 }
Пример #37
0
        public void HandleOrder(Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
        {
            if (slideOrder.LabelType == YellowstonePathology.Business.Slide.Model.SlideLabelTypeEnum.PaperLabel.ToString())
            {
                Business.Stain.Model.Stain stain = Business.Stain.Model.StainCollection.Instance.GetStainByTestId(slideOrder.TestId);
                if (slideOrder.PerformedByHand == false || stain.PerformedByHand == false)
                {
                    if (slideOrder.OrderSentToVentana == false)
                    {
                        if (this.CanBuild(accessionOrder, slideOrder.TestOrderId, slideOrder.SlideOrderId) == true)
                        {
                            string result = this.Build(accessionOrder, slideOrder.TestOrderId, slideOrder.SlideOrderId);
                            slideOrder.OrderSentToVentana = true;

                            YellowstonePathology.Business.Test.Model.TestOrder testOrder = accessionOrder.PanelSetOrderCollection.GetTestOrderByTestOrderId(slideOrder.TestOrderId);
                            testOrder.TestStatus           = "CUTTING";
                            testOrder.TestStatusUpdateTime = DateTime.Now;

                            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
                            System.IO.File.WriteAllText(@"\\10.1.2.31\ChannelData\Outgoing\Ventana\" + objectId + ".hl7", result);
                        }
                    }
                }
                else
                {
                    YellowstonePathology.Business.Test.Model.TestOrder testOrder = accessionOrder.PanelSetOrderCollection.GetTestOrderByTestOrderId(slideOrder.TestOrderId);
                    testOrder.TestStatus           = "PERFORMEDBYHAND";
                    testOrder.TestStatusUpdateTime = DateTime.Now;
                }

                Business.Label.Model.ZPLPrinterUSB zplPrinterUSB = new Business.Label.Model.ZPLPrinterUSB();
                Business.Label.Model.HistologySlidePaperZPLLabelV1 zplCommand = new Label.Model.HistologySlidePaperZPLLabelV1(slideOrder.SlideOrderId, slideOrder.ReportNo, slideOrder.PatientFirstName, slideOrder.PatientLastName, slideOrder.TestAbbreviation, slideOrder.Label, slideOrder.AccessioningFacility, slideOrder.UseWetProtocol, slideOrder.PerformedByHand);
                zplPrinterUSB.Print(zplCommand);

                slideOrder.Printed       = true;
                slideOrder.PrintedBy     = Business.User.SystemIdentity.Instance.User.UserName;
                slideOrder.PrintedById   = Business.User.SystemIdentity.Instance.User.UserId;
                slideOrder.Status        = "Validated";
                slideOrder.Validated     = true;
                slideOrder.ValidatedBy   = Business.User.SystemIdentity.Instance.User.UserName;
                slideOrder.ValidatedById = Business.User.SystemIdentity.Instance.User.UserId;
            }
        }
Пример #38
0
        private void BuildTestOrderRightSide(Test.PanelOrder panelOrder, XElement panelOrderElement)
        {
            List<XElement> testOrderElements = (from item in panelOrderElement.Elements("TestOrderCollection")
                                                select item).ToList<XElement>();
            foreach (XElement testOrderElement in testOrderElements.Elements("TestOrder"))
            {
                YellowstonePathology.Business.Test.Model.TestOrder testOrder = new YellowstonePathology.Business.Test.Model.TestOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
                xmlPropertyWriter.Write();

                BuildTestOrderAliquotOrder(testOrder, testOrderElement);
                BuildTestOrderSlideOrderCollection(testOrder, testOrderElement);
                panelOrder.TestOrderCollection.Add(testOrder);
            }
        }
Пример #39
0
 private void BuildSlideOrderTestOrder(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder, XElement slideOrderElement)
 {
     XElement testOrderElement = slideOrderElement.Element("TestOrder");
     if (testOrderElement != null)
     {
         YellowstonePathology.Business.Test.Model.TestOrder testOrder = new YellowstonePathology.Business.Test.Model.TestOrder();
         YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
         xmlPropertyWriter.Write();
         slideOrder.TestOrder = testOrder;
     }
 }
Пример #40
0
 private void BuildAliquotOrderTestOrder(Test.AliquotOrder aliquotOrder, XElement aliquotOrderElement)
 {
     List<XElement> aliquotOrderElements = (from item in aliquotOrderElement.Elements("TestOrderCollection")
                                            select item).ToList<XElement>();
     foreach (XElement testOrderElement in aliquotOrderElements.Elements("TestOrder"))
     {
         YellowstonePathology.Business.Test.Model.TestOrder testOrder = new YellowstonePathology.Business.Test.Model.TestOrder();
         YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
         xmlPropertyWriter.Write();
         aliquotOrder.TestOrderCollection.Add(testOrder);
     }
 }
Пример #41
0
        private void BuildAliquotOrderTestOrder(Test.AliquotOrder aliquotOrder, XElement aliquotOrderElement)
        {
            List<XElement> aliquotOrderElements = (from item in aliquotOrderElement.Elements("TestOrderCollection")
                                                   select item).ToList<XElement>();
            aliquotOrder.TestOrderCollection.RemoveDeleted(aliquotOrderElements.Elements("TestOrder"));
            foreach (XElement testOrderElement in aliquotOrderElements.Elements("TestOrder"))
            {
                string testOrderId = testOrderElement.Element("TestOrderId").Value;
                YellowstonePathology.Business.Test.Model.TestOrder_Base testOrder = null;
                if (aliquotOrder.TestOrderCollection.Exists(testOrderId) == true)
                {
                    testOrder = aliquotOrder.TestOrderCollection.GetBase(testOrderId);
                }
                else
                {
                    testOrder = new YellowstonePathology.Business.Test.Model.TestOrder();
                    aliquotOrder.TestOrderCollection.Add(testOrder);
                }

                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
                xmlPropertyWriter.Write();
            }
        }
Пример #42
0
        private void HandleTestOrder()
        {
            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
            YellowstonePathology.Business.Test.Model.TestOrder testOrder = this.m_PanelOrder.TestOrderCollection.GetNextItem(this.m_PanelOrder.PanelOrderId, objectId, this.m_AliquotOrder.AliquotOrderId, this.m_Test, this.m_TestOrderComment);
            testOrder.OrderedAsDual = this.m_OrderedAsDual;
            testOrder.AliquotOrder = this.m_AliquotOrder;

            this.m_PanelOrder.TestOrderCollection.Add(testOrder);
            this.m_TestOrder = testOrder;

            this.m_AliquotOrder.SetLabelPrefix(testOrder, true);
            this.m_AliquotOrder.HandleAddFrozen(testOrder);
            this.m_AliquotOrder.TestOrderCollection.Add(this.m_TestOrder);
        }
Пример #43
0
        private void BuildTestOrderRightSide(Test.PanelOrder panelOrder, XElement panelOrderElement)
        {
            List<XElement> testOrderElements = (from item in panelOrderElement.Elements("TestOrderCollection")
                                                select item).ToList<XElement>();

            panelOrder.TestOrderCollection.RemoveDeleted(testOrderElements.Elements("TestOrder"));
            foreach (XElement testOrderElement in testOrderElements.Elements("TestOrder"))
            {
                string testOrderId = testOrderElement.Element("TestOrderId").Value;
                YellowstonePathology.Business.Test.Model.TestOrder testOrder = null;
                if (panelOrder.TestOrderCollection.Exists(testOrderId) == true)
                {
                    testOrder = panelOrder.TestOrderCollection.Get(testOrderId);
                }
                else
                {
                    testOrder = new YellowstonePathology.Business.Test.Model.TestOrder();
                    panelOrder.TestOrderCollection.Add(testOrder);
                }

                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
                xmlPropertyWriter.Write();

                BuildTestOrderAliquotOrder(testOrder, testOrderElement);
                BuildTestOrderSlideOrderCollection(testOrder, testOrderElement);
            }
        }
 public TestOrderAliquotOrderReturnEventArgs(YellowstonePathology.Business.Test.Model.TestOrder testOrder, YellowstonePathology.Business.Test.AliquotOrder aliquotOrder)
 {
     this.m_TestOrder = testOrder;
     this.m_AliquotOrder = aliquotOrder;
 }