The Reporting Files · Field Guide

Six tools. One question: who actually counts?

Every app in the suite, every function it offers, and a playable walkthrough of each one. Start with the table below if you know what you need, or read straight through if you're learning the whole set.

A Publication of Born Between 2 Generals, LLC
Pick your tool

What are you trying to do?

Each app answers a different question. The fastest way in is to name your job first.

Your jobThe tool
Make someone see the gap in ten seconds
The Optional One
How it works
Find out what my state does
The Reporting Tracker
How it works
Explain the proposed fix to a staffer
The National Standard
How it works
Post something today
The Share Engine
How it works
Look up a sourced fact I can cite
The Reporting Files
How it works
Add research to the record
The workbook & database
How it works
One rule runs through all six: nothing is asserted without a source. If a value hasn't been researched yet it says pending — never a guess dressed up as a finding. Learn that distinction first and the rest of the suite makes sense.
No. 01

The Optional One

The opening argument — for anyone who hasn't heard the problem yet
Persuade

A single scrolling dashboard that makes one comparison land: the United States counts cancer, overdose deaths and maternal deaths under legal mandates, and counts abortion voluntarily. It's the app you send to someone who needs to care in under a minute.

Every function
Completeness columnsscroll reveal
Four vertical bars, one per surveillance system. Three fill solid; the abortion column is drawn with gaps — the missing states rendered as literal holes. The animation runs once when the section scrolls into view.
Comparison matrixstatic reference
Side-by-side rows for legal basis, federal program, completeness and reporting lag. This is the table to screenshot for a one-pager.
The 51-area ledgerinteractive
Every reporting jurisdiction as a cell. Click one to see whether it reported. Built to be scrubbed through quickly rather than studied.
CDC vs. Guttmacher gapanimated bars
The two national totals drawn against each other, showing the roughly 30% spread between the federal count and the independent estimate.
Live freshness check↻ Live button, top right
Queries for the most recent CDC surveillance year. If the check fails it says so and keeps showing the verified baseline — it never silently shows stale data as current.
No. 02

The Reporting Tracker

The evidence — for constituents, organizers and reporters working a specific state
Investigate

Splits the national gap into the two gates that actually exist in law: does the state require providers to report, and does the state send that data to the CDC? Both are optional, and states fail at different gates for different reasons.

Every function
The two-gate modelcore concept
Four tiers, not two: full participant, in the count but no full mandate, collected then withheld (New Hampshire), and largest gap — no mandate and nothing sent.
51 tilesclick or press Enter
Every jurisdiction, colour-coded by tier and keyboard reachable. Dashed borders mark the states missing entirely from the federal count.
Filtersfive buttons
All · Has a gap · Not in federal count · No full requirement · Ban states. Filtering dims non-matches rather than hiding them, so you keep the shape of the whole country.
Detail panelright side, sticky
Shows both gates answered separately, the tier explanation, and any special case — New York's disposition-triggered rule appears here.
Statute sourcingper state
Verified citations are embedded with a badge: green means checked against primary code, amber means the requirement is verified but the exact section still needs confirming.
Look up statutelive lookup
For states not yet verified, fetches the specific code section on demand and returns it with a source link and a reminder to confirm against primary code.
Ban badgescontext only
Marks the 13 states with total bans in effect. Deliberately separate from reporting status — a ban state can still be a complete reporter, and most are.
No. 03

The National Standard

The proposal — for legislative staff and anyone asking "so what would you do?"
Explain

Walks through the actual bill — S.178, the Ensuring Accurate and Complete Abortion Data Reporting Act — rather than a hypothetical fix. Introduced in four consecutive Congresses, never out of committee.

Every function
Bill cardheader
Sponsor, committee, cosponsor count, House companion, and a direct congress.gov link. Everything a staffer checks first.
Before / aftertwo panels
What the count looks like today versus under the standard. Written to be read aloud in a meeting.
Four-part mechanismclick to open
The lever (Medicaid funding condition) · the tool (standardised questions) · the data (aggregate, de-identified) · the runway (two years). Each carries a precedent tag showing where the same move already works.
The debate panelboth sides
The case for, and the strongest objection — including that Guttmacher, whose estimate supplies the undercount figure, now opposes mandated reporting. Leaving that out is how an argument gets dismissed.
Live bill status↻ button
Pulls the current action and cosponsor count. In production this reads the official Congress.gov API through your own server.
No. 04

The Share Engine

Distribution — for whoever runs the accounts
Publish

Turns any figure in the record into a ready-to-post graphic. Cards are drawn on canvas and exported as real PNGs, so they're crisp — not screenshots.

Every function
Six messagesstep 01
Pre-written cards covering the framing, the ~20% gap, the ~30% undercount, the 1969 date, the four opted-out states, and the ask.
Two looksstep 02
Paper (light) and Ink (dark). Both carry the source line and the aggregate-data mark automatically — you can't accidentally post an unsourced card.
Three sizesstep 03
Square 1080×1080, Story 1080×1920, Wide 1200×675. The layout re-flows for each rather than cropping.
Refresh figuresstep 04
Pulls current numbers so a card can't quietly go stale. Falls back to the verified baseline and says so.
Download PNGexport
Real canvas export at full resolution. Shuffle cycles messages if you want to see the set quickly.
No. 05

The Reporting Files

The record — for anyone who needs a fact they can cite
Cite

The research database as a browsable site: four surveillance systems, 51 jurisdictions, 28 fields, every value carrying its own source and verification level. This is the one that has to survive a hostile fact-check.

Every function
The Methodread first
The four verification levels, and the warning that absence measures visibility, not incidence. Skipping this section is how people misread the whole dataset.
The Four Systemscards
Abortion, cancer, overdose deaths, maternal deaths — each with its legal basis, federal program, completeness and lag.
The Comparisonthe thesis
All four systems in one row per jurisdiction. This is what turns "three are mandatory, one is optional" from a claim into something a skeptic can check line by line.
The Atlassort · filter · search
Click any column header to sort, type to search, filter to the gaps. Click a row to open that jurisdiction's full file.
Jurisdiction filemodal · Esc to close
Every field grouped by system, each showing its value, verification badge and source link. The unit of citation.
The Ledgerfilterable timeline
Dated, sourced changes tagged by direction — green moved toward complete counting, red moved away. Filter by direction or by system.
CoverageQA
Research progress per field, with published national totals checked against our counts. OK means they match; check means a jurisdiction is miscoded.
Downloadsthree exports
Full JSON, the Atlas as CSV, and the Ledger as CSV. The data is the same file the page itself reads — no hidden layer.
No. 06

The workbook & database

The engine room — for the research team
Research

Everything above is generated from one SQLite file. The workbook is where new research goes in; re-running two scripts pushes it out to every app, so the public pages can't drift from the record.

Every function
Yellow cellsStates tab
Yellow means research needed. White means verified — leave it alone. Grey n/a means the jurisdiction has no mandate, so the field has no answer.
Sources tablog as you go
Every filled cell needs a source row. A value without a source can't be defended and shouldn't be published.
Coverage tabautomatic QA
Compares your yes counts against published national totals. If Guttmacher says 26 states require a reason and you have 24, one is miscoded — this catches it before an opponent does.
Rebuildthree scripts
build_database.py rebuilds the record · build_site.py regenerates the public site · build_xlsx.py regenerates the workbook. Always in that order.
The Ledger tableadd as things happen
New bill, new state law, new CDC release — add a dated row with a source and a direction. This is what keeps the record defensible over time instead of a one-off snapshot.
Shared vocabulary

Four words that mean something specific

These appear in every app. Reading them loosely is the main way the dataset gets misused.

Verified · primary

Checked against the actual statute or official source. The strongest claim available. Cite freely.

Verified · secondary

From a dated Guttmacher, CDC or ACOG compilation. Solid — name the compilation when you cite it.

Pending

Not yet researched. An open question. Never present it as "no" — that's the single most damaging misreading.

Not applicable

No mandate exists, so the field genuinely has no answer. Different from unknown.

The one that gets people in trouble: a jurisdiction missing from a federal count is not a place where the thing doesn't happen. It's a place without data. Absence measures visibility, not incidence — and treating a blank as a zero will get an otherwise sound argument thrown out.
Incidence is not outcomes. Counting cases more completely does not by itself measure health effects. Those are different datasets and different asks — the complications fields are the ones that speak to outcomes, and they're unfilled for every state.
If you want real films

Shooting scripts

The walkthroughs above are built in code — they stay sharp at any size and update when the apps do. If you'd rather have actual video for the Field School, here are the scripts, timed and shot-listed. Record the screen, read the voiceover, done.

Film 1 — "Three are mandatory. One is optional."

90 seconds · The Optional One · the argument
  1. 0:00–0:12 — Open on the four completeness columns. VO: "America counts cancer. It counts overdose deaths. It counts maternal deaths. All three are required by law."
  2. 0:12–0:25 — Scroll so the gapped fourth column fills frame. VO: "The fourth one is voluntary. It has been since 1969."
  3. 0:25–0:45 — Comparison matrix, slow scroll. VO: read the legal-basis row aloud.
  4. 0:45–1:05 — The 51-area ledger; click California, Maryland, New Hampshire, New Jersey in turn.
  5. 1:05–1:30 — The CDC-versus-Guttmacher gap bars. VO: "About a fifth of abortions happen in states that send nothing. Close on the question, not an ask."

Film 2 — "Find your state"

2 minutes · The Reporting Tracker · the how-to
  1. 0:00–0:20 — The two gates. VO: "Two questions sit between an abortion and the national number."
  2. 0:20–0:50 — Tile grid; explain the four colours. Hover a few.
  3. 0:50–1:15 — Click "Has a gap." Then click New Hampshire — the interesting case, collected then withheld.
  4. 1:15–1:40 — Open the detail panel; point at both gates answered separately.
  5. 1:40–2:00 — Press "Look up statute." Show the citation, the source link, and the verify-against-primary-code note. VO: "We show our work."

Film 3 — "How to cite this"

2 minutes · The Reporting Files · the credibility film
  1. 0:00–0:25 — The Method. Read the four verification levels aloud, slowly. This is the whole film's point.
  2. 0:25–0:45 — The warning box: absence measures visibility, not incidence.
  3. 0:45–1:10 — The Comparison grid. VO: "Cancer, required everywhere. Death registration, required everywhere. Abortion — it depends where you live."
  4. 1:10–1:35 — Open a jurisdiction file; point at one value, its badge, and its source link.
  5. 1:35–2:00 — Coverage tab. VO: "We publish what we haven't finished. A record that hides its gaps isn't a record."

Film 4 — "Adding to the record"

3 minutes · The workbook · internal training
  1. 0:00–0:30 — Open the workbook, Legend tab. Explain yellow / white / grey.
  2. 0:30–1:20 — Fill one real cell end to end: find the statute, paste the citation, log the source.
  3. 1:20–2:00 — Coverage tab. Show a CHECK flag and fix the miscoded state on camera — the mistake is the lesson.
  4. 2:00–3:00 — Run the three scripts in order; show the public site updating. VO: "The record and the website are the same thing."