Skip to main content

Payment Variance Analysis

Detect and resolve discrepancies between expected and actual payments.

Overview

Payment variances occur when payers pay different amounts than expected. AI helps identify underpayments, overpayments, and patterns indicating contract compliance issues.

Tools Used

ToolPurpose
create_payment_varianceTrack underpayments/overpayments
update_payment_varianceUpdate resolution, link to appeals
list_payment_variancesQuery variances with filters
get_payment_variance_analyticsPayer patterns and contract compliance

Example: Seeded Payment Variance

The database contains 1 seeded payment variance (Medicare underpayment):

VarianceClaimPayerExpectedActualVarianceType
b50e8400...001CLM-2024-001890Medicare$500$425-$75 (-15%)underpayment

Check Payment Variances

User prompt:

Do we have any underpayments we should look at?

What happens:

The list_payment_variances tool retrieves variances:

{
"variances": [
{
"id": "b50e8400-e29b-41d4-a716-446655440001",
"claim_id": "650e8400-e29b-41d4-a716-446655440006",
"payer_id": "550e8400-e29b-41d4-a716-446655440003",
"expected_amount": 500.0,
"actual_amount": 425.0,
"variance_amount": -75.0,
"variance_percentage": -15.0,
"variance_type": "underpayment",
"variance_reason": "contract_adjustment",
"payment_date": "2024-02-25",
"reason_notes": "Payer applied incorrect fee schedule. Expected payment based on 2024 Medicare rates, but 2023 rates were applied.",
"requires_appeal": true,
"resolved": false
}
],
"total": 1,
"total_variance": -75.0
}

Expected Response:

Found 1 underpayment requiring attention:

  • CLM-2024-001890 (Medicare)
    • Expected: $500, Received: $425
    • Variance: -$75 (-15%)
    • Reason: Incorrect 2023 fee schedule applied instead of 2024 rates
    • Status: Requires appeal

Recommendation: Appeal this variance - it's a contract compliance issue with high success probability.

Update Variance Resolution

User prompt:

We appealed the variance and got an additional $50. Mark it resolved.

What happens:

The update_payment_variance tool updates the record:

{
"variance_id": "b50e8400-e29b-41d4-a716-446655440001",
"resolved": true,
"resolution_date": "2024-03-15",
"resolution_notes": "Appeal successful. Additional payment of $50 received. Remaining $25 variance accepted as contract adjustment."
}

Variance Analytics

User prompt:

What are our payment variance patterns?

The get_payment_variance_analytics tool returns:

{
"total_variances": 1,
"total_variance_amount": -75.0,
"underpayment_total": 75.0,
"overpayment_total": 0,
"by_type": {
"underpayment": { "count": 1, "amount": -75.0 }
},
"by_reason": {
"contract_adjustment": { "count": 1, "amount": -75.0 }
},
"by_payer": {
"Medicare": { "count": 1, "amount": -75.0, "avg_variance_pct": -15.0 }
},
"unresolved_count": 1,
"insights": [
"1 unresolved variance totaling $75",
"Medicare shows -15% average variance - verify fee schedule",
"100% of variances are contract_adjustment - review contract terms"
]
}

Workflow Diagram

Variance Types (Auto-Calculated)

TypeConditionAction
underpaymentActual less than ExpectedReview for appeal
overpaymentActual greater than ExpectedReturn or adjust
expectedWithin 1 centNo action needed

Variance Reasons

ReasonDescriptionTypical Recovery
contract_adjustmentRate differs from contractHigh (95%)
bundlingServices bundled/downcodedMedium (70%)
non_covered_servicePartial denialLow (30%)
incorrect_codingDowncoded by payerHigh (85%)
coordination_of_benefitsCOB adjustmentVaries

Key Analytics

  • Payer patterns - Identify systematic underpayers
  • Variance percentages - Track for contract negotiation
  • Appeal linkage - Connect variances to appeals
  • Unresolved monitoring - Prioritize open variances

Next Steps