Minnesota Commercial Payer Rates for Physical Therapy: Benchmarks by Code, Payer and Network
Updated Oct 20, 2026
$199
Fixed price
Already have an account? Log in
Have an API key? Use the REST API →
Source, license and coverage
Supplier documentation. These claims are separate from the automated sample score. A listing edit date is not a data freshness date.
- License
- Brick & Mortar data licence: internal commercial use incl. model training, no redistribution
- Source / creator
- BCBS Minnesota and HealthPartners Transparency in Coverage in-network rate files (published under 45 CFR 147.212), October 2026 index; CMS Medicare Physician & Other Practitioners by Provider and Service, service year 2024 (public domain); NPPES for provider location.
- Collection method
- Every commercial health plan must publish its negotiated rates (the Transparency in Coverage rule, 45 CFR 147.212). The files are tens of gigabytes per payer and unusable as shipped. We downloaded BCBS Minnesota's and HealthPartners' October 2026 in-network files, kept the 39 CPT codes physical therapy bills, matched every rate to its provider, and reduced 7,583,038 rate rows across 2,190 providers to distributions: for each code x payer x network x billing class x negotiated type x modifier, how many providers, and the p10 / p25 / median / p75 / p90 rate. A second table cuts the same distributions by provider 3-digit ZIP. A third gives Medicare's 2024 paid and charged amounts per code for Minnesota physical therapists. Example: CPT 97110 (therapeutic exercise), professional, no modifier: median negotiated rate $25.08 across HealthPartners networks against $50.58 on BCBS Minnesota's Awar
- Coverage start
- Not applicable
- Coverage end
- Not applicable
- Data last updated
- 2026-10-20
- Update schedule
- snapshot
Sample structure score: 94.9 / 100
This automated check describes the inspected sample, not factual accuracy, legal rights, representativeness, or the quality of the entire dataset. It is not a customer rating.
Assessed 10 sample records (CSV) on 2026-10-20. All records in the provided sample were checked.
| Check | Points | Evidence |
|---|---|---|
| Populated cells | 45.3 / 50 | 136 of 150 top-level cells contain a value. Null, absent and blank values count as missing; zero and false count as populated. |
| Consistent value types | 29.6 / 30 | 134 of 136 populated cells match their column's most common observed type. Types are inferred, not checked against real-world truth. |
| Consistent record shape | 20 / 20 | 10 of 10 records have the expected fields. CSV/TSV use the header width; JSON uses the union of observed keys. |
Field-level findings and improvements
Check missing cells and mixed types below. Document intentional missing values or mixed types in your field descriptions. Do not fill legitimate unknowns with invented values just to increase this score.
| Field | Missing cells | Most common type | Other populated types |
|---|---|---|---|
| cpt_code | 0 / 10 | number | 0 / 10 |
| description | 8 / 10 | string | 0 / 2 |
| payer | 0 / 10 | string | 0 / 10 |
| network | 0 / 10 | string | 0 / 10 |
| billing_class | 0 / 10 | string | 0 / 10 |
| negotiated_type | 0 / 10 | string | 0 / 10 |
| modifiers | 6 / 10 | number | 2 / 4 |
| unit | 0 / 10 | string | 0 / 10 |
| n_providers | 0 / 10 | number | 0 / 10 |
| n_rates | 0 / 10 | number | 0 / 10 |
| p10 | 0 / 10 | number | 0 / 10 |
| p25 | 0 / 10 | number | 0 / 10 |
| median | 0 / 10 | number | 0 / 10 |
| p75 | 0 / 10 | number | 0 / 10 |
| p90 | 0 / 10 | number | 0 / 10 |
About this data
What Minnesota's commercial health plans actually pay for physical therapy: negotiated-rate distributions (p10 to p90) for 39 PT CPT codes, per payer, network, billing class and modifier, built from 7.58 million rows of the payers' federally mandated Transparency in Coverage files. Plus the Medicare paid vs charged benchmark for the same codes. One CSV, 4,319 rows; column meanings in the schema. No provider names, NPIs or tax ids: every row is a distribution over at least 3 providers. Percentage-of-billed rates are kept separate from dollar rates (`unit`).
Retrieve with your agent or Python
Create an account and configure DATABAZAAR_API_KEY. This example retrieves free or already purchased data; it never makes a purchase. For a multi-file dataset, choose a file index from the manifest.
Download the Python examplepython3 retrieve-dataset.py 2c6ce5bd-b074-4c48-8722-cf45a704c984 --output dataset.bin
Schema
| Name | Type | Description |
|---|---|---|
| cpt_code | number | |
| description | string | |
| payer | string | |
| network | string | |
| billing_class | string | |
| negotiated_type | string | |
| modifiers | number | |
| unit | string | |
| n_providers | number | |
| n_rates | number | |
| p10 | number | |
| p25 | number | |
| median | number | |
| p75 | number | |
| p90 | number |
Sample Data
Download a free sample to inspect the data before purchasing.
Public sample only. Sign in to retrieve the full dataset, including free datasets.
For AI Agents
# 1. Add to your agent's MCP config (claude_desktop_config.json or similar):
{
"mcpServers": {
"databazaar": { "command": "npx", "args": ["databazaar-mcp"] }
}
}
# 2. Your agent can then call:
search_datasets({ query: "Minnesota Commercial Payer Rat" })
// Found: 2c6ce5bd-b074-4c48-8722-cf45a704c984
buy_now({ dataset_id: "2c6ce5bd-b074-4c48-8722-cf45a704c984" }) // uses your saved card# Authenticate with your API key:
curl https://api.databazaar.io/datasets/2c6ce5bd-b074-4c48-8722-cf45a704c984 \
-H "Authorization: Bearer YOUR_API_KEY"
# Purchase:
curl -X POST https://api.databazaar.io/datasets/2c6ce5bd-b074-4c48-8722-cf45a704c984/buy \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"dataset_id": "2c6ce5bd-b074-4c48-8722-cf45a704c984"}'