private void ExecuteReport() { ReportOld2 report = new ReportOld2(); report.IsLandscape = true; report.AddTitle("CAPITATION UTILIZATION"); report.AddSubTitle(((Pref)PrefB.HList["PracticeTitle"]).ValueString); //incomplete: Need more flexible default values, eg based on current date instead of fixed date: DateTime DateTimeFirst = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); report.AddParameter("carrier", FieldValueType.String, "" , "Enter a few letters of the name of the insurance carrier" , "carrier.CarrierName LIKE '%?%'"); // SPK 8/04 report.AddParameter("date1", FieldValueType.Date, DateTimeFirst , "From Date" , "procedurelog.ProcDate >= '?'"); report.AddParameter("date2", FieldValueType.Date , DateTimeFirst.AddMonths(1).AddDays(-1) , "To Date" , "procedurelog.ProcDate <= '?'"); // added carrierNum, SPK report.Query = @"SELECT carrier.CarrierName,CONCAT(CONCAT(patSub.LName,', '),patSub.FName) ,patSub.SSN,CONCAT(CONCAT(patPat.LName,', '),patPat.FName) ,patPat.Birthdate,procedurelog.ADACode,procedurecode.Descript ,procedurelog.ToothNum,procedurelog.Surf,procedurelog.ProcDate ,procedurelog.ProcFee,procedurelog.ProcFee-claimproc.WriteOff FROM procedurelog,patient AS patSub,patient AS patPat ,insplan,carrier,procedurecode,claimproc WHERE procedurelog.PatNum = patPat.PatNum AND claimproc.ProcNum = procedurelog.ProcNum AND claimproc.PlanNum = insplan.PlanNum AND claimproc.Status = 7 AND claimproc.NoBillIns = 0 AND insplan.Subscriber = patSub.PatNum AND insplan.CarrierNum = carrier.CarrierNum AND procedurelog.ADACode = procedurecode.ADACode AND ?carrier AND ?date1 AND ?date2 AND insplan.PlanType = 'c' AND procedurelog.ProcStatus = 2" ; report.AddColumn("Carrier", 150, FieldValueType.String); report.GetLastRO(ReportObjectKind.FieldObject).SuppressIfDuplicate = true; report.AddColumn("Subscriber", 120, FieldValueType.String); report.GetLastRO(ReportObjectKind.FieldObject).SuppressIfDuplicate = true; report.AddColumn("Subsc SSN", 70, FieldValueType.String); report.GetLastRO(ReportObjectKind.FieldObject).SuppressIfDuplicate = true; report.AddColumn("Patient", 120, FieldValueType.String); report.AddColumn("Pat DOB", 80, FieldValueType.Date); report.AddColumn("Code", 50, FieldValueType.String); report.AddColumn("Proc Description", 120, FieldValueType.String); report.AddColumn("Tth", 30, FieldValueType.String); report.AddColumn("Surf", 40, FieldValueType.String); report.AddColumn("Date", 80, FieldValueType.Date); report.AddColumn("UCR Fee", 70, FieldValueType.Number); report.AddColumn("Co-Pay", 70, FieldValueType.Number); report.AddPageNum(); if (!report.SubmitQuery()) { DialogResult = DialogResult.Cancel; return; } //incomplete: Add functionality for using parameter values in textObjects, probably using inline XML: report.AddSubTitle(((DateTime)report.ParameterFields["date1"].CurrentValues[0]).ToShortDateString() + " - " + ((DateTime)report.ParameterFields["date2"].CurrentValues[0]).ToShortDateString()); //incomplete: Implement formulas for situations like this: for (int i = 0; i < report.ReportTable.Rows.Count; i++) { if (PIn.PDouble(report.ReportTable.Rows[i][11].ToString()) == -1) { report.ReportTable.Rows[i][11] = "0"; } } FormReportOld2 FormR = new FormReportOld2(report); //FormR.MyReport=report; FormR.ShowDialog(); DialogResult = DialogResult.OK; }