Skip to main content

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.


📊 Crosswalk Matrix

Plan Metadata
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaAmbetterKaiserMolina (future)Oscar (future)
plan_idContract NumberPlan IDH NumberSBC IDPlan NumberPolicy NumberContract IDNot shown on SBCNot shown on SBC
carrierFlorida BlueUF Health / GatorCareSCAN Health PlanAetnaUnitedHealthcareCignaHumanaHealth Net of CA (Ambetter product brand)KAISER PERMANENTE (registered mark in header)
plan_nameBlueOptions 505 PPOPrime EPO Plan (document titled "Florida Blue BlueOptions 03768", administrator branding)ClassicPPO 1500 80/50Header plan name (e.g. UHC Choice Plus HSA Gold 1700-4)Preferred PlanGold PlusSilver 94 Ambetter HMOGold 80 HMO
plan_typePPOEPO (SBC header prints PPO)HMO / MAPPOPOS / HMO / PPO / MAPPO / HMOHMO / MAHMOHMO
yearCoverage YearPlan YearPlan YearSBC YearPlan YearCalendar YearCalendar YearBeginning on or after MM/DD/YYYY (single date, no end date)Coverage Period: Beginning on or after MM/DD/YYYY (single date, no end date)
marketGroup or IndividualSelf-funded employer group, administered by Florida BlueMedicare AdvantageCommercialSmall group / Commercial / MACommercialMedicare AdvantageIndividual (Coverage for: All Covered Members)Individual/Family
Network Tiers
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaAmbetterKaiserMolina (future)Oscar (future)
tier_idIN / OUTIN / OUTININ / OUTIN / OUTIN / OUTININ / OUTIN (single tier)
nameIn / Out of NetworkGatorCare Tier 1 / BlueOptions Tier 2 / BlueOptions Tier 3 (OON)In NetworkIn / Out of NetworkDesignated Network / Network / Out-of-NetworkIn / Out NetworkIn NetworkIn Network / Out-of-Network ProviderPlan Provider
descriptionNetwork LevelThree tiers; collapses to IN/OUT under v1.1 (tier_class drafted for v1.2)Plan NetworkNetwork LevelThree columns on SBC; collapses to IN/OUT under v1.1Network TierPlan NetworkOON cells read Not covered on most rowsNon-plan providers not covered
Accumulators
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaAmbetterKaiserMolina (future)Oscar (future)
individual_deductibleIndividual DeductibleIndividual Deductible (stated per tier in one cell: GatorCare Tier 1 / BlueOptions Tier 2)Usually noneIndividual DeductibleDeductible IN/OUT (three networks in one cell: Designated Network and Network / out-of-Network)Individual DeductibleMostly noneNot stated in SBC answer blockOverall deductible ($0 on Gold 80)
family_deductibleFamily DeductibleFamily DeductibleNoneFamily DeductibleFamily DeductibleFamily DeductibleNot usedNot statedNot stated separately
individual_oop_maxIndividual OOP MaxOOP Max (Ind., stated per tier in one cell)MOOPOOP Max (Ind.)MOOP IndOOP MaxMOOP$1,400 member per calendar year$9,200 Individual
family_oop_maxFamily OOP MaxOOP Max (Family)NoneOOP Max (Family)MOOP FamFamily OOP MaxNot used$2,800 family per calendar year$18,400 Family
oon_individual_deductibleOON Individual DeductibleOON Individual DeductibleN/AOON Individual DeductibleDeductible OUTOON Individual DeductibleN/AN/A (OON not covered)N/A (single-tier HMO)
oon_family_deductibleOON Family DeductibleOON Family DeductibleN/AOON Family DeductibleFamily Deductible OUTOON Family DeductibleN/AN/AN/A
oon_individual_oop_maxOON Individual OOP MaxOON OOP Max (Ind.)N/AOON OOP Max (Ind.)MOOP OUT IndOON OOP MaxN/AN/AN/A
oon_family_oop_maxOON Family OOP MaxOON OOP Max (Family)N/AOON OOP Max (Family)MOOP OUT FamOON Family OOP MaxN/AN/AN/A
Benefits
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaAmbetterKaiserMolina (future)Oscar (future)
categoryCategory HeaderCategoryCommon Medical EventMedical EventCategoryBenefit CategoryCategoryCommon Medical EventCommon Medical Event
service_namePCP VisitPrimary Care ProviderPCP VisitPrimary Care VisitPCP Office VisitPCP VisitPrimary Care PhysicianPrimary care visit to treat an injury or illnessPrimary care visit to treat an injury or illness
place_of_serviceOffice VisitOfficeOfficeOfficeOffice / TelehealthOfficeOffice / TelehealthOfficeOffice
deductibleDeductible Applies?Deductible does not apply / $X Per Visit Deductible + DeductibleDeductible Waived?Subject to DeductibleApplies / WaivedAppliesUsually WaivedStandard SBC wordingStandard SBC wording
copayCopayCopaymentCopayCopayCopay (pharmacy rows split Retail: $X / Mail-Order: $Y in one cell)CopayCopay$X copay/visit$X copay/visit
coinsuranceCoinsuranceCoinsuranceCoinsCoinsuranceCoinsuranceCoinsuranceCoinsuranceX% coinsurance; OON column reads Not coveredX% coinsurance (may carry per-prescription cap, e.g. up to $250/prescription)
Limits
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaAmbetterKaiserMolina (future)Oscar (future)
typeVisits / DaysVisitsDaysVisitsDays / UnitsVisitsFrequencyVisitsVisits / Days
valueVisit Limit / Day LimitVisit Limit (compound: e.g. 75 visits including 26 manipulations)Day LimitVisit LimitStay LimitVisit LimitAllowanceVisit LimitVisit Limit
periodPer Year / Per StayAnnualBenefit PeriodPer YearPer Stay / Per YearPer YearAnnualPer YearPer Year
Conditions
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaAmbetterKaiserMolina (future)Oscar (future)
prior_authorizationPrior AuthPrior AuthorizationPrior AuthPrior AuthPrior AuthPrior AuthPrior AuthPrior AuthPrior Auth
referral_requiredReferral RequiredReferral RequiredReferralReferralReferral RequiredReferral RequiredReferral RequiredReferral RequiredReferral Required
notesNotes / LimitationsLimitationsNotesNotesLimitationsNotesPlan NotesLimitations and Exceptions columnLimitations and Exceptions column
Source Reference
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaAmbetterKaiserMolina (future)Oscar (future)
pageSBC PageSBC PageSBC PageSBC PageSBC / EOC PageSBC PageSBC/EOC PageSBC PageSBC Page
excerptText SnippetText SnippetSnippetSnippetSnippetSnippetSnippetText SnippetText Snippet
Field Definitions
FieldTypeDescription
plan_idstringNormalized unique identifier of the plan
carrierstringCarrier or issuer name
plan_namestringMarketing name
plan_typestringHMO / PPO / EPO / MA
yearintegerCoverage year
marketstringCommercial, MA, Group, etc.
individual_deductiblemoneyDeductible for individual
family_deductiblemoneyDeductible for family
Carrier Vocabulary
ConceptNormalized TermBlue CrossGatorCareSCANAetnaUHCCignaHumanaAmbetterKaiserMolina (future)
Primary Care VisitPCP VisitPCP Office VisitPrimary Care ProviderPCP VisitPrimary Care VisitPCP VisitPCPPrimary care visit to treat an injury or illnessPrimary care visit to treat an injury or illness
Specialist VisitSpecialist VisitSpecialist VisitSpecialistSpecialist VisitSpec VisitSpecialistSpecialistSpecialist visitSpecialist visit
Pharmacy Tiers
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaKaiser (future)Molina (future)Oscar (future)
tier_idgeneric_drugs__preventive; generic_drugs__condition_care_rx; generic_drugs; preferred_brand_drugs__condition_care_rx; preferred_brand_drugs; nonpreferred_brand_drugs; specialty_drugs (Florida Blue, public 2025 SBC)generic_drugs; preferred_brand_drugs; nonpreferred_brand_drugs; specialty_drugs (UHC Choice Plus HSA Gold 1700-4, verified 2026 SBC)T1; T2; T3; T4; T5 (Humana, illustrative)
nameGeneric Drugs (Preventive; Condition Care Rx; All Other) … Specialty Drugs (Florida Blue, public 2025 SBC)Tier 1 - Your Lowest-Cost Option; Tier 2 - Your Midrange-Cost Option; Tier 3 - Your Midrange-Cost Option; Tier 4 - Additional High-Cost Option (UHC Essential PDL, verified 2026 SBC)Tier 1 Preferred Generic … Tier 5 Specialty (Humana, illustrative)
drug_classPreventive; Condition Care Rx; All Other Generic; All Other Preferred Brand; Non-preferred brand drugs; Specialty drugs (Florida Blue, public 2025 SBC)generic; preferred_brand; nonpreferred_brand; specialty (normalized from Essential PDL tier labels, verified 2026 SBC)preferred_generic; generic; preferred_brand; nonpreferred_brand; specialty (Humana, illustrative)
tier_codezero-cost-share-preventive; generic; preferred-brand; non-preferred-brand; specialty (FHIR DrugTierVS)generic; preferred-brand; non-preferred-brand; specialty (FHIR DrugTierVS)preferred-generic; generic; preferred-brand; non-preferred-brand; specialty (FHIR DrugTierVS)
Pharmacy Networks
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaKaiser (future)Molina (future)Oscar (future)
network_idretail; mail_order (Florida Blue, public 2025 SBC)PREF_RETAIL; STD_RETAIL; MAIL_ORDER (Humana, illustrative)
nameRetail; Mail Order (Florida Blue, public 2025 SBC)Preferred Retail; Standard Retail; Mail Order (Humana, illustrative)
network_typestandard_retail; mail_order (Florida Blue, public 2025 SBC)preferred_retail; standard_retail; mail_order (Humana, illustrative)
default_day_supply30 retail; 90 mail order (Florida Blue, public 2025 SBC)30 retail; 90 mail order (Humana, illustrative)
Coverage Stages
Normalized FieldBlue CrossGatorCareSCANAetnaUHCCignaHumanaKaiser (future)Molina (future)Oscar (future)
stage_idDEDUCTIBLE; INITIAL; CATASTROPHIC (Humana, illustrative)
nameDeductible; Initial Coverage; Catastrophic Coverage (Humana, illustrative)
stage_typedeductible; initial; catastrophic (Humana, illustrative)
Pharmacy Tier Codes
drug_classtier_code (FHIR DrugTierVS)
preferred_genericpreferred-generic
genericgeneric
preferred_brandpreferred-brand
nonpreferred_brandnon-preferred-brand
preferred_specialtyspecialty
nonpreferred_specialtyspecialty
preventivezero-cost-share-preventive

Kaiser and Ambetter were populated in August 2026 from verified extractions of public 2026 SBCs. Molina and Oscar keep 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 crosswalk contains multiple tabs, including:

Plan Metadata

Maps identifiers such as:

  • plan_id
  • carrier
  • plan_type
  • market

Network Tiers

Mappings for:

  • In-network / out-of-network naming
  • Tier structures
  • Carrier-specific vocabulary

Accumulators

How each carrier expresses:

  • individual_deductible
  • family_deductible
  • individual_oop_max
  • family_oop_max
  • oon_individual_deductible (v1.1.0)
  • oon_family_deductible (v1.1.0)
  • oon_individual_oop_max (v1.1.0)
  • oon_family_oop_max (v1.1.0)

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.

Pharmacy Module (draft v0.2.0)

Draft — non-normative

The pharmacy crosswalk tabs render the BPS pharmacy module v0.2.0, a draft module that is not yet wired into the core schema (it targets core v1.2.0). Like the medical tabs, the pharmacy tabs are sourced from a versioned repo file (docs/specification/pharmacy-crosswalk-data.json) and validated against the module's JSON Schema. Carrier data is accuracy-first: the Blue Cross column is populated from a verified extraction of a public 2025 Florida Blue ACA SBC (Coverage Stages remain blank for commercial plans, which have no Part D stages); the Humana column is illustrative (from the public module example); other carriers are intentionally blank pending verified public sources.

The pharmacy module adds crosswalk coverage for the pharmacy concepts that appear in carrier SBCs/EOCs. Because the crosswalk is a carrier-SBC-vocabulary map, only those concepts get carrier-matrix tabs:

  • Pharmacy Tiers — formulary tier structure (tier_id, name, drug_class, tier_code). Maps how each carrier labels its drug tiers (e.g., Tier 1 Preferred Generic … Tier 5 Specialty).
  • Pharmacy Networks — pharmacy network structure (network_id, name, network_type, default_day_supply). Distinct from the medical Network Tiers tab; covers preferred retail / standard retail / mail order / specialty pharmacy.
  • Coverage Stages — Medicare Part D coverage phases (stage_id, name, stage_type). Post-2025 (IRA redesign): Deductible / Initial Coverage / Catastrophic Coverage. (The pre-2025 Coverage Gap is retained only for historical plan years.)
  • Pharmacy Tier Codes — a reference table (not a carrier matrix) mapping the module's drug_class values to the canonical FHIR DrugTierVS tier_code (e.g., preferred_brandpreferred-brand, preferred_specialtyspecialty, preventivezero-cost-share-preventive).

Not in the crosswalk: the module's drug-level formulary data — individual drugs (rxcui, drug_name, ndc), utilization-management flags, and indication-dependent coverage_exceptions[]. That data comes from formulary files (CMS QHP / Medicare Part D / FHIR DaVinci US Drug Formulary), not from SBCs/EOCs, so it is documented in the module schema as a field reference rather than mapped here as carrier vocabulary.


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 to benefits[].cost_shares.copay.
  • Deductible expressions

    • GatorCare lists medical and pharmacy separately
    • Aetna merges them
      The crosswalk clarifies how to populate individual_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 versioned crosswalk data files in docs/specification/ and update the ingestion rules accordingly.


Updating the Crosswalk

The versioned repo data files (docs/specification/medical-crosswalk-data.json and docs/specification/pharmacy-crosswalk-data.json) are the canonical source of truth for carrier mappings; changes ship as normal pull requests. The original Google Sheet is retained as a historical reference and is no longer load-bearing.
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, changes are proposed as pull requests against the data files.


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.