public void LaunchCPRSReport()
        {
            // retrieve the released report from VistA
            string releasedReport = string.Empty;
            if (DataSource != null)
                releasedReport = DataSource.GetCPRSReport(this.CaseURN);

            // open new window
            ReleasedCPRSReportView view = new ReleasedCPRSReportView();
            view.Title = SiteAbbr + " " + AccessionNumber;
            view.ReleasedReport = releasedReport;
            view.ShowDialog();

            Log.Info("View released report for case " + this.AccessionNumber + " at site " + this.SiteCode);
        }
        void OnViewReport(CaseListItem item)
        {
            try
            {
                // retrieve the released report from VistA
                MainViewModel viewModel = (MainViewModel)DataContext;

                // check to see if the patient is restricted
                bool canProceed = CanUserViewPatientData(item.SiteCode, item.PatientICN);
                if (!canProceed)
                {
                    MessageBox.Show("You cannot view information on this patient.", "Information", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }

                string releasedReport = viewModel.DataSource.GetCPRSReport(viewModel.WorklistsViewModel.CurrentWorkList.SelectedItems[0].CaseURN);

                // open new window
                ReleasedCPRSReportView view = new ReleasedCPRSReportView();
                view.Title = item.SiteAbbr + " " + item.AccessionNumber;
                view.ReleasedReport = releasedReport;

                ViewModelLocator.ContextManager.IsBusy = true;
                view.ShowDialog();

                Log.Info("View released report for case " + item.AccessionNumber + " at site " + item.SiteCode);
            }
            catch (Exception ex)
            {
                Log.Error("Unknown exception.", ex);
            }
            finally
            {
                ViewModelLocator.ContextManager.IsBusy = false;
            }
        }