示例#1
0
        public override void Render()
        {
            base.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\PreauthorizationNotification.5.xml";
            base.OpenTemplate();
            this.SetDemographicsV2();

            Business.Test.ExtractAndHoldForPreauthorization.ExtractAndHoldForPreauthorizationTestOrder testOrder = (Business.Test.ExtractAndHoldForPreauthorization.ExtractAndHoldForPreauthorizationTestOrder) this.m_PanelSetOrder;
            Business.PanelSet.Model.PanelSetCollection panelSetCollection = Business.PanelSet.Model.PanelSetCollection.GetAll();
            Business.PanelSet.Model.PanelSet           panelSet           = panelSetCollection.GetPanelSet(testOrder.TestId.Value);

            this.SetXmlNodeData("additional_testing", panelSet.PanelSetName);
            this.SetXmlNodeData("cpt_codes", panelSet.PanelSetCptCodeCollection.GetCommaSeparatedString());
            this.SetXmlNodeData("report_comment", testOrder.Comment);

            if (this.m_AccessionOrder.PrimaryInsurance == "Medicare")
            {
                this.SetXmlNodeData("additional_testing_message", "The following additional testing needs an ABN");
            }
            else
            {
                this.SetXmlNodeData("additional_testing_message", "The following additional testing needs preauthorization:");
            }

            YellowstonePathology.Business.OrderIdParser orderIdParser = new YellowstonePathology.Business.OrderIdParser(this.m_PanelSetOrder.ReportNo);
            this.m_SaveFileName = Business.Document.CaseDocument.GetCaseFileNameXMLPreAuth(orderIdParser);
            this.m_ReportXml.Save(this.m_SaveFileName);
        }
        private void MenuItemViewResultPage_Click(object sender, RoutedEventArgs e)
        {
            if (this.ListViewPanelSetOrders.SelectedItem != null)
            {
                Business.Test.PanelSetOrder      panelSetOrder = (Business.Test.PanelSetOrder) this.ListViewPanelSetOrders.SelectedItem;
                Business.PanelSet.Model.PanelSet panelSet      = Business.PanelSet.Model.PanelSetCollection.GetAll().GetPanelSet(panelSetOrder.PanelSetId);
                if (panelSet.ResultDocumentSource == Business.PanelSet.Model.ResultDocumentSourceEnum.YPIDatabase)
                {
                    YellowstonePathology.Business.User.SystemIdentity systemIdentity = Business.User.SystemIdentity.Instance;

                    YellowstonePathology.UI.Test.ResultPathFactory resultPathFactory = new Test.ResultPathFactory();
                    resultPathFactory.Finished += new Test.ResultPathFactory.FinishedEventHandler(ResultPathFactory_Finished);

                    this.m_LoginPageWindow = new Login.Receiving.LoginPageWindow();
                    bool started = resultPathFactory.Start(panelSetOrder, this.m_AccessionOrder, this.m_LoginPageWindow.PageNavigator, this.m_LoginPageWindow, System.Windows.Visibility.Collapsed);
                    if (started == true)
                    {
                        this.m_LoginPageWindow.ShowDialog();
                    }
                    else
                    {
                        MessageBox.Show("The result for this case is not available in this view.");
                    }
                }
                else
                {
                    MessageBox.Show("The result for this case is not available in this view.");
                }
            }
            else
            {
                MessageBox.Show("Select a case.");
            }
        }
示例#3
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();
        }
        private void MenuItemLinkPDF_Click(object sender, RoutedEventArgs e)
        {
            if (this.ListViewFiles.SelectedItem != null)
            {
                if (this.ListViewPanelSetOrders.SelectedItem != null)
                {
                    Business.Test.PanelSetOrder panelSetOrder = (Business.Test.PanelSetOrder) this.ListViewPanelSetOrders.SelectedItem;
                    Business.PanelSet.Model.PanelSetCollection panelSetCollection = Business.PanelSet.Model.PanelSetCollection.GetAll();
                    Business.PanelSet.Model.PanelSet           panelSet           = panelSetCollection.GetPanelSet(panelSetOrder.PanelSetId);

                    string sourcePDFFileName             = (string)this.ListViewFiles.SelectedItem;
                    Business.OrderIdParser orderIdParser = new Business.OrderIdParser(panelSetOrder.ReportNo);
                    string casePath = YellowstonePathology.Document.CaseDocumentPath.GetPath(orderIdParser);

                    if (panelSet.ResultDocumentSource == Business.PanelSet.Model.ResultDocumentSourceEnum.PublishedDocument)
                    {
                        string pdfCaseFilePath = Business.Document.CaseDocument.GetCaseFileNamePDF(orderIdParser);
                        System.IO.File.Copy(sourcePDFFileName, pdfCaseFilePath, true);

                        string xpsCaseFilePath = Business.Document.CaseDocument.GetCaseFileNameXPS(orderIdParser);
                        this.GhostPDFToPNG(sourcePDFFileName, xpsCaseFilePath);

                        string tifCaseFilePath = Business.Document.CaseDocument.GetCaseFileNameTif(orderIdParser);
                        Business.Helper.FileConversionHelper.ConvertXPSToTIF(xpsCaseFilePath, tifCaseFilePath);
                    }
                    else
                    {
                        string neoCaseFileName = Business.Document.CaseDocument.GetCaseFileNamePDF(orderIdParser).Replace(".pdf", ".neoreport.pdf");
                        System.IO.File.Copy(sourcePDFFileName, neoCaseFileName, true);
                    }

                    this.m_CaseDocuments = System.IO.Directory.GetFiles(casePath).ToList <string>();
                    this.NotifyPropertyChanged(string.Empty);
                    MessageBox.Show("The pdf has been linked to this case.");
                }
                else
                {
                    MessageBox.Show("You must have a Test selected to perform this operation.");
                }
            }
            else
            {
                MessageBox.Show("You must have a file selected to perform this operation.");
            }
        }
 private void MenuItemCPTCodes_Click(object sender, RoutedEventArgs e)
 {
     if (this.ListViewPanelSetOrders.SelectedItem != null)
     {
         Business.Test.PanelSetOrder      panelSetOrder = (Business.Test.PanelSetOrder) this.ListViewPanelSetOrders.SelectedItem;
         Business.PanelSet.Model.PanelSet panelSet      = Business.PanelSet.Model.PanelSetCollection.GetAll().GetPanelSet(panelSetOrder.PanelSetId);
         if (panelSet is YellowstonePathology.Business.PanelSet.Model.FISHTest)
         {
             this.m_LoginPageWindow = new Login.Receiving.LoginPageWindow();
             Billing.AddFISHCPTCodePage addCPTCodePage = new Billing.AddFISHCPTCodePage(panelSetOrder.ReportNo, this.m_AccessionOrder);
             addCPTCodePage.Next += ResultPathFactory_Finished;
             this.m_LoginPageWindow.PageNavigator.Navigate(addCPTCodePage);
             this.m_LoginPageWindow.ShowDialog();
         }
         else
         {
             MessageBox.Show("The selected Test is not a FISH test.");
         }
     }
 }