private void ConnectAndRunProviderReport(ODThread odThread)
        {
            CentralConnection conn         = (CentralConnection)odThread.Parameters[0];
            DataSet           listProdData = null;

            if (!CentralConnectionHelper.UpdateCentralConnection(conn, false))
            {
                odThread.Tag          = new object[] { listProdData, conn };
                conn.ConnectionStatus = "OFFLINE";
                return;
            }
            List <Provider> listProvs   = Providers.GetProvsNoCache();
            List <Clinic>   listClinics = Clinics.GetClinicsNoCache();
            Clinic          unassigned  = new Clinic();

            unassigned.ClinicNum   = 0;
            unassigned.Description = "Unassigned";          //Same issue here as above.
            listClinics.Add(unassigned);
            listProdData = RpProdInc.GetProviderDataForClinics(_dateFrom, _dateTo, listProvs, listClinics, radioWriteoffPay.Checked, true, true, false, checkShowUnearned.Checked, true);
            odThread.Tag = new object[] { listProdData, conn, listProvs };
        }
        private void ConnectAndRunAnnualReport(ODThread odThread)
        {
            CentralConnection conn         = (CentralConnection)odThread.Parameters[0];
            DataSet           listProdData = null;

            if (!CentralConnectionHelper.UpdateCentralConnection(conn, false))
            {
                odThread.Tag          = new object[] { listProdData, conn };
                conn.ConnectionStatus = "OFFLINE";
                return;
            }
            List <Provider> listProvs   = Providers.GetProvsNoCache();
            List <Clinic>   listClinics = Clinics.GetClinicsNoCache();
            Clinic          unassigned  = new Clinic();

            unassigned.ClinicNum   = 0;
            unassigned.Description = "Unassigned";          //Is this how we should do this?  Will there always be different clinics? (I assume so, otherwise CEMT is kinda worthless)
            listClinics.Add(unassigned);
            listProdData = RpProdInc.GetAnnualData(_dateFrom, _dateTo, listProvs, listClinics, radioWriteoffPay.Checked, true, true, false, checkShowUnearned.Checked, true);
            odThread.Tag = new object[] { listProdData, conn };
        }
Exemple #3
0
        private void RunProviderPayroll()
        {
            ReportComplex report = new ReportComplex(true, true);

            if (checkAllProv.Checked)
            {
                for (int i = 0; i < listProv.Items.Count; i++)
                {
                    listProv.SetSelected(i, true);
                }
            }
            if (checkAllClin.Checked)
            {
                for (int i = 0; i < listClin.Items.Count; i++)
                {
                    listClin.SetSelected(i, true);
                }
            }
            dateFrom = dtPickerFrom.Value;
            dateTo   = dtPickerTo.Value;
            List <Provider> listProvs = new List <Provider>();

            for (int i = 0; i < listProv.SelectedIndices.Count; i++)
            {
                listProvs.Add(_listProviders[listProv.SelectedIndices[i]]);
            }
            List <Clinic> listClinics = new List <Clinic>();

            if (PrefC.HasClinicsEnabled)
            {
                for (int i = 0; i < listClin.SelectedIndices.Count; i++)
                {
                    if (Security.CurUser.ClinicIsRestricted)
                    {
                        listClinics.Add(_listClinics[listClin.SelectedIndices[i]]);                        //we know that the list is a 1:1 to _listClinics
                    }
                    else
                    {
                        if (listClin.SelectedIndices[i] == 0)
                        {
                            Clinic unassigned = new Clinic();
                            unassigned.ClinicNum = 0;
                            unassigned.Abbr      = Lan.g(this, "Unassigned");
                            listClinics.Add(unassigned);
                        }
                        else
                        {
                            listClinics.Add(_listClinics[listClin.SelectedIndices[i] - 1]);                          //Minus 1 from the selected index
                        }
                    }
                }
            }
            DataSet ds = RpProdInc.GetProviderPayrollDataForClinics(dateFrom, dateTo, listProvs, listClinics
                                                                    , checkAllProv.Checked, checkAllClin.Checked, radioDetailedReport.Checked);

            report.ReportName = "Provider Payroll P&I";
            report.AddTitle("Title", Lan.g(this, "Provider Payroll Production and Income"));
            report.AddSubTitle("PracName", PrefC.GetString(PrefName.PracticeTitle));
            report.AddSubTitle("Date", dateFrom.ToShortDateString() + " - " + dateTo.ToShortDateString());
            if (checkAllProv.Checked)
            {
                report.AddSubTitle("Providers", Lan.g(this, "All Providers"));
            }
            else
            {
                string str = "";
                for (int i = 0; i < listProv.SelectedIndices.Count; i++)
                {
                    if (i > 0)
                    {
                        str += ", ";
                    }
                    str += _listProviders[listProv.SelectedIndices[i]].Abbr;
                }
                report.AddSubTitle("Providers", str);
            }
            if (PrefC.HasClinicsEnabled)
            {
                if (checkAllClin.Checked)
                {
                    report.AddSubTitle("Clinics", Lan.g(this, "All Clinics"));
                }
                else
                {
                    string clinNames = "";
                    for (int i = 0; i < listClin.SelectedIndices.Count; i++)
                    {
                        if (i > 0)
                        {
                            clinNames += ", ";
                        }
                        if (Security.CurUser.ClinicIsRestricted)
                        {
                            clinNames += _listClinics[listClin.SelectedIndices[i]].Abbr;
                        }
                        else
                        {
                            if (listClin.SelectedIndices[i] == 0)
                            {
                                clinNames += Lan.g(this, "Unassigned");
                            }
                            else
                            {
                                clinNames += _listClinics[listClin.SelectedIndices[i] - 1].Abbr;                            //Minus 1 from the selected index
                            }
                        }
                    }
                    report.AddSubTitle("Clinics", clinNames);
                }
            }
            //setup query
            QueryObject query;
            DataTable   dt = ds.Tables["Total"].Copy();

            query = report.AddQuery(dt, "", "", SplitByKind.None, 1, true);
            // add columns to report
            Font font = new Font("Tahoma", 8, FontStyle.Regular);

            query.AddColumn("Date", 70, FieldValueType.String, font);
            if (radioDetailedReport.Checked)
            {
                query.AddColumn("Patient", 160, FieldValueType.String, font);
            }
            else
            {
                query.AddColumn("Day", 70, FieldValueType.String, font);
            }
            query.AddColumn("UCR Production", 90, FieldValueType.Number, font);
            query.AddColumn("Est Writeoff", 80, FieldValueType.Number, font);
            query.AddColumn("Prod Adj", 80, FieldValueType.Number, font);
            query.AddColumn("Change in Writeoff", 100, FieldValueType.Number, font);
            query.AddColumn("Net Prod(NPR)", 80, FieldValueType.Number, font);
            query.AddColumn("Pat Inc Alloc", 80, FieldValueType.Number, font);
            query.AddColumn("Pat Inc Unalloc", 80, FieldValueType.Number, font);
            query.AddColumn("Ins Income", 80, FieldValueType.Number, font);
            query.AddColumn("Ins Not Final", 80, FieldValueType.Number, font);
            query.AddColumn("Net Income", 80, FieldValueType.Number, font);
            report.AddPageNum();
            // execute query
            if (!report.SubmitQueries())             //Does not actually submit queries because we use datatables in the central management tool.
            {
                return;
            }
            // display the report
            FormReportComplex FormR = new FormReportComplex(report);

            FormR.ShowDialog();
            //DialogResult=DialogResult.OK;//Allow running multiple reports.
        }
        private void RunNetProductionDetail()
        {
            ReportComplex report = new ReportComplex(true, true);

            if (checkAllProv.Checked)
            {
                for (int i = 0; i < listProv.Items.Count; i++)
                {
                    listProv.SetSelected(i, true);
                }
            }
            if (checkAllClin.Checked)
            {
                for (int i = 0; i < listClin.Items.Count; i++)
                {
                    listClin.SetSelected(i, true);
                }
            }
            dateFrom = dtPickerFrom.Value;
            dateTo   = dtPickerTo.Value;
            if (radioTransactionalToday.Checked)
            {
                dateFrom = DateTime.Today;
                dateTo   = DateTime.Today;
            }
            List <Provider> listProvs = new List <Provider>();

            for (int i = 0; i < listProv.SelectedIndices.Count; i++)
            {
                listProvs.Add(_listProviders[listProv.SelectedIndices[i]]);
            }
            List <Clinic> listClinics = new List <Clinic>();

            if (PrefC.HasClinicsEnabled)
            {
                for (int i = 0; i < listClin.SelectedIndices.Count; i++)
                {
                    if (Security.CurUser.ClinicIsRestricted)
                    {
                        listClinics.Add(_listClinics[listClin.SelectedIndices[i]]);                        //we know that the list is a 1:1 to _listClinics
                    }
                    else
                    {
                        if (listClin.SelectedIndices[i] == 0)
                        {
                            Clinic unassigned = new Clinic();
                            unassigned.ClinicNum = 0;
                            unassigned.Abbr      = Lan.g(this, "Unassigned");
                            listClinics.Add(unassigned);
                        }
                        else
                        {
                            listClinics.Add(_listClinics[listClin.SelectedIndices[i] - 1]);                          //Minus 1 from the selected index
                        }
                    }
                }
            }
            string reportName = "Provider Payroll Transactional Detailed";

            if (radioTransactionalToday.Checked)
            {
                reportName += " Today";
            }
            report.ReportName = reportName;
            report.AddTitle("Title", Lan.g(this, "Provider Payroll Transactional Report"));
            report.AddSubTitle("PracName", PrefC.GetString(PrefName.PracticeTitle));
            if (radioTransactionalToday.Checked)
            {
                report.AddSubTitle("Date", DateTime.Today.ToShortDateString());
            }
            else
            {
                report.AddSubTitle("Date", dateFrom.ToShortDateString() + " - " + dateTo.ToShortDateString());
            }
            if (checkAllProv.Checked)
            {
                report.AddSubTitle("Providers", Lan.g(this, "All Providers"));
            }
            else
            {
                string str = "";
                for (int i = 0; i < listProv.SelectedIndices.Count; i++)
                {
                    if (i > 0)
                    {
                        str += ", ";
                    }
                    str += _listProviders[listProv.SelectedIndices[i]].Abbr;
                }
                report.AddSubTitle("Providers", str);
            }
            if (PrefC.HasClinicsEnabled)
            {
                if (checkAllClin.Checked)
                {
                    report.AddSubTitle("Clinics", Lan.g(this, "All Clinics"));
                }
                else
                {
                    string clinNames = "";
                    for (int i = 0; i < listClin.SelectedIndices.Count; i++)
                    {
                        if (i > 0)
                        {
                            clinNames += ", ";
                        }
                        if (Security.CurUser.ClinicIsRestricted)
                        {
                            clinNames += _listClinics[listClin.SelectedIndices[i]].Abbr;
                        }
                        else
                        {
                            if (listClin.SelectedIndices[i] == 0)
                            {
                                clinNames += Lan.g(this, "Unassigned");
                            }
                            else
                            {
                                clinNames += _listClinics[listClin.SelectedIndices[i] - 1].Abbr;                            //Minus 1 from the selected index
                            }
                        }
                    }
                    report.AddSubTitle("Clinics", clinNames);
                }
            }
            //setup query
            QueryObject query;
            DataTable   dt = RpProdInc.GetNetProductionDetailDataSet(dateFrom, dateTo, listProvs, listClinics
                                                                     , checkAllProv.Checked, checkAllClin.Checked, PrefC.GetBool(PrefName.NetProdDetailUseSnapshotToday));

            query = report.AddQuery(dt, "", "", SplitByKind.None, 1, true);
            // add columns to report
            Font font = new Font("Tahoma", 8, FontStyle.Regular);

            query.AddColumn("Type", 80, FieldValueType.String, font);
            query.AddColumn("Date", 70, FieldValueType.Date, font);
            query.AddColumn("Clinic", 70, FieldValueType.String, font);
            query.AddColumn("PatNum", 70, FieldValueType.String, font);
            query.AddColumn("Patient", 70, FieldValueType.String, font);
            query.AddColumn("ProcCode", 90, FieldValueType.String, font);
            query.AddColumn("Provider", 80, FieldValueType.String, font);
            query.AddColumn("UCR", 80, FieldValueType.Number, font);
            query.AddColumn("OrigEstWO", 100, FieldValueType.Number, font);
            query.AddColumn("EstVsActualWO", 80, FieldValueType.Number, font);
            query.AddColumn("Adjustment", 80, FieldValueType.Number, font);
            query.AddColumn("NPR", 80, FieldValueType.Number, font);
            report.AddPageNum();
            // execute query
            if (!report.SubmitQueries())             //Does not actually submit queries because we use datatables in the central management tool.
            {
                return;
            }
            // display the report
            FormReportComplex FormR = new FormReportComplex(report);

            FormR.ShowDialog();
            //DialogResult=DialogResult.OK;//Allow running multiple reports.
        }