Exemple #1
0
        private void HyperLinkFinalize_Click(object sender, RoutedEventArgs e)
        {
            YellowstonePathology.Business.Rules.MethodResult methodResult = this.m_PanelSetOrder.IsOkToFinalize();
            if (methodResult.Success == true)
            {
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(this.m_PanelSetOrder.OrderedOn, this.m_PanelSetOrder.OrderedOnId);
                this.m_PanelSetOrder.Finalize();

                YellowstonePathology.Business.Test.Surgical.SurgicalTest panelSetSurgical = new YellowstonePathology.Business.Test.Surgical.SurgicalTest();

                if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetSurgical.PanelSetId) == true)
                {
                    YellowstonePathology.Business.Test.PanelSetOrder surgicalPanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetSurgical.PanelSetId);
                    if (surgicalPanelSetOrder.AmendmentCollection.HasAmendmentForReport(this.m_PanelSetOrder.ReportNo) == false)
                    {
                        string amendmentText = YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHSystemGeneratedAmendmentText.AmendmentText(this.m_PanelSetOrder);
                        YellowstonePathology.Business.Amendment.Model.Amendment amendment = surgicalPanelSetOrder.AddAmendment();
                        amendment.TestResultAmendmentFill(surgicalPanelSetOrder.ReportNo, surgicalPanelSetOrder.AssignedToId, amendmentText);
                        amendment.ReferenceReportNo = this.m_PanelSetOrder.ReportNo;
                        amendment.SystemGenerated   = true;
                    }
                }
            }
            else
            {
                MessageBox.Show(methodResult.Message);
            }
        }
Exemple #2
0
        public MTDohResultView(string reportNo, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);

            this.m_OrderingPhysician = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetPhysicianByPhysicianId(this.m_AccessionOrder.PhysicianId);
        }
        public override void Visit(Test.AccessionOrder accessionOrder)
        {
            YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrderByTestOrderId(this.m_TestOrder.TestOrderId);

            YellowstonePathology.Business.Facility.Model.Facility accessioningFacility = Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId(accessionOrder.AccessioningFacilityId);

            Slide.Model.Slide slide = Slide.Model.SlideFactory.Get(this.m_TestOrder.TestId);

            int    nextSlideNumber = this.m_AliquotOrder.SlideOrderCollection.Count() + 1;
            string objectId        = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
            string slideOrderId    = YellowstonePathology.Business.OrderIdParser.GetNextSlideOrderId(this.m_AliquotOrder.SlideOrderCollection, this.m_AliquotOrder.AliquotOrderId);

            YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = new Business.Slide.Model.SlideOrder(objectId, slideOrderId, this.m_AliquotOrder, this.m_TestOrder, this.m_SystemIdentity, nextSlideNumber);
            slideOrder.TestOrder            = this.m_TestOrder;
            slideOrder.ReportNo             = panelSetOrder.ReportNo;
            slideOrder.TestOrderId          = this.m_TestOrder.TestOrderId;
            slideOrder.TestId               = this.m_TestOrder.TestId;
            slideOrder.TestName             = this.m_TestOrder.TestName;
            slideOrder.TestAbbreviation     = this.m_TestOrder.TestAbbreviation;
            slideOrder.PatientLastName      = accessionOrder.PLastName;
            slideOrder.PatientFirstName     = accessionOrder.PFirstName;
            slideOrder.OrderedBy            = string.IsNullOrEmpty(this.m_TestOrder.OrderedBy) ? "NONE" : this.m_TestOrder.OrderedBy;
            slideOrder.AccessioningFacility = accessioningFacility.LocationAbbreviation;
            slideOrder.LabelType            = slide.LabelType.ToString();
            slideOrder.UseWetProtocol       = this.m_TestOrder.UseWetProtocol;
            slideOrder.PerformedByHand      = this.m_TestOrder.PerformedByHand;

            this.m_NewSlideOrder = slideOrder;
            this.m_TestOrder.SlideOrderCollection.Add(slideOrder);
            this.m_AliquotOrder.SlideOrderCollection.Add(slideOrder);
        }
Exemple #4
0
        private bool HandleAddMEDITECHDistribution(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            bool result = true;

            if (panelSetOrder.TestOrderReportDistributionCollection.DistributionTypeExists(YellowstonePathology.Business.ReportDistribution.Model.DistributionType.MEDITECH) == false)
            {
                YellowstonePathology.Business.Client.Model.ClientGroupClientCollection westParkHospitalGroup = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetClientGroupClientCollectionByClientGroupId("36");
                if (westParkHospitalGroup.ClientIdExists(accessionOrder.ClientId) == true)
                {
                    if (string.IsNullOrEmpty(accessionOrder.SvhAccount) == true || string.IsNullOrEmpty(accessionOrder.SvhMedicalRecord) == true)
                    {
                        this.HandleAddFaxDistribution(panelSetOrder);
                    }
                    else
                    {
                        YellowstonePathology.Business.PanelSet.Model.PanelSetCollection panelSetCollection = YellowstonePathology.Business.PanelSet.Model.PanelSetCollection.GetAll();
                        YellowstonePathology.Business.PanelSet.Model.PanelSet           panelSet           = panelSetCollection.GetPanelSet(panelSetOrder.PanelSetId);
                        if (panelSet.ResultDocumentSource == YellowstonePathology.Business.PanelSet.Model.ResultDocumentSourceEnum.YPIDatabase)
                        {
                            this.AddTestOrderReportDistribution(panelSetOrder, accessionOrder.PhysicianId, accessionOrder.PhysicianName, accessionOrder.ClientId, accessionOrder.ClientName, YellowstonePathology.Business.ReportDistribution.Model.DistributionType.MEDITECH, this.FaxNumber);
                        }
                        else
                        {
                            this.HandleAddFaxDistribution(panelSetOrder);
                        }
                    }
                }
                else
                {
                    this.HandleAddFaxDistribution(panelSetOrder);
                }
            }
            return(result);
        }
        private void ComboBoxUser_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (this.m_IsLoaded == true)
            {
                ComboBox comboBox = (ComboBox)sender;
                YellowstonePathology.Business.Test.PanelSetOrder      panelSetOrder  = (YellowstonePathology.Business.Test.PanelSetOrder)comboBox.Tag;
                YellowstonePathology.Business.User.SystemUser         systemUser     = (YellowstonePathology.Business.User.SystemUser)comboBox.SelectedItem;
                YellowstonePathology.Business.Facility.Model.Facility ypiBLGS        = Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId("YPIBLGS");
                YellowstonePathology.Business.Facility.Model.Facility buttePathology = Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId("BTTPTHLGY");

                YellowstonePathology.Business.Facility.Model.Facility ypBLGS = Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId("YPBLGS");

                if (systemUser.UserId == 5132 || systemUser.UserId == 5133) //Dr Shannon and Dr Smirnoff
                {
                    panelSetOrder.TechnicalComponentFacilityId        = ypiBLGS.FacilityId;
                    panelSetOrder.TechnicalComponentBillingFacilityId = ypiBLGS.FacilityId;

                    if (panelSetOrder.HasProfessionalComponent == true)
                    {
                        panelSetOrder.ProfessionalComponentFacilityId        = buttePathology.FacilityId;
                        panelSetOrder.ProfessionalComponentBillingFacilityId = buttePathology.FacilityId;
                    }
                    else
                    {
                        panelSetOrder.ProfessionalComponentFacilityId        = null;
                        panelSetOrder.ProfessionalComponentBillingFacilityId = null;
                    }
                }
            }
        }
Exemple #6
0
        public override void AcceptResults(YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus, YellowstonePathology.Business.Test.AccessionOrder accessionOrder, Business.User.SystemUser acceptingUser)
        {
            YellowstonePathology.Business.Rules.ExecutionStatus executionStatus = new YellowstonePathology.Business.Rules.ExecutionStatus();
            YellowstonePathology.Business.Test.PanelSetOrder    panelSetOrder   = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.ReportNo);
            if (panelSetOrder.Final == true)
            {
                executionStatus.AddMessage(this.ReportNo + " is already finaled.", true);
                ruleExecutionStatus.PopulateFromLinqExecutionStatus(executionStatus);
                return;
            }

            if (this.Accepted == true)
            {
                executionStatus.AddMessage(this.ReportNo + " Acid Wash result has already been accepted.", true);
                ruleExecutionStatus.PopulateFromLinqExecutionStatus(executionStatus);
                return;
            }

            this.Accepted     = true;
            this.AcceptedById = acceptingUser.UserId;
            this.AcceptedDate = DateTime.Today;
            this.AcceptedTime = DateTime.Now;

            this.Acknowledged     = true;
            this.AcknowledgedById = acceptingUser.UserId;
            this.AcknowledgedDate = DateTime.Today;
            this.AcknowledgedTime = DateTime.Now;
        }
Exemple #7
0
        public static void ShowDialog(YellowstonePathology.Business.Test.PanelSetOrder reportOrder)
        {
            if (reportOrder != null)
            {
                switch (reportOrder.PanelSetId)
                {
                case 51:     //Fish Analysis
                    YellowstonePathology.Business.Test.FishAnalysis.FishAnalysisTestOrder reportOrderFishAnalysis = (YellowstonePathology.Business.Test.FishAnalysis.FishAnalysisTestOrder)reportOrder;
                    YellowstonePathology.UI.ReportOrder.ReportOrderFishAnalysisDialog     reportOrderFishDialog   = new ReportOrderFishAnalysisDialog(reportOrderFishAnalysis);
                    reportOrderFishDialog.ShowDialog();
                    break;

                case 52:     //Molecular Analysis
                    YellowstonePathology.Business.Test.MolecularAnalysis.MolecularAnalysisTestOrder reportOrderMolecularAnalysis = (YellowstonePathology.Business.Test.MolecularAnalysis.MolecularAnalysisTestOrder)reportOrder;
                    YellowstonePathology.UI.ReportOrder.ReportOrderMolecularAnalysisDialog          reportOrderMolecularDialog   = new ReportOrderMolecularAnalysisDialog(reportOrderMolecularAnalysis);
                    reportOrderMolecularDialog.ShowDialog();
                    break;

                case 53:     //Absolute CD4 Count
                    YellowstonePathology.Business.Test.AbsoluteCD4Count.AbsoluteCD4CountTestOrder reportOrderAbsolutCD4Count       = (YellowstonePathology.Business.Test.AbsoluteCD4Count.AbsoluteCD4CountTestOrder)reportOrder;
                    YellowstonePathology.UI.ReportOrder.ReportOrderAbsoluteCD4CountDialog         reportOrderAbsolutCD4CountDialog = new ReportOrderAbsoluteCD4CountDialog(reportOrderAbsolutCD4Count);
                    reportOrderAbsolutCD4CountDialog.ShowDialog();
                    break;
                }
            }
        }
        public ProviderDistributionPage(string reportNo,
                                        YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                        YellowstonePathology.UI.Navigation.PageNavigator pageNavigator,
                                        Visibility nextButtonVisibility,
                                        Visibility closeButtonVisibility,
                                        Visibility backButtonVisibility)
        {
            this.m_PageNavigator = pageNavigator;

            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder  = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);

            this.m_NextButtonVisibility  = nextButtonVisibility;
            this.m_CloseButtonVisibility = closeButtonVisibility;
            this.m_BackButtonVisibility  = backButtonVisibility;

            this.m_SystemUserCollection = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection;

            this.m_ClientPhysicianNotSetAuditCollection = new Business.Audit.Model.AuditCollection();
            this.m_ClientPhysicianNotSetAuditCollection.Add(new YellowstonePathology.Business.Audit.Model.ClientNotSetAudit(this.m_AccessionOrder));
            this.m_ClientPhysicianNotSetAuditCollection.Add(new YellowstonePathology.Business.Audit.Model.PhysicianNotSetAudit(this.m_AccessionOrder));

            InitializeComponent();
            this.ExpanderOptions.IsExpanded = true;

            DataContext = this;

            this.Loaded += new RoutedEventHandler(ProviderDetailPage_Loaded);
            Close       += ProviderDistributionPage_Close;
        }
        private void RunPSATransfer(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            System.ComponentModel.BackgroundWorker           worker             = sender as System.ComponentModel.BackgroundWorker;
            YellowstonePathology.Business.ReportNoCollection reportNoCollection = YellowstonePathology.Business.Gateway.AccessionOrderGateway.GetReportNumbersByPostDate(this.m_PostDate.Value);

            string workingFolder = System.IO.Path.Combine(this.m_BaseWorkingFolderPath, this.m_PostDate.Value.ToString("MMddyyyy"));

            this.SetupWorkingFolders(workingFolder);

            foreach (YellowstonePathology.Business.ReportNo reportNo in reportNoCollection)
            {
                string masterAccessionNo = YellowstonePathology.Business.Gateway.AccessionOrderGateway.GetMasterAccessionNoFromReportNo(reportNo.Value);
                YellowstonePathology.Business.Test.AccessionOrder accessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.GetAccessionOrderByMasterAccessionNo(masterAccessionNo);
                YellowstonePathology.Business.Test.PanelSetOrder  panelSetOrder  = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo.Value);

                if (accessionOrder.UseBillingAgent == true)
                {
                    if (panelSetOrder.IsBillable == true)
                    {
                        if (panelSetOrder.PanelSetOrderCPTCodeBillCollection.HasItemsToSendToPSA() == true)
                        {
                            this.m_ReportNumbersToProcess.Add(reportNo.Value);
                            this.CreatePatientTifFile(reportNo.Value);
                            this.CreateXmlBillingDocument(accessionOrder, reportNo.Value);
                            this.CopyFiles(reportNo.Value, accessionOrder.MasterAccessionNo, workingFolder);

                            this.m_BackgroundWorker.ReportProgress(1, reportNo.Value + " Complete.");
                        }
                    }
                }
            }
        }
Exemple #10
0
        public AddFISHCPTCodePage(string reportNo, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder  = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);

            Business.PanelSet.Model.PanelSetCollection allTests = Business.PanelSet.Model.PanelSetCollection.GetAll();
            Business.PanelSet.Model.PanelSet           panelSet = allTests.GetPanelSet(this.m_PanelSetOrder.PanelSetId);
            if (panelSet is Business.PanelSet.Model.FISHTest)
            {
                Business.PanelSet.Model.FISHTest fishTest = (Business.PanelSet.Model.FISHTest)panelSet;
                this.m_ProbeSetCount   = fishTest.ProbeSetCount;
                this.m_FISHCPTCodeList = new Business.Billing.Model.FISHCPTCodeList(this.m_ProbeSetCount);
            }
            else
            {
                this.m_ProbeSetCount = 0;
                MessageBox.Show("This FISH test does not have the Probe Set Count defined.");
            }

            this.m_PageHeaderText = "CPT Codes For " + this.m_PanelSetOrder.ReportNo + ": " + this.m_AccessionOrder.PatientDisplayName + " - " + this.m_AccessionOrder.PBirthdate.Value.ToShortDateString();

            DataContext = this;

            InitializeComponent();
        }
        public AdditionalTestingEMailPage(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder,
            YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_PanelSetOrder = panelSetOrder;
            this.m_AccessionOrder = accessionOrder;

            if (string.IsNullOrEmpty(this.m_PanelSetOrder.AdditionalTestingEmailAddress) == true)
            {
                YellowstonePathology.Business.Domain.Physician physician = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetPhysicianByPhysicianId(this.m_AccessionOrder.PhysicianId);
                this.m_PanelSetOrder.AdditionalTestingEmailAddress = physician.PublishNotificationEmailAddress;
            }

            if(string.IsNullOrEmpty(this.m_PanelSetOrder.AdditionalTestingEmailMessage) == true)
            {
                this.m_PanelSetOrder.AdditionalTestingEmailMessage = "Additional Testing is being performed.  Use YPI Connect to see details." + Environment.NewLine +
                    Environment.NewLine + Environment.NewLine + "If you don't have access to YPI Connect please call us at (406)238-6360.";
            }

            InitializeComponent();

            DataContext = this;

            Loaded += AdditionalTestingEMailPage_Loaded;
            Unloaded += AdditionalTestingEMailPage_Unloaded;
        }
Exemple #12
0
        private void CreateDocument()
        {
            this.m_Document = new XElement("HL7Message");

            CMMCHl7Client client      = new CMMCHl7Client();
            OruR01        messageType = new OruR01();

            CMMCMshView msh = new CMMCMshView(client, messageType, "YPII");

            msh.ToXml(this.m_Document);

            CMMCPidView pid = new CMMCPidView(this.m_AccessionOrder.SvhMedicalRecord, this.m_AccessionOrder.PLastName, this.m_AccessionOrder.PFirstName, this.m_AccessionOrder.PBirthdate,
                                              this.m_AccessionOrder.PSex, this.m_AccessionOrder.SvhAccount, this.m_AccessionOrder.PSSN);

            pid.ToXml(this.m_Document);

            CMMCOrcView orc = new CMMCOrcView(this.m_AccessionOrder, this.m_PanelSetOrder.ReportNo);

            orc.ToXml(this.m_Document);

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection[0];
            CMMCObrView obr = new CMMCObrView(this.m_AccessionOrder.ExternalOrderId, this.m_PanelSetOrder.ReportNo, specimenOrder.CollectionTime, this.m_AccessionOrder.AccessionDateTime, this.m_AccessionOrder.AccessionDate, this.m_OrderingPhysician, ResultStatusEnum.Final.Value);

            obr.ToXml(this.m_Document);

            YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_PanelSetOrder.ReportNo);
            CMMCNteView nteView = CMMCNteViewFactory.GetNteView(panelSetOrder.PanelSetId, this.m_AccessionOrder, this.m_PanelSetOrder.ReportNo);

            nteView.ToXml(this.m_Document);
        }
Exemple #13
0
        public AdditionalTestingEMailPage(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder,
                                          YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_PanelSetOrder  = panelSetOrder;
            this.m_AccessionOrder = accessionOrder;

            if (string.IsNullOrEmpty(this.m_PanelSetOrder.AdditionalTestingEmailAddress) == true)
            {
                YellowstonePathology.Business.Domain.Physician physician = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetPhysicianByPhysicianId(this.m_AccessionOrder.PhysicianId);
                this.m_PanelSetOrder.AdditionalTestingEmailAddress = physician.PublishNotificationEmailAddress;
            }

            if (string.IsNullOrEmpty(this.m_PanelSetOrder.AdditionalTestingEmailMessage) == true)
            {
                this.m_PanelSetOrder.AdditionalTestingEmailMessage = "Additional Testing is being performed.  Use YPI Connect to see details." + Environment.NewLine +
                                                                     Environment.NewLine + Environment.NewLine + "If you don't have access to YPI Connect please call us at (406)238-6360.";
            }

            InitializeComponent();

            DataContext = this;

            Loaded   += AdditionalTestingEMailPage_Loaded;
            Unloaded += AdditionalTestingEMailPage_Unloaded;
        }
Exemple #14
0
 private void ResendPantherOrder(YellowstonePathology.Business.Test.PantherOrderListItem pantherOrderListItem, YellowstonePathology.Business.HL7View.Panther.PantherAssay pantherAssay)
 {
     YellowstonePathology.Business.Test.AccessionOrder accessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAccessionOrder(pantherOrderListItem.MasterAccessionNo, this);
     YellowstonePathology.Business.Persistence.DocumentGateway.Instance.ReleaseLock(accessionOrder, this);
     if (accessionOrder.SpecimenOrderCollection.HasThinPrepFluidSpecimen() == true)
     {
         YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = accessionOrder.SpecimenOrderCollection.GetThinPrep();
         if (specimenOrder.AliquotOrderCollection.HasPantherAliquot() == true)
         {
             YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = specimenOrder.AliquotOrderCollection.GetPantherAliquot();
             YellowstonePathology.Business.Test.PanelSetOrder           panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(pantherOrderListItem.ReportNo);
             YellowstonePathology.Business.HL7View.Panther.PantherOrder pantherOrder  = new Business.HL7View.Panther.PantherOrder(pantherAssay, specimenOrder, aliquotOrder, accessionOrder, panelSetOrder, YellowstonePathology.Business.HL7View.Panther.PantherActionCode.NewSample);
             pantherOrder.Send();
             //MessageBox.Show("An order has been sent to the Panther.");
         }
         else
         {
             MessageBox.Show("No Panther aliquot found.");
         }
     }
     else
     {
         MessageBox.Show("No Thin Prep Fluid Specimen Found.");
     }
 }
        public bool TryDelete(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder, YellowstonePathology.Business.Interface.ICaseDocument caseDocument,
                              YellowstonePathology.Business.OrderIdParser orderIdParser)
        {
            bool result = true;

            YellowstonePathology.Business.Rules.MethodResult methodResult = caseDocument.DeleteCaseFiles(orderIdParser);

            if (methodResult.Success == false)
            {
                this.DelayPublishAndDistribution(15, "Not able to delete files prior to publishing.", panelSetOrder);

                this.m_ReportDistributionLogEntryCollection.AddEntry("ERROR", "Publish Next", null, panelSetOrder.ReportNo, panelSetOrder.MasterAccessionNo,
                                                                     null, null, "Not able to delete files prior to publishing.");

                System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage("*****@*****.**", "*****@*****.**", System.Windows.Forms.SystemInformation.UserName, "Not able to delete files prior to publishing: " + panelSetOrder.ReportNo);
                System.Net.Mail.SmtpClient  client  = new System.Net.Mail.SmtpClient("10.1.2.111");

                Uri uri = new Uri("http://tempuri.org/");
                System.Net.ICredentials      credentials = System.Net.CredentialCache.DefaultCredentials;
                System.Net.NetworkCredential credential  = credentials.GetCredential(uri, "Basic");

                client.Credentials = credential;
                client.Send(message);

                result = false;
            }

            return(result);
        }
        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);
        }
Exemple #17
0
        private void HandleNotificationEmail(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder)
        {
            YellowstonePathology.Business.Domain.Physician physician = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetPhysicianByMasterAccessionNo(panelSetOrder.MasterAccessionNo);
            if (physician.SendPublishNotifications == true)
            {
                if (panelSetOrder.Distribute == true)
                {
                    string subject = "You have a result ready for review: " + panelSetOrder.PanelSetName;
                    string body    = "You have a patient report ready. You can review the report by using YPI Connect.  If you don't have access to YPI Connect please call us at (406)238-6360.";

                    System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress("*****@*****.**");
                    System.Net.Mail.MailAddress to   = new System.Net.Mail.MailAddress(physician.PublishNotificationEmailAddress);
                    System.Net.Mail.MailAddress bcc  = new System.Net.Mail.MailAddress("*****@*****.**");

                    System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(from, to);
                    message.Subject = subject;
                    message.Body    = body;
                    message.Bcc.Add(bcc);

                    System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("10.1.2.111");

                    Uri uri = new Uri("http://tempuri.org/");
                    System.Net.ICredentials      credentials = System.Net.CredentialCache.DefaultCredentials;
                    System.Net.NetworkCredential credential  = credentials.GetCredential(uri, "Basic");

                    client.Credentials = credential;
                    client.Send(message);

                    panelSetOrder.TimeOfLastPublishNotification = DateTime.Now;
                    panelSetOrder.PublishNotificationSent       = true;
                }
            }
        }
 public IsOkToAddToDistributionAudit(YellowstonePathology.Business.ReportDistribution.Model.TestOrderReportDistribution testOrderReportDistribution,
                                     YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
     : base(accessionOrder)
 {
     this.m_TestOrderReportDistribution = testOrderReportDistribution;
     this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_TestOrderReportDistribution.ReportNo);
 }
Exemple #19
0
        public void AssignScreenings(List <YellowstonePathology.Business.Search.CytologyScreeningSearchResult> cytologyScreeningSearchResults, YellowstonePathology.Business.User.SystemUser systemUser)
        {
            this.Save(false);
            YellowstonePathology.Business.Rules.ExecutionStatus executionStatus = new Business.Rules.ExecutionStatus();
            this.m_SystemIdentity = YellowstonePathology.Business.User.SystemIdentity.Instance;

            foreach (YellowstonePathology.Business.Search.CytologyScreeningSearchResult cytologyScreeningSearchResult in cytologyScreeningSearchResults)
            {
                YellowstonePathology.Business.Test.AccessionOrder accessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAccessionOrder(cytologyScreeningSearchResult.MasterAccessionNo, this.m_Writer);

                if (accessionOrder.IsLockAquiredByMe == true)
                {
                    YellowstonePathology.Business.Rules.Cytology.AssignScreening assignScreening = new YellowstonePathology.Business.Rules.Cytology.AssignScreening(this.m_Writer);
                    assignScreening.Execute(cytologyScreeningSearchResult.MasterAccessionNo, systemUser.UserId, executionStatus);
                }
                else
                {
                    YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPAP();
                    executionStatus.AddMessage(panelSetOrder.ReportNo + " was not assigned as it is locked.", false);
                }
                YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Push(accessionOrder, this.m_Writer);
            }

            if (executionStatus.ExecutionMessages.Count > 0)
            {
                YellowstonePathology.Business.Rules.ExecutionStatusDialog executionStatusDialog = new Business.Rules.ExecutionStatusDialog(executionStatus);
                executionStatusDialog.ShowDialog();
            }

            this.LoadDataByReportNo(this.m_PanelSetOrderCytology.ReportNo);
        }
 public PSABillingDocument(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo)
     : base("Case")
 {
     this.m_AccessionOrder = accessionOrder;
     this.m_ReportNo       = reportNo;
     this.m_PanelSetOrder  = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo);
 }
        //private bool m_Closing;
        public ProviderDistributionPage(string reportNo, 
            YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
            YellowstonePathology.UI.Navigation.PageNavigator pageNavigator,
            Visibility nextButtonVisibility,
            Visibility closeButtonVisibility,
            Visibility backButtonVisibility)
        {
            this.m_PageNavigator = pageNavigator;

            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);

            this.m_NextButtonVisibility = nextButtonVisibility;
            this.m_CloseButtonVisibility = closeButtonVisibility;
            this.m_BackButtonVisibility = backButtonVisibility;

            this.m_SystemUserCollection = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection;

            this.m_ClientPhysicianNotSetAuditCollection = new Business.Audit.Model.AuditCollection();
            this.m_ClientPhysicianNotSetAuditCollection.Add(new YellowstonePathology.Business.Audit.Model.ClientNotSetAudit(this.m_AccessionOrder));
            this.m_ClientPhysicianNotSetAuditCollection.Add(new YellowstonePathology.Business.Audit.Model.PhysicianNotSetAudit(this.m_AccessionOrder));

            InitializeComponent();

            DataContext = this;

            this.Loaded += new RoutedEventHandler(ProviderDetailPage_Loaded);
            Close += ProviderDistributionPage_Close;
        }
Exemple #22
0
        public ResultControl(YellowstonePathology.Business.Test.PanelSetOrder testOrder,
            YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_TestOrder = testOrder;
            this.m_ControlsNotDisabledOnFinal = new List<FrameworkElement>();

            this.m_DisableRequired = false;
            if (accessionOrder.AccessionLock.IsLockAquiredByMe == false)
            {
                this.m_DisableRequired = true;
            }
            else if(this.m_TestOrder.Final == true)
            {
                if(this.m_TestOrder.Distribute == false)
                {
                    this.m_DisableRequired = true;
                }
                else if(this.m_TestOrder.TestOrderReportDistributionCollection.HasDistributedItems())
                {
                    this.m_DisableRequired = true;
                }
            }

            this.Loaded += ResultControl_Loaded;
        }
Exemple #23
0
        public override void SetStatus(PanelSetOrderCollection panelSetOrderCollection)
        {
            if (panelSetOrderCollection.HasPanelSetBeenOrdered(this.PanelSet.PanelSetId) == false)
            {
                this.m_Ordered       = false;
                this.m_StatusMessage = "Not Ordered";
            }
            else
            {
                YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = panelSetOrderCollection.GetPanelSetOrder(this.PanelSet.PanelSetId);
                this.m_Ordered   = true;
                this.m_OrderDate = panelSetOrder.OrderDate;

                if (panelSetOrder.Final == false)
                {
                    this.m_StatusMessage = "Not Finalized";
                }
                else
                {
                    this.m_StatusMessage   = "Finaled";
                    this.m_ResultIsFinal   = true;
                    this.m_ResultFinalDate = panelSetOrder.FinalDate;
                }
            }
        }
        private bool TryPublish(YellowstonePathology.Business.Interface.ICaseDocument caseDocument, Business.Test.AccessionOrder accessionOrder,
                                YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder)
        {
            bool result = true;

            //try
            //{

            //YellowstonePathology.Business.PanelSet.Model.ResultDocumentSourceEnum resultDocumentSource;
            //bool hasEnum = Enum.TryParse<YellowstonePathology.Business.PanelSet.Model.ResultDocumentSourceEnum>(panelSetOrder.ResultDocumentSource, out resultDocumentSource);
            //if(hasEnum == true && resultDocumentSource != YellowstonePathology.Business.PanelSet.Model.ResultDocumentSourceEnum.PublishedDocument)
            //{
            //   caseDocument.Publish();
            //}

            if (panelSetOrder.ResultDocumentSource == YellowstonePathology.Business.PanelSet.Model.ResultDocumentSourceEnum.YPIDatabase.ToString())
            {
                caseDocument.Render();
                caseDocument.Publish();
            }

            this.m_ReportDistributionLogEntryCollection.AddEntry("INFO", "Publish Next", null, panelSetOrder.ReportNo, panelSetOrder.MasterAccessionNo, null, null, "PanelSetOrder Published");
            //}
            //catch (Exception publishException)
            //{
            //    this.m_ReportDistributionLogEntryCollection.AddEntry("ERROR", "Publish Next", null, panelSetOrder.ReportNo, panelSetOrder.MasterAccessionNo, null, null, publishException.Message);
            //    this.DelayPublishAndDistribution(15, publishException.Message, panelSetOrder);
            //    result = false;
            //}

            return(result);
        }
Exemple #25
0
        private void HandlePanelSetOrder()
        {
            this.m_ReportNo = this.m_AccessionOrder.GetNextReportNo(this.m_PanelSet);
            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();

            bool distribute = this.m_TestOrderInfo.Distribute;

            if (this.m_PanelSet.NeverDistribute == true)
            {
                distribute = false;
            }

            this.m_PanelSetOrder = null;
            if (this.m_PanelSet.HasNoOrderTarget == true)
            {
                this.m_PanelSetOrder = YellowstonePathology.Business.Test.PanelSetOrderFactory.CreatePanelSetOrder(this.m_AccessionOrder.MasterAccessionNo, this.m_ReportNo, objectId, this.m_PanelSet, distribute);
            }
            else
            {
                if (this.m_OrderTargetIsKnow == false)
                {
                    this.m_OrderTarget = this.m_AccessionOrder.SpecimenOrderCollection.GetOrderTarget(this.m_PanelSet.OrderTargetTypeCollectionRestrictions);
                }
                this.m_PanelSetOrder = YellowstonePathology.Business.Test.PanelSetOrderFactory.CreatePanelSetOrder(this.m_AccessionOrder.MasterAccessionNo, this.m_ReportNo, objectId, this.m_PanelSet, this.m_OrderTarget, distribute);
            }

            this.m_AccessionOrder.PanelSetOrderCollection.Add(this.m_PanelSetOrder);
            this.m_AccessionOrder.UpdateCaseAssignment(this.m_PanelSetOrder);
            this.m_TestOrderInfo.PanelSetOrder = this.m_PanelSetOrder;
        }
Exemple #26
0
 private void StartAliquotAndStainOrderPath()
 {
     YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo);
     YellowstonePathology.UI.Login.FinalizeAccession.AliquotAndStainOrderPath aliquotAndStainOrderPath = new AliquotAndStainOrderPath(this.m_AccessionOrder, panelSetOrder, this.m_PageNavigator);
     aliquotAndStainOrderPath.Return += new AliquotAndStainOrderPath.ReturnEventHandler(AliquotAndStainOrderPath_Return);
     aliquotAndStainOrderPath.Start();
 }
Exemple #27
0
        public MTDohResultView(string reportNo, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder  = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);

            this.m_OrderingPhysician = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetPhysicianByPhysicianId(this.m_AccessionOrder.PhysicianId);
        }
 private void HyperLinkDeleteSelectedOrder_Click(object sender, RoutedEventArgs e)
 {
     if (this.ListBoxPanelSetOrders.SelectedItems.Count != 0)
     {
         YellowstonePathology.Business.Test.PanelSetOrder pso = (YellowstonePathology.Business.Test.PanelSetOrder) this.ListBoxPanelSetOrders.SelectedItem;
         if (pso.PanelSetId != 15)
         {
             MessageBoxResult result = MessageBox.Show("Are you sure you want to delete this report.", "Delete Report", MessageBoxButton.YesNo);
             if (result == MessageBoxResult.Yes)
             {
                 if (pso.Final == false)
                 {
                     if (pso.PanelSetId == 14)
                     {
                         this.m_AccessionOrder.PanelSetOrderCollection.Remove(pso);
                         this.m_AuditCollection.Run();
                         this.NotifyPropertyChanged(string.Empty);
                     }
                 }
                 else
                 {
                     MessageBox.Show("Cannot delete this order because its final");
                 }
             }
         }
         else
         {
             MessageBox.Show("The PAP cannot be deleted from this window.");
         }
     }
 }
 public PSABillingDocument(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo)
     : base("Case")
 {
     this.m_AccessionOrder = accessionOrder;
     this.m_ReportNo = reportNo;
     this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo);
 }
Exemple #30
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);
        }
Exemple #31
0
        public EGFRToALKReflexAnalysisElementResult(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, int panelSetId)
        {
            YellowstonePathology.Business.PanelSet.Model.PanelSetCollection panelSetCollection = YellowstonePathology.Business.PanelSet.Model.PanelSetCollection.GetAll();
            this.m_PanelSet = panelSetCollection.GetPanelSet(panelSetId);

            this.m_TestAbbreviation = this.m_PanelSet.Abbreviation;
            if (accessionOrder.PanelSetOrderCollection.Exists(panelSetId) == true)
            {
                this.m_Ordered = true;
                this.m_Status  = EGFRToALKReflexAnalysisElementStatusEnum.Ordered;

                this.m_PanelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetId);
                this.m_Final         = this.m_PanelSetOrder.Final;

                if (this.m_PanelSetOrder.Accepted == true)
                {
                    this.m_Status = EGFRToALKReflexAnalysisElementStatusEnum.Accepted;
                }
                if (this.m_PanelSetOrder.Final == true)
                {
                    this.m_Status = EGFRToALKReflexAnalysisElementStatusEnum.Final;
                }
            }
            else
            {
                this.m_Ordered = false;
                this.m_Final   = false;
                this.m_Status  = EGFRToALKReflexAnalysisElementStatusEnum.NotOrdered;
            }
        }
Exemple #32
0
        public ResultControl(YellowstonePathology.Business.Test.PanelSetOrder testOrder,
                             YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_TestOrder = testOrder;
            this.m_ControlsNotDisabledOnFinal  = new List <FrameworkElement>();
            this.m_ControlsNotEnabledOnUnFinal = new List <FrameworkElement>();
            YellowstonePathology.Business.Amendment.Model.AmendmentCollection amendmentCollection = accessionOrder.AmendmentCollection.GetAmendmentsForReport(testOrder.ReportNo);

            this.m_DisableRequired = false;
            if (accessionOrder.AccessionLock.IsLockAquiredByMe == false)
            {
                this.m_DisableRequired = true;
            }
            else if (this.m_TestOrder.Final == true)
            {
                if (amendmentCollection.HasOpenAmendment() == true)
                {
                    this.m_DisableRequired = false;
                }
                else if (this.m_TestOrder.Distribute == false)
                {
                    this.m_DisableRequired = true;
                }
                else if (this.m_TestOrder.TestOrderReportDistributionCollection.HasDistributedItems())
                {
                    this.m_DisableRequired = true;
                }
            }

            this.Loaded += ResultControl_Loaded;
        }
Exemple #33
0
 public void SetDistribution(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
 {
     foreach (PhysicianClientDistribution physicianClientDistribution in this)
     {
         physicianClientDistribution.SetDistribution(panelSetOrder, accessionOrder);
     }
 }
 private void MenuItemCancelPantherOrder_Click(object sender, RoutedEventArgs e)
 {
     if (this.ListViewAccessionOrders.SelectedItem != null)
     {
         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(14);
                 YellowstonePathology.Business.HL7View.Panther.PantherAssayHPV pantherAssayHPV = new Business.HL7View.Panther.PantherAssayHPV();
                 YellowstonePathology.Business.HL7View.Panther.PantherOrder    pantherOrder    = new Business.HL7View.Panther.PantherOrder(pantherAssayHPV, specimenOrder, aliquotOrder, this.m_LoginUI.AccessionOrder, panelSetOrder, YellowstonePathology.Business.HL7View.Panther.PantherActionCode.CancelRequest);
                 pantherOrder.Send();
             }
             else
             {
                 MessageBox.Show("No Panther aliquot found.");
             }
         }
         else
         {
             MessageBox.Show("No Thin Prep Fluid Specimen Found.");
         }
     }
 }
        public static bool IsMountainViewNeo(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo)
        {
            bool result = false;

            YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);
            YellowstonePathology.Business.Client.Model.ClientGroupClientCollection mountainViewGroup = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetClientGroupClientCollectionByClientGroupId("44");
            if (mountainViewGroup.ClientIdExists(accessionOrder.ClientId) == true)
            {
                YellowstonePathology.Business.Facility.Model.Facility neogenomicsIrvine = YellowstonePathology.Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId("NEOGNMCIRVN");
                if (panelSetOrder.TechnicalComponentFacilityId == neogenomicsIrvine.FacilityId)
                {
                    //exclude flow performed by NEO
                    if (panelSetOrder.PanelSetId == 248)
                    {
                        result = false;
                    }
                    //Exclude Outpatient Medicaid
                    else if (accessionOrder.PatientType == "OP" && accessionOrder.PrimaryInsurance == "Medicaid")
                    {
                        result = false;
                    }
                    else if (accessionOrder.PatientType == "OP" && accessionOrder.SecondaryInsurance == "Medicaid")
                    {
                        result = false;
                    }
                    else
                    {
                        result = true;
                    }
                }
            }
            return(result);
        }
        private void HyperLinkFinalizeResults_Click(object sender, RoutedEventArgs e)
        {
            if (this.m_PanelSetOrder.Final == true && this.m_PanelSetOrder.StainPercent.Contains("%") == false)
            {
                MessageBoxResult noPercentResult = MessageBox.Show("The result for PDL should have a % which is not present.  Are you sure you want to continue?", "Continue?", MessageBoxButton.OKCancel);
                if (noPercentResult == MessageBoxResult.Cancel)
                {
                    return;
                }
            }

            bool okToFinal = false;

            YellowstonePathology.Business.Audit.Model.AuditResult auditResult = this.m_PanelSetOrder.IsOkToFinalize(this.m_AccessionOrder);
            if (auditResult.Status == Business.Audit.Model.AuditStatusEnum.OK)
            {
                okToFinal = true;
            }
            else if (auditResult.Status == Business.Audit.Model.AuditStatusEnum.Warning)
            {
                MessageBoxResult messageBoxResult = MessageBox.Show(auditResult.Message, "Results do not match the finaled summary results",
                                                                    MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
                if (messageBoxResult == MessageBoxResult.Yes)
                {
                    okToFinal = true;
                }
            }
            else
            {
                MessageBox.Show(auditResult.Message);
            }

            if (okToFinal == true)
            {
                YellowstonePathology.Business.Test.FinalizeTestResult finalizeTestResult = this.m_PanelSetOrder.Finish(this.m_AccessionOrder);
                this.HandleFinalizeTestResult(finalizeTestResult);
                if (this.m_PanelSetOrder.Accepted == false)
                {
                    this.m_PanelSetOrder.Accept();
                }

                YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(this.m_PanelSetOrder.OrderedOn, this.m_PanelSetOrder.OrderedOnId);

                YellowstonePathology.Business.Test.Surgical.SurgicalTest panelSetSurgical = new YellowstonePathology.Business.Test.Surgical.SurgicalTest();

                if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetSurgical.PanelSetId) == true)
                {
                    YellowstonePathology.Business.Test.PanelSetOrder surgicalPanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetSurgical.PanelSetId);
                    YellowstonePathology.Business.Amendment.Model.AmendmentCollection amendmentCollection = this.m_AccessionOrder.AmendmentCollection.GetAmendmentsForReport(surgicalPanelSetOrder.ReportNo);
                    if (amendmentCollection.HasAmendmentForReport(this.m_PanelSetOrder.ReportNo) == false)
                    {
                        string amendmentText = YellowstonePathology.Business.Test.PDL1SP142.PDL1SP142SystemGeneratedAmendmentText.AmendmentText(this.m_PanelSetOrder);
                        YellowstonePathology.Business.Amendment.Model.Amendment amendment = this.m_AccessionOrder.AddAmendment(surgicalPanelSetOrder.ReportNo);
                        amendment.TestResultAmendmentFill(surgicalPanelSetOrder.ReportNo, surgicalPanelSetOrder.AssignedToId, amendmentText);
                        amendment.ReferenceReportNo = this.m_PanelSetOrder.ReportNo;
                        amendment.SystemGenerated   = true;
                    }
                }
            }
        }
 public TechnicalOnlyResultPath(string reportNo, YellowstonePathology.Business.Test.AccessionOrder accessionOrder, 
     YellowstonePathology.UI.Navigation.PageNavigator pageNavigator,
     System.Windows.Window window)
     : base(pageNavigator, window)
 {
     this.m_AccessionOrder = accessionOrder;
     this.m_TestOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);
 }
        public ReportOrderInfoPage(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = panelSetOrder;

            InitializeComponent();
            this.DataContext = this;
        }
Exemple #39
0
 public PantherORC(YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder, YellowstonePathology.Business.Test.AliquotOrder aliquotOrder,
     YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder, string actionCode)
 {
     this.m_SpecimenOrder = specimenOrder;
     this.m_AliquotOrder = aliquotOrder;
     this.m_PanelSetOrder = panelSetOrder;
     this.m_ActionCode = actionCode;
 }
        public AliquotAndStainOrderPath(YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
			YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder,
			YellowstonePathology.UI.Navigation.PageNavigator pageNavigator)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = panelSetOrder;
            this.m_PageNavigator = pageNavigator;
        }
 public void Execute(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder, YellowstonePathology.Business.Amendment.Model.Amendment amendment)
 {
     this.m_AccessionOrder = accessionOrder;
     this.m_PanelSetOrder = panelSetOrder;
     this.m_Amendment = amendment;
     this.m_ExecutionStatus = new ExecutionStatus();
     this.m_Rule.Execute(m_ExecutionStatus);
 }
        public void Execute(Rules.ExecutionStatus executionStatus,
			YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
			YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = panelSetOrder;
            this.m_ExecutionStatus = executionStatus;
            this.m_Rule.Execute(executionStatus);
        }
        public StainAcknowledgementTaskOrderVisitor(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder)
            : base(true, true)
        {
            this.m_PanelSetOrder = panelSetOrder;
            this.m_SystemIdentity = YellowstonePathology.Business.User.SystemIdentity.Instance;

            this.m_AddedTestOrderCollection = new YellowstonePathology.Business.Test.Model.TestOrderCollection();
            this.m_CancelledTestOrderCollection = new YellowstonePathology.Business.Test.Model.TestOrderCollection();
        }
Exemple #44
0
 public void Execute(YellowstonePathology.Business.Rules.ExecutionStatus executionStatus, YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder, 
     bool createAmendment, YellowstonePathology.Business.User.SystemIdentity systemIdentity)
 {
     this.m_ExecutionStatus = executionStatus;
     this.m_PanelSetOrderItem = panelSetOrder;
     this.m_CreateAmendment = createAmendment;
     this.m_SystemIdentity = systemIdentity;
     this.m_Rule.Execute(executionStatus);
 }
 public AliquotAndStainOrderPath(YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
     YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder,
     YellowstonePathology.UI.Login.LoginPageWindow loginPageWindow)
 {
     this.m_AccessionOrder = accessionOrder;
     this.m_PanelSetOrder = panelSetOrder;
     this.m_LoginPageWindow = loginPageWindow;
     this.m_PageNavigator = loginPageWindow.PageNavigator;
 }
Exemple #46
0
        public CaseReport(Business.Test.AccessionOrder accessionOrder, Business.Test.PanelSetOrder panelSetOrder, YellowstonePathology.Business.Document.ReportSaveModeEnum reportSaveMode)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = panelSetOrder;
            this.m_ReportSaveMode = reportSaveMode;

            this.m_NativeDocumentFormat = NativeDocumentFormatEnum.Word;
            this.m_ReportXml = new XmlDocument();
            this.m_NameSpaceManager = new XmlNamespaceManager(m_ReportXml.NameTable);
            this.m_NameSpaceManager.AddNamespace("w", "http://schemas.microsoft.com/office/word/2003/wordml");
        }
        public void Execute(YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
			YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder,
			YellowstonePathology.Business.Common.FieldEnabler fieldEnabler, 
			YellowstonePathology.Business.Rules.ExecutionStatus executionStatus)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = panelSetOrder;
            this.m_FieldEnabler = fieldEnabler;
            this.m_ExecutionStatus = executionStatus;
            this.m_Rule.Execute(this.m_ExecutionStatus);
        }
        public PublishedDocumentResultPage(YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
			YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder)
        {
            this.m_PanelSetOrder = panelSetOrder;

            this.m_PageHeaderText = "Report For: " + accessionOrder.PatientDisplayName;

            InitializeComponent();

            DataContext = this;
        }
Exemple #49
0
        public void Execute(YellowstonePathology.Business.Rules.ExecutionStatus executionStatus, Test.AccessionOrder accessionOrder, Test.PanelOrder panelOrder,
			YellowstonePathology.Business.User.SystemUser orderingUser, YellowstonePathology.Business.User.SystemUser acceptingUser)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelOrder.ReportNo);
            this.m_PanelOrderBeingAccepted = this.m_PanelSetOrder.PanelOrderCollection.GetByPanelOrderId(panelOrder.PanelOrderId);
            this.m_ExecutionStatus = executionStatus;
            this.m_OrderingUser = orderingUser;
            this.m_AcceptingUser = acceptingUser;
            this.m_Rule.Execute(executionStatus);
        }
        public PendingTestDelayDialog(string reportNo)
        {
            string masterAccessionNo = YellowstonePathology.Business.Gateway.AccessionOrderGateway.GetMasterAccessionNoFromReportNo(reportNo);
            this.m_AccessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAccessionOrder(masterAccessionNo, this);
            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);

            InitializeComponent();

            this.DataContext = this;

            Closing += PendingTestDelayDialog_Closing;
        }
        public ResultControl(YellowstonePathology.Business.Test.PanelSetOrder testOrder)
        {
            this.m_TestOrder = testOrder;
            this.m_ControlsNotDisabledOnFinal = new List<FrameworkElement>();
            if (this.m_TestOrder.Final == true &&
                (this.m_TestOrder.Distribute == false || this.m_TestOrder.TestOrderReportDistributionCollection.HasDistributedItems()))
            {
                this.m_DisableRequired = true;
            }

            this.Loaded += ResultControl_Loaded;
        }
 public CancelTestEventArgs(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder, 
     YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
     string reasonForCancelation,
     YellowstonePathology.UI.Test.IResultPage resultPage //,
     //YellowstonePathology.Business.Persistence.ObjectTracker objectTracker
     )
 {
     this.m_PanelSetOrder = panelSetOrder;
     this.m_AccessionOrder = accessionOrder;
     this.m_ReasonForCancelation = reasonForCancelation;
     this.m_ResultPage = resultPage;
     //this.m_ObjectTracker = objectTracker;
 }
Exemple #53
0
        public EPICResultView(string reportNo, Business.Test.AccessionOrder accessionOrder, bool testing)
        {
            this.m_Testing = testing;
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);

            if (this.m_AccessionOrder.UniversalServiceId.ToUpper() != this.m_PanelSetOrder.UniversalServiceId.ToUpper())
            {
                this.m_SendUnsolicited = true;
            }

            this.m_OrderingPhysician = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetPhysicianByPhysicianId(this.m_AccessionOrder.PhysicianId);
        }
        public PanelSetOrderCPTCodeEntryPage(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder, int clientId)
        {
            this.m_PanelSetOrder = panelSetOrder;
            this.m_PanelSetOrderCPTCode = this.m_PanelSetOrder.PanelSetOrderCPTCodeCollection.GetNextItem(panelSetOrder.ReportNo);
            this.m_PanelSetOrderCPTCode.Quantity = 1;
            this.m_PanelSetOrderCPTCode.ClientId = clientId;
            this.m_PanelSetOrderCPTCode.EntryType = "Manual Entry";
            this.m_PanelSetOrderCPTCode.CodeableType = "Billable Test";

            this.m_CptCodeCollection = YellowstonePathology.Business.Billing.Model.CptCodeCollection.GetAll();

            InitializeComponent();
            DataContext = this;
        }
        public StainOrderPage(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder, 
            YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, YellowstonePathology.Business.User.SystemIdentity systemIdentity)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_AliquotOrder = aliquotOrder;
            this.m_SpecimenOrder = specimenOrder;
            this.m_SystemIdentity = systemIdentity;

            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetSurgical();
            this.m_TestOrderCollection = this.m_PanelSetOrder.GetTestOrderCollection(this.m_AliquotOrder.AliquotOrderId);

            InitializeComponent();
            DataContext = this;
        }
        public OrderDialog(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = panelSetOrder;

            this.m_OrderItemView = new OrderItemView();
            this.m_StainAcknowledgementTaskOrderVisitor = new Business.Visitor.StainAcknowledgementTaskOrderVisitor(this.m_PanelSetOrder);
            this.m_AliquotAndStainOrderView = new Login.FinalizeAccession.AliquotAndStainOrderView(this.m_AccessionOrder, this.m_PanelSetOrder);

            InitializeComponent();

            this.DataContext = this;
            this.Loaded += new RoutedEventHandler(OrderWorkspace_Loaded);
        }
        public MultiTestDistributionHandlerWHP(YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
            : base(accessionOrder)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrderList = new List<Test.PanelSetOrder>();

            this.m_PanelSetThinPrepPap = new YellowstonePathology.Business.Test.ThinPrepPap.ThinPrepPapTest();
            this.m_PanelSetHPV = new Test.HPV.HPVTest();
            this.m_PanelSetHPV1618 = new YellowstonePathology.Business.Test.HPV1618.HPV1618Test();
            this.m_NGCTTest = new YellowstonePathology.Business.Test.NGCT.NGCTTest();
            this.m_TrichomonasTest = new YellowstonePathology.Business.Test.Trichomonas.TrichomonasTest();
            this.m_WomensHealthProfileTest = new YellowstonePathology.Business.Test.WomensHealthProfile.WomensHealthProfileTest();
            this.m_WomensHealthProfileTestOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_WomensHealthProfileTest.PanelSetId);

            if (this.m_WomensHealthProfileTestOrder.Final == false)
            {
                if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(this.m_PanelSetThinPrepPap.PanelSetId) == true)
                {
                    YellowstonePathology.Business.Test.PanelSetOrder psoThinPrep = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_PanelSetThinPrepPap.PanelSetId);
                    this.m_PanelSetOrderList.Add(psoThinPrep);
                }

                if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(this.m_PanelSetHPV.PanelSetId) == true)
                {
                    YellowstonePathology.Business.Test.PanelSetOrder psoHPV = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_PanelSetHPV.PanelSetId);
                    this.m_PanelSetOrderList.Add(psoHPV);
                }

                if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(this.m_PanelSetHPV1618.PanelSetId) == true)
                {
                    YellowstonePathology.Business.Test.PanelSetOrder pso1618 = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_PanelSetHPV1618.PanelSetId);
                    this.m_PanelSetOrderList.Add(pso1618);
                }

                if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(this.m_NGCTTest.PanelSetId) == true)
                {
                    YellowstonePathology.Business.Test.PanelSetOrder psoNGCT = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_NGCTTest.PanelSetId);
                    this.m_PanelSetOrderList.Add(psoNGCT);
                }

                if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(this.m_TrichomonasTest.PanelSetId) == true)
                {
                    YellowstonePathology.Business.Test.PanelSetOrder psoTrich = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_TrichomonasTest.PanelSetId);
                    this.m_PanelSetOrderList.Add(psoTrich);
                }

                this.m_PanelSetOrderList.Add(this.m_WomensHealthProfileTestOrder);
            }
        }
        public ReportOrderDetailPage(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo, YellowstonePathology.Business.User.SystemIdentity systemIdentity)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);
            this.m_SystemIdentity = systemIdentity;
            this.m_UserCollection = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection;
            this.m_FacilityCollection = Business.Facility.Model.FacilityCollection.GetAllFacilities();

            YellowstonePathology.Business.OrderIdParser orderIdParser = new Business.OrderIdParser(this.m_PanelSetOrder.ReportNo);
            this.m_ReportDocumentPath = YellowstonePathology.Business.Document.CaseDocument.GetCaseFileNamePDF(orderIdParser);

            InitializeComponent();

            DataContext = this;
            this.Closing += new System.ComponentModel.CancelEventHandler(ReportOrderDetailPage_Closing);
        }
        public PeerReviewResultPage(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder,
            YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_PeerReviewTypeCollection = new YellowstonePathology.Business.Test.PeerReview.PeerReviewTypeCollection();

            this.m_PanelSetOrder = panelSetOrder;
            this.m_AccessionOrder = accessionOrder;

            this.m_PageHeaderText = "Peer Review for: " + this.m_AccessionOrder.PatientDisplayName;
            this.m_PeerReviewTestOrderCollection = this.m_AccessionOrder.PanelSetOrderCollection.GetPeerReviewCollection();
            this.m_PathologistUsers = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetUsersByRole(YellowstonePathology.Business.User.SystemUserRoleDescriptionEnum.Pathologist, true);

            InitializeComponent();

            DataContext = this;
        }
        public PublishedDocumentFinalPage(YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder,
			YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
			YellowstonePathology.Business.User.SystemIdentity systemIdentity)
        {
            this.m_PanelSetOrder = panelSetOrder;
            this.m_AccessionOrder = accessionOrder;
            this.m_SystemIdentity = systemIdentity;

            this.m_PageHeaderText = "Published Document Final Page: " + this.m_AccessionOrder.PatientDisplayName;

            InitializeComponent();

            DataContext = this;

            Loaded += PublishedDocumentFinalPage_Loaded;
            Unloaded += PublishedDocumentFinalPage_Unloaded;
        }