Patient Responsibility Estimator
Overview
Estimate patient out-of-pocket costs based on available benefit information. Unlike coverage verification (deterministic), cost estimation involves uncertainty—this skill provides calculation logic AND appropriate confidence levels based on data completeness.
The Estimation Problem
What You Know vs. Reality
| Data Point | What Eligibility Returns | Reality |
|---|---|---|
| Deductible | Plan deductible amount | ✓ Accurate |
| Deductible Met | Amount applied (as of last claim) | May be stale by days/weeks |
| Copay | Plan copay amount | May vary by service type |
| Coinsurance | Plan coinsurance % | ✓ Usually accurate |
| OOP Max | Plan out-of-pocket maximum | ✓ Accurate |
| OOP Met | Amount applied to OOP | May be stale |
| Allowed Amount | Unknown | You're estimating |
Key insight: You're estimating with incomplete, potentially stale data. Communicate this appropriately.
Estimation Workflow
┌─────────────────────────────────────────────────────────────────┐
│ PATIENT RESPONSIBILITY ESTIMATION │
├─────────────────────────────────────────────────────────────────┤
│ │
│ INPUT: │
│ - Service codes (CPT/HCPCS) │
│ - Benefit data (deductible, copay, coinsurance, accumulators) │
│ - Fee schedule / expected allowed amount │
│ │
│ STEP 1: Assess Data Completeness → Confidence Level │
│ STEP 2: Determine Cost-Share Structure │
│ STEP 3: Calculate Estimate │
│ STEP 4: Apply Caveats │
│ STEP 5: Format for Patient Communication │
│ │
│ OUTPUT: Estimate + Confidence + Caveats │
│ │
└─────────────────────────────────────────────────────────────────┘
Step 1: Assess Data Completeness
Confidence Levels
| Level | Data Available | Estimate Reliability |
|---|---|---|
| HIGH | Real-time accumulators + contracted rates | ±10% |
| MEDIUM | Benefit structure + recent accumulators | ±25% |
| LOW | Benefit structure only, no accumulators | ±50% |
| NONE | Minimal/no benefit data returned | Cannot estimate reliably |
Confidence Scoring
START: confidence = 0
ADD +30 if: Have current deductible accumulator (≤7 days old)
ADD +20 if: Have current OOP accumulator (≤7 days old)
ADD +25 if: Have contracted/allowed amount (not estimate)
ADD +15 if: Have specific copay for service type
ADD +10 if: Coinsurance clearly defined
CONFIDENCE LEVEL:
≥80: HIGH
50-79: MEDIUM
25-49: LOW
<25: NONE (provide range or decline to estimate)
Step 2: Determine Cost-Share Structure
Common Plan Structures
Copay-Based (HMO/POS Typical)
Patient pays: Copay (flat fee)
- May vary by service type
- Usually no deductible for office visits
- May have separate copays for:
- PCP visit
- Specialist visit
- Urgent care
- ER
Deductible + Coinsurance (PPO/HDHP Typical)
Patient pays: Deductible first, then coinsurance
- All costs apply to deductible until met
- After deductible: patient pays X% (coinsurance)
- After OOP max: patient pays $0
Hybrid (Common)
Patient pays: Copay OR Deductible + Coinsurance
- Copay for office visits
- Deductible + coinsurance for procedures, imaging, etc.
- Must know which applies to service type
Service Type to Cost-Share Mapping
| Service Type | Typical Cost-Share | Benefit Category |
|---|---|---|
| Office visit (PCP) | Copay | 30 - Health Benefit Plan Coverage |
| Office visit (Specialist) | Copay (often higher) | 30 |
| Preventive | $0 (ACA mandate) | 35 - Preventive |
| Diagnostic imaging | Deductible + coinsurance | 30 |
| Advanced imaging (MRI/CT) | Deductible + coinsurance | 30 |
| Lab work | Deductible + coinsurance OR $0 | 30 or 35 |
| Surgery (outpatient) | Deductible + coinsurance | 30 |
| ER visit | Copay + deductible + coinsurance | 30 |
| DME | Deductible + coinsurance | 30 |
Step 3: Calculate Estimate
Copay Calculation
IF service_type has copay:
patient_responsibility = copay_amount
EXAMPLE:
Service: Office visit (specialist)
Copay: $50
Patient responsibility: $50
Deductible + Coinsurance Calculation
INPUT:
allowed_amount = expected payment from payer
deductible = plan deductible
deductible_met = amount already applied
coinsurance = patient percentage (e.g., 20%)
oop_max = out-of-pocket maximum
oop_met = amount already applied to OOP
CALCULATE:
deductible_remaining = deductible - deductible_met
oop_remaining = oop_max - oop_met
IF allowed_amount <= deductible_remaining:
# Service fully applies to deductible
patient_responsibility = allowed_amount
ELSE:
# Part to deductible, part to coinsurance
deductible_portion = deductible_remaining
coinsurance_portion = (allowed_amount - deductible_remaining) * coinsurance
patient_responsibility = deductible_portion + coinsurance_portion
# Apply OOP max cap
IF patient_responsibility > oop_remaining:
patient_responsibility = oop_remaining
RETURN patient_responsibility
Calculation Example
SCENARIO:
Service: MRI Brain
Allowed amount: $800
Plan benefits:
Deductible: $1,500
Deductible met: $1,200
Coinsurance: 20%
OOP Max: $6,000
OOP Met: $1,400
CALCULATION:
Deductible remaining: $1,500 - $1,200 = $300
OOP remaining: $6,000 - $1,400 = $4,600
Step 1: Apply $300 to deductible (exhausts it)
Step 2: Remaining $500 × 20% = $100 coinsurance
Step 3: Total = $300 + $100 = $400
Step 4: $400 < $4,600 OOP remaining, no cap applied
RESULT: Patient responsibility = $400
In-Network vs. Out-of-Network
IF provider is out_of_network:
USE oon_deductible, oon_coinsurance, oon_oop_max
ALSO CONSIDER:
- Balance billing (provider may bill above allowed)
- Separate OON accumulators
- Higher cost-share percentages
WARNING: OON estimates are less reliable due to:
- Unknown allowed amount
- Potential balance billing
- UCR (usual, customary, reasonable) variations
Step 4: Apply Caveats
Standard Caveats by Confidence Level
HIGH Confidence:
"This estimate is based on your current benefits and accumulators.
Actual costs may vary slightly based on services rendered."
MEDIUM Confidence:
"This is an estimate based on available benefit information.
Your actual cost may vary based on:
- Claims processed since your last accumulator update
- Specific services rendered
- Any applicable plan limitations"
LOW Confidence:
"This is a rough estimate only. We have limited information about
your current deductible and out-of-pocket status. Your actual
responsibility may be significantly different. We recommend
contacting your insurance for more accurate information."
NONE (Cannot Estimate):
"We are unable to provide a reliable estimate based on available
information. Please contact your insurance company directly for
cost information, or we can collect a deposit and reconcile
after claim processing."
Situation-Specific Caveats
| Situation | Caveat |
|---|---|
| Accumulator data >7 days old | "Deductible status may have changed" |
| Multiple procedures | "Costs may vary based on procedure order" |
| Out-of-network | "Provider may bill amounts above estimate" |
| HDHP with HSA | "You may use HSA funds for this expense" |
| Near year-end | "Accumulators reset on [date]" |
| New policy | "As new coverage, full deductible may apply" |
Step 5: Patient Communication
Estimate Output Format
───────────────────────────────────────────
PATIENT COST ESTIMATE
───────────────────────────────────────────
Patient: {name}
Service: {description} ({cpt})
Provider: {provider_name}
Date: {dos}
YOUR BENEFITS:
Deductible: ${deductible} (${deductible_met} met)
Coinsurance: {coinsurance}% after deductible
Out-of-pocket max: ${oop_max} (${oop_met} met)
ESTIMATED COST:
Service charge: ${charge}
Insurance payment: ${insurance_pays}
─────────────────
YOUR ESTIMATED COST: ${patient_responsibility}
Confidence: {HIGH/MEDIUM/LOW}
{caveat_text}
This is an estimate only. Actual costs will be determined
after claim processing.
───────────────────────────────────────────
Range Estimates (When Confidence is Low)
YOUR ESTIMATED COST: $300 - $500
Why a range?
We have limited information about your current deductible
status. The lower estimate assumes recent claims have been
applied. The higher estimate assumes no recent changes.
Special Scenarios
Multiple Services Same Visit
CALCULATE in order of processing (typically by charge amount desc):
Service 1: $500 → Patient pays $300 (exhausts deductible)
Service 2: $300 → Patient pays $60 (20% coinsurance)
Service 3: $200 → Patient pays $40 (20% coinsurance)
───────────
Total: $400
NOTE: Claim processing order may vary
Family Deductible
IF family_deductible applies:
CHECK individual_deductible_met
CHECK family_deductible_met
Patient deductible satisfied when EITHER:
- Individual deductible met, OR
- Family deductible met
Preventive vs. Diagnostic
IF service is preventive:
Patient responsibility = $0 (ACA mandate)
BUT IF service is diagnostic:
Normal cost-share applies
COMMON CONFUSION:
- Annual physical = preventive ($0)
- Problem-focused visit during physical = diagnostic (cost-share)
- Screening colonoscopy = preventive ($0)
- Colonoscopy with findings/biopsy = may become diagnostic
Resources
references/
- plan-types.md — Cost-share structures by plan type
- calculation-examples.md — Worked examples for various scenarios
- patient-scripts.md — Scripts for explaining estimates to patients
scripts/
- estimate-calculator.py — Calculates patient responsibility
- confidence-scorer.py — Scores data completeness
assets/
- estimate-template.docx — Patient estimate letter template
- good-faith-estimate.docx — No Surprises Act compliant estimate