Custom dashboard views & drill-through
Outcome
You can save a dashboard configuration as a named view that you (or others) can return to with a single click, share a view link via URL, and make a view your default landing page.
Prerequisites
| Scope | What it lets you do |
|---|---|
reports.read.* | Whatever data the view needs |
reports.view.write | Save your own personal views |
reports.view.publish | Publish a view as available to others |
A configured dashboard (7.1 — Dashboards & scheduled email) and at least one set of filters worth saving.
What a view captures
A view is the persisted state of the dashboard:
| Captured | Notes |
|---|---|
| Selected facility | One or all. |
| Date range | Absolute (2025-01-01..2025-03-31) or rolling (Last 30 days). |
| Panel selection | Which panels are visible. |
| Panel filters | Per-panel filter state (e.g. denial trend by payer). |
| Layout | Column ordering and sizing. |
A view does not capture the underlying data — every load runs the live query.
Steps to save a view
Configure the dashboard the way you want — pick filters, pick panels, arrange the layout.
Click
Save viewin the dashboard's view picker (top-right). The dialog asks for:- Name — display label.
- Visibility —
Personal(only you see it) orShared(anyone with the relevant scopes does). - Default for me? — make it your landing page.
Confirm. The view appears in the picker for your account; if shared, it appears for teammates as well.
Steps to share via URL
The dashboard URL carries ?view=<id>:
Open the view from the picker.
Copy the URL from the address bar. Anyone with the right scopes who opens that URL lands on the same view.
Paste into chat or email. The recipient does not need to add the view to their picker; the URL is enough.
Drill-through pattern
Every panel respects the drill-through pattern: clicking a chart element opens the underlying list page filtered to the click context.
| Panel | Click target | Lands on |
|---|---|---|
| AR + days-in-AR bar | An aging bucket | /claims?ageBucket=… |
| Revenue by facility bar | A facility / month | /charges?facilityId=…&month=… |
| Denial trend point | A month | /denials?month=… |
| Claim status funnel | A status | /claims?status=… |
| Auth utilization meter | An auth | /authorizations/:id |
Drill-through preserves your dashboard filters where applicable (if your dashboard is filtered to facility A, drilling from a point inherits the facility filter unless the click context overrides it).
Steps to manage shared views
Open
/reports/views. The list shows all views you can see — your personal ones and shared ones for which you have scope.Edit any view you own (Personal you saved, or Shared if you have
reports.view.publish). Edit name, visibility, default flag.Delete a view with the row menu. Personal views you own can be deleted at any time; shared views require
reports.view.publish. URL links pointing at a deleted view fall back to the default dashboard.
Validation
| Check | Expected |
|---|---|
| Saved view appears in the picker | Yes. |
URL with ?view=<id> opens the same configuration on a second device | Yes. |
| Drill-through inherits dashboard filters | Yes; click context overrides where applicable. |
Default view loads when you open /dashboard directly | Yes. |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Shared view missing for a teammate | They lack required scopes for one or more panels | Have a tenant admin grant the scope, or save a leaner view. |
| URL opens an empty dashboard | The view was deleted | Save a fresh view; share the new URL. |
| Drill-through opens the list with no filter | Underlying dataset has no month / facility field for that panel | Confirm the panel produces drill-through context (some custom panels do not). |
Save view button greyed | Missing reports.view.write | Ask for the scope. |