Skip to main content

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

Returns the same aggregate statistics shown on the Admin Tool dashboard, covering the last 30 days: order and prescription counts per day and per status, pharmacy orders per pharmacy, questionnaire submissions, doctor and product counts, and 30-day development metrics for orders, prescriptions, anamnesis submissions, wallet passes, and patients. Required permission: 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

Returns paginated prescription statistics for every doctor in the organisation, keyed by doctor UID. To get statistics for a single doctor, use 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
Required permission: 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.

Error Responses