Carrier Crosswalk
The Benefit Plan Standard maintains a carrier crosswalk that maps each issuer’s vocabulary, structure, and terminology into the normalized schema fields.
This ensures that different carriers’ representations of benefits—often inconsistent in naming, structure, and granularity—can be interpreted in a unified, machine-readable way.
Because carriers vary widely in how they describe deductibles, copays, limits, and categories, the crosswalk is a foundational component of the standard.
📊 Live Crosswalk Matrix
Plan Metadata
| Normalized Field | Blue Cross | GatorCare | SCAN | Aetna | UHC | Cigna | Humana | Kaiser (future) | Molina (future) | Oscar (future) |
|---|---|---|---|---|---|---|---|---|---|---|
| plan_id | Contract Number | Plan ID | H Number | SBC ID | Plan Number | Policy Number | Contract ID | |||
| carrier | Florida Blue | UF Health / GatorCare | SCAN Health Plan | Aetna | UnitedHealthcare | Cigna | Humana | |||
| plan_name | BlueOptions 505 PPO | Prime Plus | Classic | PPO 1500 80/50 | MA Plan Name | Preferred Plan | Gold Plus | |||
| plan_type | PPO | PPO | HMO / MA | PPO | HMO / PPO / MA | PPO / HMO | HMO / MA | |||
| year | Coverage Year | Plan Year | Plan Year | SBC Year | Plan Year | Calendar Year | Calendar Year | |||
| market | Group or Individual | Employer Group | Medicare Advantage | Commercial | Commercial / MA | Commercial | Medicare Advantage |
Network Tiers
| Normalized Field | Blue Cross | GatorCare | SCAN | Aetna | UHC | Cigna | Humana | Kaiser (future) | Molina (future) | Oscar (future) |
|---|---|---|---|---|---|---|---|---|---|---|
| tier_id | IN / OUT | IN / OUT | IN | IN / OUT | IN / OUT | IN / OUT | IN | |||
| name | In / Out of Network | In / Out of Network | In Network | In / Out of Network | Participating / Non-Participating | In / Out Network | In Network | |||
| description | Network Level | Network Level | Plan Network | Network Level | Benefit Level | Network Tier | Plan Network |
Accumulators
| Normalized Field | Blue Cross | GatorCare | SCAN | Aetna | UHC | Cigna | Humana | Kaiser (future) | Molina (future) | Oscar (future) |
|---|---|---|---|---|---|---|---|---|---|---|
| individual_deductible | Individual Deductible | Individual Deductible | Usually none | Individual Deductible | Deductible IN/OUT | Individual Deductible | Mostly none | |||
| family_deductible | Family Deductible | Family Deductible | None | Family Deductible | Family Deductible | Family Deductible | Not used | |||
| individual_oop | Individual OOP Max | OOP Max (Ind.) | MOOP | OOP Max (Ind.) | MOOP Ind | OOP Max | MOOP | |||
| family_oop | Family OOP Max | OOP Max (Family) | None | OOP Max (Family) | MOOP Fam | Family OOP Max | Not used |
Benefits
| Normalized Field | Blue Cross | GatorCare | SCAN | Aetna | UHC | Cigna | Humana | Kaiser (future) | Molina (future) | Oscar (future) |
|---|---|---|---|---|---|---|---|---|---|---|
| category | Category Header | Category | Common Medical Event | Medical Event | Category | Benefit Category | Category | |||
| service_name | PCP Visit | Primary Care Provider | PCP Visit | Primary Care Visit | PCP Office Visit | PCP Visit | Primary Care Physician | |||
| place_of_service | Office Visit | Office | Office | Office | Office / Telehealth | Office | Office / Telehealth | |||
| deductible | Deductible Applies? | Subject to Deductible | Deductible Waived? | Subject to Deductible | Applies / Waived | Applies | Usually Waived | |||
| copay | Copay | Copayment | Copay | Copay | Copay | Copay | Copay | |||
| coinsurance | Coinsurance | Coinsurance | Coins | Coinsurance | Coinsurance | Coinsurance | Coinsurance |
Limits
| Normalized Field | Blue Cross | GatorCare | SCAN | Aetna | UHC | Cigna | Humana | Kaiser (future) | Molina (future) | Oscar (future) |
|---|---|---|---|---|---|---|---|---|---|---|
| type | Visits / Days | Visits | Days | Visits | Days / Units | Visits | Frequency | |||
| value | Visit Limit / Day Limit | Visit Limit | Day Limit | Visit Limit | Stay Limit | Visit Limit | Allowance | |||
| period | Per Year / Per Stay | Annual | Benefit Period | Per Year | Per Stay / Per Year | Per Year | Annual |
Conditions
| Normalized Field | Blue Cross | GatorCare | SCAN | Aetna | UHC | Cigna | Humana | Kaiser (future) | Molina (future) | Oscar (future) |
|---|---|---|---|---|---|---|---|---|---|---|
| prior_authorization | Prior Auth | Prior Authorization | Prior Auth | Prior Auth | Prior Auth | Prior Auth | Prior Auth | |||
| referral_required | Referral Required | Referral Required | Referral | Referral | Referral Required | Referral Required | Referral Required | |||
| notes | Notes / Limitations | Limitations | Notes | Notes | Limitations | Notes | Plan Notes |
Source Reference
| Normalized Field | Blue Cross | GatorCare | SCAN | Aetna | UHC | Cigna | Humana | Kaiser (future) | Molina (future) | Oscar (future) |
|---|---|---|---|---|---|---|---|---|---|---|
| page | SBC Page | SBC Page | SBC Page | SBC Page | SBC / EOC Page | SBC Page | SBC/EOC Page | |||
| excerpt | Text Snippet | Text Snippet | Snippet | Snippet | Snippet | Snippet | Snippet |
Field Definitions
| Field | Type | Description |
|---|---|---|
| plan_id | string | Normalized unique identifier of the plan |
| carrier | string | Carrier or issuer name |
| plan_name | string | Marketing name |
| plan_type | string | HMO / PPO / EPO / MA |
| year | integer | Coverage year |
| market | string | Commercial, MA, Group, etc. |
| individual_deductible | money | Deductible for individual |
| family_deductible | money | Deductible for family |
Carrier Vocabulary
| Field | Type | Description |
|---|---|---|
| plan_id | string | Normalized unique identifier of the plan |
| carrier | string | Carrier or issuer name |
| plan_name | string | Marketing name |
| plan_type | string | HMO / PPO / EPO / MA |
| year | integer | Coverage year |
| market | string | Commercial, MA, Group, etc. |
| individual_deductible | money | Deductible for individual |
| family_deductible | money | Deductible for family |
Future carriers (e.g., Kaiser, Molina, Oscar, Ambetter) already have placeholder columns for expansion.
Purpose
Carriers do not use consistent terminology.
For example:
One carrier may label a row “Office Visit - Primary Care (PCP)”,
while another writes “Primary Care Provider: You pay $25”,
and another uses “PCP Copay per encounter”.Deductible applicability might be written as:
- “After deductible”
- “Subject to deductible”
- “Copay does not apply to deductible”
- “Ded waived”
- Combined expressions such as “$25 copay + 20% coinsurance after deductible”
Without a standardized crosswalk, ingestion pipelines must be hand-tuned for every carrier.
The crosswalk solves this by documenting, for each normalized field:
- How each carrier expresses the value
- Semantics that must be preserved
- Parsing notes and exceptions
- Mappings into the normalized JSON structure
Structure of the Crosswalk
The Google Sheet contains multiple tabs, including:
Plan Metadata
Maps identifiers such as:
plan_idcarrierplan_typemarket
Network Tiers
Mappings for:
- In-network / out-of-network naming
- Tier structures
- Carrier-specific vocabulary
Accumulators
How each carrier expresses:
individual_deductiblefamily_deductibleindividual_oopfamily_oop
Benefits
Mappings for:
- categories
- service names
- copays
- coinsurance expressions
- deductible applicability
Limits
Mappings for:
- visit/day limits
- period definitions (annual, per stay, lifetime, etc.)
Conditions
Mappings for:
- prior authorization
- referral requirements
- contextual notes
Source Reference
Extracts and page references used for ingestion traceability.
Using the Crosswalk
When integrating a new carrier:
1. Identify each benefit entry
Locate the carrier’s terms in the crosswalk (or add them when necessary).
2. Map each value to the normalized field
Examples:
Copay differences
- Blue Cross: “$25 per visit”
- SCAN: “$0 copay, coinsurance does not apply”
These map tobenefits[].cost_shares.copay.
Deductible expressions
- GatorCare lists medical and pharmacy separately
- Aetna merges them
The crosswalk clarifies how to populateindividual_deductible,family_deductible, and related fields.
3. Capture exceptions and conditions
Ambiguous phrasing such as:
- “after facility fee”
- “per admission deductible”
- “ded waived for virtual visits”
should be documented in the crosswalk’s notes column.
4. Extend when necessary
If a carrier introduces:
- new cost-share terminology
- split benefit categories
- multi-tier networks
add a row or column to the Google Sheet and update the ingestion rules accordingly.
Updating the Crosswalk
The Google Sheet is the canonical source of truth for carrier mappings.
Updates follow these principles:
- Accuracy first — No changes without verification against the SBC/EOC.
- Non-breaking additions — New carriers and vocabulary should not break prior mappings.
- Schema alignment — Crosswalk rows correspond exactly to the normalized fields.
For contributors assisting with ingestion logic or analysis, edit access may be granted through the governance process.
Summary
The Carrier Crosswalk is essential for:
- Translating carrier-specific formats into a unified schema
- Ensuring ingestion is deterministic and predictable
- Maintaining consistency across carriers
- Supporting extension as new carriers and plan types are analyzed
The live version ensures that the standard remains current, accurate, and interoperable across all benefit plan formats and carriers.