public PathologistSignoutPath(YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
            YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder surgicalTestOrder)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_SurgicalTestOrder = surgicalTestOrder;

            this.m_PathologistSignoutAuditCollection = new Business.Audit.Model.PathologistSignoutAuditCollection(this.m_AccessionOrder);

            this.m_AuditResult = this.m_PathologistSignoutAuditCollection.Run2();
            if (this.m_AuditResult.Status == Business.Audit.Model.AuditStatusEnum.Failure)
            {
                this.SetActionList();
            }
        }
Exemplo n.º 2
0
 private void HyperLinkFinalize_Click(object sender, RoutedEventArgs e)
 {
     YellowstonePathology.Business.Audit.Model.AuditResult auditResult = this.m_PanelSetOrder.IsOkToFinalize(this.m_AccessionOrder);
     if (auditResult.Status == Business.Audit.Model.AuditStatusEnum.OK)
     {
         this.m_PanelSetOrder.Finish(this.m_AccessionOrder);
         if (this.m_PanelSetOrder.Accepted == false)
         {
             this.m_PanelSetOrder.Accept();
         }
     }
     else
     {
         MessageBox.Show(auditResult.Message);
     }
 }
        private void HyperLinkFinalizeResults_Click(object sender, RoutedEventArgs e)
        {
            YellowstonePathology.Business.Audit.Model.AuditResult result = this.m_PanelSetOrder.IsOkToFinalize(this.m_AccessionOrder);
            if (result.Status == Business.Audit.Model.AuditStatusEnum.OK)
            {
                YellowstonePathology.Business.Test.FinalizeTestResult finalizeTestResult = this.m_PanelSetOrder.Finish(this.m_AccessionOrder);
                this.HandleFinalizeTestResult(finalizeTestResult);

                // Temporary use for checking results
                //Business.Logging.EmailExceptionHandler.HandleException(this.m_PanelSetOrder, "This " + this.m_PanelSetOrder.PanelSetName + " has just been finalized.");
            }
            else
            {
                MessageBox.Show(result.Message);
            }
        }
Exemplo n.º 4
0
 public override YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize(Test.AccessionOrder accessionOrder)
 {
     YellowstonePathology.Business.Audit.Model.AuditResult result = base.IsOkToFinalize(accessionOrder);
     if (result.Status == Audit.Model.AuditStatusEnum.OK)
     {
         if (this.Accepted == false)
         {
             YellowstonePathology.Business.Rules.MethodResult methodResult = this.IsOkToAccept();
             if (methodResult.Success == false)
             {
                 result.Status  = Audit.Model.AuditStatusEnum.Failure;
                 result.Message = "This case cannot be finalized because the results are not set.";
             }
         }
     }
     return(result);
 }
Exemplo n.º 5
0
        public void ButtonSignReport_Click(object sender, RoutedEventArgs args)
        {
            if (this.m_FlowUI.AccessionOrder != null)
            {
                if (this.m_FlowUI.PanelSetOrderLeukemiaLymphoma.AssignedToId == this.m_SystemIdentity.User.UserId)
                {
                    if (this.m_FlowUI.PanelSetOrderLeukemiaLymphoma.Final == false)
                    {
                        YellowstonePathology.Business.Audit.Model.AuditResult auditResult = this.m_FlowUI.PanelSetOrderLeukemiaLymphoma.IsOkToFinalize(this.m_FlowUI.AccessionOrder);

                        if (auditResult.Status == Business.Audit.Model.AuditStatusEnum.OK)
                        {
                            this.m_FlowUI.PanelSetOrderLeukemiaLymphoma.Finalize();
                        }
                        else
                        {
                            MessageBox.Show(auditResult.Message);
                        }
                    }
                    else
                    {
                        Business.Rules.MethodResult methodResult = this.m_FlowUI.PanelSetOrderLeukemiaLymphoma.IsOkToUnfinalize();
                        if (methodResult.Success == true)
                        {
                            this.m_FlowUI.PanelSetOrderLeukemiaLymphoma.Unfinalize();
                        }
                        else
                        {
                            MessageBox.Show(methodResult.Message);
                        }
                    }
                    this.m_FlowUI.NotifyPropertyChanged("SignReportButtonContent");
                    this.m_FlowUI.NotifyPropertyChanged("SignReportButtonEnabled");
                }
                else
                {
                    MessageBoxResult messageBoxResult = MessageBox.Show("You cannot sign this case because it is not assigned to you. Would you like me to assign this case to you?", "Not Assigned To You", MessageBoxButton.YesNo);
                    if (messageBoxResult == MessageBoxResult.Yes)
                    {
                        this.m_FlowUI.PanelSetOrderLeukemiaLymphoma.AssignedToId = this.m_SystemIdentity.User.UserId;
                        MessageBox.Show("This case has been assigned to you. You can now sign it out.");
                    }
                }
            }
        }
Exemplo n.º 6
0
        public void ScreeningFinal(YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology panelOrderToFinal, YellowstonePathology.Business.Rules.ExecutionStatus executionStatus)
        {
            YellowstonePathology.Business.Audit.Model.AuditResult auditResult = this.m_PanelSetOrderCytology.IsOkToFinalize(this.m_AccessionOrder, panelOrderToFinal, this.m_SystemIdentity, executionStatus);
            if (this.m_PanelSetOrderCytology.Final == true)
            {
                YellowstonePathology.Business.ReportDistribution.Model.MultiTestDistributionHandler multiTestDistributionHandler = YellowstonePathology.Business.ReportDistribution.Model.MultiTestDistributionHandlerFactory.GetHandler(this.m_AccessionOrder);
                multiTestDistributionHandler.Set();

                if (this.m_AccessionOrder.PanelSetOrderCollection.WomensHealthProfileExists() == true)
                {
                    this.m_AccessionOrder.PanelSetOrderCollection.GetWomensHealthProfile().SetExptectedFinalTime(this.m_AccessionOrder);
                }

                this.StartWomensHealthProfilePath();
            }

            this.Save(false);
        }
        private void HyperLinkFinalize_Click(object sender, RoutedEventArgs e)
        {
            YellowstonePathology.Business.Audit.Model.AuditResult auditResult = this.m_PanelSetOrder.IsOkToFinalize(this.m_AccessionOrder);
            if (auditResult.Status == Business.Audit.Model.AuditStatusEnum.OK)
            {
                this.m_PanelSetOrder.Finish(this.m_AccessionOrder);

                YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexTest krasStandardReflexTest = new YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexTest();
                if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(krasStandardReflexTest.PanelSetId) == true)
                {
                    YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexTestOrder krasStandardReflexTestOrder = (YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(krasStandardReflexTest.PanelSetId);
                    krasStandardReflexTestOrder.UpdateFromChildren(this.m_AccessionOrder, this.m_PanelSetOrder);
                }
            }
            else
            {
                MessageBox.Show(auditResult.Message);
            }
        }
Exemplo n.º 8
0
 private void HyperLinkSetResults_Click(object sender, RoutedEventArgs e)
 {
     if (this.ListViewResults.Items.Count == 1)
     {
         YellowstonePathology.Business.Test.LynchSyndrome.LSERule lseRule = (YellowstonePathology.Business.Test.LynchSyndrome.LSERule) this.ListViewResults.Items[0];
         YellowstonePathology.Business.Audit.Model.AuditResult    result  = lseRule.IsOkToSetResults(this.m_AccessionOrder, this.m_PanelSetOrderLynchSyndromeEvaluation);
         if (result.Status == Business.Audit.Model.AuditStatusEnum.OK)
         {
             lseRule.SetResults(this.m_AccessionOrder, this.m_PanelSetOrderLynchSyndromeEvaluation);
         }
         else
         {
             MessageBox.Show(result.Message);
         }
     }
     else
     {
         MessageBox.Show("Results can be set as the evaluation is not complete.");
     }
 }
Exemplo n.º 9
0
        private void HyperLinkFinalize_Click(object sender, RoutedEventArgs e)
        {
            YellowstonePathology.Business.Audit.Model.AuditResult auditResult = this.m_HPVTestOrder.IsOkToFinalize(this.m_AccessionOrder);
            if (auditResult.Status == Business.Audit.Model.AuditStatusEnum.OK)
            {
                this.m_HPVTestOrder.Finish(this.m_AccessionOrder);

                YellowstonePathology.Business.ReportDistribution.Model.MultiTestDistributionHandler multiTestDistributionHandler = YellowstonePathology.Business.ReportDistribution.Model.MultiTestDistributionHandlerFactory.GetHandler(this.m_AccessionOrder);
                multiTestDistributionHandler.Set();

                if (this.m_AccessionOrder.PanelSetOrderCollection.WomensHealthProfileExists() == true)
                {
                    this.m_AccessionOrder.PanelSetOrderCollection.GetWomensHealthProfile().SetExptectedFinalTime(this.m_AccessionOrder);
                }
            }
            else
            {
                MessageBox.Show(auditResult.Message);
            }
        }
Exemplo n.º 10
0
 private void HyperLinkAcceptResults_Click(object sender, RoutedEventArgs e)
 {
     YellowstonePathology.Business.Audit.Model.AuditResult result = this.m_EGFRToALKReflexAnalysisTestOrder.IsOkToAccept(this.m_AccessionOrder);
     if (result.Status == Business.Audit.Model.AuditStatusEnum.OK)
     {
         this.m_EGFRToALKReflexAnalysisTestOrder.Accept();
     }
     else if (result.Status == Business.Audit.Model.AuditStatusEnum.Warning)
     {
         MessageBoxResult messageBoxResult = MessageBox.Show(result.Message, "Results do not match the component report results",
                                                             MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
         if (messageBoxResult == MessageBoxResult.Yes)
         {
             this.m_EGFRToALKReflexAnalysisTestOrder.Accept();
         }
     }
     else
     {
         MessageBox.Show(result.Message, "Unable to Accept.");
     }
 }
Exemplo n.º 11
0
 private void HyperLinkAcceptResults_Click(object sender, RoutedEventArgs e)
 {
     YellowstonePathology.Business.Audit.Model.AuditResult result = this.m_PanelSetOrder.IsOkToAccept(this.m_AccessionOrder);
     if (result.Status == Business.Audit.Model.AuditStatusEnum.OK)
     {
         this.m_PanelSetOrder.Accept();
     }
     else if (result.Status == Business.Audit.Model.AuditStatusEnum.Warning)
     {
         MessageBoxResult messageBoxResult = MessageBox.Show(result.Message, "Results do not match the finaled summary results",
                                                             MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
         if (messageBoxResult == MessageBoxResult.Yes)
         {
             this.m_PanelSetOrder.Accept();
         }
     }
     else
     {
         MessageBox.Show(result.Message);
     }
 }
Exemplo n.º 12
0
        private bool CanSave()
        {
            bool result = true;

            Business.Audit.Model.AuditCollection auditCollection = new Business.Audit.Model.AuditCollection {
                new Business.Audit.Model.ProviderDisplayNameAudit(this.m_Physician.DisplayName),
                new YellowstonePathology.Business.Audit.Model.ProviderNpiAudit(this.m_Physician),
                new Business.Audit.Model.ProviderHomeBaseAudit(this.m_Physician),
                new Business.Audit.Model.ProviderClientsHaveDistributionSetAudit(this.m_Physician.ObjectId, this.m_PhysicianClientView)
            };

            YellowstonePathology.Business.Audit.Model.AuditResult auditResult = auditCollection.Run2();
            if (auditResult.Status == Business.Audit.Model.AuditStatusEnum.Failure)
            {
                MessageBoxResult messageBoxResult = MessageBox.Show(auditResult.Message + "  Do you want to continue?", "Missing Information", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
                if (messageBoxResult == MessageBoxResult.No)
                {
                    result = false;
                }
            }
            return(result);
        }
Exemplo n.º 13
0
        public void ScreeningFinal(YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology panelOrderToFinal, YellowstonePathology.Business.Rules.ExecutionStatus executionStatus)
        {
            YellowstonePathology.Business.Audit.Model.AuditResult auditResult = this.m_PanelSetOrderCytology.IsOkToFinalize(this.m_AccessionOrder, panelOrderToFinal, this.m_SystemIdentity, executionStatus);
            if (this.m_PanelSetOrderCytology.Final == true)
            {
                Business.Audit.Model.AuditResult result = this.m_PanelSetOrderCytology.CheckFinaledUnsatResultWithAssociatedCases(this.m_AccessionOrder);
                if (result.Status == Business.Audit.Model.AuditStatusEnum.Failure)
                {
                    MessageBox.Show(result.Message);
                }
                YellowstonePathology.Business.ReportDistribution.Model.MultiTestDistributionHandler multiTestDistributionHandler = YellowstonePathology.Business.ReportDistribution.Model.MultiTestDistributionHandlerFactory.GetHandler(this.m_AccessionOrder);
                multiTestDistributionHandler.Set();

                if (this.m_AccessionOrder.PanelSetOrderCollection.WomensHealthProfileExists() == true)
                {
                    this.m_AccessionOrder.PanelSetOrderCollection.GetWomensHealthProfile().SetExptectedFinalTime(this.m_AccessionOrder);
                    this.SetHPVComment();
                }

                this.StartWomensHealthProfilePath();
            }
        }
Exemplo n.º 14
0
        public YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize()
        {
            YellowstonePathology.Business.Audit.Model.AuditResult result = this.m_PanelSetOrderMPNExtendedReflex.IsOkToFinalize(this.m_AccessionOrder);
            if (result.Status == Audit.Model.AuditStatusEnum.OK)
            {
                if (this.m_JAK2V617FResult.Result == MPNExtendedReflexResult.PendingResult ||
                    this.m_CALRResult.Result == MPNExtendedReflexResult.PendingResult ||
                    this.m_MPLResult.Result == MPNExtendedReflexResult.PendingResult)
                {
                    result.Message = "This case can not be finaled as one or more dependency tests are not finaled.";
                    result.Status  = Audit.Model.AuditStatusEnum.Failure;
                }
                else if (this.m_CALRResult.Result == MPNExtendedReflexResult.PleaseOrder ||
                         this.m_MPLResult.Result == MPNExtendedReflexResult.PleaseOrder)
                {
                    result.Message = "This case can not be finaled as one or more dependency tests are not ordered.";
                    result.Status  = Audit.Model.AuditStatusEnum.Failure;
                }
            }

            return(result);
        }
        private void ButtonNext_Click(object sender, RoutedEventArgs e)
        {
            YellowstonePathology.Business.Audit.Model.AliquotAndStainOrderAuditCollection aliquotAndStainOrderAuditCollection = new YellowstonePathology.Business.Audit.Model.AliquotAndStainOrderAuditCollection(this.m_AccessionOrder, this.m_AliquotAndStainOrderView.GetAliquotCollection());
            YellowstonePathology.Business.Audit.Model.AuditResult auditResult = aliquotAndStainOrderAuditCollection.Run2();

            if (auditResult.Status == YellowstonePathology.Business.Audit.Model.AuditStatusEnum.Failure)
            {
                if (aliquotAndStainOrderAuditCollection.FNAHasIntraOpAudit.Status == YellowstonePathology.Business.Audit.Model.AuditStatusEnum.Failure)
                {
                    MessageBoxResult answer = MessageBox.Show(aliquotAndStainOrderAuditCollection.FNAHasIntraOpAudit.Message.ToString() + "  Do you want to continue without ordering.", "Intraoperative Consultation", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
                    if (answer == MessageBoxResult.No)
                    {
                        return;
                    }
                }
                else
                {
                    MessageBox.Show(auditResult.Message);
                    return;
                }
            }

            if (this.m_StainAcknowledgementTaskOrderVisitor.TaskOrderStainAcknowlegedment != null)
            {
                if (this.ShowTaskOrderPage != null)
                {
                    YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Save();
                    CustomEventArgs.AcknowledgeStainOrderEventArgs args = new CustomEventArgs.AcknowledgeStainOrderEventArgs(this.m_StainAcknowledgementTaskOrderVisitor.TaskOrderStainAcknowlegedment);
                    this.ShowTaskOrderPage(this, args);
                }
            }
            else
            {
                YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Save();
                UI.Navigation.PageNavigationReturnEventArgs args = new UI.Navigation.PageNavigationReturnEventArgs(UI.Navigation.PageNavigationDirectionEnum.Next, this.m_StainAcknowledgementTaskOrderVisitor.TaskOrderStainAcknowlegedment);
                this.Return(this, args);
            }
        }
Exemplo n.º 16
0
        private void Signout()
        {
            MainWindow.MoveKeyboardFocusNextThenBack();
            if (this.PanelSetOrderSurgical.Final == false)
            {
                YellowstonePathology.Business.Audit.Model.AuditResult auditResult = this.PanelSetOrderSurgical.IsOkToFinalize(this.m_PathologistUI.AccessionOrder);
                if (auditResult.Status == Business.Audit.Model.AuditStatusEnum.Failure || auditResult.Status == Business.Audit.Model.AuditStatusEnum.Warning)
                {
                    PathologistSignoutPath pathologistSignoutPath = new PathologistSignoutPath(this.m_PathologistUI.AccessionOrder, this.PanelSetOrderSurgical);
                    pathologistSignoutPath.Start();
                    this.RefreshBillingSpecimenViewCollection();
                    auditResult = pathologistSignoutPath.IsPathologistSignoutAuditSuccessful();
                }

                if (auditResult.Status == Business.Audit.Model.AuditStatusEnum.OK)
                {
                    this.PanelSetOrderSurgical.Finish(this.m_PathologistUI.AccessionOrder);
                    if (this.PanelSetOrderSurgical.Accepted == false)
                    {
                        this.PanelSetOrderSurgical.Accept();
                    }
                }
            }
        }
Exemplo n.º 17
0
 public YellowstonePathology.Business.Audit.Model.AuditResult IsPathologistSignoutAuditSuccessful()
 {
     YellowstonePathology.Business.Audit.Model.PathologistSignoutIsHandledAuditCollection isPathologistSignoutHandledAuditCollection = new Business.Audit.Model.PathologistSignoutIsHandledAuditCollection(this.m_AccessionOrder);
     YellowstonePathology.Business.Audit.Model.AuditResult auditResult = isPathologistSignoutHandledAuditCollection.Run2();
     return(auditResult);
 }
Exemplo n.º 18
0
        private void SetActionList()
        {
            this.m_ActionList = new List<Action>();
            this.m_AuditMessages = new List<string>();
            this.m_ColonCancerMessages = new List<string>();
            this.m_MessageAuditResult = new Business.Audit.Model.AuditResult();
            this.m_MessageAuditResult.Status = Business.Audit.Model.AuditStatusEnum.OK;
            this.m_MessageAuditResult.Message = string.Empty;

            foreach (YellowstonePathology.Business.Audit.Model.Audit audit in this.m_PathologistSignoutAuditCollection)
            {
                audit.Run();
            }

            Business.Audit.Model.AuditCollection auditMessageCollection = this.m_PathologistSignoutAuditCollection.GetAuditMessageCollection();
            foreach (YellowstonePathology.Business.Audit.Model.Audit audit in auditMessageCollection)
            {
                if (audit.Status == Business.Audit.Model.AuditStatusEnum.Failure)
                {
                    this.m_AuditMessages.Add(audit.Message.ToString().Trim());
                    this.m_MessageAuditResult.Status = audit.Status;
                    if (this.m_ActionList.Contains(HandleAuditMessages) == false)
                    {
                        this.m_ActionList.Add(HandleAuditMessages);
                    }
                }
            }

            Business.Audit.Model.NonASCIICharacterAudit nonASCIICharacterAudit = this.m_PathologistSignoutAuditCollection.GetNonASCIICharacterAudit();
            if(nonASCIICharacterAudit.Status == Business.Audit.Model.AuditStatusEnum.Failure)
            {
                this.m_ActionList.Add(HandleNonASCIICharacters);
            }
            Business.Audit.Model.PapCorrelationIsRequiredAudit papCorrelationAudit = this.m_PathologistSignoutAuditCollection.GetPapCorrelationAudit();
            if(papCorrelationAudit.Status == Business.Audit.Model.AuditStatusEnum.Failure)
            {
                this.m_ActionList.Add(HandlePapCorrelation);
            }
            Business.Audit.Model.PQRSIsRequiredAudit pqrsIsRequiredAudit = this.m_PathologistSignoutAuditCollection.GetPQRSIsRequiredAudit();
            if(pqrsIsRequiredAudit.Status == Business.Audit.Model.AuditStatusEnum.Failure)
            {
                this.m_ActionList.Add(HandlePQRS);
            }
            Business.Audit.Model.AuditCollection suggestedTestCollection = this.m_PathologistSignoutAuditCollection.GetSuggestedTestAuditCollection();
            foreach (YellowstonePathology.Business.Audit.Model.Audit audit in suggestedTestCollection)
            {
                if (audit.Status == Business.Audit.Model.AuditStatusEnum.Failure)
                {
                    this.m_ColonCancerMessages.Add(audit.Message.ToString().Trim());
                    if (this.m_ActionList.Contains(HandleColorectalCancer) == false)
                    {
                        this.m_ActionList.Add(HandleColorectalCancer);
                    }
                }
            }
        }