# Data dictionary

Unit of observation in the three person files: one fictional adult at the January 1, 2023 decision date. `person_id` is a stable generated identifier. All numeric money values are USD. Empty CSV fields mean **not applicable or not observed under the generated process**, as specified below; zero is a real generated zero. Calculations use full-precision values; page displays may round.

| Column | Definition and values | Availability or missingness |
|---|---|---|
| `person_id` | Fictional stable ID `SL000001`–`SL020000`. | All person files. |
| `age` | Completed years at decision; 30–69. | All person files. |
| `age_band` | `30-44`, `45-54`, or `55-69`. | All person files. |
| `risk_group` | Generated higher (`H`) or lower (`L`) latent mortality-risk type. It is not race or a diagnosis. | Oracle and 50-row audit only. |
| `frailty` | Generated continuous latent log-hazard modifier. | Oracle and audit only. |
| `private_news_before_decision` | Generated private health news known to the person before the decision; 0/1. | Oracle and audit only. |
| `bequest_motive_index` | Generated preference index between 0 and 1; larger increases demand. | Oracle and audit only. |
| `liquidity_constraint_index` | Generated index between 0 and 1; larger decreases demand. | Oracle and audit only. |
| `claims_count_2y` | Count of generated health events dated 2021–2022, before the 2023 decision. Exactly equals that person's rows in `prior_health_events.csv`. | Oracle, audit, and both researcher extracts. |
| `observed_health_burden` | `higher` if `claims_count_2y >= 2`; otherwise `lower`. A claims-based proxy, not hidden true risk. | Oracle, audit, and both researcher extracts. |
| `group_eligible` | Generated eligibility for the fictional employer plan; 0/1. | Oracle and audit. The group extract contains only eligible people. |
| `individual_face_amount_usd` | Fixed $100,000 requested individual term benefit. | Oracle and audit only. |
| `individual_quote_premium_monthly_usd` | Fictional age-related monthly quote visible before individual application; full-precision number. | Oracle and audit only. |
| `individual_applied` | Whether the person applied for individual coverage; 0/1. | Oracle and audit only. |
| `insurer_signal` | Generated noisy binary underwriting flag after application. `1` indicates a flagged applicant. | Oracle and audit only; blank if no application. |
| `individual_decision` | `not_applied`, `declined`, `standard`, or `rated`. | Oracle and audit only. |
| `individual_approved` | 1 for standard/rated offer; 0 for declined application. | Oracle and audit only; blank if no application. |
| `individual_offer_premium_monthly_usd` | Fictional final monthly premium for an approved standard or rated offer; full-precision number. | Oracle and audit only; blank without an offer. |
| `individual_accepted` | 1 if the person accepted an issued offer, 0 if the person declined it. This is observed acceptance, **not** willingness imputed for rejected applicants. | Oracle and audit only; blank without an offer. |
| `individual_held` | 1 if approved and accepted; otherwise 0. Baseline 2023 holding indicator. | Oracle, audit, and individual researcher extract. |
| `basic_coverage_usd` | Automatic synthetic employer basic benefit: $50,000 if eligible, 0 otherwise. This is **not** the salary-linked basic benefit in the studied university plan. | Oracle, audit, and group researcher extract. |
| `supplemental_requested_usd` | Generated employee request: 0, $100,000, or $200,000. A failed attempt cannot be recovered from issued benefit records. | Oracle and audit only; absent from the group researcher extract. |
| `guaranteed_issue_limit_usd` | $100,000 if eligible; 0 otherwise. Applies only to supplemental coverage in this fictional plan. | Oracle, audit, and group researcher extract. |
| `eoi_required` | 1 when a generated request exceeds $100,000; otherwise 0 for an eligible person. EOI means evidence of insurability. Because this field describes an actual request, it is not a plan-rule eligibility flag. | Oracle and audit only; blank if ineligible. |
| `eoi_passed` | Generated EOI result, 0/1, only for a $200,000 request. A failed EOI still allows the $100,000 guaranteed-issue tranche. | Oracle and audit only; blank when EOI is not required. |
| `supplemental_coverage_usd` | Issued elected supplemental benefit after any EOI result: 0, $100,000, or $200,000. Does **not** include automatic basic coverage. | Oracle, audit, and group researcher extract. |
| `supplemental_elected` | 1 if issued supplemental coverage exceeds zero; 0 otherwise. | Oracle, audit, and group researcher extract. |
| `group_rate_per_1000_monthly_usd` | Fictional employee contribution per $1,000 of supplemental benefit per month. It equals $0.16 at ages 30–44, $0.20 at ages 45–54, and $0.27 at ages 55–69; same for all health levels within a band. | Oracle, audit, and group researcher extract; 0 if ineligible. |
| `group_premium_monthly_usd` | Issued supplemental benefit divided by $1,000, times the age-band contribution rate. Zero for no supplemental election. | Oracle, audit, and group researcher extract. |
| `synthetic_death_year` | Generated eventual year of death through forced age 110. Fictional oracle outcome, never a real vital record. | Oracle and audit only. |
| `died_within_10y` | 1 if synthetic death year is before 2033; otherwise 0. Follow-up from January 1, 2023 to December 31, 2032. | Oracle, audit, and individual researcher extract. Deliberately absent from group extract. |

## Prior event file

| Column | Definition |
|---|---|
| `event_id` | Stable fictional event ID within person, such as `SL000001-E01`. |
| `person_id` | Links to a fictional person in the oracle file. |
| `event_date` | ISO date from 2021-01-01 through 2022-12-31. All events precede the 2023 decision. |
| `event_type` | Fictional `outpatient`, `inpatient`, or `prescription` tag. Types do not establish medical severity or a diagnosis. |

## JSON summary fields

`individual.observed.holders` and `.nonholders` each contain `n` people and `deaths` during the fictional ten-year window. `individual.oracle.riskGroups` gives exact population, application, approval, holding, and death counts for hidden H/L groups. `group.healthRows` divides eligible employees by the **observed** prior claims proxy. Its `n` is the eligible denominator, `electors` counts employees with positive issued supplemental coverage, and `supplementalAmountMean` is the mean **issued supplemental amount among those electors only**. It excludes non-electors and automatic basic coverage. The optional `persons` array is the same 50-row oracle audit slice for a review-only offline prototype.
