Introduction
Custom Reports in TrackStat let you analyze patient, visit, and financial data over specific time periods. Use them to track KPIs such as new patient flow, office visit performance, conversion rates, reactivation, lost patients, and collections. You can apply filters, create calculated rows, and schedule automatic email delivery.
Important Note: Only Managers and Administrators can create or edit Custom Reports.
Key Concepts & Best Practices
- Section: Group related metrics (e.g., “New Patients” or “Financial”).
- Row (Metric): Tracks a variable or calculation.
- Variable: Raw data source (e.g., Visits (Scheduled), $ Total Collected, Reactivation).
- Formula Row: Calculates using other rows.
- Always enter “A” in the Expression field for single-variable rows.
- Use one variable per row.
- Common mistake: Leaving the Expression field blank (row shows all zeroes).
- Enable Show Breakdown only on single-variable rows to view underlying patient details via the blue question mark icon.
- Show Averages (Calculation) uses row totals for formulas.
- Large date ranges or mismatched Time Frame / Breakdown settings may cause loading delays.
Step-by-Step: Create a Custom Report
Go to Stats → Custom Reports.
Click the blue Create Report button.
Configure the report settings:
Visibility: Private (only you) or Shared.
Report Name (e.g., “Weekly New Patient Tracker” or “Daily Collections Report”).
Time Frame: Daily, Weekly, Monthly, or Yearly.
Range Size: Number of periods (e.g., 7 for last 7 days).
Start From: Previous (last completed period), Current (ongoing), or Next (future).
Breakdown By: Day, Week, or Month.
Exclude Non-Working Days (optional – best for daily stats).
Click Save.
Step-by-Step: Add Sections and Rows
Open your report and click Edit Report.
Add a Section:
Click Add Section.
Give it a clear name (e.g., New Patients, Financial Metrics, Office Visits).
(Optional) Check Show Totals if desired. This will display column totals, not row totals.
Add a Row (Metric):
Inside the section, click Add Row.
Enter a clear row name (e.g., “Visits Checked In”).
Click Add Variable.
Select the desired variable (common options below).
(Optional) Click the filter icon and apply filters.
Enter A in the Expression field.
(Optional) Check Show Totals and/or Show Breakdown.
Click Save Row.
Practical Row Examples
Here are real-world examples of commonly requested rows. Follow the general “Add Row” process, then apply these exact settings.
New Patients Section Examples
1. Row Title: "New Patients Scheduled"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Expression: A
- Variable: Visits (Scheduled)
- Filters:
- Purpose of Visit / Appointment Type = "New Patient"
- Appointment Status = Cancelled, Checked In, Completed, Future, and Missed
2. Row Title: "New Patient Shows"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Expression: A
- Variable: Visits (Checked In)
- Filter: Purpose of Visit / Appointment Type = "New Patient"
3. Row Title: "New Patient Starts"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Expression: A
- Variable: Visits (Checked In)
- Filters:
- Purpose of Visit / Appointment Type = "New Patient"
- Tags = "np start"
4. Row Title: "New Patient Conversion %"
- Check: Show Average Column, Show Averages (Calculation)
- Expression: A/B (A divided by B)
- Set output as Percentage
- Variable A: Refer to another variable → Section “New Patients” → Row “New Patient Starts”
- Variable B: Refer to another variable → Section “New Patients” → Row “New Patient Shows”
Office Visits Section Examples
5. Row Title: "Office Visits Scheduled"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Expression: A
- Variable: Visits (Scheduled)
- Filter: Appointment Status = Cancelled, Checked In, Completed, Future, and Missed
- (Optional) Add more filters such as Appointment Provider or Purpose of Visit
6. Row Title: "Office Visits"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Expression: A
- Variable: Visits (Checked In)
- (Optional) Add filters such as Purpose of Visit / Appointment Type and/or Appointment Provider
7. Row Title: "Show %"
- Check: Show Average Column, Show Averages (Calculation)
- Expression: A/B (A divided by B)
- Set output as Percentage
- Variable A: Refer to another variable → Section “Office Visits” → Row “Office Visits”
- Variable B: Refer to another variable → Section “Office Visits” → Row “Office Visits Scheduled”
8. Row Title: "Patient Visit Average (PVA)" based on new patient shows
- Expression: A/B (A divided by B)
- Set output as Percentage
- Variable A: Refer to another variable → Section “Office Visits” → Row “Office Visits”
- Variable B: Refer to another variable → Section “New Patients” → Row "New Patient Shows"
9. Row Title: "Patient Visit Average (PVA)" based on new patient starts
- Expression: A/B (A divided by B)
- Set output as Percentage
- Variable A: Refer to another variable → Section “Office Visits” → Row “Office Visits”
- Variable B: Refer to another variable → Section “New Patients” → Row "New Patient Starts"
10. Row Title: "Reactivation" or Returning Old Patients
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Expression: A
- Variable: Reactivation
- (Optional) Add filters such as Purpose of Visit / Appointment Type and/or Appointment Provider
- After exiting the Edit mode of the report, select gear icon next to row name to Select Reactivation Days (30, 45, 60, 90, 120, 180 or 365 days)
11. Row Title: "Lost Patients"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Expression: A
- Variable: Lost Patients (patients who have not had a recent visit)
- Filter: Tags = "np start"
- Note: This metric is not available on a daily or weekly basis. A red triangle with an exclamation point will appear for daily or weekly columns, but the total column will still show data.
12. Row Title: "Net Momentum"
- Expression: (A+B)-C = (A plus B) less C
- Variable A: Refer to another variable → Section “New Patients” → Row "New Patient Starts"
- Variable B: Refer to another variable → Section “Office Visits” → Row "Reactivation"
- Variable C: Refer to another variable → Section “Office Visits” → Row "Lost Patients"
Note: For calculations that reference other variables, the other variable rows must be created first. For example, if trying to calculate "Net Momentum", the rows for "New Patient Starts", "Reactivation" and "Lost Patients" must be set up first and then the "Net Momentum" row will reference the other 3 rows after they have been created.
13. Row Title: "Unique Active Patients"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Expression: A
- Variable: Unique/Active Patients
- Filter: Advanced (optional) - Filter by combined visit count and time period (eg: 2+ visits in last 30 days)
CPT & Services Examples
14. Row Title: "CPT Code All" (hidden helper row)
- Check: Show Breakdown, Show Average Column, Show Totals Column, Hide Row
- Expression: A
- Variable: # Services
15. Row Title: "CPT Codes/Visit" (# Services per appointment)
- Check: Show Average Column, Show Averages (Calculation)
- Expression: A/B
- Set decimal places to 1
- Variable A: Refer to another variable → Section “Office” → Row “CPT Code All”
- Variable B: Refer to another variable → Section “Office” → Row “Office Visits”
Financial Section Examples
16. Row Title: "Total Billed"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Click the $ icon to display as currency
- Expression: A
- Variable: $ Total Billed
17. Row Title: "Total Collected"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Click the $ icon to display as currency
- Expression: A
- Variable: $ Total Collected
18. Row Title: "$/Visit Avg" (Collections Per Visit Average also known as OVA or Office Visit Average)
- Check: Show Average Column, Show Averages (Calculation)
- Click the $ icon to display as currency
- Expression: A/B
- Variable A: Refer to another variable → Section “Financial” → Row “Total Collected”
- Variable B: Refer to another variable → Section “Office” → Row “Office Visits”
19. Row Title: "Case Visit Average" (also known as CVA, shows the dollar value of a typical patient)
- Click the $ icon to display as currency
- Expression: A*B (A times B)
- Variable A: Refer to another variable → Section “Financial” → Row “$/Visit Avg” or "OVA"
- Variable B: Refer to another variable → Section “Office Visits” → Row "Patient Visit Average (PVA)"
20. Row Title: "Cash Payments"
- Check: Show Breakdown, Show Average Column, Show Totals Column
- Click the $ icon to display as currency
- Expression: A
- Variable: $ Total Collected
- Filter: Payment Type = Cash
Create additional rows for other payment types such as Check, Card, Insurance and Debit.
Tip: After adding formula rows or rows that reference other rows, double-check that the referenced rows exist in the correct sections and that the Expression field is correctly set to “A/B” (or your desired formula).
Troubleshooting
Report keeps spinning / loading indefinitely: Ensure Time Frame, Range Size, and Breakdown are consistent. Example: For 4 weeks broken down by week, use Time Frame = Weekly, Range Size = 4, Breakdown = Week. Avoid mixing Monthly Time Frame with Week Breakdown on large ranges.
Row shows all zeroes: Expression field is empty or filters exclude all data.
Show Breakdown not working: Only works for single-variable rows (not formulas).
Product sold but not showing in dollar total: Make sure the row is set to display Dollar Amount ($), not unit count.
Data delayed: Payments or services entered in your EHR may take 30–60 minutes to appear in TrackStat.
Data doesn't seem correct - click blue Load button in upper right corner to make sure any changes have been calculated. For further analysis, select one single date in the past to research and compare to data from your EHR. Drill down to individual patients and transactions. Make sure that appropriate variables and filters have been selected.
Please note: We recommend starting with our articles and training resources, as they are designed to help you understand the platform and guide you through its features so your team can confidently use and manage it. We encourage you to review the articles, try things out on your end, then share your work with us, we’re happy to review and provide feedback. If needed, training calls are available to answer questions and walk through features, but are intended to guide and support you rather than complete tasks on your behalf.






