public void GetPendingTreatments()
        {
            DataTable plannedAppsFor13;
            DataTable patsFor13;

            patsFor13 = StretchKPICustomForm.GetPatients(
                Convert.ToDateTime("2016-03-20"), Convert.ToDateTime("2017-04-05"),
                KPIPendingTreatments.getPatQuery());

            Assert.AreEqual(0, patsFor13.Rows.Count);

            // TEST FOR 2 TREATMENTS FOR 1 PAT, 1 PLANNEDAPPT; ONE TREATMENT HAS CODE 01202
            var seedData2 = File.ReadAllText(@"..\..\Resources\kpi13pendingtreatmentsPT2.txt");

            DatabaseTools.ExecuteSqlScript("localhost", "3306", "root", "", seedData2);

            patsFor13 = StretchKPICustomForm.GetPatients(
                Convert.ToDateTime("2016-03-20"), Convert.ToDateTime("2017-04-05"),
                KPIPendingTreatments.getPatQuery());

            plannedAppsFor13 = KPIPendingTreatments.GetPendingTreatmentProcsPerPat(
                Convert.ToDateTime("2016-03-20"), Convert.ToDateTime("2017-04-05"),
                patsFor13.Rows[0]["PatNum"].ToString());

            Assert.AreEqual(1, patsFor13.Rows.Count);
            Assert.AreEqual(1, plannedAppsFor13.Rows.Count);

            // TEST FOR 6 MORE TREATMENTS FOR 3PATS, 2 MORE PLANNEDAPPTS
            var seedData3 = File.ReadAllText(@"..\..\Resources\kpi13pendingtreatmentsPT3.txt");

            DatabaseTools.ExecuteSqlScript("localhost", "3306", "root", "", seedData3);

            patsFor13 = StretchKPICustomForm.GetPatients(
                Convert.ToDateTime("2016-03-20"), Convert.ToDateTime("2017-04-05"),
                KPIPendingTreatments.getPatQuery());

            Assert.AreEqual(3, patsFor13.Rows.Count);

            plannedAppsFor13 = KPIPendingTreatments.GetPendingTreatmentProcsPerPat(
                Convert.ToDateTime("2016-03-20"), Convert.ToDateTime("2017-04-05"),
                "1302");
            Assert.AreEqual(3, plannedAppsFor13.Rows.Count);

            plannedAppsFor13 = KPIPendingTreatments.GetPendingTreatmentProcsPerPat(
                Convert.ToDateTime("2016-03-20"), Convert.ToDateTime("2017-04-05"),
                "1303");
            Assert.AreEqual(3, plannedAppsFor13.Rows.Count);

            // TEST FOR 3 LESS TREATMENTS FOR 3PATS, 1 MORE SCHEDULEDAPPT
            var seedData4 = File.ReadAllText(@"..\..\Resources\kpi13pendingtreatmentsPT4.txt");

            DatabaseTools.ExecuteSqlScript("localhost", "3306", "root", "", seedData4);

            patsFor13 = StretchKPICustomForm.GetPatients(
                Convert.ToDateTime("2016-03-20"), Convert.ToDateTime("2017-04-05"),
                KPIPendingTreatments.getPatQuery());

            Assert.AreEqual(2, patsFor13.Rows.Count);


            plannedAppsFor13 = KPIPendingTreatments.GetPendingTreatmentProcsPerPat(
                Convert.ToDateTime("2016-03-20"), Convert.ToDateTime("2017-04-05"),
                "1302");
            Assert.AreEqual(0, plannedAppsFor13.Rows.Count);

            plannedAppsFor13 = KPIPendingTreatments.GetPendingTreatmentProcsPerPat(
                Convert.ToDateTime("2016-03-20"), Convert.ToDateTime("2017-04-05"),
                "1303");
            Assert.AreEqual(3, plannedAppsFor13.Rows.Count);
        }
Exemple #2
0
        private void butOK_Click(object sender, EventArgs e)
        {
            ReportComplex report = new ReportComplex(true, false);

            report.ReportName = Lan.g(this, "Pending Treatments");
            report.AddTitle("Title", Lan.g(this, "Pending Treatments"));
            // report.AddSubTitle("Date", dateStart.SelectionStart.ToShortDateString() + " - " + dateEnd.SelectionStart.ToShortDateString());
            report.AddSubTitle("Date", dtpStart.Value.ToShortDateString() + " - " + dtpEnd.Value.ToShortDateString());
            DataTable tablePats;
            // tablePats = KPIPendingTreatments.GetPendingTreatmentPats(dateStart.SelectionStart, dateEnd.SelectionStart);
            String patQuery = @"
				SELECT DISTINCT p.PatNum, p.LName, p.FName, p.MiddleI, 
                           p.HmPhone, p.WkPhone, p.WirelessPhone, p.Email
                FROM procedurelog pl
                JOIN procedurecode pc ON pl.CodeNum = pc.CodeNum
                JOIN appointment a ON a.AptNum = pl.PlannedAptNum
                JOIN patient p ON a.PatNum = p.PatNum
                WHERE pl.AptNum = 0
                AND a.AptStatus = 6
                AND pc.ProcCode != 01202
            ";


            //   tablePats = StretchKPICustomForm.GetPatients(dateStart.SelectionStart, dateEnd.SelectionStart, patQuery);
            tablePats = StretchKPICustomForm.GetPatients(dtpStart.Value, dtpEnd.Value, patQuery);

            for (int i = 0; i < tablePats.Rows.Count; i++)
            {
                DataTable onePat   = new DataTable();
                DataTable localPat = tablePats.Clone();


                DataRow iPat = tablePats.Rows[i];
                //onePat.ImportRow(iPat);
                // localPat.Clear();
                localPat.ImportRow(iPat);



                //report.AddLine("test", AreaSectionType.None, Color.AliceBlue, 20, LineOrientation.Horizontal,
                //    LinePosition.West, 100, 0, 0);



                QueryObject query = report.AddQuery(localPat, "", "", SplitByKind.None, 0);
                // query.AddColumn("PatNum", 90, FieldValueType.Number);
                query.AddColumn("PatNum", 60, FieldValueType.String);
                query.AddColumn("Name", 150, FieldValueType.String);
                query.AddColumn("Home Phone", 80, FieldValueType.String);
                query.AddColumn("Work Phone", 80, FieldValueType.String);
                query.AddColumn("Cell Phone", 80, FieldValueType.String);
                query.AddColumn("Email", 150, FieldValueType.String);


                String iPatNum = iPat["PatNum"].ToString();

                //   DataTable procsForPat = KPIPendingTreatments.GetPendingTreatmentProcsPerPat(dateStart.SelectionStart,
                //         dateEnd.SelectionStart, iPatNum);

                DataTable procsForPat = KPIPendingTreatments.GetPendingTreatmentProcsPerPat(dtpStart.Value, dtpEnd.Value, iPatNum);


                QueryObject procsQ = report.AddQuery(procsForPat, "", "", SplitByKind.None, 0);
                procsQ.AddColumn("Procedure Code", 100, FieldValueType.String);
                procsQ.AddColumn("Treatment Planned", 500, FieldValueType.String);
            }



            /*
             * // OLDER FORM:
             * DataTable tablePats = KPIPendingTreatments.GetPendingTreatments(dateStart.SelectionStart, dateEnd.SelectionStart);
             * ReportComplex report = new ReportComplex(true, false);
             *
             * report.ReportName = Lan.g(this, "Pending Treatments");
             * report.AddTitle("Title", Lan.g(this, "Pending Treatments"));
             * // report.AddSubTitle("Date", dateStart.SelectionStart.ToShortDateString() + " - " + dateEnd.SelectionStart.ToShortDateString());
             * QueryObject query;
             * query = report.AddQuery(tablePats, "", "", SplitByKind.None, 0);
             * // query.AddColumn("PatNum", 90, FieldValueType.Number);
             * query.AddColumn("Name", 150, FieldValueType.String);
             * query.AddColumn("Home Phone", 50, FieldValueType.String);
             * query.AddColumn("Work Phone", 50, FieldValueType.String);
             * query.AddColumn("Wireless Phone", 70, FieldValueType.String);
             * query.AddColumn("Email", 100, FieldValueType.String);
             *
             * query.AddColumn("Procedure Code", 80, FieldValueType.String);
             * query.AddColumn("Treatment Planned", 280, FieldValueType.String);
             *
             * // query.AddColumn("Birthdate", 80, FieldValueType.String);
             * // query.AddColumn("Sex", 150, FieldValueType.String);
             * // query.AddColumn("Postal Code", 90, FieldValueType.String);
             * // query.AddColumn("Date of Service", 100, FieldValueType.String);
             * // query.AddColumn("Primary Provider", 40, FieldValueType.String);
             * // query.AddGroupSummaryField("Patient Count:", "Name", "Provider", SummaryOperation.Count);
             * report.AddPageNum();
             *
             */
            report.AddPageNum();
            if (!report.SubmitQueries())
            {
                return;
            }
            FormReportComplex FormR = new FormReportComplex(report);

            FormR.ShowDialog();
            //DialogResult=DialogResult.OK;
        }