Statistics
Read the same aggregate statistics your organisation’s Admin Tool dashboard shows: order and prescription volume, pharmacy order breakdowns, questionnaire submissions, and per-doctor prescription counts.Per-doctor statistics for a single doctor (
GET /doctors/{doctor_uid}/statistics,
permission doctor_statistics:read) are documented on the Doctors
page. Questionnaire submission statistics (GET /questionnaires/{questionnaire_uid}/statistics/submissions)
are documented on the Questionnaires
page. CSV exports of statistics are not available through this API.Dashboard Statistics
statistics:read
Example Request
Response
Response Fields
Status keys in
orders_per_status are the literal status strings from
Order Statuses; keys in
pharmacy_orders_per_pharmacy[].statuses are from
Pharmacy Order Statuses. Keys in
prescriptions_per_status are the literal PrescriptionStatus values —
waiting for doctor, approved, signed, declined, cancelled, ON_HOLD,
NON_QES_SIGNED, EXTERNALLY_SIGNED — see Prescription Statuses
for what each one means. In every case, only statuses with at least one matching record in
the window appear.orders_per_day and prescriptions_per_day are keyed by day bucket: the Unix
timestamp divided by 86400 (seconds per day), as an integer. To convert a bucket back to
a calendar date, multiply it by 86400 to get the Unix timestamp for midnight UTC of that
day (e.g. bucket 20680 → 20680 * 86400 = 1786752000 → 2026-08-15T00:00:00Z).Each development object reports
current_count (last 30 days), previous_count (the 30
days before that), development_absolute (the difference), and development_percent (the
percent change, null when previous_count is 0). wallet_passes and patients also
include a cumulative total across all time.Error Responses
All-Doctors Statistics
GET /doctors/{doctor_uid}/statistics
instead.
integer
Start of the date range (Unix timestamp). Defaults to 30 days ago.
integer
End of the date range (Unix timestamp). Defaults to now.
integer
default:"0"
Page number (0-indexed)
integer
default:"50"
Number of doctors per page
statistics:read
Example Request
Response
Response Fields
The analytics window is capped: a
start_seconds further back than 30 days before end_seconds
is clamped to that maximum, so requesting start_seconds=0 does not scan every prescription
ever created.