RPM revenue and CPT codes
How Medicare CPT codes 99453, 99454, 99457, and 99458 work. And how Vantrexia helps you capture each one.
The four CPT codes that matter
Medicare's Remote Physiologic Monitoring (RPM) program reimburses practices for setting up devices, supplying device data, and providing care management based on those readings. Four CPT codes do most of the work. Understand these and you understand RPM revenue.
| CPT | What it pays for | Frequency | Approx. national rate (CY 2026)* |
|---|---|---|---|
| 99453 | Initial device setup and patient education | Once per episode | ~$21.93 |
| 99454 | Device supply with at least 16 days of readings in a 30-day period | Monthly | ~$52.67 |
| 99457 | First 20 minutes of clinical staff time providing RPM treatment management, with interactive communication | Monthly | ~$52.08 |
| 99458 | Each additional 20 minutes of RPM treatment management | Add-on to 99457 | ~$41.61 |
*Rates shown are illustrative national reference rates and vary by your locality, MAC, and contracted commercial payer rates. Vantrexia stores the contracted rate per payer per CPT code so your reports reflect what you actually get paid.
CPT code 99470 (10–19 minutes of treatment management) is a new alternative to 99457 in 2026. It is useful for short months. Vantrexia surfaces it automatically when total time falls in that range.
How the codes flow together
A typical billable RPM month looks like this:
- Patient is enrolled and a device is shipped → bill 99453 once, the first month.
- Patient transmits readings on at least 16 calendar days in a 30-day period → bill 99454 that month.
- Clinical staff spend at least 20 minutes on care management, including at least one interactive (live two-way) communication with the patient that month → bill 99457.
- If staff time hits another 20 minutes (40 total) → add 99458 once. Another 20 (60 total) → add another 99458. Repeat.
Miss any of those gates and the corresponding code does not bill. That's where Vantrexia earns its keep, preventing the misses.
99453: Initial setup
Bill once per patient per episode of monitoring. It pays for educating the patient on the device and getting them onboarded.
What Vantrexia does for you:
- Marks 99453 as billable the first time a patient transmits a reading from a newly assigned device.
- Tracks "episodes" so you don't accidentally re-bill 99453 if you swap one device for another mid-episode.
- Lets you choose your 99453 policy in Settings → Billing:
- Auto: Vantrexia auto-creates the 99453 line item the first time a device transmits.
- Manual only: staff must explicitly add 99453 (useful if you want a documented education encounter first).
99454: The 16-day rule
This is the workhorse. Most of your monthly RPM revenue per patient. 99454 requires at least 16 distinct calendar days of device readings within a 30-day period. If a patient only transmits 15 days, you bill nothing for that month under 99454.
What Vantrexia does for you:
- Counts unique reading days per patient on a rolling 30-day window.
- Shows a 16-day progress bar on every patient's record so staff know who's at risk of falling short.
- Includes No Readings (3 days) and Compliance Today widgets on the dashboard so you can intervene before patients fall off the 16-day pace.
- Surfaces non-compliant patients in a single list so a care coordinator can call them.
- Auto-creates the 99454 billing entry the day the 16th-day threshold is hit, with the device, period, and reading count attached.
The 16 days must be distinct calendar days with at least one reading each. Five readings in one day still counts as a single day. This is the most common reason RPM programs leave money on the table. Call patients on day 12 if they're behind.
99457: The 20-minute rule
99457 pays for 20+ minutes of clinical staff time spent on remote physiologic treatment management in a calendar month, with at least one live, interactive communication with the patient or caregiver (phone or video. Secure messaging alone does not count).
Time that counts toward 99457:
- Reviewing and interpreting transmitted readings
- Modifying the care plan based on readings
- Talking with the patient by phone or video about their data
- Communicating with the patient's other clinicians about RPM data
- Documenting the care management activity
What Vantrexia does for you:
- A built-in care management timer on the patient record. Hit start when you begin work, hit stop when you're done. Time accumulates against the calendar month.
- A flag on the timer for interactive communication so you can certify the live-contact requirement was met.
- A monthly status pill on every patient: 0–10 min, 10–19 min (consider 99470), 20–39 min (99457), 40+ min (99457 + 99458).
- An automatic warning when 99457 is already billed for the period so you don't double-bill.
- A 99457 worksheet at month-end that lists every patient who qualifies.
Document what you did during the time, not just the duration. A one-line note ("reviewed BP trend, called patient, advised hold losartan and call PCP") is enough to defend the time in an audit.
99458: Each additional 20 minutes
Once 99457 is locked in (20 minutes + interactive contact), every additional 20 minutes in the same calendar month bills 99458. You can stack multiple 99458 units in a month (e.g., 60 minutes total = 99457 + 99458 once; 80 minutes = 99457 + 99458 + 99458).
What Vantrexia does for you:
- Automatically tallies 99458 units once 99457 is met.
- Shows you a running estimate of monthly RPM revenue per patient.
- Caps 99458 at the unit count Medicare allows under your local MAC's policy and warns if you exceed it.
Required diagnosis codes
99453, 99454, 99457, and 99458 must be billed with a covered ICD-10 diagnosis (typically the chronic condition being monitored: e.g., I10 essential hypertension, E11.9 type 2 diabetes). Vantrexia maintains a CPT-to-diagnosis mapping so the right codes ride along on the billing entry. Edit the mapping per payer in Settings → Billing → Diagnosis mapping.
Putting it all together
For a single patient with hypertension on an active monitoring program, a typical full month looks like:
| Code | Conditions met | Reimbursement |
|---|---|---|
| 99453 | Setup billed in month one only | ~$21.93 (one time) |
| 99454 | ≥16 days of readings | ~$52.67 |
| 99457 | ≥20 min care time + 1 interactive contact | ~$52.08 |
| 99458 | Care time hit 40 min total | ~$41.61 |
| Total per patient (this month) | ~$146.36 |
Rates are national Medicare averages and vary by locality and payer. Use your own contracted rates when projecting revenue.
Where to see it all
The Billing → RPM revenue screen in the staff portal puts every billable event for the current period in a single table: patient, device, code, units, billing date, and contracted rate per payer. Export to CSV or push directly to your billing/clearinghouse integration.