# Codebook v2: healthcare on 2026 campaign websites

Stanford research project (David Scheinker). We record how 2026 Senate, Governor and House candidates present healthcare on their **own campaign websites**. Use only the candidate's campaign site: not house.gov/senate.gov/state government pages, not news, Ballotpedia, Wikipedia, social media, voting records, or your own knowledge. Those sources may be used only to identify the candidate or find the site's URL.

## 1. Find and read the site

- If `campaign_url` is blank or dead, search "<name> for <office> <state> 2026". The campaign site is the candidate's own site with Donate / Volunteer links.
- Read the **home page** and **every** Issues / Priorities / Platform / Plan / Agenda page and sub-page (follow the navigation; also try /issues, /priorities, /platform, /healthcare, /health-care). Health content is often on pages not titled "health" (veterans, seniors, families, economy, rural, women), so read all issue pages.
- If the site cannot be opened, write `Not accessible` (site exists but blocked) or `No site` (none exists) in `mentioned` for every row, and explain in `notes`.

## 2. The 10 main issues (code all 10, in this order)

| # | Issue | Code Yes when the site addresses… | Not this issue |
|---|---|---|---|
| 1 | **Reproductive health** | abortion (either direction), Roe/Dobbs, contraception, IVF, maternal health, Planned Parenthood | a pro-life group rating with no statement → Unclear |
| 2 | **Mental health** | mental health care/services, behavioral health, suicide prevention, 988, veterans' mental health | substance use alone (→ #4) |
| 3 | **Drug pricing** | prescription drug prices/costs, Medicare drug negotiation, insulin caps, importation, Big Pharma pricing, pharmacy benefit managers (PBMs) | generic "lower costs" with no drug or health specifics → No |
| 4 | **Substance use** | opioids, fentanyl (as addiction/overdose), addiction treatment/recovery, overdose prevention, drug abuse | fentanyl only as border/law enforcement with no health framing → Unclear |
| 5 | **Medicare** | Medicare for All, lowering the age, adding dental/vision/hearing, a public option, protecting or strengthening Medicare, opposing Medicare cuts, Medicare Advantage | Medicare fraud only → Unclear |
| 6 | **VA health** | veterans' health care, the VA health system, community care, PACT Act / toxic exposure, veterans' mental health (also code #2) | veterans' benefits/jobs with no health care → No |
| 7 | **ACA** | Affordable Care Act/Obamacare, marketplace, premium tax credits/subsidies, pre-existing conditions, repeal | |
| 8 | **Food/nutrition** | SNAP/food stamps, WIC, school meals, food insecurity/hunger, nutrition | MAHA or "healthy food" with no program or policy → Unclear |
| 9 | **Medicaid** | expansion, cuts, work requirements, the 2025 reconciliation-bill changes, protecting Medicaid (incl. state names: Medi-Cal, BadgerCare, TennCare…) | |
| 10 | **Universal coverage** | health care as a right, universal coverage, "health care for all", coverage for every American, not framed as Medicare for All | if framed as Medicare for All/single-payer → code #5 instead |

### Columns for each of the 10 rows

- `mentioned`: `Yes`, `No`, or `Unclear`.
- `stance` (only when Yes), exactly one of:
  - `Support/Expand`: wants more of it (expand Medicaid, Medicare for All, protect abortion access, expand mental health services, fund VA care).
  - `Protect/Oppose cuts`: defend the existing program (protect Medicare/Medicaid, restore/extend ACA credits, oppose cuts).
  - `Oppose/Repeal`: wants less of it (repeal ACA, pro-life / restrict abortion, oppose Medicare for All).
  - `Reform`: change how it works (negotiate/cap drug prices, PBM reform, work requirements, fraud enforcement, market-based changes).
  - `Mentioned-no direction`: named without a position.
- `approaches`: the specific proposal in a few words of your own; blank if none.
- `evidence_quote`: at most 15 words copied **verbatim** from the site, in quotes, or `(paraphrase) …`. One per row. Blank when No.
- `page_used`: URL of the page the evidence came from.
- `mention_count`: number of distinct passages (sentences or bullets) on the site addressing the issue; 0 when No.

## 3. Other health topics (one row per topic the site names)

After the 10 rows, add one row for **each other health topic** the site explicitly names, with `issue` = `Other: <label>`. Use these labels where they fit; create a new short label only if none fits:

Rural health/hospitals · Public health/pandemics · Health care workforce · Price transparency/hospital prices · Medical research/NIH/cancer · Insurance costs/premiums · Consolidation/antitrust · Prior authorization/claim denials · Medical debt relief · Surprise billing · AI in health care · Telehealth · Disability services · Long-term care/home care · Child health · LGBTQ/gender-affirming care · Community health centers · Health care fraud/waste · Women's health (non-reproductive) · Dental/vision/hearing (outside Medicare) · Vaccines/medical freedom · MAHA/chronic disease · Free-market/choice reforms (HSAs, competition) · Cannabis · Gun violence as public health · Paid family/medical leave · Tribal/IHS health

For Other rows fill `mentioned` = Yes, `stance` (same five categories), `approaches`, `evidence_quote`, `page_used`, `mention_count`. Do not create Other rows for topics already covered by the 10.

Medical debt relief requires a debt-relief policy (cancel debt, remove from credit reports, limit collection). "No one should go bankrupt" framing alone, surprise billing, and price transparency are **not** medical debt.

## 4. Rules

- Code only what the site says. Never infer a position from party.
- One passage can count for more than one issue (e.g., "expand mental health care for veterans" → #2 and #6).
- Generic cost-of-living language with no health content is not a health mention.

## 5. Output (CSV, UTF-8)

```
candidate,party,state,district,office,campaign_url,issue,mentioned,stance,approaches,evidence_quote,page_used,mention_count,health_any,notes,coder
```

- Exactly 10 main rows per candidate (in the order above), then 0 or more `Other: …` rows.
- `health_any` = Yes if the site mentions any health topic at all (same value on every row for that candidate).
- `coder` = the model that did the coding (e.g. "GPT-5", "Gemini 2.5 Pro").
- `notes` (first row only is fine): pages read, access problems, anything unusual.
