Vantrexia's billing engine automates the entire RPM revenue cycle — from identifying billable activities to generating claims, tracking submissions, and producing analytics reports. The system supports all CMS-recognized RPM CPT codes and handles multiple billing sources including device transmissions, clinical escalations, and manual time entries.

Revenue Impact

A typical practice monitoring 500 patients can generate $45,000–$65,000 per month in RPM revenue when billing is fully optimized. Vantrexia's automated billing engine captures claims that manual workflows often miss, particularly for device-based billing (CPT 99454) and additional clinical time (CPT 99458).

RPM CPT Codes & Reimbursement Rates

Vantrexia supports the full range of CMS RPM and CCM billing codes. Reimbursement rates shown are 2026 Medicare national averages — actual rates vary by payer and locality.

CPT Code Description Rate Frequency Requirements
99453 Initial setup & patient education for RPM device $19.73 Once per patient Device provided; patient educated on usage
99454 Device supply with daily recording/transmission (30-day period) $43.02 Monthly ≥16 days of data transmission per 30-day period
99445 Remote therapeutic monitoring treatment management $47.00 Monthly New for 2026; requires clinical assessment of RTM data
99457 RPM treatment management — first 20 min/month $47.87 Monthly ≥20 min of interactive communication with patient/caregiver
99458 RPM treatment management — each additional 20 min $38.49 Monthly (addl.) Each additional 20-min block after 99457 is met
99470 Remote patient monitoring management (new 2026 codes) $26–$38.31 Monthly Varies by tier; clinical staff time monitoring data
99490 Chronic care management — first 20 min/month $42.00 Monthly ≥20 min of CCM services; requires consent
99091 Collection & interpretation of physiologic data (30+ min) $56.00 Monthly ≥30 min of data interpretation by qualified provider
Billing Compliance

CPT 99457 and 99458 require interactive communication — this means real-time interaction with the patient or caregiver (phone call, video, or live chat). Reviewing data without patient interaction does not qualify. Vantrexia tracks communication time separately from data review time to ensure accurate billing.

Billing Sources

Vantrexia captures billable activities from four distinct sources, each generating billing records automatically:

1. Automatic Device Billing

A Celery task runs daily at 2:00 AM to evaluate device transmission compliance. For each patient who has met the 16-day transmission requirement during their current 30-day billing period, the system automatically generates a CPT 99454 billing record.

Python — Device Billing Celery Task
@shared_task(name='billing.generate_device_billing')
def generate_device_billing():
    """
    Runs daily at 2:00 AM via Celery Beat.
    Generates CPT 99454 records for patients meeting
    the 16-day transmission threshold.
    """
    today = timezone.now().date()
    active_patients = Patient.objects.filter(
        active=True,
        devices__isnull=False
    ).distinct()

    created_count = 0
    for patient in active_patients:
        period_start = patient.current_billing_period_start
        period_end = period_start + timedelta(days=30)

        if today < period_end:
            continue  # Period not yet complete

        transmission_days = Observation.objects.filter(
            patient=patient,
            effective_datetime__date__gte=period_start,
            effective_datetime__date__lt=period_end
        ).values('effective_datetime__date').distinct().count()

        if transmission_days >= 16:
            BillingRecord.objects.get_or_create(
                patient=patient,
                cpt_code='99454',
                service_date=period_end,
                billing_period_start=period_start,
                billing_period_end=period_end,
                defaults={
                    'amount': Decimal('43.02'),
                    'source': 'automatic_device',
                    'status': 'pending_review',
                    'transmission_days': transmission_days,
                }
            )
            created_count += 1

    logger.info(f"Device billing complete: {created_count} records created")

2. Escalation-Based Billing

When clinicians resolve escalation events, the system automatically logs the interaction time and generates billing records for CPT 99457 (first 20 minutes) and CPT 99458 (each additional 20 minutes). Time is tracked from escalation assignment to resolution.

3. MA Triage Billing

Medical Assistants who perform triage review and patient outreach generate billable time entries. The system tracks triage session duration and associates it with the appropriate CPT code based on cumulative monthly time per patient.

4. Manual Billing

For activities not captured automatically (e.g., CPT 99453 initial setup, CPT 99091 data interpretation), authorized users can create manual billing records through the billing interface or API. Manual records follow the same review and submission workflow as automatic records.

Smart Billing Engine

The smart billing engine runs every 4 hours via Celery Beat to identify and generate billing records for activities that may not be captured by the daily device billing task. It performs the following checks:

  • Time accumulation: Aggregates clinical interaction time per patient per month from escalation events, triage sessions, and manual time entries. When cumulative time crosses a 20-minute threshold, a new CPT 99457 or 99458 record is generated.
  • Missed device billing: Catches any patients whose billing period ended but were missed by the 2:00 AM task (e.g., due to task failure or late-arriving data).
  • Duplicate detection: Prevents double-billing by checking for existing records with the same patient, CPT code, and billing period before creating new records.
  • Eligibility validation: Verifies that patients meet CMS requirements for each CPT code before generating claims (active enrollment, valid consent, proper documentation).

Billing Claim Lifecycle

Every billing record progresses through a defined state machine. The lifecycle ensures proper review and documentation before claims are submitted to payers.

1

Pending Review

Initial state for all newly generated billing records. The record contains the patient, CPT code, service date, amount, and supporting data (transmission days, interaction time, escalation details). A billing staff member must review and approve the record.

2

Reviewed

A billing staff member has verified the record's accuracy, confirmed eligibility requirements are met, and approved it for submission. The reviewer's identity and timestamp are recorded.

3

Submitted

The claim has been submitted to the payer (insurance company or CMS). A submission reference number and date are recorded. The claim enters the payer's adjudication process.

4

Paid / Denied

Paid: The payer has processed and reimbursed the claim. Payment amount, date, and check/EFT reference are recorded.
Denied: The payer has rejected the claim. Denial reason code, description, and date are recorded. Denied claims can be resubmitted after correction.

Report Endpoints

Vantrexia provides 13 built-in report endpoints that cover every aspect of billing analytics. All reports support date range filtering, CSV/PDF export, and role-based access control.

# Endpoint Description
1 GET /api/v1/billing/reports/executive-dashboard/ High-level revenue summary with month-over-month trends, collection rates, and top-line KPIs
2 GET /api/v1/billing/reports/revenue/ Detailed revenue breakdown by CPT code, payer, provider, and date range
3 GET /api/v1/billing/reports/claims-status/ Current status of all claims with filtering by state (pending, submitted, paid, denied)
4 GET /api/v1/billing/reports/unbilled/ Patients with billable activities that have not yet been converted to claims
5 GET /api/v1/billing/reports/aging/ Claims aging report: 0–30, 31–60, 61–90, and 90+ day buckets
6 GET /api/v1/billing/reports/payer-performance/ Per-payer metrics: average days to payment, approval rate, denial rate, common denial reasons
7 GET /api/v1/billing/reports/patient-summary/ Per-patient billing history with lifetime revenue, active claims, and billing eligibility status
8 GET /api/v1/billing/reports/cpt-utilization/ CPT code usage statistics: volume, revenue, average reimbursement, denial rate per code
9 GET /api/v1/billing/reports/monthly-trend/ 12-month revenue trend with month-over-month growth rate and seasonal patterns
10 GET /api/v1/billing/reports/provider-productivity/ Per-provider billing metrics: patients managed, claims generated, revenue per patient
11 GET /api/v1/billing/reports/tasks-summary/ Billing task queue status: pending reviews, submission backlog, denied claims awaiting resubmission
12 GET /api/v1/billing/reports/quick-stats/ Lightweight KPI endpoint for dashboard widgets: total revenue, claims count, collection rate
13 GET /api/v1/billing/reports/export/ Full data export in CSV or PDF format with configurable date range and field selection
Report Caching

Reports with computationally expensive queries (executive dashboard, monthly trend, payer performance) are cached in Redis with a 15-minute TTL. Passing ?refresh=true as a query parameter forces a fresh calculation. Real-time reports (quick stats, claims status) are always live.

Revenue Calculator Example

Here is a sample calculation for a practice monitoring 500 patients, assuming typical compliance and utilization rates:

CPT Code Rate Eligible Patients Monthly Revenue
99454 (Device supply) $43.02 425 (85% compliance) $18,283.50
99457 (First 20 min) $47.87 350 (70% utilization) $16,754.50
99458 (Additional 20 min) $38.49 150 (30% utilization) $5,773.50
99453 (Initial setup) $19.73 25 (new enrollments) $493.25
Estimated Monthly Total $41,304.75
Estimated Annual Revenue $495,657.00
Maximize Revenue

The two biggest levers for increasing RPM revenue are: (1) improving device transmission compliance above 85% to maximize CPT 99454 eligibility, and (2) ensuring clinician time is documented for CPT 99457/99458. See the Billing Setup Tutorial for optimization strategies.