Billing API
The Billing API manages the full RPM billing lifecycle — from automated CPT code generation to revenue reporting and claims export. The billing engine automatically generates entries based on device transmissions and clinical time, while also supporting manual entry creation for custom billing scenarios.
Vantrexia supports the standard RPM CPT codes: 99453 (initial setup), 99454 (device supply/data transmission), 99457 (first 20 min clinical time), 99458 (additional 20 min), and 99091 (data collection/interpretation). The billing engine validates eligibility rules for each code.
List Billing Entries
Retrieve a paginated list of billing entries with filtering by date range, status, CPT code, and patient.
/api/v1/billing/entries/
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
date_from | string | No | Start date (ISO 8601) |
date_to | string | No | End date (ISO 8601) |
status | string | No | Filter: pending, submitted, paid, denied, appealed |
cpt_code | string | No | Filter by CPT code: 99453, 99454, 99457, 99458, 99091 |
patient_id | uuid | No | Filter by patient |
ordering | string | No | Sort: service_date, -service_date, amount |
Example Request
curl "https://app.vantrexia.com/api/v1/billing/entries/?status=pending&date_from=2026-02-01&cpt_code=99457" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Response 200 OK
{
"count": 18,
"next": null,
"previous": null,
"results": [
{
"id": "a2b3c4d5-e6f7-8901-abcd-ef2345678901",
"patient_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"patient_name": "Jane Doe",
"cpt_code": "99457",
"service_date": "2026-02-05",
"duration_minutes": 22,
"amount": 55.86,
"status": "pending",
"payer": "Blue Cross Blue Shield",
"icd10_codes": ["I10", "E11.9"],
"notes": "Monthly RPM clinical review — 22 min documented",
"auto_generated": true,
"created_at": "2026-02-05T02:00:00Z"
}
]
}
Manual Create Entry
Create a billing entry manually. Use this for clinical time that was not automatically captured or for custom billing adjustments.
/api/v1/billing/entries/manual-create/
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
patient_id | uuid | Yes | Patient ID |
cpt_code | string | Yes | CPT code: 99453, 99454, 99457, 99458, 99091 |
service_date | string | Yes | Date of service (YYYY-MM-DD) |
duration_minutes | integer | Yes | Clinical time in minutes |
notes | string | No | Clinical notes for the billing entry |
icd10_codes | array | No | Array of ICD-10 diagnosis codes |
Example Request
curl -X POST https://app.vantrexia.com/api/v1/billing/entries/manual-create/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-H "Content-Type: application/json" \
-d '{
"patient_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"cpt_code": "99457",
"service_date": "2026-02-06",
"duration_minutes": 25,
"notes": "Phone consultation for BP management — reviewed readings, adjusted medication",
"icd10_codes": ["I10"]
}'
Response 201 Created
{
"id": "b3c4d5e6-f7a8-9012-bcde-f23456789012",
"patient_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"patient_name": "Jane Doe",
"cpt_code": "99457",
"service_date": "2026-02-06",
"duration_minutes": 25,
"amount": 55.86,
"status": "pending",
"payer": "Blue Cross Blue Shield",
"icd10_codes": ["I10"],
"notes": "Phone consultation for BP management — reviewed readings, adjusted medication",
"auto_generated": false,
"created_by": "clinician@practice.com",
"created_at": "2026-02-06T15:00:00Z"
}
Dashboard Report
Retrieve aggregate billing metrics for the dashboard including revenue summary, claim counts by status, and CPT code breakdown.
/api/v1/reports/billing/stats/
Example Request
curl https://app.vantrexia.com/api/v1/reports/billing/stats/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Response 200 OK
{
"period": "2026-02",
"total_revenue": 24850.00,
"total_claims": 445,
"claims_by_status": {
"pending": 52,
"submitted": 180,
"paid": 198,
"denied": 12,
"appealed": 3
},
"revenue_by_cpt": {
"99453": 3200.00,
"99454": 8960.00,
"99457": 9150.00,
"99458": 2840.00,
"99091": 700.00
},
"collection_rate": 0.943,
"avg_days_to_payment": 18.5
}
Revenue Report
Generate a detailed revenue report with date range filtering. Returns daily or monthly breakdowns depending on the date range.
/api/v1/reports/billing/
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
date_from | string | Yes | Start date (YYYY-MM-DD) |
date_to | string | Yes | End date (YYYY-MM-DD) |
group_by | string | No | Grouping: day, week, month (default: auto) |
Example Request
curl "https://app.vantrexia.com/api/v1/reports/billing/?date_from=2026-01-01&date_to=2026-02-06&group_by=month" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Response 200 OK
{
"date_from": "2026-01-01",
"date_to": "2026-02-06",
"total_revenue": 48200.00,
"breakdown": [
{ "period": "2026-01", "revenue": 23350.00, "claims": 420, "patients_billed": 78 },
{ "period": "2026-02", "revenue": 24850.00, "claims": 445, "patients_billed": 82 }
]
}
Claims Export
Export claims data for submission to insurance payers. Returns claims in a structured format compatible with standard claim submission workflows.
/api/v1/billing/claims-exports/
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by claim status (default: pending) |
payer_id | integer | No | Filter by specific payer |
format | string | No | Export format: json (default), csv |
Example Request
curl "https://app.vantrexia.com/api/v1/billing/claims-exports/?status=pending&format=json" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Response 200 OK
{
"export_date": "2026-02-06T15:00:00Z",
"total_claims": 52,
"total_amount": 3150.80,
"claims": [
{
"claim_id": "CLM-2026-001245",
"patient_mrn": "MRN-00001",
"patient_name": "Doe, Jane",
"cpt_code": "99457",
"service_date": "2026-02-05",
"amount": 55.86,
"payer": "Blue Cross Blue Shield",
"payer_id": "BCBS-IL",
"icd10_codes": ["I10", "E11.9"],
"rendering_provider": "Dr. Sarah Johnson"
}
]
}
List Payers
Retrieve the list of configured insurance payers.
/api/v1/billing/payers/
Example Request
curl https://app.vantrexia.com/api/v1/billing/payers/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Response 200 OK
{
"count": 8,
"results": [
{ "id": 1, "name": "Blue Cross Blue Shield", "payer_id": "BCBS-IL", "is_active": true },
{ "id": 2, "name": "Aetna", "payer_id": "AETNA", "is_active": true },
{ "id": 3, "name": "UnitedHealthcare", "payer_id": "UHC", "is_active": true },
{ "id": 4, "name": "Medicare", "payer_id": "MEDICARE", "is_active": true }
]
}
Payer Rates
Retrieve reimbursement rates per payer per CPT code. Used by the billing engine to calculate expected amounts.
/api/v1/billing/payer-rates/
Example Request
curl https://app.vantrexia.com/api/v1/billing/payer-rates/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Response 200 OK
{
"count": 20,
"results": [
{ "payer": "Blue Cross Blue Shield", "cpt_code": "99453", "rate": 19.45, "effective_date": "2026-01-01" },
{ "payer": "Blue Cross Blue Shield", "cpt_code": "99454", "rate": 55.22, "effective_date": "2026-01-01" },
{ "payer": "Blue Cross Blue Shield", "cpt_code": "99457", "rate": 55.86, "effective_date": "2026-01-01" },
{ "payer": "Blue Cross Blue Shield", "cpt_code": "99458", "rate": 42.22, "effective_date": "2026-01-01" },
{ "payer": "Medicare", "cpt_code": "99453", "rate": 19.32, "effective_date": "2026-01-01" },
{ "payer": "Medicare", "cpt_code": "99454", "rate": 53.86, "effective_date": "2026-01-01" }
]
}
ICD-10 Code Lookup
Search the ICD-10 code database for diagnosis coding. Returns matching codes with descriptions.
/api/v1/billing/icd10-codes/
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
search | string | No | Search by code or description |
category | string | No | Filter by ICD-10 chapter/category |
Example Request
curl "https://app.vantrexia.com/api/v1/billing/icd10-codes/?search=hypertension" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Response 200 OK
{
"count": 5,
"results": [
{ "code": "I10", "description": "Essential (primary) hypertension", "category": "Circulatory" },
{ "code": "I11.0", "description": "Hypertensive heart disease with heart failure", "category": "Circulatory" },
{ "code": "I11.9", "description": "Hypertensive heart disease without heart failure", "category": "Circulatory" },
{ "code": "I12.0", "description": "Hypertensive chronic kidney disease with stage 5 CKD or ESRD", "category": "Circulatory" },
{ "code": "I13.0", "description": "Hypertensive heart and chronic kidney disease with heart failure", "category": "Circulatory" }
]
}