From billing spreadsheets to a connected view of five treatment centers.
How a five-center behavioral health network went from a billing census retyped by hand every week to daily boards read straight from Kipu, and what is still being built.
It started as a billing problem: one person, more than a day a week, carrying attendance into a census by hand. Fixing it meant connecting the data underneath, and that changed what leadership could see every morning.
The starting point
We were asked about the census. The census was not the only thing.
Found along the way, and what each became
- 1The attendance logs had no medical record number, only namesDoneOne added column
- 2Nobody had looked at all the centers in one file on the same dayRunningA daily board for all five
- 3Leadership's questions waited on the census being rebuilt by handRunningBoards every morning
- 4The center websites had 51 location pages that nothing linked toAudit doneFixes not yet verified
- 5Ad reporting stopped at clicks and form fills, not admissionsIn buildSource tracked to admission
How it unfolded
What happened, in order.
- AuditWith the operations lead and every center's files
- Root causeAttendance logs had no record number
- Census engineDrafted and checked five ways
- Parallel weekRun beside the manual census, signed off
- EMR by APIEvery center read each morning, read-only
- Daily boardsCensus, executive and clinical views
- NextThe fourth site and a new center
What we connected
One engine between the systems that never talked.
It reads, drafts and checks. It never writes back to the EMR, and a person approves every line. Where it runs and who can access the data is agreed in writing with the client.
Inputs
reviewed corrections become rules
a person approves every line
Outputs
What changed
What changed, for each person who uses it.
| Who | Before | Now |
|---|---|---|
| Operations lead | Retyped every center's logs into the census, more than a day a week, then cleared the biller's flags. | Reviews a drafted census and a short list of flags. Approves every line. Corrections become rules. |
| Center leadership | Saw their census against target only after the week's census was built by hand. | Sees their center against its break-even census every morning. |
| Network leadership | Questions became requests. Discrepancies were found in a two-day meeting. | Daily boards for all five centers, plus an executive view with estimated value of care and a month-end projection. |
| Marketing and admissions | Reporting stopped at clicks and form fills. | In build For the next center, every inquiry carries its source, so cost per admission can be counted by channel. |
Chapter · The ten-second run
Where it started: the billing census.
The checks came from sitting with the operations lead and asking what actually goes wrong, then writing one for each answer. The finding that mattered most was not an error. It was a missing column.
BeforeSample data
| Date | MRN | Name | Hours | LOC |
|---|---|---|---|---|
| 3/8 | none | J. Hale | 3.0 | IOP |
| 3/8 | none | M. Ortiz | 2.0 | IOP |
| 3/9 | none | J. Hale | 3.0 | IOP |
| 3/10 | none | A. Chen | 5.0 | PHP |
AfterMRN added
| Date | MRN | Name | Hours | LOC |
|---|---|---|---|---|
| 3/8 | 4417 | J. Hale | 3.0 | IOP |
| 3/8 | 2298 | M. Ortiz | 2.0 | IOP |
| 3/9 | 4417 | J. Hale | 3.0 | IOP |
| 3/10 | 8022 | A. Chen | 5.0 | PHP |
Every identity mismatch traced back to that template. Not to carelessness. One added column closed that class of error at the source, at no cost. Names and numbers above are sample labels, not real clients.
Scope: about ten seconds to read and check one facility-month once the exports are in place. It excludes pulling the exports and reviewing the flags. The hand figure it replaced was the operations lead's whole weekly census work across sites, so the two are not the same scope.
Proven in a parallel week
The operations lead ran a full week of the engine against the manual census and signed off with three notes. All three shipped the same day. Reviewed corrections since are logged as rules the engine checks, where they apply.
In the pilot it also recognised a week that had not been entered yet as work in progress, rather than flagging hundreds of errors. A tool that cries wolf on incomplete data gets switched off in week two.
The five checks, with the arithmetic, are in the billing census checks guide.
The line it does not cross
- It does not bill, and it does not approve. A person approves every line.
- Clinical judgment stays with the directors. A client repeatedly under threshold is an engagement conversation, not a billing correction.
- When in doubt, hold rather than bill. A documented day can be billed late. A wrongly billed day becomes a clawback.
The boards
What leadership opens every morning.
Recreated with invented numbers. The real boards follow the same layout, are built from aggregates and carry no patient names.
Daily census
Against break-even, today
Census against break-even, by site
Executive view
Month to date, aggregates only
Estimated value of care is not collected revenue. The board says so on its face.
Clinical outcomes
From discharge records
Completed treatment, by site
The evidence
Every number, with where it comes from.
- Verified637 entries in the first real run, zero conflictsFrom the engine's own run on real client data.
- Verified943 client-days, 27 day tabs, about ten secondsOne facility-month, once exports are in place. Excludes pulling exports and reviewing flags.
- VerifiedParallel week signed off, three notes, shipped the same dayRun by the operations lead against the manual census.
- VerifiedFour Kipu instances read every morning by API, boards for five centersRead-only. Nothing is written back to the EMR.
- Management-reportedAbout 15% denial rate, more than a day a week of retypingAs described by the client. Not measured by us.
- Technical finding51 unlinked location pages, 7 near-duplicates, 11 open thank-you pagesFrom the audit of four center websites. Not measured traffic loss.
- Not claimedDollars recovered, denials reduced, traffic or admissions gainedNeeds a full billing cycle with rework tracking, and real search and inquiry data.
Delivery status
Where each piece stands.
| Workstream | Status | Limitation |
|---|---|---|
| Billing census automation | Running at 3 of 4 outpatient sites | The fourth site is moving onto the shared census template first. |
| Daily dashboards | Running for five centers, from Kipu each morning | Estimated value of care is not collected revenue. |
| Website, next center | In build | Not launched. No traffic to report. |
| SEO | Audit done for four sites | Fixes not yet verified as implemented. |
| Admissions measurement | Built tested on invented data | No real admissions measured yet. |
| Financial impact | Not claimed | Needs a full billing cycle after go-live, with rework tracked. |
As of October 1, 2026.
Still open
What remains unresolved.
When any of these has a real answer, this page will say so, with the date. Want to try the billing side yourself? The one-page checklist runs the five billing checks on one facility and one month. No email, no gate.
Two to twelve locations, and the numbers still joined by hand?
Start with a free 20-minute call. Nothing to prepare, no data to send.