Rows where value_status != 'reported' but value is not NULL: 0
Suppression is a status
Surveillance sources hide small or unreliable numbers for good reasons — protecting privacy in a small population, avoiding an estimate too noisy to publish. But “hidden” is not the same fact as “missing,” and a lot of downstream harm comes from collapsing the two into one blank cell.
value_status is a closed, documented enum on every row of measure.observation:
value_status |
Meaning |
|---|---|
reported |
value published |
suppressed_small_count |
below the source’s count threshold |
suppressed_complementary |
suppressed to prevent back-calculation |
suppressed_reliability |
suppressed because the estimate is unreliable |
not_available |
source publishes no value for this unit |
not_applicable |
combination is meaningless (e.g. cervix × male) |
The invariant: value is NULL whenever value_status is not 'reported', and never otherwise. No reader has to parse a sentinel ("*", "3 or fewer", -1) to find out — and no reader can accidentally average a suppressed cell in as a zero, because there’s no number there to average.
Verified against the release
Real counts by source, as of this render:
| source | value_status | n | |
|---|---|---|---|
| 0 | ACS | not_available | 492 |
| 1 | ACS | reported | 1907328 |
| 2 | ACS | suppressed_small_count | 20484 |
| 3 | AHRF | not_available | 366 |
| 4 | AHRF | reported | 64334 |
| 5 | AIRTOXSCREEN | reported | 587592 |
| 6 | EJSCREEN | not_available | 12036 |
| 7 | EJSCREEN | reported | 1098112 |
| 8 | EPA_RADON | reported | 3139 |
| 9 | FARA | not_available | 75626 |
| 10 | FARA | reported | 2219514 |
| 11 | HPSA | reported | 16468 |
| 12 | NIS_TEEN | reported | 6888 |
| 13 | NIS_TEEN | suppressed_reliability | 304 |
| 14 | PLACES | reported | 3517402 |
| 15 | PLACES | suppressed_small_count | 66 |
| 16 | RUCA | not_applicable | 1384 |
| 17 | RUCA | reported | 317676 |
| 18 | RUCC | not_available | 2 |
| 19 | RUCC | reported | 3233 |
| 20 | SCP | not_available | 202230 |
| 21 | SCP | reported | 1985478 |
| 22 | SCP | suppressed_small_count | 14716116 |
| 23 | SDWIS | reported | 16420 |
| 24 | SVI | not_available | 12238 |
| 25 | SVI | reported | 2772574 |
Two sources carry almost all of the suppression here. State Cancer Profiles’ cancer counts are frequently small at the county level — its suppressed_small_count share dwarfs every other source’s, exactly as expected for county-level cancer incidence and mortality. PLACES, model-based and published only above a minimum population threshold, has a much smaller suppressed slice. not_available on AHRF, FARA, RUCC and SVI is a blank source cell, not a suppression rule — the source simply didn’t publish a value for that unit (see each source’s page in Sources for its own missing-value convention). not_applicable on RUCA marks a zero-population, no-identifier tract — a real “this combination doesn’t apply” case, not a hidden number.
What this means for a query
Never filter on value IS NOT NULL as a stand-in for “give me the real data” without also checking what’s behind the NULLs you dropped — a county missing from your result because it’s suppressed_small_count is a different finding than one missing because the source never covered it at all (not_available). The suppressed-cells recipe runs this page’s own query live, in your browser.