features

Analytics & Graphs

Two different reporting surfaces — a clinic dashboard covering bookings, billing and providers, and a graph builder that plots what clinicians record in smart blocks over time.

Zdrovia reports in two places, and they answer different questions.

Surface Route Answers
Analytics /dashboard/analytics How is the clinic doing? Bookings, revenue, no-shows, providers
Graphs /dashboard/graphs How is this patient doing? Anything recorded in a smart block, over time

Analytics

Navigate to Analytics in the sidebar.

The reporting window

Choose Last 3 months, Last 6 months (default) or Last 12 months.

The window is a set of presets rather than a free-form date range on purpose: every figure on the page is bucketed by month, and an arbitrary start date mid-month produces a leading bucket that isn’t comparable with the others and reads as a dip. Whole months keep the trend lines honest.

Months are resolved in your clinic’s timezone, not the viewer’s. A clinic in Toronto and a manager checking in from Europe see the same numbers in the same buckets.

Headline figures

Figure What it counts
Total Patients All patients on file
Appointments This Month Bookings in the current month, with a month-over-month trend
No-Show Rate Share of appointments not attended
Average Ticket Average invoice value
Billed This Month Total invoiced
Collected Payments received
Outstanding Invoiced and unpaid
Expiring Stock Inventory approaching expiry — see Inventory

The charts

Chart Shows
Appointments & New Patients Both series over the window, monthly
Appointments by Day Which days of the week fill up
Billing Billed value over the window
Invoices by Status Draft, sent, paid, overdue
Visit Outcomes Completed vs cancelled vs no-show
By Provider Booked value per staff member — see Staff
New vs Returning Where the appointments are coming from

Graphs

Navigate to Graphs in the sidebar (/dashboard/graphs).

Graphs plot clinical data — the values clinicians record in smart blocks. A pain score across a course of physiotherapy, a range of motion measurement per visit, a questionnaire total banded by severity.

How it works

Every smart block field declares whether it is a measure (something to plot) or a dimension (something to split or filter by), and the graph reads that declaration directly from the block. There is no mapping step in between — which is why authoring a field on a custom block makes it graphable immediately, and why renaming a field can never leave a graph pointing at something that no longer exists.

Building a graph

  1. Click New graph
  2. Choose a graph type — line, area, bar, scatter, and the other supported types
  3. Pick the measure to plot
  4. Choose what goes on the x-axis (usually the date the reading was recorded)
  5. Optionally split or filter by a dimension
  6. Save — the definition is stored and reusable

A saved graph definition opens at /dashboard/graphs/:id.

Graphs are patient-scoped

Graphs draw from a patient’s own records, which means a chart that isn’t attached to a service line still graphs. A phone-consult note with a pain score in it counts.

Chart report wizard

From a patient’s chart you can generate a report built from their recorded data — the readings, their trend, and the graphs you have defined — for a referral or a progress review.


Where else numbers appear

Place What it shows
Invoices Outstanding, paid this month, overdue, drafts, revenue sparkline
Commissions What each staff member has earned, by status
Tips Collected, unallocated, awaiting payout, paid out
Insurance Claims by stage, and what is ready to collect
Inventory Stock at or below reorder threshold
Patient profile Per-patient cards you arrange yourself — see Patients

Tips

  • Compare like with like: leave the window on the same preset when you check week to week, or the month-over-month trend arrows change meaning.
  • If No-Show Rate is the number you care about, look at Visit Outcomes alongside it — the rate alone doesn’t tell you whether cancellations moved into no-shows or out of them.
  • Build the graph once and save it. A saved definition is what makes “show me their pain score since March” a click rather than a rebuild.
  • Mark fields as measures deliberately when authoring a custom block — a graph can only offer what a field declares.
← Back to Help