private void TileFinalize_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (this.ListViewAccessionOrders.SelectedItems.Count != 0)
            {
                YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;

                if (this.m_LoginUI.AccessionOrder.PanelSetOrderCollection.HasThinPrepPapOrder() == true)
                {
                    if (string.IsNullOrEmpty(this.m_LoginUI.AccessionOrder.ClientOrderId) == false)
                    {
                        YellowstonePathology.Business.ClientOrder.Model.ClientOrder clientOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullClientOrderByClientOrderId(this.m_LoginUI.AccessionOrder.ClientOrderId, this.m_Writer);

                        YellowstonePathology.Business.User.SystemIdentity systemIdentity = Business.User.SystemIdentity.Instance;
                        this.m_LoginPageWindow = new LoginPageWindow();
                        this.m_LoginPageWindow.Show();

                        YellowstonePathology.UI.Login.FinalizeAccession.FinalizeCytologyPath finalizeCytologyPath = new YellowstonePathology.UI.Login.FinalizeAccession.FinalizeCytologyPath(clientOrder, this.m_LoginUI.AccessionOrder, this.m_LoginUI.ReportNo, this.m_LoginPageWindow.PageNavigator);
                        finalizeCytologyPath.Start();
                        finalizeCytologyPath.Finish += new YellowstonePathology.UI.Login.FinalizeAccession.FinalizeCytologyPath.FinishEventHandler(CytologyFinalizationPath_Finish);
                        finalizeCytologyPath.Return += new FinalizeAccession.FinalizeCytologyPath.ReturnEventHandler(FinalizeCytologyPath_Return);
                    }
                }
                else
                {
                    YellowstonePathology.UI.Login.FinalizeAccession.FinalizeAccessionPathWithSecurity finalizeAccessionPathWithSecurity = new FinalizeAccession.FinalizeAccessionPathWithSecurity(this.m_LoginUI.ReportNo, this.m_LoginUI.AccessionOrder);
                    finalizeAccessionPathWithSecurity.Start();
                }
            }
        }
 private void ListViewAccessionOrders_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (this.ListViewAccessionOrders.SelectedItem != null)
     {
         YellowstonePathology.Business.Search.ReportSearchItem item = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;
         this.GetCase(item.MasterAccessionNo, item.ReportNo);
         this.HandleAccessionOrderListChange();
     }
 }
 private void TileBilling_MouseUp(object sender, MouseButtonEventArgs e)
 {
     if (this.ListViewAccessionOrders.SelectedItem != null)
     {
         YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;
         this.m_LoginUI.ReportSearchList.SetCurrentReportSearchItem(reportSearchItem.ReportNo);
         Billing.BillingPath billingPath = new Billing.BillingPath(this.m_LoginUI.ReportSearchList);
         billingPath.Start(this.m_LoginUI.AccessionOrder);
     }
 }
 private void TileReport_MouseUp(object sender, MouseButtonEventArgs e)
 {
     if (this.ListViewAccessionOrders.SelectedItem != null)
     {
         YellowstonePathology.Business.User.SystemIdentity         systemIdentity        = Business.User.SystemIdentity.Instance;
         YellowstonePathology.Business.Search.ReportSearchItem     reportSearchItem      = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;
         YellowstonePathology.UI.ReportOrder.ReportOrderDetailPage reportOrderDetailPage = new YellowstonePathology.UI.ReportOrder.ReportOrderDetailPage(this.m_LoginUI.AccessionOrder, reportSearchItem.ReportNo, systemIdentity);
         reportOrderDetailPage.ShowDialog();
     }
 }
 private void MainWindowCommandButtonHandler_ShowAmendmentDialog(object sender, EventArgs e)
 {
     if (this.ListViewAccessionOrders.SelectedItem != null)
     {
         YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem        = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;
         YellowstonePathology.Business.Test.PanelSetOrder      panelSetOrder           = this.m_LoginUI.AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportSearchItem.ReportNo);
         YellowstonePathology.UI.AmendmentPageController       amendmentPageController = new AmendmentPageController(this.m_LoginUI.AccessionOrder, panelSetOrder);
         amendmentPageController.ShowDialog();
     }
 }
        private void TileProviderDistribution_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (this.ListViewAccessionOrders.SelectedItem != null)
            {
                YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;

                FinalizeAccession.ProviderDistributionPath providerDistributionPath = new FinalizeAccession.ProviderDistributionPath(reportSearchItem.ReportNo, this.m_LoginUI.AccessionOrder,
                                                                                                                                     System.Windows.Visibility.Collapsed, System.Windows.Visibility.Visible, System.Windows.Visibility.Collapsed);
                providerDistributionPath.Start();
            }
        }
Example #7
0
 private void ButtonNext_Click(object sender, RoutedEventArgs e)
 {
     if (this.ListBoxSearchList.SelectedItem != null)
     {
         YellowstonePathology.Business.Search.ReportSearchItem           reportSearchItem = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListBoxSearchList.SelectedItem;
         YellowstonePathology.UI.CustomEventArgs.ReportNoReturnEventArgs eventArgs        = new CustomEventArgs.ReportNoReturnEventArgs(reportSearchItem.ReportNo);
         this.Next(this, eventArgs);
     }
     else
     {
         MessageBox.Show("You need to select a case before continuing.");
     }
 }
        private void TileSpecimenMapping_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (this.ListViewAccessionOrders.SelectedItem != null)
            {
                YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;
                YellowstonePathology.UI.Login.FinalizeAccession.SpecimenMappingPage specimenMappingPage = new FinalizeAccession.SpecimenMappingPage(this.m_LoginUI.AccessionOrder);
                specimenMappingPage.Next += new FinalizeAccession.SpecimenMappingPage.NextEventHandler(SpecimenMappingPage_Next);
                specimenMappingPage.Back += new FinalizeAccession.SpecimenMappingPage.BackEventHandler(SpecimenMappingPage_Back);

                this.m_LoginPageWindow = new LoginPageWindow();
                this.m_LoginPageWindow.Show();
                this.m_LoginPageWindow.PageNavigator.Navigate(specimenMappingPage);
            }
        }
 private void TileAccessionLabels_MouseUp(object sender, MouseButtonEventArgs e)
 {
     if (this.ListViewAccessionOrders.SelectedItem != null)
     {
         YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem     = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;
         YellowstonePathology.UI.Test.AccessionLabelDialog     accessionLabelDialog = new Test.AccessionLabelDialog(reportSearchItem.MasterAccessionNo, reportSearchItem.PFirstName, reportSearchItem.PLastName);
         accessionLabelDialog.ShowDialog();
     }
     else
     {
         YellowstonePathology.UI.Test.AccessionLabelDialog accessionLabelDialog = new Test.AccessionLabelDialog();
         accessionLabelDialog.ShowDialog();
     }
 }
Example #10
0
        private void MenuItemSendPantherOrder_Click(object sender, RoutedEventArgs e)
        {
            if (this.ListViewAccessionOrders.SelectedItem != null)
            {
                YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;
                if (this.m_LoginUI.AccessionOrder.SpecimenOrderCollection.HasThinPrepFluidSpecimen() == true)
                {
                    YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_LoginUI.AccessionOrder.SpecimenOrderCollection.GetThinPrep();
                    if (specimenOrder.AliquotOrderCollection.HasPantherAliquot() == true)
                    {
                        YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = specimenOrder.AliquotOrderCollection.GetPantherAliquot();
                        YellowstonePathology.Business.Test.PanelSetOrder           panelSetOrder = this.m_LoginUI.AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportSearchItem.ReportNo);
                        YellowstonePathology.Business.HL7View.Panther.PantherAssay pantherAssay  = null;
                        switch (panelSetOrder.PanelSetId)
                        {
                        case 14:
                            pantherAssay = new Business.HL7View.Panther.PantherAssayHPV();
                            break;

                        case 3:
                            pantherAssay = new Business.HL7View.Panther.PantherAssayNGCT();
                            break;

                        default:
                            throw new Exception(panelSetOrder.PanelSetName + " is mot implemented yet.");
                        }

                        YellowstonePathology.Business.HL7View.Panther.PantherOrder pantherOrder = new Business.HL7View.Panther.PantherOrder(pantherAssay, specimenOrder, aliquotOrder, this.m_LoginUI.AccessionOrder, panelSetOrder, YellowstonePathology.Business.HL7View.Panther.PantherActionCode.NewSample);
                        pantherOrder.Send();
                    }
                    else
                    {
                        MessageBox.Show("No Panther aliquot found.");
                    }
                }
                else
                {
                    MessageBox.Show("No Thin Prep Fluid Specimen Found.");
                }
            }
        }
Example #11
0
        private void MenuItemCancelTest_Click(object sender, RoutedEventArgs e)
        {
            if (this.ListViewAccessionOrders.SelectedItem != null)
            {
                MessageBoxResult messageBoxResult = MessageBox.Show("Are you sure you want to cancel this test?", "Cancel Test", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.Yes);
                if (messageBoxResult == MessageBoxResult.Yes)
                {
                    YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;
                    YellowstonePathology.Business.Test.PanelSetOrder      panelSetOrder    = this.m_LoginUI.AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportSearchItem.ReportNo);

                    if (panelSetOrder.Final == false)
                    {
                        string reportNo   = panelSetOrder.ReportNo;
                        string testName   = panelSetOrder.PanelSetName;
                        int    panelSetId = panelSetOrder.PanelSetId;

                        YellowstonePathology.Business.Interface.IOrderTarget        orderTarget           = this.m_LoginUI.AccessionOrder.SpecimenOrderCollection.GetOrderTarget(panelSetOrder.OrderedOnId);
                        Business.Test.TestCancelled.TestCancelledTest               cancelledTest         = new Business.Test.TestCancelled.TestCancelledTest();
                        YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new Business.Test.TestOrderInfo(cancelledTest, orderTarget, true);
                        YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Business.Visitor.OrderTestOrderVisitor(testOrderInfo);

                        this.m_LoginUI.AccessionOrder.PanelSetOrderCollection.Remove(panelSetOrder);
                        YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Save();

                        this.m_LoginUI.AccessionOrder.TakeATrip(orderTestOrderVisitor);
                        Business.Test.TestCancelled.TestCancelledTestOrder testCancelledTestOrder = (Business.Test.TestCancelled.TestCancelledTestOrder)orderTestOrderVisitor.PanelSetOrder;
                        testCancelledTestOrder.Comment           = testName + " has been cancelled.";
                        testCancelledTestOrder.CancelledTestId   = panelSetId;
                        testCancelledTestOrder.CancelledTestName = testName;

                        YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Save();

                        this.m_LoginUI.GetReportSearchListByReportNo(panelSetOrder.ReportNo);
                    }
                    else
                    {
                        MessageBox.Show("Cannot cancel a test that has been finalized.");
                    }
                }
            }
        }
Example #12
0
        private void TileTasks_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (this.ListViewAccessionOrders.SelectedItem != null)
            {
                YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem;

                YellowstonePathology.Business.Task.Model.TaskOrder taskOrder = this.m_LoginUI.AccessionOrder.TaskOrderCollection.GetTaskOrderByReportNo(reportSearchItem.ReportNo);

                if (taskOrder != null)
                {
                    this.m_LoginPageWindow = new LoginPageWindow();

                    YellowstonePathology.UI.Login.Receiving.TaskOrderPath taskOrderPath = new Receiving.TaskOrderPath(this.m_LoginUI.AccessionOrder, taskOrder, this.m_LoginPageWindow.PageNavigator, PageNavigationModeEnum.Standalone);
                    taskOrderPath.Close += new Receiving.TaskOrderPath.CloseEventHandler(TaskOrderPath_Close);
                    taskOrderPath.Start();
                    this.m_LoginPageWindow.ShowDialog();
                }
                else
                {
                    MessageBox.Show("There are no tasks for this case.");
                }
            }
        }
Example #13
0
        private void WriteRow(Grid grid, RowDefinition row, int rowIndex, YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem)
        {
            TextBlock textBlockReportNo = new TextBlock();

            textBlockReportNo.Text   = reportSearchItem.ReportNo;
            textBlockReportNo.Margin = new Thickness(2, 0, 2, 0);
            textBlockReportNo.HorizontalAlignment = HorizontalAlignment.Left;
            textBlockReportNo.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetColumn(textBlockReportNo, 0);
            Grid.SetRow(textBlockReportNo, rowIndex);
            grid.Children.Add(textBlockReportNo);

            string accessionDateString = string.Empty;

            if (reportSearchItem.AccessionDate.HasValue == true)
            {
                accessionDateString = reportSearchItem.AccessionDate.Value.ToString("MM/dd/yyyy HH:mm");
            }

            TextBlock textBlockAccessionDate = new TextBlock();

            textBlockAccessionDate.Text   = accessionDateString;
            textBlockAccessionDate.Margin = new Thickness(2, 0, 2, 0);
            textBlockAccessionDate.HorizontalAlignment = HorizontalAlignment.Left;
            textBlockAccessionDate.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetColumn(textBlockAccessionDate, 1);
            Grid.SetRow(textBlockAccessionDate, rowIndex);
            grid.Children.Add(textBlockAccessionDate);


            TextBlock textBlockPatientName = new TextBlock();

            textBlockPatientName.Text   = reportSearchItem.PatientName;
            textBlockPatientName.Margin = new Thickness(2, 0, 2, 0);
            textBlockPatientName.HorizontalAlignment = HorizontalAlignment.Left;
            textBlockPatientName.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetColumn(textBlockPatientName, 2);
            Grid.SetRow(textBlockPatientName, rowIndex);
            grid.Children.Add(textBlockPatientName);


            string birthdateString = string.Empty;

            if (reportSearchItem.PBirthdate.HasValue == true)
            {
                birthdateString = reportSearchItem.PBirthdate.Value.ToString("MM/dd/yyyy");
            }

            TextBlock textBlockBirthdate = new TextBlock();

            textBlockBirthdate.Text   = birthdateString;
            textBlockBirthdate.Margin = new Thickness(2, 0, 2, 0);
            textBlockBirthdate.HorizontalAlignment = HorizontalAlignment.Left;
            textBlockBirthdate.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetColumn(textBlockBirthdate, 3);
            Grid.SetRow(textBlockBirthdate, rowIndex);
            grid.Children.Add(textBlockBirthdate);

            TextBlock textBlockLocation = new TextBlock();

            textBlockLocation.Text   = reportSearchItem.AccessioningFacilityId;
            textBlockLocation.Margin = new Thickness(2, 0, 2, 0);
            textBlockLocation.HorizontalAlignment = HorizontalAlignment.Left;
            textBlockLocation.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetColumn(textBlockLocation, 4);
            Grid.SetRow(textBlockLocation, rowIndex);
            grid.Children.Add(textBlockLocation);

            TextBlock textBlockOrderedBy = new TextBlock();

            textBlockOrderedBy.Text   = reportSearchItem.OrderedBy;
            textBlockOrderedBy.Margin = new Thickness(2, 0, 2, 0);
            textBlockOrderedBy.HorizontalAlignment = HorizontalAlignment.Left;
            textBlockOrderedBy.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetColumn(textBlockOrderedBy, 5);
            Grid.SetRow(textBlockOrderedBy, rowIndex);
            grid.Children.Add(textBlockOrderedBy);

            TextBlock textBlockPanelSetName = new TextBlock();

            textBlockPanelSetName.Text   = reportSearchItem.PanelSetName;
            textBlockPanelSetName.Margin = new Thickness(2, 0, 2, 0);
            textBlockPanelSetName.HorizontalAlignment = HorizontalAlignment.Left;
            textBlockPanelSetName.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetColumn(textBlockPanelSetName, 6);
            Grid.SetRow(textBlockPanelSetName, rowIndex);
            grid.Children.Add(textBlockPanelSetName);
        }