[ Case Study 01 · Report Automation ]

How we returned 100+ hours a month to a 40-member RCM team.

A 50-practice operation. Six different EHRs. Weekly KPIs, monthly report cards, quarterly benchmarking, annual analysis. All of it drowning the team's calendar. We built the automation that gave them their hours back, and watched what they did with them.

+50%
Per-Collector Recovery
$5K → $7.5K/month per head, after the team got pulled off reports and onto AR.
100+ hrs
Team Hours / Month, Returned
Weekly KPIs, monthly report cards, quarterly benchmarking. All eliminated.
Very minimal
Cloud Infrastructure Cost
Built on serverless cloud. Cost tracks the workload, not a seat count.
Download as PDF
02 / Introduction

This is what happens when RCM operators build their own automation.

Gravitas is an AI-automation consultancy for US healthcare RCM. We are not a tech company that learned RCM. We are a team of RCM operators (billing, AR, appeals, credentialing) with 10+ years of operator depth, combined with the engineering discipline to build HIPAA-grade automation that holds up in production.

Today we serve US-based RCM operations managing claims across 30+ US payers, including BCBS plans in multiple states and California IPAs. Our team operates inside their AR, appeals, credentialing, and reporting workflows daily. Not as a vendor watching dashboards. As the people writing the queries and tuning the models.

This case study is about one of those workflows: the reporting backbone. The system that runs weekly KPIs, monthly financial report cards, quarterly benchmarking, and annual analytics across 50 practices on six different EHRs. The system that, before automation, was eating a 40-member team's calendar and pushing the actual revenue work to the bottom of the queue.

How to Read This Case Study
P. 3
The Pain
Why a 40-member team was drowning.
P. 4
The Build
The five-stage automation pipeline.
P. 5–7
The Screens
What the team and owners see.
P. 8
The Impact
Revenue lift, time, cost, scale.
P. 9
Voices
A CEO and two providers.
P. 10
Next Step
A 30-minute call to walk your workflow.
03 / Before

A 40-member team running reports for 50 practices, across six EHRs.

The math doesn't work. Every week, every month, every quarter, every year, the same reports get run. By hand. From six different portals. While the actual revenue work waits.

The EHR matrix: Athena · DrChrono · eClinicalWorks · EHRYourWay · Elation Billing · one additional system. Every practice on a different stack. Every stack with its own export.
Weekly · KPI Summary
~20 min × 50 practices.
Download reports from the EHR portal, build the KPI sheet, hand-roll WoW comparisons. ~16.7 hours every single week, just to know where the week landed.
Monthly · Financial Report Card
30–45 min for a small practice. Up to 2 hours for a 15–20 provider practice.
Total charges, ADC, receipts, copays, A/R aging buckets, gross collection ratio, net income, encounters, new-patient mix, RPV. Per provider. Per month. ~50 hours/month minimum at full scope.
Quarterly · Benchmarking
~2 hrs per report, per practice.
CPT frequency analysis. Payer mix. E/M utilization benchmarking. The reports the manager is supposed to do. Three reports × 50 practices × 2 hrs = ~300 hours a quarter.
Annual · Strategic
The full catalog.
CPT frequency. Payer mix. Denial trends. Denial analysis. Average allowable per CPT × payer. Revenue per visit. Revenue per paid visit. All of it. Once a year. By hand.
The Real Cost
“If we keep doing the reports, who will do the real work?”
A 40-member team also expected to chase AR, work denials, run QA, build projections, manage client comms across the practice book. Missed deadlines became routine. Client trust started leaking. The reports won the calendar; the revenue work lost it.
04 / What We Built

A cloud-native pipeline that runs while the team sleeps.

An RPA bot logs into each EHR portal nightly. Downloads the CSVs. Drops them in cloud storage. A function ingests them, deduplicates at row level, and lands them in the warehouse. A REST API serves the metrics. A React app turns them into the same reports the team used to build by hand, refreshed every morning.

1
RPA Bot
Logs into each EHR portal nightly. Downloads CSVs per practice.
2
Cloud Storage
Google Drive holds the raw CSVs. Versioned, audit-trailed.
3
Cloud Function
Detects, parses, dedupes, ingests to warehouse.
4
BigQuery
Single source of truth. 5+ years history per practice.
5
React App
11+ reports, refreshed daily. Practice owners see numbers in seconds.
Row-Level Deduplication
Overlapping CSV re-uploads happen. We hash every row on ingest. Hundreds of thousands of duplicates caught and dropped across the practice book, automatically, without analyst intervention.
Practice-Specific Header Maps
Same EHR vendor, slightly different export headers per practice. We store the header map in config, not in code. Onboard a new practice in minutes, not weeks.
RPA Reliability Surface
Daily run status, screenshots on failure, last-upload timestamps surfaced in the UI. “Data may be stale” banner appears the moment ingestion slips a day.
Editable Cells Where It Matters
Operating expenses, FTE counts, capitation payments. Manual inputs the EHR doesn't carry. Yellow cells in the UI, written back to the warehouse.
Very
minimal
Cloud infrastructure cost: very minimal. The pipeline runs on a cloud-native serverless stack (Cloud Run, BigQuery, Firestore, Cloud Functions, Cloud Scheduler, Firebase Hosting). Cost tracks your actual data volume, not a per-seat license. The infrastructure scales with the practice book, not with the headcount.
05 / Screen 1 · Weekly KPI Summary

Every Monday morning, the week's numbers are already there.

reports.gravitashc.com/weekly-kpi
Gravitas Reports
Performance
Claims
Coding
Admin
demo@gravitashc.comSign Out
Performance › Weekly KPI › Summary
Weekly KPI Summary
▾ Practice A · Multi-Specialty
View Full Report →
⤓ Export CSV
Week of May 4 – May 10, 2026
1.1 Patient Visits
412
▲ 4.2% WoW
2.2 Amount Billed
$184,210
▲ 7.8% WoW
3.1 Payment Posted
$132,150
▲ 12.3% WoW
4.1 Over 90 Days
$25,080
▼ 2.1% WoW
4.3 Total A/R
$184,800
▼ 1.4% WoW
Practice A · Multi-Specialty
KPI DescriptionsWoW
1.1Patient Visits (Office Only Visits)▲ 4.2%
2.2Total Amount Billed▲ 7.8%
3.1Payment Posted▲ 12.3%
4.1Amount Over 90 Days Old (By Date of Service)▼ 2.1%
4.3Total Amount A/R Balance (By Date of Service)▼ 1.4%
Patient Visits
Face to FaceTelemedicine
Billed vs Payments
BilledPayments
A/R & Over 90 Days
Total A/ROver 90 Days
What it replaces: the Monday morning routine of logging into the EHR portal, exporting four reports, building the comparison sheet by hand. What it adds: 5-metric stat row computed off the warehouse, WoW deltas, trend charts on every KPI, the same view across 50 practices with one dropdown.
06 / Screen 2 · Monthly Financial Report Card

The two-hour monthly report. Now built automatically.

reports.gravitashc.com/monthly-financial
Gravitas Reports
Performance
Claims
Coding
Admin
demo@gravitashc.comSign Out
Performance › Monthly Financial › Summary
Financial Report Card Summary
▾ Practice A · Multi-Specialty
View Full Report →
⤓ Export CSV
Practice A · Multi-Specialty · April 2026
#StatisticNotesYoY
1Total ChargesA measure of total productivity. Includes total charges of each individual provider and any other charges.▲ 6.4%
1aAvg Daily Charges (ADC)Total charges divided by number of calendar days. Tracks average productivity for the practice.▲ 6.1%
2Total Payments (Receipts)Total Payments▲ 9.2%
3Copayments CollectedCo-payment collections▲ 3.7%
4Total RefundsTotal refunds (insurance and patients).▼ 0.8%
5Total A/RAmount outstanding and owed to the practice.▼ 5.3%
6Total Over 90 DaysFrom aging report. Tracks overdue collection trends.▼ 11.6%
7% Over 90From A/R aging report. Another way to track overdue collection trends.▼ 4.2%
8Gross Collection RatioTotal payments divided by total charges. Measures how well you are billing and collecting.▲ 2.1%
10Net IncomeTotal receipts minus total operating expenses (actual). What is left to pay the physicians.▲ 8.4%
11Total EncountersTotal Office + Hospital encounters.▲ 4.9%
Office
Hospital
RPVRevenue Per VisitTotal Payment / Total Encounters▲ 4.1%
Charges vs Payments
ChargesPayments
A/R & Over 90 Days
Total A/ROver 90 Days
Total Encounters
OfficeHospital
The two-hour report. For a 15–20 provider practice, this used to take up to 2 hours to assemble by hand. Now it's there every morning. Total charges, ADC, receipts, A/R aging, gross collection ratio, net income, RPV. Yellow-cell editables for operating expenses and FTE. YoY computed off the same warehouse. Charts mirror the same numbers visually so practice owners spot the trend without reading the row.
07 / Screen 3 · Denials Overview

Where the money's leaking. With benchmarks built in.

reports.gravitashc.com/denials
Gravitas Reports
Performance
Claims
Coding
Admin
demo@gravitashc.comSign Out
Claims › Denials › Overview
Denials · Overview
▾ Practice A · Multi-Specialty
⤓ Export CSV
Total Rejected & Denied
$48,210
312 total
Initial Denial Rate
17.8%
Benchmark: 16–20%
Final Denial Rate
3.4%
Benchmark: 2–5%
Resolution Rate
81.2%
253 resolved / 312 total
Rejections (Front End) · Benchmark <2%
Count
94
Amount
$12,840
Rate
1.6%
Denials (Back End) · Benchmark <5%
Count
218
Amount
$35,370
Rate
4.2%
Rejections by Category
Eligibility (42%)
Authorization (22%)
Demographics (16%)
Coordination of Benefits (12%)
Other (8%)
Denials by Category
Medical Necessity (30%)
Bundled / Inclusive (28%)
Auth / Pre-Cert Missing (18%)
Timely Filing (14%)
Other (10%)
This is where the team's freed time goes to work. Front-end rejections (eligibility, auth, demographics) routed back upstream for prevention. Back-end denials (medical necessity, bundling, timely filing) routed into the appeals workflow with the dollar-ranked categories visible. The screen tells the AR analyst which fight is worth picking first.
08 / After

Reports got automated. The team got reassigned. Collections went up.

The time savings are the mechanism. The revenue lift is the result. When the 40-member team stopped running reports, the AR analysts got freed up for AR follow-up. Recovery per collector went up immediately.

Headline Result · Per-Collector Recovery
+50%
Per-collector monthly recovery went from roughly $5,000 to $7,500, per head. Same people. Same payer panel. The only thing that changed is what they spent their week doing. Time pulled off report assembly went directly into AR work: denial follow-up, payer callbacks, the conversations that close claims. The lift compounds across the AR team and across the practice book.
Team Hours Returned
100+ / month
Weekly KPI (~16.7 hrs/week), monthly report cards (~50 hrs/month), quarterly benchmarking (~300 hrs/quarter). All time that now goes to the work that moves the number.
Infrastructure Cost
Very minimal
Cloud infrastructure runs on a serverless stack. Cost tracks the actual data volume your practice book generates, not a per-seat license. The footprint scales with the work, not with the team.
Scale
50 / 6
Practices live or ready to onboard, across six different EHRs. Adding a practice = config change in Firestore, not a code change.
Data Freshness
Daily
Reports update overnight. Monday's numbers visible Monday morning. No more Friday-afternoon “the data is from last week” emails.
09 / Voices

In their own words.

The voices behind the numbers. One CEO running the books. Two physicians running the patient floor. Same automation, three different ways of saying what changed.

From the CEO
“Look, I had 40 people splitting their week between assembling reports and doing the actual revenue work. Once Gravitas turned the report-building off, my AR analysts got their hours back, and collections per head jumped pretty much the same quarter. We didn't hire a single new collector. We just stopped wasting the ones we had. Honestly, the math on this one was kind of embarrassing for how long we lived with it.”
Chief Executive OfficerMedical billing company · multi-state RCM operation
From a Provider
“I get my Monday numbers Monday morning now. Not Friday. That alone changed how I run the practice. The denial trends are right there in front of me, and I can totally see which payer is slipping before it shows up in cash flow.”
Managing PhysicianMulti-specialty practice · West Coast
From a Provider
“Honestly, the report card view is the first dashboard I've actually opened more than once. Revenue per visit, A/R aging, new patient mix, all in one place. My admin team and I are finally looking at the same numbers, which is huge.”
Practice OwnerIndependent physician group · Southern California
Names and practice identities withheld at the request of our client. Live customer references available for qualified discovery conversations.
[ next step ]

Your reports are the loudest deadline in your week. We'll take them.

A 30-minute call to walk one of your recurring report packages, the one that eats the most time. If the build math works, we scope the sprint together. If it doesn't, you've spent 30 minutes and you understand your team's report load better than you did this morning.

Book a Working Session
Vivek Manoharan
Co-founder, CEO & CFO
vivek@gravitashc.com
Karthik Ramesh
Co-founder, COO & CTO
karthikramesh@gravitashc.com
We build software for any workflow in your revenue cycle.