The first version of our care gap dashboard was, by every technical measure, a success. Sub-second queries across millions of rows, every measure supported, drill-down to the chart. Adoption after three months sat somewhere around eleven percent of the intended users.
The mistakes, in order of severity
We built a report, not a worklist
Users could see everything and act on nothing. Every insight ended with the user leaving the dashboard to do the actual work somewhere else. The second version put the action — book, call, document, defer — inside the row.
We sorted by gap count
Sorting by the number of open gaps puts the most complex patients at the top, which is where attention goes. It is also where the lowest closure probability sits. Sorting by expected yield changed closure volume more than any other single change we made.
We refreshed nightly
Care coordinators called patients about gaps that had been closed that morning. Twice is enough for a team to lose confidence in a tool permanently.
What the rebuild looked like
- One queue per role, pre-filtered, with a defensible sort order.
- Actions inline, with the outcome written back immediately.
- Event-driven refresh on encounter and result, not a nightly batch.
- An explicit "not appropriate" option, with the reason captured and respected thereafter.
That last item mattered more than we expected. Letting a clinician permanently dismiss an inappropriate gap — and having the system remember — did more for trust than any accuracy improvement.
The measure we now watch
Not logins, not page views. Actions taken per session. It is the only number that distinguishes a tool people use from a tool people open.
