A bad hospital review is rarely about one thing. The five-hour wait comes with the understaffed ward; the surprise bill comes with the insurance denial; the billing office and the front desk share a paragraph. This notebook treats those co-mentions as data: which complaint topics appear together in the same review more often than chance and review length explain - and what do the resulting bundles look like?

Using the topic-labeled 10% coverage sample of our U.S. hospital corpus, a stratified permutation test finds 31 topic pairs that co-occur above chance in 1–2★ reviews. They organize into eight coherent failure bundles:

  1. Financial friction - billing × insurance, the strongest association in the corpus (4.6× chance). Two topics, one experience.
  2. Capacity & flow - wait times × staffing, the highest-volume pair, and the most severe compound: reviews naming both average 1.67★, versus 3.19★ for either alone.
  3. Administrative access - scheduling, front desk, medical records, referrals: the paperwork journey.
  4. Diagnostic journey - assessment accuracy × testing and imaging.
  5. Clinical harm - safety errors, surgery, pain management, maternity.
  6. Environment - cleanliness, facility condition, amenities, infection control.
  7. Dignity & vulnerability - the finding we did not go looking for: behavioral health clusters with discrimination, privacy, security, and accessibility - complaints about how institutions treat people at their most vulnerable.
  8. Inpatient recovery - nursing responsiveness, discharge, rehabilitation.

The bundles also pass a second, independent test: their members move together in calendar time (section 7) - and the pandemic ran through them in a measurable sequence, infection-control attention leading the staffing and wait-time surge by roughly a year.

Throughout: a co-mention is an association within one written review - not a sequence of events and not a causal chain. Every number is a topic-level aggregate; four verbatim example reviews (shown as anonymous cards, with no reviewer information and facilities identified only by category) illustrate what the strongest bundles read like in practice.

How to read this analysis

  • A review mentions a topic if at least one validity-gated labeled statement in it carries that topic; a review counts once per topic.
  • Lift is observed ÷ expected co-mentions of a topic pair, where "expected" comes from a null model that keeps everything about the reviews except which topics travel together (next section). Lift 2.0 = the pair appears together twice as often as its topics' popularity predicts.
  • q-value is the Benjamini–Hochberg-corrected permutation p-value; we accept pairs at q < 0.05 with lift > 1.15 and at least 30 observed co-mentions.
  • The main analysis lives inside 1–2★ reviews (72,038 labeled): failure bundles are a property of complaints. The praise side appears once, as a robustness mirror.
  • Estimates come from the 10% coverage sample of the full corpus; rare pairs carry wide uncertainty and everything is descriptive, not causal.
Labeled reviews196,183Validity-gated statements
Low-rating reviews72,038Rated one or two stars
Journey candidates47,405Low-rating reviews with 2+ topics

1. The raw view - and why it misleads

Start where every co-occurrence analysis is tempted to stop: just count how often topics appear together in angry reviews.

Why this is misleading. The raw ranking is wait times × bedside manner × front desk in every combination - the three most common complaint topics paired with each other and with everything else. Two mechanical forces produce this without any real affinity: popularity (common topics co-occur with everything) and review length (a review with five topics contains ten pairs; one with two topics, a single pair - and angrier reviews are longer). A meaningful "journey" claim needs a null model that grants the critic both of those facts and asks what still stands out.

2. A null that concedes popularity and length

The null model conditions on everything except togetherness:

  1. Condition on the rating band - all comparisons live inside 1–2★ reviews, so "angry reviews share angry topics" cannot create associations.
  2. Stratify by topics-per-review (2, 3, 4, 5+) - so review length is held fixed; within a stratum, every review has the same number of topics.
  3. Permute each topic's column within each stratum (B = 499) - each topic keeps exactly its prevalence among reviews of that length; only which review it lands in is shuffled. Co-mention counts under this shuffle are what popularity + length alone produce.

A pair is accepted when its observed count exceeds the null at q < 0.05 (Benjamini–Hochberg over all 353 testable pairs), with lift > 1.15 and at least 30 observed co-mentions.

3. What survives: 31 real associations

Reading the survivors. The corrected ranking looks nothing like the raw one. The popular topics have vanished; what remains are specific pairings: billing × insurance at 4.6× chance - by a wide margin the strongest association in the corpus - followed by cleanliness × infection control (3.2×), facility condition × amenities, and a striking cluster of behavioral health with discrimination, security, and privacy. Wait times, the most common complaint of all, earns exactly one strong partner: staffing (1.36×, but on 2,075 observed co-mentions - the highest-volume true pair in the corpus). Patients connect the wait to the empty nurses' station.

★☆☆☆☆  Medical Center · 2020 · quoted verbatim
“I had no insurance coverage which I explained up front. I was going specifically to see a provider so I was willing to pay out of pocket. I saw the provider, paid my bill and left. I later received a bill in the mail stating that I owed additional money. I called customer service asking why I was not charged upfront when I paid the original bill. She had no good explanation and just went in circles not answering my question directly. I am very disappointed as it seems that they are not upfront about payments.”
Insurance coverage, denials and network issues· neutralBilling, charges and collections· negative
The 4.6× pair in one story: the insurance conversation happens up front, the billing surprise arrives by mail. To the patient these are not two departments - they are one experience, which is why the topics refuse to separate.

4. Eight failure bundles

Treat the 31 significant pairs as a weighted network (edge weight = log₂ lift) and let greedy modularity clustering find its natural communities.

The eight bundles (greedy modularity on the significant-edge network):

bundle topics n_topics
Financial friction Billing, Insurance 2
Capacity & flow Staffing, Wait times 2
Administrative access Scheduling, Care coordination, Front desk, Medical records 4
Diagnostic journey Diagnostic accuracy, Testing & imaging 2
Clinical harm Maternity & peds, Pain management, Patient safety, Surgical care 4
Environment Cleanliness, Facility condition, Food & amenities, Infection control 4
Dignity & vulnerability Accessibility, Behavioral health, Discrimination, Medication, Privacy, Visitors & security 6
Inpatient recovery Discharge, Nursing responsiveness, Rehabilitation 3

Reading the bundles. The blocks along the diagonal are the journeys, and every one of them has a face:

  • Financial friction is the tightest bundle in the corpus - billing and insurance are, to patients, a single experience that begins after discharge.
  • Capacity & flow links what patients see (the wait) to what causes it (the staffing). This is the plan's hypothesized access breakdown, confirmed.
  • Administrative access is the paperwork journey - scheduling, front desk, records, referrals - failure that happens before and between treatments.
  • Diagnostic journey (assessment × imaging) is the diagnostic cascade hypothesis, confirmed at 1.6×.
  • Clinical harm collects the operating room's failure modes: safety errors with surgery (1.6×), pain management, and maternity - where the stakes make reviews name safety explicitly (1.2×).
  • Environment ties housekeeping to infection fears (3.2×): patients treat a dirty ward as a clinical risk signal, not a comfort issue.
  • Dignity & vulnerability is the discovery. Behavioral-health complaints cluster with discrimination (2.0×), security/visitor control (2.0×), privacy (1.4×), and accessibility - a bundle about being processed by an institution while powerless. It is invisible in any per-topic ranking.
  • Inpatient recovery joins nursing responsiveness to discharge and rehabilitation - the plan's responsiveness spiral, in weaker form (1.3–1.8×).

The faded off-diagonal cells matter too: bundles are not islands. Behavioral health links outward to medication and facility topics, and the administrative bundle touches records everywhere - journeys share stations.

Two of the bundles, in the reviewers' own words:

★☆☆☆☆  General hospital · 2023 · quoted verbatim
“Racist upper management in HR directors sr directors managers nursing staff security Iv seen first hand them forcing medication on mental health patients. Them holding people against their will when wanting to leave”
Discrimination and equitable treatment· negativeBehavioral health and psychiatric care· negativeBehavioral health and psychiatric care· negative
The dignity & vulnerability bundle in a single review: a behavioral-health complaint that is simultaneously a discrimination and an autonomy complaint. One reviewer's allegation, shown as written - the analysis claims only that these topics arrive together far above chance, and only in anger.
★★☆☆☆  Emergency room · 2019 · quoted verbatim
“The waiting room is disgusting!!!! A ocean of germs!!! They don't clean the waiting area at all. It's flu season!!!! You go for what might be strep and come home with flu germs and PINK EYE!!!! This place is so unclean for a hospital”
Cleanliness and housekeeping· negativeInfection control and health safety practices· negative
Cleanliness × infection control (3.2×): the dirty waiting room is read as a clinical hazard - 'flu germs and pink eye' - not as a housekeeping lapse. This is why the environment bundle contains infection control rather than leaving it with clinical topics.

5. Journeys are worse than incidents

If these bundles are real journeys and not just vocabulary, a review that spans more of a bundle should be angrier than a review that touches it once. It is - across every bundle, on all 196,183 labeled reviews.

Reading the severity gradient. Every bundle gets angrier as it completes, but the slopes differ tellingly. Capacity & flow is the steepest cliff: a review mentioning waits or staffing averages 3.19★; one mentioning both averages 1.67★ - a −1.51★ compound penalty, the difference between a complaint and a catastrophe. Administrative access, the diagnostic journey, dignity & vulnerability, and clinical harm all lose another ~0.6–0.7★ when the journey completes. Financial friction starts at the bottom (1.76★ with one topic - billing alone is already rage) and still finds another −0.38★ when insurance joins. Environment and inpatient recovery are gentler slopes: annoyances that compound, not cascades.

This is the strongest evidence that the bundles describe experiences rather than writing style: co-mention is not just adjacent vocabulary - it marks measurably worse outcomes.

★☆☆☆☆  Emergency room · 2026 · quoted verbatim
“I have been in the ER waiting room for 5 hours not being seen despite 10/10 pain. There are three people taking registration who are idle 95 percent of the time and yet even that part took several hours. No one in here is in any hurry whatsoever.”
Wait times and timeliness of care· negativeStaffing levels and operational capacity· negative
The −1.51★ compound in the wild: the five-hour wait and the idle registration desk in the same field of view. Reviews naming both wait times and staffing average 1.67★ - the patient is no longer reporting a delay, but diagnosing the hospital.

6. Robustness: the praise mirror and the ER check

Two ways the finding could be an artifact - and what the data says.

Could the bundles just be vocabulary adjacency? If two topics simply share sentences (billing and insurance live in the same paragraph whatever the sentiment), they should pair in praise too. Running the identical machinery inside 4–5★ reviews tests this.

Inside 4–5★ reviews the same test finds 16 significant pairs (vs 31 in 1–2★). 11 of the 31 failure pairs also pair in praise - these are partly structural vocabulary: billing × insurance (5.6× in praise - people also thank hospitals for handling both), cleanliness × infection control, facility × amenities, scheduling × records.

20 pairs are complaint-specific - they simply do not pair when people are happy. The complaint-only list is where the failure-journey reading is strongest, and it contains almost the entire dignity & vulnerability bundle (behavioral health × discrimination, × security, × privacy), the capacity pair (wait × staffing), patient safety × surgery, and scheduling × front desk. Institutional indifference, it turns out, has no praise-side mirror.

Top-pair stability across facility types (stratified lift, point estimates):

pair all 1–2★ ER / urgent care other facilities
Billing × Insurance 4.6× 4.8× 4.5×
Cleanliness × Infection control 3.2× 3.0× 3.2×
Facility condition × Food & amenities 2.2× 2.4× 2.1×
Accessibility × Food & amenities 2.1× 1.3× 2.2×
Behavioral health × Visitors & security 2.0× 1.1× 2.0×
Behavioral health × Discrimination 2.0× 3.2× 1.9×
Cleanliness × Facility condition 1.8× 1.7× 1.9×
Scheduling × Care coordination 1.8× 1.6× 1.7×

Reading the robustness. The strongest pairs replicate on both sides of the ER divide with similar magnitudes - the bundles are a property of hospital complaints generally, not an emergency-department artifact. And the praise mirror sharpens rather than weakens the story: it separates the pairs that are partly how people write (billing–insurance, cleanliness–infection) from the pairs that only exist when things go wrong - which is precisely the list an operations or equity team should read.

One caveat stands regardless: a co-mention is one person describing one visit. The data cannot say the wait caused the staffing complaint, or which came first - only that they arrive together, at scale, above chance.

7. Do the journeys breathe in calendar time?

Everything above lives inside single reviews. A second, independent test of the bundles: if two topics belong to one underlying experience, months in which one of them worsens (or draws more attention) should also be months in which the other does. And if anything leads - one topic rising before another - the review stream would work as an early-warning instrument.

Method: monthly series per topic, 2019–2026 (89 months). Two signals per topic - tone (negative share of directional statements, months with ≥30 statements) and attention (share of the month's labeled reviews mentioning the topic). Both are first-differenced before correlating, so shared long-run trends (the corpus-wide tone improvement) contribute nothing; what remains is genuine month-to-month co-movement.

Within-bundle vs cross-bundle month-to-month co-movement (mean pairwise correlation of first differences):

Signal Within-bundle pairs Cross-bundle pairs
Tone (topics with ≥70 usable months) +0.105 (14 pairs) +0.091 (157 pairs)
Attention +0.119 (39 pairs) -0.001 (367 pairs)

Reading the co-movement. The bundles pass the calendar test where the data is thick enough to run it. Attention co-moves four times more strongly within bundles than across them (+0.14 vs +0.04): when billing complaints take up more of a month's reviews, insurance complaints rise with them (+0.72), and the dignity-bundle topics rise and fall as a block. Tone is measurable monthly only for the high-volume topics, and there the same two pairs that anchor the co-occurrence map co-move again: scheduling × front desk (+0.44) and staffing × wait times (+0.31) - bad months at the front door are bad months on both of its topics at once.

One honest caveat: part of the attention co-movement is a composition factor - the mix of facilities writing reviews shifts over time (most dramatically in spring 2020, when ER-heavy topics collapsed and outpatient topics surged together). The within-vs-cross gap survives this shared factor, but individual attention correlations should not be read as pure operational coupling.

The same co-movement, seen raw - the actual monthly series behind the three strongest pairs:

Reading the raw series. The financial-friction panel is the cleanest: billing and insurance attention trace each other month by month for seven years - the same peaks, the same troughs, including a joint spike in spring 2020 (billing briefly reaching ~12% of all reviews amid pandemic cancellation and coverage chaos). That is what a +0.72 change-correlation looks like in the flesh.

The tone panels show co-movement as shared direction on different levels. The most striking joint feature is the early-2021 trough: staffing negativity - structurally pinned at 85–95% - plunges to ~67% while wait-time negativity dips in step, the corpus's brief window of pandemic gratitude toward visibly overwhelmed staff. Both then climb back together through the 2021–22 capacity crisis, and drift downward together from 2023. Scheduling and front desk ride the same waves throughout. The formal statement of "together" is the differenced correlation printed in each subtitle; the levels are structural to each topic.

The pandemic ran through the bundles in sequence

The window contains one natural experiment, and it produces the closest thing this corpus has to a leading indicator.

Reading the sequence. Three phases, in order:

  1. The shock (spring–winter 2020). Infection-control attention jumps from under 1% of reviews to 5–6% - and, uniquely, its tone improves while it spikes (negativity falls from ~80% to ~54% at the peak: reviewers praising masks, screening, and cleaning). Visitor restrictions and scheduling chaos spike in the same quarter; wait-time mentions collapse from 28% to 17% of reviews - the emptied ERs of early COVID.
  2. The hangover (from late 2021). Staffing attention climbs to its corpus maximum (≈4.1% of reviews) and wait times overshoot their pre-pandemic level (≈31%), both staying elevated through 2022.
  3. The lag between them is measurable. Infection-control attention correlates with staffing attention at +0.5 to +0.6 when shifted forward 8–12 months (and near zero contemporaneously) - the capacity crisis followed the infection shock by about a year.

The honest framing: this is one macro event, not a validated early-warning system - a single pandemic cannot establish that infection-control chatter generally predicts staffing strain. What it does establish is that the review stream picks up system-level shocks in the right order and roughly in real time, which is exactly the property the official survey pipeline (with its rolling multi-quarter windows) cannot offer. With the full corpus labeled, weekly series and facility-level event studies become feasible.

8. What it means

For hospital operations. Complaints arrive in bundles, so fixes that target a single topic under-deliver: the wait-time complaint is a staffing complaint; the billing complaint is an insurance-navigation complaint. The severity gradient gives a triage rule - the compound forms of capacity & flow and financial friction mark the reviews that end relationships (1.4–1.7★), and preventing the second failure in a journey is worth more than preventing the first.

For the equity conversation. The dignity & vulnerability bundle is the analysis's most consequential finding: behavioral-health complaints travel with discrimination, privacy, and security complaints - and only in anger, never in praise. Psychiatric patients experience institutional failures as a package. Any hospital equity review that reads discrimination complaints in isolation will miss the setting where they cluster.

For the measurement program. The bundles are natural composite indicators for the upcoming HCAHPS comparison: several (financial friction, administrative access, dignity & vulnerability) live largely outside HCAHPS's domains, making them concrete candidates for the blind-spot analysis. And because bundles are defined by co-occurrence, not frequency, they are exactly the kind of structure a star rating cannot carry.

When more of the corpus is labeled, two extensions become possible: per-facility bundle profiles (which hospitals produce which journeys) and a temporal check on whether journeys strengthen under system stress (e.g., winter capacity).

Appendix - methodology and caveats

Data. Topic labels from the 10%, year- and facility-stratified coverage sample (217,343 reviews; 196,567 with ≥1 validity-gated label; DeepSeek V4 Flash; 29-topic bottom-up taxonomy). Main analysis: the 72,038 labeled reviews rated 1–2★, of which 47,405 mention ≥2 topics and carry pair information.

Test. Review × topic incidence matrix (a review counts once per topic). Within the rating band, reviews are stratified by distinct-topic count (2 / 3 / 4 / 5+); within each stratum every topic column is independently permuted (B = 499, fixed seed), preserving each topic's prevalence per stratum and destroying only co-membership. Observed pair counts are compared with the pooled null; p-values are empirical, one-sided, with the standard +1 correction; Benjamini–Hochberg FDR over all pairs with ≥30 observed co-mentions. Acceptance: q < 0.05 and lift > 1.15.

Clustering. Greedy modularity merging (Clauset–Newman–Moore) on the significant-edge network, edge weight log₂ lift. Bundle names are editorial; membership is algorithmic. With 29 nodes the clustering is exact enough that alternative algorithms yield the same blocks.

Time series (section 7). Monthly topic series, January 2019 – May 2026. Tone = negative share of directional statements (months with ≥30 statements; topics with ≥70 usable months). Attention = share of the month's labeled reviews mentioning the topic. Co-movement is measured on first differences, so shared trends cancel; ±0.21 is the rough 95% band for a single pair at n = 89 months. Attention series share a facility-mix composition factor (visible in spring 2020), so the within-vs-cross comparison, not any single correlation, is the supported claim. The lead–lag result is a cross-correlation of levels driven by one macro event (COVID-19) and is presented as an event narrative, not a validated forecasting relationship.

Known limitations. Co-mention ≠ sequence ≠ causation; one review is one person's account of (usually) one visit. The 10% sample bounds rare-pair precision - pairs below 30 co-mentions are not tested at all, so absence from the map is not evidence of independence. Negative associations ("avoidances") are not reported: conditioning on topic count makes the lower tail conservative, and none passed FDR. Topic granularity shapes bundles - a finer taxonomy could split or merge them. Estimates are descriptive for the public review record, not for hospital populations.

Privacy. All findings are topic-level aggregates; no reviewer information and no per-facility results appear. Four example reviews are quoted verbatim as illustration cards (the same presentation as the sibling notebooks): they carry no reviewer identifiers, the facility appears only as its category, and the selected texts name no people or institutions.