Overview #
During the COVID-19 rollout, CDC briefed ACIP — the federal advisory committee that helps set U.S. vaccine recommendations — with slide decks about vaccine safety. Two tools came up constantly. v-safe was a smartphone check-in program: after a shot, people answered daily questions about how they felt, whether they needed medical care, went to an ER, or were hospitalized, and they could type free-text descriptions. Those answers were later labeled with standard medical codes (MedDRA “preferred terms”). VAERS is the older tip line where anyone can report a bad event after vaccination. Later decks also leaned on VSD (large health-system databases) and CISA (clinical consults).
From early 2021 Shimabukuro safety updates through 2023 maternal RSV slides, ACIP was taught a clean split of labor: v-safe for sore arms, fatigue, and enrollment headcounts; VAERS (and later VSD) for deaths, myocarditis, and anything “serious.” The reconstructed v-safe data and the anomaly cards on this site show that split was incomplete in two directions.
First, the phone app itself held hospital/ER/medical-care checkboxes, chest-pain and seizure coding, free-text reasons for those visits, and death language — material that rarely starred on the v-safe “results” slides. Second, even when the committee was pointed to VAERS as the serious-event channel, about nine in ten care-eligible v-safe cases never became a VAERS report. One known reason inside that miss rate: call-center staff often skipped filing when a registrant said the problem was “unrelated” to the vaccine.
Each pattern below lists example cards (opens the anomalies page on that card). Rates for how few v-safe cases become VAERS reports come from the outreach rebuilds (Hospitalisation, Death, and nearly every other symptom page).
1. v-safe Results = reactogenicity only #
Imagine CDC opens the v-safe notebook in front of ACIP. That notebook is supposed to be the active, near-real-time check-in system — people tapping answers on their phones in the days after vaccination. What the slides usually put on the big screen from that notebook is reactogenicity: how often people reported a sore arm, fatigue, headache, fever, or other “mild to moderate” day-after feelings. Those charts are real. They are also incomplete.
The same week-1 surveys asked whether the person needed medical care, went to an emergency room, or was hospitalized. Thousands of people checked those boxes across the program. On many decks, those answers never become a headline result for v-safe. The committee hears “most reactions were mild” while the harder checkboxes stay off the v-safe results slides — often while VAERS is introduced in the next section as the place where serious events live.
There is a coding wrinkle that makes the omission worse if you only trust medical-code
tallies: many rows where someone checked “hospitalization” never received the standard
MedDRA preferred term Hospitalisation in reconstruction. Symptom codes
(chest pain, appendicitis, and so on) can still appear. So a briefing that only shows soft
reaction bars, and a database query that only counts the Hospitalisation code, can both
understate what people actually reported in the app.
2. Chest pain / seizures unpublished next to VAERS myocarditis #
Myocarditis — inflammation of the heart muscle — became one of the main safety questions after mRNA COVID vaccination, especially in young males. ACIP decks usually handle that question with VAERS case reviews, and later with VSD rates. That is a legitimate place to dig into confirmed clinical cases. The problem is what happens to the parallel signals sitting in v-safe at the same meeting.
In the reconstructed child and booster cohorts, large numbers of v-safe registrants carry preferred terms for chest pain, shortness of breath (dyspnea), palpitations, seizure, or febrile convulsion — often with free text that matches (“chest pains,” “had a seizure,” “diagnosed with myocarditis”). Those are exactly the kinds of symptoms a listener would want next to a myocarditis briefing. On the v-safe half of the deck, they usually do not appear. Instead the phone-app slides stay on mild/moderate reaction charts, while the heart story is reserved for the tip line or the health-system database.
A first-time ACIP listener can therefore leave thinking: “v-safe found nothing cardiac or neurologic worth mentioning; VAERS is where those rare problems show up.” The data in the same window do not support that clean handoff. The codes and free text were in the active surveillance system; they just were not put beside the myocarditis talk.
3. Deaths sidelined to VAERS-only narrative #
Death after vaccination is the most sensitive safety topic on these decks. CDC typically walks ACIP through VAERS death reports — nursing-home clusters early on, later age-stratified counts, language about deaths being “below background” or still under review. That conversation can take many slides. The v-safe half of the same talk almost never mentions that people also wrote death language inside the phone app, or that a Death preferred term exists in the coded v-safe data.
Across the full COVID v-safe corpus there are on the order of 1,700 registrants with a Death medical code. That is not a claim that every entry is vaccine-caused. It is a claim that the active check-in system recorded mortality coding that ACIP was not shown when v-safe was on screen. The teaching effect is simple: active surveillance = sore arms; the tip line owns death. That is a presentational split, not a property of the underlying notebooks.
4. Only ~1 in 10 care-eligible v-safe cases reach VAERS #
ACIP was repeatedly told that when something serious happens, VAERS is the system that catches it — and that v-safe participants who report care or hospital get follow-up that can produce a VAERS report. If that pipeline worked as advertised, most care-eligible v-safe cases would show up as tip-line reports. They do not.
Rebuilds of the call-center / outreach fields across preferred terms show the same shape again and again: the active notebook is thick; VAERS is a thin echo. For a typical symptom, only about one in ten care-eligible v-safe registrants is marked reported to VAERS (median roughly 8–10% of eligible; often only a few percent of everyone who carries the code). About nine in ten never become a VAERS report. Death is even thinner (~1.5% of Death-coded registrants; ~3% of care-eligible). Hospitalisation is still only about 9% of eligible. When the committee treats VAERS as the serious-event feed, it is hearing a minority of what already sat in v-safe.
That ~90% miss is the measured outcome. The “if appropriate” / unrelated workflow described next is one mechanism inside it — not an extra loss piled on afterward.
| Preferred term | With code | Reported to VAERS | Of coded | Of care-eligible |
|---|---|---|---|---|
| Death | 1,731 | 26 | ~1.5% | ~3% |
| Hospitalisation | 18,361 | 1,385 | ~7.5% | ~9% |
| Chest pain | 64,020 | 1,759 | ~2.7% | ~9% of eligible |
| Typical symptoms (median) | — | — | ~3% | ~8–10% |
5. “Unrelated” / if-appropriate filing — inside the ~90% miss #
Early ACIP workflow slides explain how v-safe “works”: if someone reports a clinically important health impact — needing care, ER, hospital — a contractor call center (often described in records as GDIT) phones them and can complete a VAERS report if appropriate. To a committee member, that sounds like a safety net: the app catches the event; humans file the tip-line report.
In practice, “if appropriate” did a lot of quiet work. Call-center culture, as reflected in MMWR write-ups and follow-up practice, often treated the registrant’s belief that the problem was unrelated to vaccination as a reason not to file. Coding such as Pre-existing disease can steer the same soft path. That is not a second miss stacked on top of the ~90% figure in pattern 4. It is one of the ways that miss is produced. A large share of care-eligible cases that never reach VAERS may be exactly these “unrelated” / pre-existing dispositions.
Even a flare of a pre-existing condition after a shot is still worth a VAERS report if the goal includes studying contraindications — who should not get which product. Treating the registrant’s subjective “unrelated” judgment as a filing veto shrinks the tip line ACIP was trained to treat as the serious-event channel. Related paper-side habits (soft “unrelated / declined / error” dispositions; follow-up closed Unsuccessful) are catalogued in MMWR pattern 2 and pattern 3.
6. “Complementary systems” without the ~90% miss rate #
Late in the COVID v-safe era — and again when introducing monitoring for the next vaccine — CDC slides still sell a team of equals: VAERS + VSD + CISA + v-safe. The word “complementary” is meant to reassure. Each system, the story goes, covers what the others might miss.
Complementary only comforts if what one system catches is actually used to fill the others’ gaps — not left in the thick notebook while the thin tip line is treated as the serious-event channel. The outreach charts show the handoff fails: v-safe accumulates Death, Hospitalisation, chest pain, and thousands of other codes; VAERS receives only about one in ten care-eligible cases — including cases the call center skipped after “unrelated” feedback. A first-time listener hears four systems watching. A data-literate listener hears one thick notebook and one thin tip line that ACIP has been trained to treat as the serious-event channel.
7. VaST repeats the soft v-safe pitch #
VaST — the Vaccine Safety Technical Subgroup — is a smaller expert group that often gives ACIP a short “assessment” slide after CDC’s main safety presentation. In principle, that is a chance for a second look: does the evidence support the presenter’s framing? In practice, Talbot’s VaST slides frequently echo the same soft v-safe pitch the same day: local and systemic reactions “less frequent” or “mild to moderate,” while myocarditis and deaths remain assigned to VAERS or VSD.
That echo matters because it is not independent discovery. It re-authorizes the reactogenicity-only use of v-safe without adding the missing hospital, chest-pain, or seizure layer from the phone app. When both the CDC presenter and the technical subgroup tell ACIP the same incomplete story, the committee hears consensus — not a cross-check.
8. Pregnancy reassurance without parent-system hospital signals #
Pregnant people were a high-stakes audience for COVID vaccination advice. ACIP decks leaned on the v-safe pregnancy registry: followed participants, outcome tables, comparisons to background rates, and calming figures such as 0% neonatal death in an early registry sample. Those registry slides are presented as the pregnancy-safety story.
Parallel to the registry, the main v-safe app let anyone mark that they were pregnant and still answer the ordinary week-1 questions — including hospital and ER checkboxes, with free text and coding around those visits. Those parent-system signals are usually not walked through on the reassurance slides. A listener can leave thinking pregnancy safety was settled by tidy registry percentages, without hearing how often pregnant registrants in the broader app reported needing hospital or emergency care after vaccination.
9. Enrollment / promo instead of serious v-safe results #
Not every ACIP deck that mentions v-safe is trying to show what the app found. Some describe how the instrument works — parents can add children as dependents; surveys ask about health impacts including whether the child “received care” — or close with a pitch to “promote v-safe enrollment.” Those descriptions can be accurate as product marketing. They are not a substitute for results.
On these decks, the hard evidence charts for serious outcomes are almost entirely VAERS or VSD. v-safe appears as a thing people should join, or as an appendix line, while the serious check-in answers already sitting in the system for the relevant age group are not shown. The committee is sold the microphone and never played the recording.
10. Tiny % / “nothing unexpected” that hides hospital mess #
A slide that stamps “medical care in ER/hospital” as 0.1% or 0.2%, or a summary line that says “no unexpected safety findings,” reads as rare and calm. Percentages that small are easy to skip past. They do not tell the committee what those rows contain.
In reconstruction, hospital-checkbox rows often lack the standard
Hospitalisation preferred term; free text and other MedDRA codes around the
same visits can include chest pain, respiratory distress, appendicitis, or seizure language;
and call-center follow-up for some of those cases closed as Unsuccessful —
never completed. The tiny percentage and the “nothing unexpected” sentence bury that mess
under a rounding-error aesthetic. The same habits on the published-paper side are catalogued
on the MMWR common patterns page.
11. Wind-down / next-gen without cumulative serious totals #
By April 2023 CDC was winding down the original COVID v-safe, citing on the order of 10 million participants and 150 million health surveys and calling the mission accomplished. Later decks introduce a next-generation v-safe for other vaccines. The enrollment scoreboard is fair: those headcounts match the data.
What still does not appear is a plain accounting of the serious end of those years of check-ins — cumulative hospital and ER checkboxes, Death coding, chest-pain volumes — or an honest statement that VAERS only ever received about one in ten care-eligible cases. The farewell and the relaunch keep the old habit: celebrate participation, teach VAERS as the serious channel, leave the hard v-safe totals off the screen.
12. “v-safe has no hospital reasons” while free text exists #
When someone in v-safe checked hospitalization or medical care, they could also type what happened — and coders often attached matching MedDRA preferred terms. Free text in the reconstructed data includes phrases like appendectomy, respiratory failure, “diagnosed with myocarditis,” first-time seizure, and pneumonia. Those fields are not decorative. They are the app’s way of recording why care was needed.
Sometimes CDC said the opposite in print. Companion MMWR briefs claim that v-safe “does not record reason for hospitalization,” or that “reasons for receiving medical care or hospitalization were not identified in the v-safe survey.” That is false as to the data people entered. More often on ACIP decks the same idea is only implied: hospital or “needed medical care” appears as a tiny percentage, a checkbox count, or a bullet that the survey asks about care — while the typed reasons next to those rows never enter the briefing. Either way, the audience is taught that v-safe’s hard outcomes are featureless, when the free text was fit for purpose all along.
Full paper-side treatment of the written hedge: MMWR pattern 9.
- Jan 5, 2022 Hause — “mild to moderate” + skinny medical-care bar; free text / coding in the same age band includes appendicitis surgery and acute respiratory failure
- Jun 23, 2021 — ER/hospital stamped as 0.1–0.2% with no walk-through of free text or chest-pain / dyspnea coding on those hospital-checkbox rows
- Jun 18, 2022 Oliver EtR — describes that surveys ask whether the child “received care,” then shows no care counts and no free-text answers
-
Sep 1, 2022 —
“no unexpected findings” while
BBU-44168-22141has hospital boxes + respiratory-distress coding (and failed call-center follow-up) - Dec 16, 2021 Su — kids “mild to moderate” summary; chest-pain and seizure free text / codes stay off the v-safe half
- Written form of the same hedge (companion briefs to the additional-dose ACIP window): mm7031e1 (“does not record reason for hospitalization”), mm7039e4 (“reasons … were not identified in the v-safe survey”); soft ACIP mirrors: Sep 22 Hause, Oct 21 Hause