How Medicare Part B calculates outpatient therapy payments
This article explains how Medicare Part B calculates outpatient therapy payments.
Medicare Part B payment rules can depend on coverage, medical necessity, provider enrollment, claim details, payor edits, and Medicare Administrative Contractor guidance. You should verify payment calculations against official Medicare guidance and your organization's billing process.
Before you start
If you want to test different inputs to see what the resulting reimbursements are, you can create a free RehabAlpha account and follow along by entering fake data into our system.
Medicare Part B pays by the service item
For outpatient therapy services, Medicare Part B generally pays under the Medicare Physician Fee Schedule, often shortened to MPFS or PFS. Payment is estimated one CPT service line at a time, then adjusted based on the other services and modifiers that apply for the date of service.
In other words, for a given patient service date, Medicare starts with service lines that could look like this:
| CPT code | Units | MPFS rate | Medicare allowed amount |
|---|---|---|---|
| 97161 | 1 | $96.40 | $96.40 |
| 97110 | 2 | $31.25 | $62.50 |
| 97530 | 1 | $38.90 | $38.90 |
| Total | 4 | ... | $197.80 |
That total is the Medicare allowed amount before adjustments such as Multiple Procedure Payment Reduction, assistant payment reductions, coinsurance, and sequestration.
The example amounts in this article are simplified examples. They show the calculation flow, not a current official fee schedule for a specific locality.
Units
A unit is the quantity Medicare uses for a CPT service line. The MPFS rate is the allowed amount for one unit, and the service line's allowed amount is:
Some CPT codes are timed. For timed outpatient therapy codes, units are based on the number of billable timed minutes furnished on the service date.
Medicare commonly uses the 8-minute rule for timed therapy codes:
| Timed minutes | Units |
|---|---|
| 0-7 | 0 |
| 8-22 | 1 |
| 23-37 | 2 |
| 38-52 | 3 |
| 53-67 | 4 |
| 68-82 | 5 |
After the first unit, each additional unit generally requires another 15 minutes.
The same rule can be summarized with this formula:
For example:
| Timed service | Minutes | Units |
|---|---|---|
| 97110 | 23 | 2 |
| 97530 | 15 | 1 |
When more than one timed CPT code is furnished on the same date, the total timed minutes determine the total timed units for the session. Those units are then assigned across the timed CPT service lines supported by the documentation.
For example, suppose the timed services for the date are:
| CPT code | Description | Minutes |
|---|---|---|
| 97110 | Therapeutic exercise | 18 |
| 97116 | Gait training | 12 |
| 97530 | Therapeutic activities | 15 |
| Total | ... | 45 |
The total timed units are:
Those 3 timed units are then allocated across the timed CPT codes. A practical way to think about the allocation is to assign the next unit to the code with the highest remaining minutes, then repeat until all timed units have been assigned.
RehabAlpha allocates timed units with this pattern:
totalTimedMinutes = sum(minutes for timed CPT codes)
totalTimedUnits = floor((totalTimedMinutes + 7) / 15)
for each timed CPT code:
assignedUnits = 0
repeat totalTimedUnits times:
choose the CPT code with the highest minutes / (assignedUnits + 1)
add 1 assigned unit to that CPT code
This distributes timed units toward the CPT codes with the strongest documented minute support.
| CPT code | Description | Minutes | Units |
|---|---|---|---|
| 97110 | Therapeutic exercise | 18 | 1 |
| 97116 | Gait training | 12 | 1 |
| 97530 | Therapeutic activities | 15 | 1 |
| Total | ... | 45 | 3 |
Other CPT codes are untimed. Untimed services are usually billed as one unit when the service is furnished, regardless of the number of minutes documented.
For example:
| Untimed service | Description | Furnished? | Units |
|---|---|---|---|
| 97161 | Physical therapy evaluation | Yes | 1 |
| 97012 | Mechanical traction | Yes | 1 |
| 97012 | Mechanical traction | No | 0 |
A service date can include both timed and untimed service lines. In the example above, adding one furnished service-based code would produce 4 total units: 3 timed units plus 1 untimed unit.
How Medicare calculates the service payment
At a high level, Medicare starts with the service date, service location, CPT code, billing units, relative value units, geographic adjustments, and conversion factor. It uses those inputs to calculate an MPFS rate for the service line.
Details and formulas
Step 1: Determine the locality and rate setting
First, Medicare determines the payment locality and whether to use the facility or non-facility practice expense RVU.
For a given service line, the calculation needs:
- ZIP code - used to look up the Medicare carrier and locality
- ZIP+4 - used when Medicare's ZIP code mapping requires the extra four digits
- Place of service - used to choose the facility or non-facility rate setting
Step 2: Calculate the MPFS component amounts
Next, Medicare calculates the dollar amount for each MPFS component.
For a standard RVU-priced line, the components are:
The Practice expense RVU is either the facility practice expense RVU or the non-facility practice expense RVU, depending on the service location's place of service.
Step 3: Add the components to get the MPFS rate
Medicare then adds the three component amounts.
This produces the MPFS rate for one unit of that CPT code at that service location on that service date.
Some MPFS status codes indicate that Medicare does not separately pay the code under the physician fee schedule. For those statuses, the MPFS allowed amount is $0.00 instead of an amount calculated from the ordinary RVU pricing formula.
Step 4: Multiply the MPFS rate by units
After the MPFS rate is determined, the rate is multiplied by the number of billed units for that service line.
For example:
| CPT code | Units | MPFS rate | Medicare allowed amount |
|---|---|---|---|
| 97110 | 2 | $31.25 | $62.50 |
Step 5: Apply Multiple Procedure Payment Reduction when applicable
Many therapy service lines are subject to Multiple Procedure Payment Reduction, often shortened to MPPR.
When MPPR applies, Medicare pays the full practice expense portion for the highest practice expense unit on that date, then reduces the practice expense portion for the other MPPR-subject units.
MPPR is calculated across therapy services furnished to the same patient on the same service date.
For example, if three units on the same date are subject to MPPR:
| Order | CPT code | Base MPFS rate | Practice expense dollars | MPPR reduction | MPPR-adjusted rate |
|---|---|---|---|---|---|
| 1 | 97530 | $38.90 | $18.20 | $0.00 | $38.90 |
| 2 | 97110 | $31.25 | $14.00 | $7.00 | $24.25 |
| 3 | 97110 | $31.25 | $14.00 | $7.00 | $24.25 |
| Total | ... | $101.40 | ... | $14.00 | $87.40 |
Step 6: Apply assistant payment reduction when applicable
For outpatient occupational therapy and physical therapy services furnished in whole or in part by an assistant, Medicare can apply an assistant payment reduction.
Medicare therapy modifiers identify the discipline and, when applicable, assistant involvement:
| Discipline and therapist type | Medicare modifier |
|---|---|
| Occupational therapy | GO |
| Occupational therapy assistant | CO |
| Physical therapy | GP |
| Physical therapy assistant | CQ |
| Speech-language pathology | GN |
When the service uses the CO or CQ modifier, the applicable allowed amount is multiplied by 0.85.
If MPPR does not apply, the assistant reduction uses the Medicare allowed amount before MPPR as its base.
Step 7: Split the final allowed amount
After MPPR and assistant reductions, payment can be split into three additional estimates:
Expected collected revenue can then be estimated as:
The sections below define the main inputs used in those formulas and explain where each value comes from.
Calendar year
Medicare Part B MPFS rates follow the calendar year. A calendar year starts on January 1 and ends on December 31.
| Calendar year | Starts | Ends |
|---|---|---|
| 2024 | January 1, 2024 | December 31, 2024 |
| 2025 | January 1, 2025 | December 31, 2025 |
| 2026 | January 1, 2026 | December 31, 2026 |
| 2027 | January 1, 2027 | December 31, 2027 |
Because Part B services are priced by service date, a single admission can span more than one MPFS calendar year. Each service line should use the calendar year for that service date.
For example:
| Service date | Calendar year used |
|---|---|
| December 31, 2025 | 2025 |
| January 1, 2026 | 2026 |
Service location and locality
how to determine the GPCI values in these formulas
For a given service line, Medicare payment calculation depends on the Medicare carrier and locality for the service location.
CMS publishes locality information that maps geography to a carrier and locality. The service location's ZIP code and, when needed, ZIP+4 determine the locality.
The locality determines the Geographic Practice Cost Index values:
| GPCI value | Meaning |
|---|---|
| Work GPCI | Geographic adjustment for physician work |
| Practice expense GPCI | Geographic adjustment for practice expense |
| Malpractice GPCI | Geographic adjustment for malpractice expense |
The service date determines which locality and GPCI values apply.
CMS publishes Medicare PFS locality information on the Medicare PFS Locality Configuration page and the Locality Key page.
CMS publishes national and carrier-specific fee schedule files on the Physician Fee Schedule pages.
Facility vs non-facility rate setting
how to determine the practice expense RVU in this formula
The MPFS RVU file can include two practice expense RVUs for the same CPT code:
- Facility practice expense RVU
- Non-facility practice expense RVU
The service location's place of service determines which practice expense RVU applies.
| Place of service example | Rate setting |
|---|---|
| 11 - Office | Non-facility |
| 12 - Home | Non-facility |
| 31 - Skilled Nursing Facility | Facility |
| 32 - Nursing Facility | Non-facility |
| 62 - Comprehensive Outpatient Rehabilitation Facility | Non-facility |
If the place of service does not map to a Medicare facility or non-facility rate setting, the ordinary MPFS line estimate cannot be calculated.
CMS publishes place of service codes on the Place of Service Code Set page.
CPT codes, units, and status codes
how to determine the units in this formula
The service line calculation uses the CPT codes, minutes, utilization, and units for the services furnished on the date of service.
For timed CPT codes, the total timed minutes determine the total Medicare timed units using the 8-minute rule. Those units are then allocated back to the timed CPT codes.
For untimed CPT codes, the calculation usually counts one unit when the service was utilized and zero units when it was not utilized.
| Service item type | Unit behavior |
|---|---|
| Timed CPT code | Total timed minutes determine Medicare timed units |
| Untimed CPT code with Utilized set to yes | 1 unit |
| Untimed CPT code with Utilized set to no | 0 units |
| Untimed CPT code with minutes greater than 0 | 1 unit |
The MPFS status for each CPT code helps explain whether ordinary RVU pricing applies.
| Status category | Payment behavior |
|---|---|
| Separately payable or restricted coverage | Applies ordinary RVU pricing when source data is available |
| Bundled, excluded, reporting-only, non-covered, or not valid for Medicare | Forces the MPFS allowed amount to $0.00 |
| MAC-priced, anesthesia pricing, or conditional pricing | Displays the source status and does not force a standard RVU price unless the status supports it |
CMS publishes RVUs, conversion factors, status codes, and multiple procedure indicators in the PFS Relative Value Files.
RVUs, GPCIs, and conversion factor
how to determine the RVUs and conversion factor in these formulas
The MPFS calculation uses three RVU components, three GPCI values, and one conversion factor.
| Input | Example value |
|---|---|
| Work RVU | 0.90 |
| Facility practice expense RVU | 0.40 |
| Non-facility practice expense RVU | 0.95 |
| Malpractice RVU | 0.05 |
| Work GPCI | 1.0000 |
| Practice expense GPCI | 0.9250 |
| Malpractice GPCI | 0.7100 |
| Conversion factor | 32.3465 |
For a facility service line using the example values above, the calculation would look like this:
| Component | Calculation | Component amount |
|---|---|---|
| Work | 0.90 x 1.0000 x 32.3465 | $29.11 |
| Practice expense | 0.40 x 0.9250 x 32.3465 | $11.97 |
| Malpractice | 0.05 x 0.7100 x 32.3465 | $1.15 |
| MPFS rate | $29.11 + $11.97 + $1.15 | $42.23 |
CMS publishes RVU and conversion factor data in the PFS Relative Value Files.
CMS publishes locality and GPCI information through the Medicare Physician Fee Schedule data files and locality pages.
Multiple Procedure Payment Reduction
how to determine the MPPR reduction in this formula
Medicare's therapy MPPR policy reduces the practice expense portion for certain therapy services when multiple services are furnished to the same patient on the same day.
The service line is included in the MPPR calculation when the MPFS multiple procedure indicator identifies the CPT code as subject to therapy MPPR.
For a given patient and service date, the MPPR calculation:
- Collects all therapy service lines subject to MPPR.
- Expands each billed unit into one MPPR row.
- Sorts rows from highest practice expense dollars to lowest.
- Leaves the first row unreduced.
- Reduces each later row by 50% of its practice expense dollars.
An MPPR details table typically shows:
- discipline
- CPT code
- units
- base MPFS rate
- practice expense
- MPPR reduction
- MPPR-adjusted rate
CMS publishes therapy payment policy information and MPPR rate files on the Therapy Services page.
Assistant payment reduction
how to determine the assistant adjusted amount in this formula
For outpatient therapy, Medicare uses discipline modifiers and assistant modifiers to identify certain services furnished by occupational therapy assistants and physical therapy assistants.
The modifiers are determined from:
- The therapy discipline
- The treating therapist
- The treating therapist's license for the service location and service date
If an occupational therapy assistant or physical therapy assistant furnished the service, the corresponding assistant modifier applies with the 85% payment multiplier.
| Scenario | Modifiers | Payment multiplier |
|---|---|---|
| OT furnished by an occupational therapist | GO | 1.00 |
| OT furnished by an occupational therapy assistant | GO, CO | 0.85 |
| PT furnished by a physical therapist | GP | 1.00 |
| PT furnished by a physical therapy assistant | GP, CQ | 0.85 |
| SLP furnished by a speech-language pathologist | GN | 1.00 |
CMS explains the outpatient therapy assistant modifier policy on the Therapy Services page.
Generate the example in RehabAlpha
The sections above explain the Medicare Part B payment formula. This section shows how to enter example inputs in RehabAlpha so the app can generate the Part B payment estimate in the service log.
This example uses an outpatient therapy service with these values entered in RehabAlpha:
| Input or setup value | Example value |
|---|---|
| Payment model | Outpatient Part B |
| Payor | Medicare Part B |
| Service date | January 5, 2026 |
| Facility state | Alabama |
| Service location ZIP code | 36104 |
| Service location place of service | 31 - Skilled Nursing Facility |
| Discipline | PT |
| Treating therapist | Physical therapist |
| CPT code | 97110 |
| Minutes | 23 |
Set up the organization, facility, and service location
- Create a test organization. See Set up an organization.
- Create a facility. See Set up a facility.
- Select Alabama as the facility State.
- Open the facility, click Locations, and open Default service location.
- Set the service location place of service to 31 - Skilled Nursing Facility.
- Enter the service location ZIP code and ZIP+4 when known.
- Save the service location.
The service location's ZIP code, ZIP+4, and place of service determine the locality, GPCI values, and facility or non-facility practice expense RVU used in the MPFS calculation.
Set up the patient, coverage, and admission
- Create a patient. See Set up a patient.
- Add a patient coverage that uses Medicare Part B. New organizations include a pre-loaded Medicare Part B payor, so use that payor when it is available. See Add patient coverages.
- Open the patient and click Admissions.
- Click New admission.
- Select the facility.
- Enter Admit date as January 5, 2026.
- Leave Discharge date blank if the admission is ongoing.
Add the Outpatient Part B coverage episode
- In Coverage episodes, click Add coverage episode.
- Set Payment model to Outpatient Part B.
- Under Payors (coverages), select the patient coverage that uses Medicare Part B.
- Select the discipline or disciplines covered by the episode.
- Select the Default service location.
- Keep Start of period set to Admit date.
- Keep End of period set to Indefinite / unknown if the episode is ongoing.
RehabAlpha uses the coverage episode to decide whether to show Medicare Part B payment fields for the clinical document.
Document the service
- Create or open the patient's therapy case.
- Add or open the evaluation, recertification, or treatment for January 5, 2026.
- Confirm the document discipline is PT.
- Confirm the treating therapist is the physical therapist who furnished the service.
- In Services or interventions provided today, click Add service item.
- Select CPT code
97110. - Enter
23minutes. - Save the document.
RehabAlpha uses the service date, service location, discipline, therapist, CPT code, and minutes to calculate the Part B estimate.
View the payment estimate
- Reopen the saved clinical document.
- Scroll to Services or interventions provided today.
- Review the service item fields for units, modifiers, MPFS status, MPFS breakdown, Medicare allowed amount, MPPR status, and any assistant adjustment.
- Review the service log totals for final allowed amount, patient coinsurance responsibility, Medicare portion before sequestration, Medicare payment after sequestration, and expected collected revenue.
For each service item, RehabAlpha can display:
- Units
- Modifiers
- MPFS status
- Medicare Physician Fee Schedule (MPFS)
- Medicare allowed amount
- Subject to MPPR?
- MPPR Adjusted Amount
- Assistant adjusted amount
For the whole service log, RehabAlpha can display:
- Total units
- Medicare allowed amount
- MPPR Adjusted Amount
- Assistant adjusted amount
- Final allowed amount
- Patient coinsurance responsibility
- Medicare portion before sequestration
- Medicare payment after sequestration
- Expected collected revenue
If RehabAlpha cannot resolve the MPFS data for a service item, the affected payment fields display a dash. This can happen when the service date, service location ZIP code, ZIP+4, place of service, locality data, or CPT source data is missing or does not match available Medicare data.
Expected calculation flow
If the example service line has 23 timed minutes, RehabAlpha counts 2 Medicare timed units.
The calculation flow is:
| Step | Example result |
|---|---|
| Timed units | 2 units |
| MPFS rate | Resolved from CPT code, service date, locality, rate setting, RVUs, GPCIs, and conversion factor |
| Medicare allowed amount | 2 x MPFS rate |
| MPPR adjusted amount | Applies when the CPT code is subject to MPPR |
| Assistant adjusted amount | Applies only when CO or CQ is present |
| Final allowed amount | Allowed amount after MPPR and assistant payment reductions |
| Patient coinsurance responsibility | 0.20 x final allowed amount |
| Medicare payment after sequestration | 0.98 x (0.80 x final allowed amount) |
| Expected collected revenue | Patient coinsurance responsibility plus Medicare payment after sequestration |
You should know
RehabAlpha calculates Part B payment estimates from the information available in the clinical document, service location, therapist record, coverage episode, and Medicare source data.
The estimate does not decide whether the service is covered, medically necessary, payable after all claim edits, subject to a local coverage determination, or ultimately paid by Medicare. Review the estimate as part of your billing workflow, not as a final remittance amount.
If an estimate looks wrong, check:
- The patient's Outpatient Part B coverage episode
- The document service date
- The selected service location
- The service location ZIP code and ZIP+4
- The service location place of service
- The document discipline
- The treating therapist and license
- The CPT codes and minutes in the service log
- Whether the CPT code is subject to MPPR
- Whether the
COorCQassistant modifier applies