Skip to main content

Field Definitions

This page provides detailed descriptions of the fields defined by the Benefit Plan Standard. Each field appears in the core JSON schema and has a specific purpose. Refer to the overview for a high‑level introduction to the schema.

Plan Metadata

FieldTypeRequiredDescription
plan_idstringYesUnique ID for the plan, recommended format <carrier>-<id>-<year>
carrierstringYesName of the issuing carrier
product_typestringYesPlan type (e.g., PPO, HMO, Medicare Advantage)
effective_datestringYesISO‑8601 date the plan becomes effective
marketstringNoMarket segment (e.g., Commercial, Medicare)
plan_namestringYesCarrier‑assigned marketing name of the plan

Network Tiers

Each normalized plan includes a network_tiers array. A network tier defines a level of provider participation. Common tiers are IN (in‑network) and OUT (out‑of‑network), but carriers may define additional tiers (e.g., Tier 1/Tier 2 for narrow networks). A tier object contains:

FieldTypeRequiredDescription
tier_idstringYesShort identifier (e.g., IN, OUT, T1, T2)
namestringYesHuman‑friendly name of the tier
descriptionstringNoAdditional description or notes for the tier

Accumulators

Accumulators describe plan‑wide financial thresholds, such as deductibles and out‑of‑pocket maximums. The core schema defines four fields:

FieldTypeDescription
individual_deductible.amountnumberDollar amount each member must pay before cost sharing begins
family_deductible.amountnumberDollar amount the family must pay (aggregate) before cost sharing begins
individual_oop.amountnumberOut‑of‑pocket maximum for the individual
family_oop.amountnumberOut‑of‑pocket maximum for the family (aggregate)

In future versions, the Accumulator Groups module will allow multiple deductibles (e.g., pharmacy vs. medical) and tier‑specific accumulators.

Benefits

The benefits array is the heart of the schema. Each benefit item describes cost sharing for a specific service category. A benefit item has the following structure:

FieldTypeRequiredDescription
benefit_idstringYesUnique ID for the benefit item within the plan
categorystringYesHigh‑level service category (e.g., PHYSICIAN_SERVICES, PREVENTIVE_CARE, EMERGENCY_SERVICES)
service_namestringYesHuman‑readable description of the service (e.g., Primary care visit)
place_of_servicestring[]NoList of places where the service is provided (e.g., office, hospital, telehealth)
network_cost_sharesobject[]YesArray of cost share objects, one per tier (see below)
limitsobject[]NoVisit, day or dollar limits (e.g., 10 visits per year)
conditionsobject[]NoQualifiers such as prior authorization, referral requirement, or eligibility criteria
source_refsobject[]YesList of references back to the original document, including page and excerpt

Network Cost Shares

Each item in network_cost_shares describes how members pay for the service in a specific network tier. It includes up to three cost share components:

FieldTypeRequiredDescription
tier_idstringYesIdentifier of the network tier
coveredbooleanYesWhether the service is covered in this tier
deductibleobjectNoInformation about deductible applicability (see schema for details)
copayobjectNoCopay amount and units (e.g., $25 per visit)
coinsuranceobjectNoCoinsurance percentage (e.g., 20%), may include notes about after deductible
notesstringNoFree‑form notes or qualifiers

Future modules will expand the cost share model to capture pharmacy day‑supply variation and per‑tier deductibles.

Limits

A limit object contains:

FieldTypeRequiredDescription
typestringYesLimit type (e.g., VISITS, DAYS, DOLLARS)
valuenumberYesNumeric value of the limit (e.g., 20)
periodstringNoPeriod over which the limit applies (e.g., PER_YEAR, PER_EPISODE, LIFETIME)
applies_tostringNoCategory or service code that the limit applies to (if applicable)

Conditions

Conditions capture qualifiers such as prior authorization, referral requirements, or clinical criteria. A condition contains a type and optional code and description. For example:

{
"type": "authorization",
"code": "PRIOR_AUTH",
"description": "Prior authorization required from the plan"
}

Source References

Each benefit item includes source_refs—a list of objects containing the page number and excerpt text from the original plan document. These references provide traceability and support auditing. A typical source reference looks like:

{
"document": "BlueOptions 505 SBC",
"page": 3,
"excerpt": "Primary care visit to treat an injury or illness: $35 copay per visit. Deductible does not apply."
}

Deprecated and Reserved Fields

The core schema reserves several fields for future expansions. For example, pharmacy_deductible is not currently required but may become mandatory when the Pharmacy module is integrated. See the modules overview for details.