public StainResultItemCollection GetGradedStains(YellowstonePathology.Business.Test.Model.TestOrderCollection testOrderCollection)
        {
            StainResultItemCollection result = new StainResultItemCollection();

            YellowstonePathology.Business.Test.Model.TestCollection allTests = YellowstonePathology.Business.Test.Model.TestCollection.GetAllTests();
            foreach (StainResultItem stainresult in this)
            {
                YellowstonePathology.Business.Test.Model.TestOrder  testOrder  = testOrderCollection.Get(stainresult.TestOrderId);
                YellowstonePathology.Business.Test.Model.GradedTest gradedTest = allTests.GetTest(testOrder.TestId) as YellowstonePathology.Business.Test.Model.GradedTest;
                if (gradedTest != null)
                {
                    result.Add(stainresult);
                }
            }
            return(result);
        }
Пример #2
0
        public bool HasTestRequiringAcknowledgement()
        {
            bool result = false;

            YellowstonePathology.Business.Test.Model.TestCollection testCollection = YellowstonePathology.Business.Test.Model.TestCollection.GetAllTests();
            foreach (TestOrder testOrder in this)
            {
                YellowstonePathology.Business.Test.Model.Test test = testCollection.GetTest(testOrder.TestId);
                if (test.NeedsAcknowledgement == true)
                {
                    result = true;
                    break;
                }
            }
            return(result);
        }
        public void SetTestOrdersCancelledComment()
        {
            YellowstonePathology.Business.Test.Model.TestCollection allTests = YellowstonePathology.Business.Test.Model.TestCollection.GetAllTests();
            StringBuilder taskOrderDetailDescription = new StringBuilder();

            taskOrderDetailDescription.AppendLine("The following stains have been cancelled:");

            foreach (YellowstonePathology.Business.Test.Model.TestOrder testOrder in this.m_CancelledTestOrderCollection)
            {
                YellowstonePathology.Business.Test.Model.Test test = allTests.GetTest(testOrder.TestId);
                if (test.NeedsAcknowledgement == true)
                {
                    taskOrderDetailDescription.AppendLine(testOrder.DisplayString);
                }
            }
            this.m_TaskOrderDetailCancelledTestOrders.Description = taskOrderDetailDescription.ToString().Trim();
            this.m_TaskOrderDetailCancelledTestOrders.Comment     = this.m_TaskOrderDetailComment;
        }
Пример #4
0
 public YellowstonePathology.Business.Test.Model.TestCollection GetSelectedTests()
 {
     YellowstonePathology.Business.Test.Model.TestCollection testCollection = YellowstonePathology.Business.Test.Model.TestCollection.GetAllTests();
     YellowstonePathology.Business.Test.Model.TestCollection result         = new YellowstonePathology.Business.Test.Model.TestCollection();
     foreach (XElement element in this.m_OrderItemElementList)
     {
         if (element.Element("ItemType").Value == "Test")
         {
             if (element.Element("Order").Value == "True")
             {
                 int testId = Convert.ToInt32(element.Element("Id").Value);
                 YellowstonePathology.Business.Test.Model.Test test = testCollection.GetTest(testId);
                 string testOrderComment = element.Element("Comment").Value;
                 test.OrderComment = testOrderComment;
                 result.Add(test);
             }
         }
     }
     return(result);
 }
        private void ButtonDelete_Click(object sender, RoutedEventArgs e)
        {
            List <string> selectedSlideOrderIds = this.m_AliquotAndStainOrderView.GetSelectedSlideOrderIds();

            foreach (string slideOrderId in selectedSlideOrderIds)
            {
                YellowstonePathology.Business.Slide.Model.SlideOrder          slideOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSlideOrder(slideOrderId);
                YellowstonePathology.Business.Visitor.RemoveSlideOrderVisitor removeSlideOrderVisitor = new Business.Visitor.RemoveSlideOrderVisitor(slideOrder);
                this.m_AccessionOrder.TakeATrip(removeSlideOrderVisitor);
            }

            YellowstonePathology.Business.Test.Model.TestOrderCollection selectedTestOrders = this.m_AliquotAndStainOrderView.GetSelectedTestOrders();
            YellowstonePathology.Business.Test.Model.TestCollection      allTests           = YellowstonePathology.Business.Test.Model.TestCollection.GetAllTests();
            foreach (YellowstonePathology.Business.Test.Model.TestOrder testOrder in selectedTestOrders)
            {
                YellowstonePathology.Business.Visitor.RemoveTestOrderVisitor removeTestOrderVisitor = new Business.Visitor.RemoveTestOrderVisitor(testOrder.TestOrderId);
                this.m_AccessionOrder.TakeATrip(removeTestOrderVisitor);

                YellowstonePathology.Business.Test.Model.Test test = allTests.GetTest(testOrder.TestId);
                if (test.NeedsAcknowledgement == true)
                {
                    this.m_StainAcknowledgementTaskOrderVisitor.RemoveTestOrder(testOrder);
                }
            }
            this.m_AccessionOrder.TakeATrip(this.m_StainAcknowledgementTaskOrderVisitor);

            YellowstonePathology.Business.Test.AliquotOrderCollection selectedAliquots = this.m_AliquotAndStainOrderView.GetSelectedAliquots();
            foreach (YellowstonePathology.Business.Test.AliquotOrder aliquotOrder in selectedAliquots)
            {
                YellowstonePathology.Business.Visitor.RemoveAliquotOrderVisitor removeAliquotOrderVisitor = new Business.Visitor.RemoveAliquotOrderVisitor(aliquotOrder);
                this.m_AccessionOrder.TakeATrip(removeAliquotOrderVisitor);
                this.m_AccessionOrder.SpecimenOrderCollection.SetAliquotRequestCount();
            }

            //YellowstonePathology.Business.Persistence.DocumentGateway.Instance.SubmitChanges(this.m_AccessionOrder, false);
            this.m_AliquotAndStainOrderView.Refresh(true, this.m_PanelSetOrder);
            this.NotifyPropertyChanged("AliquotAndStainOrderView");
        }
Пример #6
0
        public override void SetPanelSetOrderCPTCodes()
        {
            if (this.IsOkToSet() == true)
            {
                this.SetERPRPQRSCodes();

                YellowstonePathology.Business.Test.Model.TestCollection testCollection = YellowstonePathology.Business.Test.Model.TestCollection.GetAllTests();
                foreach (StainSpecimen stainSpecimen in this.m_StainSpecimenCollection)
                {
                    foreach (YellowstonePathology.Business.Test.Model.TestOrder testOrder in stainSpecimen.TestOrderCollection)
                    {
                        YellowstonePathology.Business.Test.Model.Test test = testCollection.GetTest(testOrder.TestId);
                        if (test.IsBillable == true)
                        {
                            if (this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.SystemGeneratedReferenceIdExists(testOrder.TestOrderId) == false)
                            {
                                string codeableType = test.GetCodeableType(testOrder.OrderedAsDual);
                                YellowstonePathology.Business.Test.PanelSetOrderCPTCode panelSetOrderCPTCode = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetNextItem(this.m_PanelSetOrder.ReportNo);
                                panelSetOrderCPTCode.Quantity            = 1;
                                panelSetOrderCPTCode.CodeableType        = codeableType;
                                panelSetOrderCPTCode.CodeableDescription = "Specimen " + stainSpecimen.SpecimenOrder.SpecimenNumber + ": " + testOrder.TestName;
                                panelSetOrderCPTCode.EntryType           = YellowstonePathology.Business.Billing.Model.PanelSetOrderCPTCodeEntryType.SystemGenerated;
                                panelSetOrderCPTCode.SpecimenOrderId     = stainSpecimen.SpecimenOrder.SpecimenOrderId;
                                panelSetOrderCPTCode.ClientId            = this.m_AccessionOrder.ClientId;
                                panelSetOrderCPTCode.ReferenceId         = testOrder.TestOrderId;


                                if (this.m_PanelSetOrder.PanelSetId != 31 && this.m_PanelSetOrder.PanelSetId != 201)  //Not technical only
                                {
                                    YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder panelSetOrderSurgical = (YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder) this.m_PanelSetOrder;
                                    if (panelSetOrderSurgical.SurgicalSpecimenCollection.HasStainResult(testOrder.TestOrderId) == true)
                                    {
                                        YellowstonePathology.Business.SpecialStain.StainResultItem stainResult = panelSetOrderSurgical.SurgicalSpecimenCollection.GetStainResult(testOrder.TestOrderId);
                                        YellowstonePathology.Business.Billing.Model.CptCode        cptCode     = null;

                                        if (stainResult.IsGraded == true)
                                        {
                                            cptCode = test.GetGradedCptCode(false);
                                            panelSetOrderCPTCode.CPTCode  = cptCode.Code;
                                            panelSetOrderCPTCode.CodeType = cptCode.CodeType.ToString();
                                        }
                                        else
                                        {
                                            cptCode = test.GetCptCode(false);
                                            panelSetOrderCPTCode.CPTCode  = cptCode.Code;
                                            panelSetOrderCPTCode.CodeType = cptCode.CodeType.ToString();
                                        }
                                    }
                                    else
                                    {
                                        panelSetOrderCPTCode.CPTCode = test.GetCptCode(false).Code;
                                    }
                                }
                                else //Is technical only
                                {
                                    YellowstonePathology.Business.Billing.Model.CptCode cptCode = test.GetCptCode(true);
                                    panelSetOrderCPTCode.CPTCode  = cptCode.Code;
                                    panelSetOrderCPTCode.CodeType = cptCode.CodeType.ToString();
                                }

                                this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.Add(panelSetOrderCPTCode);
                            }
                        }
                    }
                }
            }
        }