diff --git a/.gitignore b/.gitignore index bea50a9f..a5502a7d 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,8 @@ renv/ .DS_Store data/vaers/raw/staging/ data/nhtsa_crash/raw/*.zip +data/nhtsa_crash/raw/zip_cache/ +data/nhtsa_crash/raw/*.csv.gz data/abcs/raw/acs_cache/ pophive_data.db nul diff --git a/.vscode/settings.json b/.vscode/settings.json index 210231a0..258dce9b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,9 @@ { - "editor.quickSuggestions": false, + "editor.quickSuggestions": { + "comments": "off", + "strings": "off", + "other": "off" + }, "editor.suggestOnTriggerCharacters": false, "editor.wordBasedSuggestions": "off" } diff --git a/CLAUDE.md b/CLAUDE.md index 9c29a8f0..cb0ddc08 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -792,6 +792,75 @@ Rscript scripts/build_docs.R --- +## Validating a New Dataset (Visual QA Report) + +`scripts/validate_dataset.Rmd` is a parameterized R Markdown report for visually +QA-ing any standardized dataset. It tabulates demographic categories (and diffs +them against a prior version — by default the **previous git version of the same +file**, pulled automatically: working-tree edits vs the last commit, otherwise +the last commit vs the one before, so you can see whether variables or demographic +levels changed since the last ingest without specifying anything; set +`git_compare: false` or an explicit `old_data_file` to override), reports NA +values and lists value measures that +are >50% suppressed or >50% not asked/collected, runs format checks, plots +national + random-state time series (4 panels/row; suppressed/not-asked points +are shown but dropped from the trend line), draws state/county choropleths +(4 random years per measure in a 2×2 grid, with suppressed cells white-hatched +and not-asked/not-collected cells solid black), and can overlay a comparison +source. Confidence-bound (`_lcl`/`_ucl`) columns are auto-excluded from plots and +maps. The suppressed/not-asked map legend uses the `ggnewscale` and `ggpattern` +packages (install once with `install.packages(c("ggnewscale", "ggpattern"))`); +without them the map degrades gracefully to solid fills (and, lacking +`ggnewscale`, a caption instead of a legend entry). + +Render it from R (or via "Knit with Parameters" in RStudio / VS Code): + +```r +rmarkdown::render( + "scripts/validate_dataset.Rmd", + params = list( + data_file = "data/source_name/standard/data.csv.gz", # required + old_data_file = "", # optional: prior version of the SAME dataset + compare_file = "", # optional: a different source with SIMILAR measures + make_maps = TRUE # set FALSE to skip choropleths (no internet needed) + ) +) +``` + +### Pandoc requirement (rendering any .Rmd outside RStudio) + +RStudio bundles pandoc, but the VS Code R extension and bare `Rscript` do not, so +`rmarkdown::render()` fails with *"pandoc version 1.12.3 or higher is required +and was not found."* This repo installs and locates pandoc without admin rights: + +```r +# One-time install of a user-managed pandoc (run once per machine). +# Note: if downloads fail with an SSL error, switch the method first: +# options(download.file.method = "wininet") +install.packages("pandoc") +pandoc::pandoc_install("latest") +``` + +Pandoc is then activated automatically via two `.Rprofile` files, each calling +`pandoc::pandoc_activate("latest")` (version-independent — survives upgrades): + +- **Project `.Rprofile`** (repo root) — sourced when R starts in the project root + (RStudio, R console). +- **Home `.Rprofile`** (`path.expand("~")`, e.g. `…\OneDrive\Documents\.Rprofile`) + — sourced when R starts in any other directory. **This is the one the VS Code R + extension needs:** its "Knit" spawns R with the working directory set to the + *document's* folder (`scripts/`), which has no `.Rprofile`, so R falls back to + the home one. The home file is **not** in the repo, so re-create it on a new + machine (same guarded `pandoc_activate` block as the project `.Rprofile`). + +Both blocks are guarded, so they are silent no-ops if pandoc is not installed. +The pandoc binary lives in the user profile (`%LOCALAPPDATA%\r-pandoc\`) and is +**not** committed to the repo. After a fresh clone on a new machine, run the +one-time install above. Because each Knit launches a fresh R process, the fix +takes effect on the next Knit — no editor restart required. + +--- + ## Data Manifest (Machine-Readable API) `scripts/build_docs.R` generates two outputs: diff --git a/data/nccr/README.md b/data/nccr/README.md new file mode 100644 index 00000000..df9b3217 --- /dev/null +++ b/data/nccr/README.md @@ -0,0 +1,43 @@ +# nccr — National Childhood Cancer Registry (NCCR*Explorer) + +Childhood, adolescent, and young-adult (ages 0–39) cancer **incidence** statistics +from NCI's [NCCR*Explorer](https://nccrexplorer.ccdi.cancer.gov/), pooled from +~29 U.S. cancer registries (~76% of the U.S. population), diagnosed 2001 forward. + +## What is ingested + +`ingest.R` harvests the NCCR*Explorer application data API +(`render_region_5.php`, incidence / trends-over-time), one request per ICCC +cancer site, and reshapes the result into the standard wide format. + +- **Geography:** national only (`geography = "00"`). NCCR*Explorer does **not** + provide state- or registry-level breakdowns. +- **Time:** annual, `YYYY-12-31`, 2001–2022. +- **Dimensions:** `age` (12 NCCR groupings: <1, 1-4, 5-9, 10-14, 15-19, 0-19, + 20-24, 25-29, 30-39, 15-39, 20-39, and 0-39 = full NCCR population total), + `sex` (Overall/Male/Female), + `race_ethnicity` (Overall, White, Black, Asian/Pacific Islander, + American Indian/Alaska Native, Hispanic). +- **Measures:** one age-adjusted incidence rate (per 1,000,000) column per ICCC + site, plus 95% CI bounds — `nccr_`, `nccr__lcl`, `nccr__ucl`. + Sites are restricted to **All ICCC Sites Combined** plus the 14 top-level ICCC + category groups (I. Leukemias, II. Lymphomas, III. CNS Neoplasms Malignant & + Non-Malignant, IV. Neuroblastoma, V. Retinoblastoma, VI. Renal, VII. Hepatic, + VIII. Bone, IX. Soft Tissue, X. Germ Cell Malignant & Non-Malignant, + XI. Epithelial/Melanomas, XII. Other) — 15 sites total. The lettered ICCC + subcategories (I.a, I.b, …) are not included. Edit `GROUP_SITES` in `ingest.R` + to change scope. + +## Output + +`standard/data.csv.gz` — 4,752 index rows × 50 columns +(5 index columns + 15 ICCC sites × 3 measures). + +## Notes + +- The data API returns double-encoded JSON; code↔label lookups come from + `get_var_formats.php` (saved as `raw/var_formats.json`). +- Change detection hashes all raw files; the standard file is only rebuilt when + the upstream data changes. +- Column slugs are derived deterministically from ICCC short names and are kept + in sync between `ingest.R` and `measure_info.json`. diff --git a/data/nccr/ingest.R b/data/nccr/ingest.R new file mode 100644 index 00000000..c3aa5077 --- /dev/null +++ b/data/nccr/ingest.R @@ -0,0 +1,228 @@ +# ============================================================================= +# NCCR (National Childhood Cancer Registry) Explorer Data Ingestion +# Source: https://nccrexplorer.ccdi.cancer.gov/ +# +# NCCR*Explorer publishes cancer incidence statistics for children, adolescents, +# and young adults (ages 0-39), diagnosed 2001 forward, pooled from ~29 U.S. +# cancer registries covering ~76% of the U.S. population. Data are NATIONAL ONLY +# (no state/registry breakdown is available from this source). +# +# The web application is backed by a JSON endpoint (render_region_5.php). For a +# given cancer site it returns the full cross-product of sex x race/ethnicity x +# age, each with an annual series of [year, rate, rate_se, rate_lower_ci, +# rate_upper_ci, modeled_rate]. We pull every ICCC site/category, reshape to the +# standard wide format (one rate column per ICCC site), and write data.csv.gz. +# +# Output (standard/data.csv.gz), wide by ICCC site: +# geography, time, age, sex, race_ethnicity, +# nccr_, nccr__lcl, nccr__ucl (one trio per ICCC site) +# where rate is the age-adjusted incidence rate per 1,000,000. +# ============================================================================= + +suppressMessages({ + library(dplyr) + library(tidyr) + library(jsonlite) +}) + +API_BASE <- "https://nccrexplorer.ccdi.cancer.gov/source/content_writers" +VAR_URL <- file.path(API_BASE, "get_var_formats.php") +DATA_URL <- file.path(API_BASE, "render_region_5.php") +DATA_TYPE <- 1L # 1 = Incidence +GRAPH_TYPE <- 2L # 2 = Trends Over Time (annual series) + +# Initialize process record (creates process.json if it doesn't exist) +if (!file.exists("process.json")) { + process <- list(raw_state = NULL) +} else { + process <- dcf::dcf_process_record() +} + +# ----------------------------------------------------------------------------- +# 1. Download raw data into memory, write single combined file +# ----------------------------------------------------------------------------- +dir.create("raw", showWarnings = FALSE) + +fetch_content <- function(url, tries = 3) { + for (i in seq_len(tries)) { + result <- tryCatch( + paste(readLines(url, warn = FALSE), collapse = ""), + error = function(e) NULL + ) + if (!is.null(result) && nchar(result) > 0) return(result) + Sys.sleep(2) + } + stop("Failed to download: ", url) +} + +# Variable formats: defines site codes/names and the curated list of ICCC sites +vf_parsed <- fromJSON(fetch_content(VAR_URL)) +vf <- vf_parsed$VariableFormats +cancer_sites <- vf_parsed$CancerSites +cancer_sites <- cancer_sites[cancer_sites != 9999] # drop "Compare Cancer Sites" pseudo-option + +# Restrict to "All ICCC Sites Combined" plus the top-level ICCC category groups +# (the Roman-numeral level), dropping the lettered subcategories (I.a, I.b, ...). +# Edit this list to change which sites are ingested. +GROUP_SITES <- c( + 1, # All ICCC Sites Combined + 100, # I. Leukemias + 200, # II. Lymphomas + 300, # III. CNS Neoplasms (Malignant) + 2300, # III. CNS Neoplasms (Non-Malignant) + 400, # IV. Neuroblastoma and Peripheral Nervous Cell + 500, # V. Retinoblastoma + 600, # VI. Renal Tumors + 700, # VII. Hepatic Tumors + 800, # VIII.Bone Tumors + 900, # IX. Soft Tissue Tumors + 1000, # X. Germ Cell Tumors (Malignant) + 3000, # X. Germ Cell Tumors (Non-Malignant) + 1100, # XI. Epithelial Neoplasms and Melanomas + 1200 # XII. Other and Unspecified Neoplasms +) +cancer_sites <- GROUP_SITES[GROUP_SITES %in% cancer_sites] + +# --------------------------------------------------------------------------- +# Code -> label lookups +# --------------------------------------------------------------------------- +# Age ranges relevant to incidence trends (overlapping NCCR groupings retained) +# "0-39" is NCCR's full population total (source label "Ages <40"); "0-19" is +# the childhood-only total (source label "Ages <20"). +age_lab <- c( + "1" = "0-19", "2" = "<1", "3" = "1-4", "4" = "5-9", "5" = "10-14", + "6" = "15-19", "7" = "0-39", "8" = "15-39", "9" = "20-39", + "10" = "20-24", "11" = "25-29", "12" = "30-39" +) +sex_lab <- c("1" = "Overall", "2" = "Male", "3" = "Female") +race_lab <- c( + "1" = "Overall", "2" = "White", "3" = "Black", + "4" = "Asian/Pacific Islander", "5" = "American Indian/Alaska Native", + "6" = "Hispanic" +) + +# ICCC site code -> short label -> column slug (prefer short_name, fall back to full) +site_full <- vf$site +site_short <- vf$site_short_name +make_slug <- function(name) { + s <- tolower(name) + s <- gsub("&", " and ", s, fixed = TRUE) + s <- gsub("+", "_p_", s, fixed = TRUE) + s <- gsub("[^a-z0-9]+", "_", s) + s <- gsub("_+", "_", s) + s <- gsub("^_|_$", "", s) + # drop the leading ICCC roman-numeral group prefix (e.g. "i_leukemias" -> "leukemias") + s <- sub("^(i|ii|iii|iv|v|vi|vii|viii|ix|x|xi|xii)_", "", s) + s +} +site_name <- vapply(as.character(cancer_sites), function(c) { + if (!is.null(site_short[[c]])) site_short[[c]] else site_full[[c]] +}, character(1)) +site_slug <- setNames(make_slug(site_name), as.character(cancer_sites)) + +# Download all site data into memory and parse to long format +parse_site <- function(raw, code) { + keys <- names(raw$data) + if (is.null(keys) || !length(keys)) return(NULL) + slug <- site_slug[[as.character(code)]] + do.call(rbind, lapply(keys, function(k) { + parts <- strsplit(k, "_", fixed = TRUE)[[1]] # sex_race_age_subtype_site + m <- raw$data[[k]]$data_series # matrix: year,rate,se,lci,uci,modeled + if (is.null(m) || length(m) == 0) return(NULL) + if (is.null(dim(m))) m <- matrix(m, nrow = 1) + data.frame( + sex = sex_lab[parts[1]], + race_ethnicity = race_lab[parts[2]], + age = age_lab[parts[3]], + site = slug, + year = suppressWarnings(as.integer(m[, 1])), + rate = suppressWarnings(as.numeric(m[, 2])), + lcl = suppressWarnings(as.numeric(m[, 4])), + ucl = suppressWarnings(as.numeric(m[, 5])), + stringsAsFactors = FALSE, row.names = NULL + ) + })) +} + +long <- bind_rows(lapply(cancer_sites, function(code) { + url <- sprintf("%s?data_type=%d&graph_type=%d&site=%d", DATA_URL, DATA_TYPE, GRAPH_TYPE, code) + site_raw <- fromJSON(fromJSON(fetch_content(url))) # response is double-encoded JSON + Sys.sleep(0.2) + parse_site(site_raw, code) +})) %>% + filter(!is.na(year), !is.na(age), !is.na(sex), !is.na(race_ethnicity)) + +# Write single combined raw file +vroom::vroom_write(long, "raw/nccr_raw.csv.gz", delim = ",") + +# ----------------------------------------------------------------------------- +# 2. Change detection (hash combined raw file) +# ----------------------------------------------------------------------------- +raw_state <- list(hash = tools::md5sum("raw/nccr_raw.csv.gz")) + +if (!identical(process$raw_state, raw_state)) { + + # --------------------------------------------------------------------------- + # 5. Reshape to standard wide format (one rate column per ICCC site) + # --------------------------------------------------------------------------- + data_standard <- long %>% + mutate( + geography = "00", + time = sprintf("%d-12-31", year) + ) %>% + select(geography, time, age, sex, race_ethnicity, site, rate, lcl, ucl) %>% + pivot_wider( + id_cols = c(geography, time, age, sex, race_ethnicity), + names_from = site, + values_from = c(rate, lcl, ucl), + names_glue = "nccr_{site}@@{.value}" + ) %>% + arrange(geography, time, age, sex, race_ethnicity) + + # Tidy column names: rate -> nccr_, lcl/ucl -> nccr__lcl / _ucl + nm <- names(data_standard) + nm <- sub("@@rate$", "", nm) + nm <- sub("@@lcl$", "_lcl", nm) + nm <- sub("@@ucl$", "_ucl", nm) + names(data_standard) <- nm + + # Add per-site flags before NA replacement: + # suppressed_flag = 1 when rate == 0 and CI is absent (API-suppressed cell) + # not_collected_flag = 1 when rate is NA (not returned by API at all) + for (s in site_slug) { + rate_col <- paste0("nccr_", s) + lcl_col <- paste0("nccr_", s, "_lcl") + data_standard[[paste0("nccr_", s, "_suppressed")]] <- as.integer( + !is.na(data_standard[[rate_col]]) & + data_standard[[rate_col]] == 0 & + is.na(data_standard[[lcl_col]]) + ) + data_standard[[paste0("nccr_", s, "_not_collected")]] <- as.integer( + is.na(data_standard[[rate_col]]) + ) + } + + # Replace all remaining NAs with 0 + data_standard[is.na(data_standard)] <- 0L + + # Order columns: index cols then per-site groups (rate, lcl, ucl, suppressed, not_collected) + idx_cols <- c("geography", "time", "age", "sex", "race_ethnicity") + val_cols <- unlist(lapply(site_slug, function(s) { + c(paste0("nccr_", s), paste0("nccr_", s, "_lcl"), paste0("nccr_", s, "_ucl"), + paste0("nccr_", s, "_suppressed"), paste0("nccr_", s, "_not_collected")) + }), use.names = FALSE) + val_cols <- val_cols[val_cols %in% names(data_standard)] + data_standard <- data_standard[, c(idx_cols, val_cols)] + + # --------------------------------------------------------------------------- + # 6. Write standardized output + # --------------------------------------------------------------------------- + dir.create("standard", showWarnings = FALSE) + vroom::vroom_write(data_standard, "standard/data.csv.gz", delim = ",") + + # --------------------------------------------------------------------------- + # 7. Record processed state + # --------------------------------------------------------------------------- + process$raw_state <- raw_state + dcf::dcf_process_record(updated = process) +} diff --git a/data/nccr/measure_info.json b/data/nccr/measure_info.json new file mode 100644 index 00000000..d150dc59 --- /dev/null +++ b/data/nccr/measure_info.json @@ -0,0 +1,340 @@ +{ + "nccr_{variant}": { + "id": "nccr_{variant}", + "short_name": "Incidence rate: {variant.short_name}", + "long_name": "Childhood/AYA cancer incidence rate ({variant.short_name})", + "category": "chronic", + "short_description": "Age-adjusted incidence rate of {variant.short_name} among children, adolescents, and young adults (ages 0-39).", + "long_description": "Age-adjusted annual incidence rate of {variant.short_name} (ICCC classification) per 1,000,000 population, among children, adolescents, and young adults ages 0-39, from the National Childhood Cancer Registry (NCCR*Explorer). Rates are pooled across ~29 U.S. cancer registries covering ~76% of the U.S. population and are reported at the national level only. Estimates are stratified by sex, race/ethnicity, and age group. Rates are age-adjusted to the 2000 U.S. standard population.", + "statement": "In {location}, the incidence rate of {variant.short_name} was {value} per 1,000,000.", + "measure_type": "Incidence", + "unit": "Cases per 1,000,000", + "time_resolution": "Year", + "sources": [ + { + "id": "nccr" + } + ], + "citations": [], + "variants": { + "all_iccc_sites": { + "short_name": "All ICCC Sites Combined" + }, + "leukemias": { + "short_name": "I. Leukemias" + }, + "lymphomas": { + "short_name": "II. Lymphomas" + }, + "cns_neoplasms_malignant": { + "short_name": "III. Central Nervous System Neoplasms (Malignant)" + }, + "cns_neoplasms_non_malignant": { + "short_name": "III Central Nervous System Neoplasms (Non-Malignant)" + }, + "neuroblastoma_and_pns_tumors": { + "short_name": "IV. Neuroblastoma and Peripheral Nervous Cell" + }, + "retinoblastoma": { + "short_name": "V. Retinoblastoma" + }, + "renal_tumors": { + "short_name": "VI. Renal Tumors" + }, + "hepatic_tumors": { + "short_name": "VII. Hepatic Tumors" + }, + "bone_tumors": { + "short_name": "VIII. Bone Tumors" + }, + "soft_tissue_sarcomas": { + "short_name": "IX. Soft Tissue Tumors" + }, + "germ_cell_tumors_malignant": { + "short_name": "X. Germ Cell Tumors (Malignant)" + }, + "germ_cell_tumors_non_malignant": { + "short_name": "X. Germ Cell Tumors (Non-Malignant)" + }, + "epithelial_neoplasms_and_melanomas": { + "short_name": "XI. Epithelial Neoplasms And Melanomas" + }, + "neoplasms_other_and_nos": { + "short_name": "XII. Other/ Unspecified Neoplasms" + } + } + }, + "nccr_{variant}_lcl": { + "id": "nccr_{variant}_lcl", + "short_name": "Incidence rate lower 95% CI: {variant.short_name}", + "long_name": "Childhood/AYA cancer incidence rate, lower 95% CI ({variant.short_name})", + "category": "chronic", + "short_description": "Lower bound of the 95% confidence interval for the incidence rate of {variant.short_name}.", + "long_description": "Lower bound of the 95% confidence interval for the age-adjusted incidence rate of {variant.short_name} (per 1,000,000) from NCCR*Explorer. Used with the upper bound to convey uncertainty, which can be substantial for rare cancers and small demographic subgroups.", + "statement": "In {location}, the lower 95% CI bound for the incidence rate of {variant.short_name} was {value} per 1,000,000.", + "measure_type": "Incidence", + "unit": "Cases per 1,000,000", + "time_resolution": "Year", + "sources": [ + { + "id": "nccr" + } + ], + "citations": [], + "variants": { + "all_iccc_sites": { + "short_name": "All ICCC Sites Combined" + }, + "leukemias": { + "short_name": "I. Leukemias" + }, + "lymphomas": { + "short_name": "II. Lymphomas" + }, + "cns_neoplasms_malignant": { + "short_name": "III. Central Nervous System Neoplasms (Malignant)" + }, + "cns_neoplasms_non_malignant": { + "short_name": "III Central Nervous System Neoplasms (Non-Malignant)" + }, + "neuroblastoma_and_pns_tumors": { + "short_name": "IV. Neuroblastoma and Peripheral Nervous Cell" + }, + "retinoblastoma": { + "short_name": "V. Retinoblastoma" + }, + "renal_tumors": { + "short_name": "VI. Renal Tumors" + }, + "hepatic_tumors": { + "short_name": "VII. Hepatic Tumors" + }, + "bone_tumors": { + "short_name": "VIII. Bone Tumors" + }, + "soft_tissue_sarcomas": { + "short_name": "IX. Soft Tissue Tumors" + }, + "germ_cell_tumors_malignant": { + "short_name": "X. Germ Cell Tumors (Malignant)" + }, + "germ_cell_tumors_non_malignant": { + "short_name": "X. Germ Cell Tumors (Non-Malignant)" + }, + "epithelial_neoplasms_and_melanomas": { + "short_name": "XI. Epithelial Neoplasms And Melanomas" + }, + "neoplasms_other_and_nos": { + "short_name": "XII. Other/ Unspecified Neoplasms" + } + } + }, + "nccr_{variant}_ucl": { + "id": "nccr_{variant}_ucl", + "short_name": "Incidence rate upper 95% CI: {variant.short_name}", + "long_name": "Childhood/AYA cancer incidence rate, upper 95% CI ({variant.short_name})", + "category": "chronic", + "short_description": "Upper bound of the 95% confidence interval for the incidence rate of {variant.short_name}.", + "long_description": "Upper bound of the 95% confidence interval for the age-adjusted incidence rate of {variant.short_name} (per 1,000,000) from NCCR*Explorer. Used with the lower bound to convey uncertainty, which can be substantial for rare cancers and small demographic subgroups.", + "statement": "In {location}, the upper 95% CI bound for the incidence rate of {variant.short_name} was {value} per 1,000,000.", + "measure_type": "Incidence", + "unit": "Cases per 1,000,000", + "time_resolution": "Year", + "sources": [ + { + "id": "nccr" + } + ], + "citations": [], + "variants": { + "all_iccc_sites": { + "short_name": "All ICCC Sites Combined" + }, + "leukemias": { + "short_name": "I. Leukemias" + }, + "lymphomas": { + "short_name": "II. Lymphomas" + }, + "cns_neoplasms_malignant": { + "short_name": "III. Central Nervous System Neoplasms (Malignant)" + }, + "cns_neoplasms_non_malignant": { + "short_name": "III Central Nervous System Neoplasms (Non-Malignant)" + }, + "neuroblastoma_and_pns_tumors": { + "short_name": "IV. Neuroblastoma and Peripheral Nervous Cell" + }, + "retinoblastoma": { + "short_name": "V. Retinoblastoma" + }, + "renal_tumors": { + "short_name": "VI. Renal Tumors" + }, + "hepatic_tumors": { + "short_name": "VII. Hepatic Tumors" + }, + "bone_tumors": { + "short_name": "VIII. Bone Tumors" + }, + "soft_tissue_sarcomas": { + "short_name": "IX. Soft Tissue Tumors" + }, + "germ_cell_tumors_malignant": { + "short_name": "X. Germ Cell Tumors (Malignant)" + }, + "germ_cell_tumors_non_malignant": { + "short_name": "X. Germ Cell Tumors (Non-Malignant)" + }, + "epithelial_neoplasms_and_melanomas": { + "short_name": "XI. Epithelial Neoplasms And Melanomas" + }, + "neoplasms_other_and_nos": { + "short_name": "XII. Other/ Unspecified Neoplasms" + } + } + }, + "nccr_{variant}_suppressed": { + "id": "nccr_{variant}_suppressed", + "short_name": "Suppressed flag: {variant.short_name}", + "long_name": "Suppression flag for {variant.short_name} incidence rate", + "category": "chronic", + "short_description": "Indicates whether the {variant.short_name} incidence rate was suppressed (reported as 0 with no confidence interval).", + "long_description": "Binary flag: 1 if the NCCR*Explorer API returned a rate of 0 with no confidence interval bounds for {variant.short_name}, indicating the cell was suppressed due to sparse data (typically rare cancers in small demographic subgroups). The corresponding rate and CI columns are set to 0. 0 = not suppressed.", + "statement": "In {location}, the {variant.short_name} incidence rate cell is suppressed: {value}.", + "measure_type": "Incidence", + "unit": "Cases per 1,000,000", + "time_resolution": "Year", + "sources": [ + { + "id": "nccr" + } + ], + "citations": [], + "variants": { + "all_iccc_sites": { + "short_name": "All ICCC Sites Combined" + }, + "leukemias": { + "short_name": "I. Leukemias" + }, + "lymphomas": { + "short_name": "II. Lymphomas" + }, + "cns_neoplasms_malignant": { + "short_name": "III. Central Nervous System Neoplasms (Malignant)" + }, + "cns_neoplasms_non_malignant": { + "short_name": "III Central Nervous System Neoplasms (Non-Malignant)" + }, + "neuroblastoma_and_pns_tumors": { + "short_name": "IV. Neuroblastoma and Peripheral Nervous Cell" + }, + "retinoblastoma": { + "short_name": "V. Retinoblastoma" + }, + "renal_tumors": { + "short_name": "VI. Renal Tumors" + }, + "hepatic_tumors": { + "short_name": "VII. Hepatic Tumors" + }, + "bone_tumors": { + "short_name": "VIII. Bone Tumors" + }, + "soft_tissue_sarcomas": { + "short_name": "IX. Soft Tissue Tumors" + }, + "germ_cell_tumors_malignant": { + "short_name": "X. Germ Cell Tumors (Malignant)" + }, + "germ_cell_tumors_non_malignant": { + "short_name": "X. Germ Cell Tumors (Non-Malignant)" + }, + "epithelial_neoplasms_and_melanomas": { + "short_name": "XI. Epithelial Neoplasms And Melanomas" + }, + "neoplasms_other_and_nos": { + "short_name": "XII. Other/ Unspecified Neoplasms" + } + } + }, + "nccr_{variant}_not_collected": { + "id": "nccr_{variant}_not_collected", + "short_name": "Not collected flag: {variant.short_name}", + "long_name": "Not-collected flag for {variant.short_name} incidence rate", + "category": "chronic", + "short_description": "Indicates whether the {variant.short_name} incidence rate was absent from the API response.", + "long_description": "Binary flag: 1 if the NCCR*Explorer API returned no rate value at all for {variant.short_name} (as distinct from a suppressed zero). The corresponding rate and CI columns are set to 0. 0 = data present.", + "statement": "In {location}, the {variant.short_name} incidence rate was not collected: {value}.", + "measure_type": "Incidence", + "unit": "Cases per 1,000,000", + "time_resolution": "Year", + "sources": [ + { + "id": "nccr" + } + ], + "citations": [], + "variants": { + "all_iccc_sites": { + "short_name": "All ICCC Sites Combined" + }, + "leukemias": { + "short_name": "I. Leukemias" + }, + "lymphomas": { + "short_name": "II. Lymphomas" + }, + "cns_neoplasms_malignant": { + "short_name": "III. Central Nervous System Neoplasms (Malignant)" + }, + "cns_neoplasms_non_malignant": { + "short_name": "III Central Nervous System Neoplasms (Non-Malignant)" + }, + "neuroblastoma_and_pns_tumors": { + "short_name": "IV. Neuroblastoma and Peripheral Nervous Cell" + }, + "retinoblastoma": { + "short_name": "V. Retinoblastoma" + }, + "renal_tumors": { + "short_name": "VI. Renal Tumors" + }, + "hepatic_tumors": { + "short_name": "VII. Hepatic Tumors" + }, + "bone_tumors": { + "short_name": "VIII. Bone Tumors" + }, + "soft_tissue_sarcomas": { + "short_name": "IX. Soft Tissue Tumors" + }, + "germ_cell_tumors_malignant": { + "short_name": "X. Germ Cell Tumors (Malignant)" + }, + "germ_cell_tumors_non_malignant": { + "short_name": "X. Germ Cell Tumors (Non-Malignant)" + }, + "epithelial_neoplasms_and_melanomas": { + "short_name": "XI. Epithelial Neoplasms And Melanomas" + }, + "neoplasms_other_and_nos": { + "short_name": "XII. Other/ Unspecified Neoplasms" + } + } + }, + "_sources": { + "nccr": { + "name": "National Childhood Cancer Registry Explorer (NCCR*Explorer)", + "url": "https://nccrexplorer.ccdi.cancer.gov/", + "organization": "National Cancer Institute (NCI), Childhood Cancer Data Initiative", + "organization_url": "https://www.cancer.gov/", + "location": "NCCR*Explorer: An interactive website for NCCR cancer statistics", + "location_url": "https://nccrexplorer.ccdi.cancer.gov/application.html", + "description": "The National Childhood Cancer Registry (NCCR) is a federated data resource maintained by the National Cancer Institute (NCI) as part of the Childhood Cancer Data Initiative (CCDI). NCCR*Explorer provides precalculated incidence, survival, and prevalence statistics for cancers among children, adolescents, and young adults (ages 0-39) diagnosed from 2001 forward. Incidence data are pooled from up to 29 U.S. cancer registries representing approximately 76% of the U.S. population ages 0-39. Cancers are classified using the International Classification of Childhood Cancer (ICCC). Rates are age-adjusted to the 2000 U.S. standard population and reported at the national level only; NCCR*Explorer does not provide state- or registry-level breakdowns. Statistics are available by sex, race/ethnicity, and age group. This dataset was harvested from the NCCR*Explorer application data API (incidence, trends over time).", + "restrictions": "Public domain. Data from the National Childhood Cancer Registry, produced by the National Cancer Institute, is generally not subject to copyright restrictions. Suggested attribution: National Childhood Cancer Registry Explorer (NCCR*Explorer), National Cancer Institute.", + "date_accessed": 2026 + } + } +} diff --git a/data/nccr/process.json b/data/nccr/process.json new file mode 100644 index 00000000..b893260b --- /dev/null +++ b/data/nccr/process.json @@ -0,0 +1,23 @@ +{ + "name": "nccr", + "type": "source", + "scripts": [ + { + "path": "ingest.R", + "manual": false, + "frequency": 0, + "last_run": "", + "run_time": "", + "last_status": { + "log": "", + "success": true + } + } + ], + "checked": "", + "check_results": [], + "standalone": false, + "raw_state": { + "hash": "eada1afb0560296af11d2587f77eaaf3" + } +} diff --git a/data/nccr/raw/nccr_raw.csv.gz b/data/nccr/raw/nccr_raw.csv.gz new file mode 100644 index 00000000..12502ba2 Binary files /dev/null and b/data/nccr/raw/nccr_raw.csv.gz differ diff --git a/data/nccr/standard/data.csv.gz b/data/nccr/standard/data.csv.gz new file mode 100644 index 00000000..9c1f4512 Binary files /dev/null and b/data/nccr/standard/data.csv.gz differ diff --git a/data/nccr/standard/datapackage.json b/data/nccr/standard/datapackage.json new file mode 100644 index 00000000..7f42e8d6 --- /dev/null +++ b/data/nccr/standard/datapackage.json @@ -0,0 +1,6 @@ +{ + "name": "nccr", + "title": "Nccr", + "licenses": [], + "resources": [] +} diff --git a/data/nhtsa_crash/ingest.R b/data/nhtsa_crash/ingest.R index 540d7899..25e1c514 100644 --- a/data/nhtsa_crash/ingest.R +++ b/data/nhtsa_crash/ingest.R @@ -36,16 +36,22 @@ find_latest_fars_year <- function() { stop("Could not determine latest available FARS year") } -years <- 200:find_latest_fars_year() +years <- 2000:find_latest_fars_year() -dir.create("raw", showWarnings = FALSE) +# Anchor raw/ to the script's own location so it lands in data/nhtsa_crash/raw/ +# regardless of what the working directory is when the script is run. +RAW_DIR <- file.path( + dirname(tryCatch(normalizePath(sys.frame(0)$ofile), error = function(e) "ingest.R")), + "raw" +) +dir.create(RAW_DIR, showWarnings = FALSE) download_fars_zip <- function(yr) { url <- sprintf( "https://static.nhtsa.gov/nhtsa/downloads/FARS/%d/National/FARS%dNationalCSV.zip", yr, yr ) - dest <- sprintf("raw/FARS%dNationalCSV.zip", yr) + dest <- file.path(RAW_DIR, sprintf("FARS%dNationalCSV.zip", yr)) if (!file.exists(dest)) { message(sprintf("Downloading FARS %d...", yr)) download.file(url, dest, mode = "wb", quiet = TRUE) @@ -94,7 +100,7 @@ if (!identical(process$raw_state, raw_state_new)) { # Handles case-insensitive file names and subdirectory paths # --------------------------------------------------------------------------- read_fars_file <- function(yr, file_pattern) { - zip_path <- sprintf("raw/FARS%dNationalCSV.zip", yr) + zip_path <- file.path(RAW_DIR, sprintf("FARS%dNationalCSV.zip", yr)) # List contents to find the right file (case-insensitive) zip_contents <- tryCatch( @@ -129,18 +135,39 @@ if (!identical(process$raw_state, raw_state_new)) { message("Reading person files...") person_all <- map_dfr(years, read_fars_file, file_pattern = "^person\\.csv$") - + # --------------------------------------------------------------------------- # 5. Build geography fields and normalize key columns # --------------------------------------------------------------------------- + # Old -> current county FIPS crosswalk. Counties that were renamed, merged, + # or split between 2000 and 2023 carry retired FIPS codes in the older FARS + # years; those codes are absent from the (single-year, 2021) population + # reference, which produced NA fatality rates. Remapping to the current code + # lets each historical row inherit its successor's population. Renames/merges + # are exact; 1->many splits are mapped to the primary (most populous) + # successor, which slightly approximates the denominator for those few + # extremely rural Alaska county-years. + county_fips_crosswalk <- c( + "02201" = "02198", # Prince of Wales-Outer Ketchikan -> Prince of Wales-Hyder (split) + "02232" = "02105", # Skagway-Hoonah-Angoon -> Hoonah-Angoon (split) + "02261" = "02063", # Valdez-Cordova -> Chugach (split, 2019) + "02270" = "02158", # Wade Hampton -> Kusilvak (rename, 2015) + "02280" = "02195", # Wrangell-Petersburg -> Petersburg (split) + "12025" = "12086", # Dade -> Miami-Dade (rename, 1997) + "46113" = "46102", # Shannon -> Oglala Lakota (rename, 2015) + "51515" = "51019" # Bedford (independent city) -> Bedford County (merge, 2013) + ) + accident_all <- accident_all %>% mutate( # County FIPS: 2-digit state + 3-digit county geography_county = sprintf("%02d%03d", as.integer(STATE), as.integer(COUNTY)), + # Remap retired codes to their current successor before any joins + geography_county = dplyr::recode(geography_county, !!!county_fips_crosswalk), geography_state = sprintf("%02d", as.integer(STATE)), time = paste0(YEAR, "-12-31"), - # Unknown county codes: 0 = not reported, 999 = unknown - county_known = as.integer(COUNTY) > 0 & as.integer(COUNTY) < 999, + # Real county codes are < 997; 997/998 = not reported, 999 = unknown + county_known = as.integer(COUNTY) > 0 & as.integer(COUNTY) < 997, # Rural/urban: handle both old (LAND_USE) and new (RUR_URB) column names rural_urban = dplyr::coalesce( if ("RUR_URB" %in% names(.)) as.integer(RUR_URB) else NA_integer_, diff --git a/data/nhtsa_crash/measure_info.json b/data/nhtsa_crash/measure_info.json index 32444fe1..f1085937 100644 --- a/data/nhtsa_crash/measure_info.json +++ b/data/nhtsa_crash/measure_info.json @@ -46,34 +46,6 @@ "sources": [{ "id": "nhtsa_fars" }], "citations": [] }, - "nhtsa_alcohol_related": { - "id": "nhtsa_alcohol_related", - "short_name": "Alcohol-related fatalities", - "long_name": "Fatalities in alcohol-related crashes", - "category": "injury", - "short_description": "Annual fatalities in crashes involving at least one drunk driver.", - "long_description": "Total fatalities (all persons) in crashes where at least one driver was recorded as alcohol-impaired (DRUNK_DR >= 1 in FARS accident file). A crash is classified as alcohol-related when any driver involved had a blood alcohol concentration (BAC) at or above 0.08 g/dL or was otherwise identified as impaired. This measure counts all fatalities in such crashes, not just the impaired driver. Available in data_crash_type.csv.gz, stratified by age and sex.", - "statement": "In {location}, {value} people were killed in alcohol-related crashes in {time}.", - "measure_type": "Count", - "unit": "Deaths", - "time_resolution": "Year", - "sources": [{ "id": "nhtsa_fars" }], - "citations": [] - }, - "nhtsa_speeding_related": { - "id": "nhtsa_speeding_related", - "short_name": "Speeding-related fatalities", - "long_name": "Fatalities in speeding-related crashes", - "category": "injury", - "short_description": "Annual fatalities in crashes where speeding was a contributing factor (2010+).", - "long_description": "Total fatalities in crashes flagged as speeding-related (SPEEDREL in 1-4 in FARS accident file), indicating the driver exceeded the speed limit, was racing, or drove too fast for conditions. The SPEEDREL variable was added to FARS in 2010; data are available from 2010 onward only. Values are 0 for years prior to 2010. Available in data_crash_type.csv.gz, stratified by age and sex.", - "statement": "In {location}, {value} people were killed in speeding-related crashes in {time}.", - "measure_type": "Count", - "unit": "Deaths", - "time_resolution": "Year", - "sources": [{ "id": "nhtsa_fars" }], - "citations": [] - }, "nhtsa_single_vehicle": { "id": "nhtsa_single_vehicle", "short_name": "Single-vehicle crash fatalities", diff --git a/data/nhtsa_crash/process.json b/data/nhtsa_crash/process.json index c7394935..a0097fa5 100644 --- a/data/nhtsa_crash/process.json +++ b/data/nhtsa_crash/process.json @@ -18,11 +18,71 @@ "check_results": [], "standalone": false, "raw_state": { + "2000": { + "hash": "68d7128afb8eee40b3ad8e70d6db5266" + }, + "2001": { + "hash": "56f727ae8d24671dcadd9beb3e5f3d4a" + }, + "2002": { + "hash": "b4184884ccf429ea2ee21aa25fdaabc4" + }, + "2003": { + "hash": "dc7cbb66efc53b9845b48b5c6ab25f87" + }, + "2004": { + "hash": "844fb772e1ae6f467b92a85d5cd6d53e" + }, + "2005": { + "hash": "c41a53f9c8723a6841595a35459b0c7a" + }, + "2006": { + "hash": "fa4375634d399b5debf2a5db94f9e9a0" + }, + "2007": { + "hash": "ea58670257480b0c63e5797ffd555391" + }, + "2008": { + "hash": "655a1f6f61e62d9169012acd45afc0d3" + }, + "2009": { + "hash": "8200e585fc6a0829e1f46c716b4ccf65" + }, + "2010": { + "hash": "a7475d2a9e0c87ee2010128b0a89374f" + }, + "2011": { + "hash": "3ad17b738adbc4f867a94950e22c3f84" + }, + "2012": { + "hash": "a650760f18d59e8605a2e666a5956fb0" + }, + "2013": { + "hash": "d9b80d4510ea0a824579fad96510f41f" + }, + "2014": { + "hash": "f8330e5fca0a1bf59c529dfb692650b9" + }, + "2015": { + "hash": "02bd1971b99c904130545cfb3dab64eb" + }, + "2016": { + "hash": "ce5150b01801dbdd5b9a484297ea5727" + }, + "2017": { + "hash": "dc079587f71851da60750c64c6372db4" + }, + "2018": { + "hash": "f23b257a1bbf9274fcef283418c22986" + }, + "2019": { + "hash": "988654491facde7d848873d659346f4f" + }, "2020": { "hash": "58d91fb16a87ebea5f56778d50c7ddcf" }, "2021": { - "hash": "70f8683e6b96f2c1d74d6396b7068f7a" + "hash": "9b3752b55e3bf6da2d1b234f1fe80556" }, "2022": { "hash": "c356f65e0c73f39849992fab8354271f" diff --git a/data/nhtsa_crash/standard/data.csv.gz b/data/nhtsa_crash/standard/data.csv.gz index 61a4d04e..fbd5d9ce 100644 Binary files a/data/nhtsa_crash/standard/data.csv.gz and b/data/nhtsa_crash/standard/data.csv.gz differ diff --git a/data/nhtsa_crash/standard/data_age_sex.csv.gz b/data/nhtsa_crash/standard/data_age_sex.csv.gz index 96fed8b1..ffa4c210 100644 Binary files a/data/nhtsa_crash/standard/data_age_sex.csv.gz and b/data/nhtsa_crash/standard/data_age_sex.csv.gz differ diff --git a/data/nhtsa_crash/standard/data_crash_type.csv.gz b/data/nhtsa_crash/standard/data_crash_type.csv.gz index d235ddc7..7a698ccb 100644 Binary files a/data/nhtsa_crash/standard/data_crash_type.csv.gz and b/data/nhtsa_crash/standard/data_crash_type.csv.gz differ diff --git a/data/nhtsa_crash/standard/data_person_type.csv.gz b/data/nhtsa_crash/standard/data_person_type.csv.gz index 433752c5..96d075d2 100644 Binary files a/data/nhtsa_crash/standard/data_person_type.csv.gz and b/data/nhtsa_crash/standard/data_person_type.csv.gz differ diff --git a/data/yrbss/ingest.R b/data/yrbss/ingest.R new file mode 100644 index 00000000..26982fae --- /dev/null +++ b/data/yrbss/ingest.R @@ -0,0 +1,578 @@ +# ============================================================================= +# CDC YRBSS (Youth Risk Behavior Surveillance System) Data Ingestion +# Source: YRBS Explorer https://yrbs-explorer.services.cdc.gov/#/ +# +# The YRBS Explorer is a single-page app backed by a REST API at +# https://yrbs-explorer.services.cdc.gov/api +# Relevant endpoints (reverse-engineered from the app bundle): +# /Years/2 -> survey years +# /YrbsExplorerLocations -> national/state/local +# /Questions?SurveyId=2&ListOfYears=..&ListOfLocations=XX -> question catalog +# /ChartData?QuestionId={code}&LocationId={loc}&Yr=9999 -> all years, all strata +# +# Scope (per project request): +# - Geographies : National (00) + 47 states + DC +# - Years : 2005 onward +# - Questions : Curated subset across topics (see FULL_TOPICS + +# SELECT_CODES below): all of Physical Activity (C06) plus +# selected injury/violence, mental-health, tobacco, +# substance-use, diet, and other-health-topic items. +# - Strata : Total, Sex, Race, Grade. Sex->sex, Race->race_ethnicity, +# Grade->age (approximate modal age), Total->Overall. +# YRBSS provides MARGINAL strata only (each estimate is broken +# out by exactly one of these), so there is no age x sex cross. +# +# Output: three wide standard files, one per stratification dimension, each +# with one column per measure (value / _lcl / _ucl), BRFSS-style: +# standard/data_age.csv.gz keys: geography, time, age +# standard/data_age_sex.csv.gz keys: geography, time, age, sex +# standard/data_age_ethnicity.csv.gz keys: geography, time, age, race_ethnicity +# Suppressed values, topic, and question_code are dropped from the data files +# and documented in measure_info.json instead. +# ============================================================================= + +library(tidyverse) +library(jsonlite) +library(parallel) +library(dcf) + +BASE <- "https://yrbs-explorer.services.cdc.gov/api" +MIN_YEAR <- 2005 +# Topic codes to include in full (every question in the topic) +FULL_TOPICS <- c("C06") # all Physical Activity +# Individual question codes to include (in addition to FULL_TOPICS) +SELECT_CODES <- c( + # C01 Injuries & Violence + "H8", "H9", "H10", "H11", "H12", "H13", "H15", "H24", "H25", "H14", + "H27", "H28", "H29", "H30", + # C02 Tobacco + "H31", "H33", "H35", "H36", "H38", + # C03 Alcohol & Other Drug Use + "H42", "H43", "H46", "H47", "H48", "H49", "QNCURRENTOPIOID", + "H50", "H51", "H52", "H53", "H54", "QNHALLUCDRUG", "H55", "QNILLICT", + # C05 Dietary + "QNFR0", "QNVEG0", "H75", "QNBK7DAY", + # C08 Other Health Topics + "H84", "H85", "H86", "QNCLOSE2PEOPLE", "H80" +) +RAW_FILE <- "raw/yrbss_chartdata.csv.gz" + +# ----------------------------------------------------------------------------- +# Measure dictionary: maps each YRBSS question_code to a short descriptive +# variable slug used as the column name in the standard files. The value column +# is the slug itself; the 95% CI bounds are _lcl and _ucl. topic, +# question_code, and the full question text are carried through to +# measure_info.json (and dropped from the data files). +# ----------------------------------------------------------------------------- +measure_dict <- tibble::tribble( + ~question_code, ~slug, ~short_label, ~question_text, ~topic, + # ---- Unintentional Injuries and Violence (category: injury) ---- + "H8", "pct_no_seatbelt", "Did not always wear a seat belt", "Did not always wear a seat belt", "Unintentional Injuries and Violence", + "H9", "pct_rode_drinking_driver", "Rode with a drinking driver", "Rode with a driver who had been drinking alcohol", "Unintentional Injuries and Violence", + "H10", "pct_drove_drinking", "Drove after drinking alcohol", "Drove when they had been drinking alcohol", "Unintentional Injuries and Violence", + "H11", "pct_text_while_driving", "Texted/e-mailed while driving", "Texted or e-mailed while driving a car or other vehicle", "Unintentional Injuries and Violence", + "H12", "pct_carried_weapon_school", "Carried a weapon at school", "Carried a weapon on school property", "Unintentional Injuries and Violence", + "H13", "pct_carried_gun", "Carried a gun", "Carried a gun", "Unintentional Injuries and Violence", + "H14", "pct_unsafe_at_school", "Did not go to school, unsafe", "Did not go to school because they felt unsafe at school or on their way to or from school", "Unintentional Injuries and Violence", + "H15", "pct_threatened_weapon_school", "Threatened with weapon at school", "Were threatened or injured with a weapon on school property", "Unintentional Injuries and Violence", + "H24", "pct_bullied_at_school", "Bullied on school property", "Were bullied on school property", "Unintentional Injuries and Violence", + "H25", "pct_bullied_electronic", "Electronically bullied", "Were electronically bullied", "Unintentional Injuries and Violence", + "H27", "pct_considered_suicide", "Seriously considered suicide", "Seriously considered attempting suicide", "Unintentional Injuries and Violence", + "H28", "pct_planned_suicide", "Made a suicide plan", "Made a plan about how they would attempt suicide", "Unintentional Injuries and Violence", + "H29", "pct_attempted_suicide", "Attempted suicide", "Actually attempted suicide", "Unintentional Injuries and Violence", + "H30", "pct_injurious_suicide_attempt","Injurious suicide attempt", "Had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse", "Unintentional Injuries and Violence", + # ---- Tobacco Use (category: chronic) ---- + "H31", "pct_ever_cigarette", "Ever smoked a cigarette", "Ever smoked a cigarette", "Tobacco Use", + "H33", "pct_current_cigarette", "Currently smoked cigarettes", "Currently smoked cigarettes", "Tobacco Use", + "H35", "pct_ever_vape", "Ever used vapor products", "Ever used electronic vapor products", "Tobacco Use", + "H36", "pct_current_vape", "Currently used vapor products", "Currently used electronic vapor products", "Tobacco Use", + "H38", "pct_current_smokeless_tobacco","Currently used smokeless tobacco", "Currently used smokeless tobacco", "Tobacco Use", + # ---- Alcohol and Other Drug Use (category: chronic) ---- + "H42", "pct_current_alcohol", "Currently drank alcohol", "Currently drank alcohol", "Alcohol and Other Drug Use", + "H43", "pct_binge_drinking", "Currently binge drinking", "Currently were binge drinking", "Alcohol and Other Drug Use", + "H46", "pct_ever_marijuana", "Ever used marijuana", "Ever used marijuana", "Alcohol and Other Drug Use", + "H47", "pct_early_marijuana", "Tried marijuana before age 13", "Tried marijuana for the first time before age 13 years", "Alcohol and Other Drug Use", + "H48", "pct_current_marijuana", "Currently used marijuana", "Currently used marijuana", "Alcohol and Other Drug Use", + "H49", "pct_ever_rx_opioid_misuse", "Ever misused Rx opioids", "Ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it","Alcohol and Other Drug Use", + "QNCURRENTOPIOID", "pct_current_rx_opioid_misuse", "Currently misused Rx opioids", "Currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it","Alcohol and Other Drug Use", + "H50", "pct_ever_cocaine", "Ever used cocaine", "Ever used cocaine", "Alcohol and Other Drug Use", + "H51", "pct_ever_inhalants", "Ever used inhalants", "Ever used inhalants", "Alcohol and Other Drug Use", + "H52", "pct_ever_heroin", "Ever used heroin", "Ever used heroin", "Alcohol and Other Drug Use", + "H53", "pct_ever_methamphetamines", "Ever used methamphetamines", "Ever used methamphetamines", "Alcohol and Other Drug Use", + "H54", "pct_ever_ecstasy", "Ever used ecstasy", "Ever used ecstasy", "Alcohol and Other Drug Use", + "QNHALLUCDRUG", "pct_ever_hallucinogens", "Ever used hallucinogens", "Ever used hallucinogenic drugs", "Alcohol and Other Drug Use", + "H55", "pct_ever_inject_drug", "Ever injected illegal drug", "Ever injected any illegal drug", "Alcohol and Other Drug Use", + "QNILLICT", "pct_ever_illicit_drug", "Ever used select illicit drugs", "Ever used select illicit drugs", "Alcohol and Other Drug Use", + # ---- Dietary Behaviors (category: chronic) ---- + "H75", "pct_no_breakfast", "Did not eat breakfast", "Did not eat breakfast (during the 7 days before the survey)", "Dietary Behaviors", + "QNBK7DAY", "pct_no_breakfast_7days", "No breakfast on all 7 days", "Did not eat breakfast on all 7 days (before the survey)", "Dietary Behaviors", + "QNFR0", "pct_no_fruit", "Did not eat fruit", "Did not eat fruit or drink 100% fruit juices (during the 7 days before the survey)", "Dietary Behaviors", + "QNVEG0", "pct_no_vegetables", "Did not eat vegetables", "Did not eat vegetables (during the 7 days before the survey)", "Dietary Behaviors", + # ---- Physical Activity (category: chronic) ---- + "H76", "pct_inactive_60min_5days", "Inactive <5 days/wk", "Were not physically active at least 60 minutes per day on 5 or more days", "Physical Activity", + "H77", "pct_no_pe_classes", "Did not attend PE classes", "Did not attend physical education (PE) classes on 1 or more days", "Physical Activity", + "H78", "pct_no_sports_team", "Did not play on a sports team", "Did not play on at least one sports team", "Physical Activity", + "H79", "pct_sports_concussion", "Concussion from sport/activity", "Had a concussion from playing a sport or being physically active", "Physical Activity", + "QNDLYPE", "pct_no_daily_pe", "No daily PE", "Did not attend physical education (PE) classes on all 5 days", "Physical Activity", + "QNMUSCLESTRENGTH", "pct_no_muscle_strengthening", "No muscle strengthening", "Did not do exercises to strengthen or tone muscles on three or more days", "Physical Activity", + "QNPA0DAY", "pct_inactive_all_days", "Inactive every day", "Were not physically active for at least 60 minutes on at least 1 day", "Physical Activity", + "QNPA7DAY", "pct_inactive_60min_7days", "Inactive <7 days/wk", "Were not physically active at least 60 minutes per day on all 7 days", "Physical Activity", + # ---- Other Health Topics (category: chronic) ---- + "H80", "pct_social_media_daily", "Used social media several/day", "Used social media at least several times a day", "Other Health Topics", + "H84", "pct_poor_mental_health", "Poor mental health", "Reported that their mental health was most of the time or always not good", "Other Health Topics", + "H85", "pct_insufficient_sleep", "Insufficient sleep (<8 hrs)", "Did not get 8 or more hours of sleep (on an average school night)", "Other Health Topics", + "H86", "pct_unstable_housing", "Experienced unstable housing", "Experienced unstable housing", "Other Health Topics", + "QNCLOSE2PEOPLE", "pct_not_close_at_school", "Did not feel close at school", "Strongly disagreed or disagreed that they feel close to people at their school", "Other Health Topics" +) + +# ----------------------------------------------------------------------------- +# Initialize process record (creates process.json if it doesn't exist) +# ----------------------------------------------------------------------------- +if (!file.exists("process.json")) { + process <- list(raw_state = NULL) +} else { + process <- dcf::dcf_process_record() +} + +# Small wrapper: fetch a URL as parsed JSON, retrying once on failure. +fetch_json <- function(url) { + for (attempt in 1:2) { + res <- tryCatch(jsonlite::fromJSON(url, simplifyVector = TRUE), + error = function(e) NULL) + if (!is.null(res)) return(res) + Sys.sleep(0.5) + } + NULL +} + +# ----------------------------------------------------------------------------- +# 1. Survey years and question catalog +# ----------------------------------------------------------------------------- +years_resp <- fetch_json(paste0(BASE, "/Years/2")) +year_vec <- as.integer(unlist(years_resp$Years)) +year_vec <- sort(year_vec) +list_years <- paste(year_vec, collapse = ",") + +cat_raw <- jsonlite::fromJSON( + paste0(BASE, "/Questions?SurveyId=2&ListOfYears=", list_years, + "&ListOfLocations=XX"), + simplifyVector = FALSE +) +topics <- cat_raw[[1]]$Topics + +catalog <- purrr::map_dfr(topics, function(tp) { + purrr::map_dfr(tp$TopicQuestions, function(q) { + tibble( + topic_code = tp$TopicCode, + topic_text = tp$TopicText, + question_code = q$QuestionCode, + question_text = q$GreaterRiskQuestionText + ) + }) +}) + +# Select the questions in scope +selected <- catalog %>% + filter(topic_code %in% FULL_TOPICS | question_code %in% SELECT_CODES) %>% + distinct(question_code, .keep_all = TRUE) + +# ----------------------------------------------------------------------------- +# 2. Target locations: National (XX) + states + DC +# ----------------------------------------------------------------------------- +loc_raw <- fetch_json(paste0(BASE, "/YrbsExplorerLocations")) +locations <- loc_raw %>% + as_tibble() %>% + filter(LocationType == "State" | + LocationDescription == "District of Columbia" | + LocationCode == "XX") %>% + mutate( + # Map each location to the name used in resources/all_fips.csv.gz + fips_name = case_when( + LocationCode == "XX" ~ "United States", + LocationCode == "NYA" ~ "New York", # YRBSS NY excludes NYC (see caveat) + TRUE ~ LocationDescription + ) + ) + +# ----------------------------------------------------------------------------- +# 3. Download ChartData for every question x location (all years at once) +# ----------------------------------------------------------------------------- +sig <- list(years = year_vec, questions = sort(selected$question_code)) + +if (!identical(process$raw_state$sig, sig) || !file.exists(RAW_FILE)) { + + message(sprintf("Downloading YRBSS ChartData: %d questions x %d locations", + nrow(selected), nrow(locations))) + + grid <- tidyr::expand_grid( + question_code = selected$question_code, + LocationCode = locations$LocationCode + ) + grid$url <- sprintf("%s/ChartData?QuestionId=%s&LocationId=%s&Yr=9999", + BASE, grid$question_code, grid$LocationCode) + n_req <- nrow(grid) + + # Parallel fetch via a PSOCK cluster: each worker independently issues plain + # sequential HTTPS requests (one connection at a time per worker). This is + # far more robust against this server than curl's shared multiplex pool. + + # Progress instrumentation: each worker drops a marker file per completed + # request, so live progress can be read by counting files in PROG_DIR. + PROG_DIR <- "raw/.prog" + unlink(PROG_DIR, recursive = TRUE) + dir.create(PROG_DIR, showWarnings = FALSE, recursive = TRUE) + + pull_one <- function(i) { + url <- grid$url[i] + d <- NULL + for (attempt in 1:3) { + # Bounded timeout so a hung connection can't stall a worker for 60s + d <- tryCatch( + jsonlite::fromJSON(curl::curl(url, handle = curl::new_handle( + timeout = 25, connecttimeout = 10)), simplifyVector = TRUE), + error = function(e) NULL + ) + if (!is.null(d)) break + Sys.sleep(0.3) + } + file.create(file.path(PROG_DIR, as.character(i))) # progress marker + if (is.null(d) || length(d) == 0 || !is.data.frame(d) || nrow(d) == 0) + return(NULL) + # Keep only the strata in scope (Total, Sex, Race, Grade); drop the + # sexual-identity / transgender / sex-of-sexual-contacts strata at the + # scrape stage so they never enter the raw file. + d <- d[d$StratType %in% c("Total", "Sex", "Race", "Grade"), , drop = FALSE] + if (nrow(d) == 0) return(NULL) + d$question_code <- grid$question_code[i] + d$LocationCode <- grid$LocationCode[i] + d + } + + n_workers <- 8 + message(sprintf("Fetching %d requests across %d workers (load-balanced)...", + n_req, n_workers)) + cl <- makeCluster(n_workers) + on.exit(stopCluster(cl), add = TRUE) + clusterEvalQ(cl, { library(jsonlite); library(curl) }) + clusterExport(cl, c("grid", "PROG_DIR"), envir = environment()) + # Load-balanced, one request per dispatch: idle workers immediately pull the + # next request, so a few slow responses never stall the whole job. + results <- parLapplyLB(cl, seq_len(n_req), pull_one, chunk.size = 1) + stopCluster(cl) + unlink(PROG_DIR, recursive = TRUE) # clean up progress markers + + n_ok <- sum(!vapply(results, is.null, logical(1))) + message(sprintf("Got data for %d / %d question-location pairs", n_ok, n_req)) + + raw_all <- bind_rows(results) + vroom::vroom_write(raw_all, RAW_FILE, delim = ",") + message(sprintf("Saved %d raw rows to %s", nrow(raw_all), RAW_FILE)) +} else { + message("Raw signature unchanged; reusing cached ", RAW_FILE) + raw_all <- vroom::vroom(RAW_FILE, show_col_types = FALSE, + col_types = vroom::cols(.default = "c")) +} + +# ----------------------------------------------------------------------------- +# 4. FIPS + stratum mapping helpers +# ----------------------------------------------------------------------------- +all_fips <- vroom::vroom("../../resources/all_fips.csv.gz", show_col_types = FALSE) + +all_fips_state <- all_fips %>% + filter(geography_name %in% c("United States", "District of Columbia", state.name)) %>% + filter(geography != "11001") %>% + select(geography, geography_name) + +loc_fips <- locations %>% + left_join(all_fips_state, by = c("fips_name" = "geography_name")) %>% + select(LocationCode, geography) + +recode_race <- function(x) { + dplyr::recode(x, + "Black or African American" = "Black", + "Hispanic or Latino" = "Hispanic", + "American Indian or Alaska Native" = "AI/AN", + "Native Hawaiian or Other Pacific Islander" = "NH/PI", + "Multiple race" = "Multiple", + .default = x + ) +} + +# Approximate modal age for US grade levels (documented in measure_info.json) +grade_to_age <- function(x) { + dplyr::recode(x, + "9th" = "14", "10th" = "15", "11th" = "16", "12th" = "17", + .default = x + ) +} + +# ----------------------------------------------------------------------------- +# 5. Build a tidy long table (one row per geography x time x stratum x measure). +# Suppressed estimates (CDC emits a row with an empty MainValue) are KEPT +# here as value = NA so they can be distinguished from questions that were +# never asked (no row at all). topic / question_code are documented only in +# measure_info.json and are NOT written to the data files. +# ----------------------------------------------------------------------------- +raw_clean <- raw_all %>% + filter(StratType %in% c("Total", "Sex", "Race", "Grade")) %>% + mutate( + Year = suppressWarnings(as.integer(Year)), + value = suppressWarnings(as.numeric(na_if(trimws(as.character(MainValue)), ""))), + value_lcl = suppressWarnings(as.numeric(na_if(trimws(as.character(LowCI)), ""))), + value_ucl = suppressWarnings(as.numeric(na_if(trimws(as.character(HighCI)), ""))) + ) %>% + filter(Year >= MIN_YEAR) %>% + left_join(loc_fips, by = "LocationCode") %>% + filter(!is.na(geography)) %>% + inner_join(select(measure_dict, question_code, slug), by = "question_code") %>% + mutate( + sex = if_else(StratType == "Sex", Strat, "Overall"), + race_ethnicity = if_else(StratType == "Race", recode_race(Strat), "Overall"), + age = if_else(StratType == "Grade", grade_to_age(Strat), "Overall"), + time = paste0(Year, "-12-31") + ) %>% + select(geography, time, age, sex, race_ethnicity, + slug, value, value_lcl, value_ucl) + +# A question was "asked" for a given geography + year if it appears in the raw +# data for that geography and year at all (in any stratum). Anything else is +# "not asked" (the question was not part of that jurisdiction's survey). +asked_set <- raw_clean %>% + distinct(geography, time, slug) %>% + mutate(asked = TRUE) + +# Build the full set of cells for one stratification dimension: the cross of +# every observed key-row with every measure, annotated with value / CI / flags. +# suppressed = 1 -> question asked but CDC suppressed this estimate (value 0) +# not_asked = 1 -> question not asked for this geography & year (value 0) +# All missing value / _lcl / _ucl entries are set to 0. +build_cells <- function(sub, key_cols) { + key_rows <- sub %>% distinct(across(all_of(key_cols))) + tidyr::expand_grid(key_rows, slug = measure_dict$slug) %>% + left_join( + sub %>% select(all_of(key_cols), slug, value, value_lcl, value_ucl), + by = c(key_cols, "slug") + ) %>% + left_join(asked_set, by = c("geography", "time", "slug")) %>% + mutate( + asked = coalesce(asked, FALSE), + not_asked = if_else(asked, 0L, 1L), + suppressed = if_else(asked & is.na(value), 1L, 0L), + value = coalesce(value, 0), + value_lcl = coalesce(value_lcl, 0), + value_ucl = coalesce(value_ucl, 0) + ) %>% + select(all_of(key_cols), slug, value, value_lcl, value_ucl, + suppressed, not_asked) +} + +# Reshape cells to wide: each measure becomes the columns , _lcl, +# _ucl, _suppressed, _not_asked (in that order), keyed by the +# supplied id columns. +col_order <- as.vector(t(outer( + measure_dict$slug, + c("", "_lcl", "_ucl", "_suppressed", "_not_asked"), + paste0 +))) + +make_wide <- function(cells, id_cols) { + cells %>% + tidyr::pivot_longer(c(value, value_lcl, value_ucl, suppressed, not_asked), + names_to = "stat", values_to = "val") %>% + mutate(variable = case_when( + stat == "value" ~ slug, + stat == "value_lcl" ~ paste0(slug, "_lcl"), + stat == "value_ucl" ~ paste0(slug, "_ucl"), + stat == "suppressed" ~ paste0(slug, "_suppressed"), + stat == "not_asked" ~ paste0(slug, "_not_asked") + )) %>% + mutate(variable = factor(variable, levels = col_order)) %>% + select(all_of(id_cols), variable, val) %>% + tidyr::pivot_wider(names_from = variable, values_from = val) %>% + arrange(across(all_of(id_cols))) +} + +# data_age: age stratification only (sex & race held at Overall) +data_age <- raw_clean %>% + filter(sex == "Overall", race_ethnicity == "Overall") %>% + build_cells(c("geography", "time", "age")) %>% + make_wide(c("geography", "time", "age")) + +# data_age_sex: age and sex stratifications (race held at Overall) +data_age_sex <- raw_clean %>% + filter(race_ethnicity == "Overall") %>% + build_cells(c("geography", "time", "age", "sex")) %>% + make_wide(c("geography", "time", "age", "sex")) + +# data_age_ethnicity: age and race/ethnicity stratifications (sex held Overall) +data_age_ethnicity <- raw_clean %>% + filter(sex == "Overall") %>% + build_cells(c("geography", "time", "age", "race_ethnicity")) %>% + make_wide(c("geography", "time", "age", "race_ethnicity")) + +vroom::vroom_write(data_age, "standard/data_age.csv.gz", delim = ",") +vroom::vroom_write(data_age_sex, "standard/data_age_sex.csv.gz", delim = ",") +vroom::vroom_write(data_age_ethnicity, "standard/data_age_ethnicity.csv.gz", delim = ",") + +message(sprintf( + "Wrote standard files: data_age (%d rows), data_age_sex (%d rows), data_age_ethnicity (%d rows); %d measures across %d geographies", + nrow(data_age), nrow(data_age_sex), nrow(data_age_ethnicity), + dplyr::n_distinct(raw_clean$slug), dplyr::n_distinct(raw_clean$geography))) + +# ----------------------------------------------------------------------------- +# 6. Generate measure_info.json. One entry per measure (value + _lcl + _ucl). +# topic and question_code, dropped from the data files, are documented here. +# ----------------------------------------------------------------------------- +measures <- measure_dict %>% + filter(slug %in% unique(raw_clean$slug)) %>% + arrange(topic, question_code) + +lc_first <- function(s) paste0(tolower(substr(s, 1, 1)), substring(s, 2)) + +measure_entries <- list() +for (i in seq_len(nrow(measures))) { + m <- measures[i, ] + category <- if (m$topic == "Unintentional Injuries and Violence") "injury" else "chronic" + base_long_desc <- paste0( + "Weighted percentage of U.S. high school students who ", lc_first(m$question_text), + ", from the CDC Youth Risk Behavior Surveillance System (YRBSS) ", + "(topic: ", m$topic, "; YRBSS question code: ", m$question_code, "). ", + "Estimates are reported overall and stratified (separately) by sex, ", + "race/ethnicity, and grade; grade is mapped to approximate modal ages ", + "(9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and ", + "flagged: ", m$slug, "_suppressed = 1 marks values CDC suppressed (e.g., ", + "small sample size), and ", m$slug, "_not_asked = 1 marks geography-years ", + "in which the question was not asked. ", + "Note: New York state estimates exclude New York City." + ) + + # Main value + measure_entries[[m$slug]] <- list( + id = m$slug, + short_name = m$short_label, + long_name = paste0("YRBSS: ", m$question_text, " (", m$topic, ")"), + category = category, + topic = m$topic, + question_code = m$question_code, + short_description = paste0("Percent of high school students who ", + lc_first(m$question_text), "."), + long_description = base_long_desc, + measure_type = "Percent", + unit = "Percent", + time_resolution = "Year", + sources = list(list(id = "yrbss")) + ) + # Lower 95% CI + measure_entries[[paste0(m$slug, "_lcl")]] <- list( + id = paste0(m$slug, "_lcl"), + short_name = paste0(m$short_label, " - lower 95% CI"), + long_name = paste0("YRBSS: ", m$question_text, + " - lower bound of 95% confidence interval"), + category = category, + topic = m$topic, + question_code = m$question_code, + short_description = paste0("Lower bound of the 95% confidence interval for the percent of high school students who ", + lc_first(m$question_text), "."), + long_description = paste0("Lower bound of the 95% confidence interval for ", m$slug, ". ", + base_long_desc), + measure_type = "Percent", + unit = "Percent", + time_resolution = "Year", + sources = list(list(id = "yrbss")) + ) + # Upper 95% CI + measure_entries[[paste0(m$slug, "_ucl")]] <- list( + id = paste0(m$slug, "_ucl"), + short_name = paste0(m$short_label, " - upper 95% CI"), + long_name = paste0("YRBSS: ", m$question_text, + " - upper bound of 95% confidence interval"), + category = category, + topic = m$topic, + question_code = m$question_code, + short_description = paste0("Upper bound of the 95% confidence interval for the percent of high school students who ", + lc_first(m$question_text), "."), + long_description = paste0("Upper bound of the 95% confidence interval for ", m$slug, ". ", + base_long_desc), + measure_type = "Percent", + unit = "Percent", + time_resolution = "Year", + sources = list(list(id = "yrbss")) + ) + # Suppressed flag + measure_entries[[paste0(m$slug, "_suppressed")]] <- list( + id = paste0(m$slug, "_suppressed"), + short_name = paste0(m$short_label, " - suppressed flag"), + long_name = paste0("YRBSS: ", m$question_text, " - suppressed flag"), + category = category, + topic = m$topic, + question_code = m$question_code, + short_description = paste0("1 if the estimate for '", m$slug, + "' was suppressed by CDC and set to 0; 0 otherwise."), + long_description = paste0( + "Flag indicating CDC suppression. 1 means the question was asked for this ", + "geography and year but CDC suppressed the estimate (e.g., insufficient ", + "sample size), and ", m$slug, " (with its CI) was set to 0; 0 otherwise. ", + "Distinct from ", m$slug, "_not_asked, which marks geography-years where ", + "the question was not asked at all." + ), + measure_type = "Indicator", + unit = "0/1 flag", + time_resolution = "Year", + sources = list(list(id = "yrbss")) + ) + # Not-asked flag + measure_entries[[paste0(m$slug, "_not_asked")]] <- list( + id = paste0(m$slug, "_not_asked"), + short_name = paste0(m$short_label, " - not-asked flag"), + long_name = paste0("YRBSS: ", m$question_text, " - not-asked flag"), + category = category, + topic = m$topic, + question_code = m$question_code, + short_description = paste0("1 if '", m$slug, + "' was not asked for this geography and year and set to 0; 0 otherwise."), + long_description = paste0( + "Flag indicating the question was not asked. 1 means '", m$question_text, + "' was not part of the YRBSS survey for this geography and year, so ", m$slug, + " (with its CI) was set to 0; 0 otherwise. Distinct from ", m$slug, + "_suppressed, which marks estimates CDC suppressed." + ), + measure_type = "Indicator", + unit = "0/1 flag", + time_resolution = "Year", + sources = list(list(id = "yrbss")) + ) +} + +measure_info <- measure_entries +measure_info[["_sources"]] <- list( + yrbss = list( + name = "CDC Youth Risk Behavior Surveillance System (YRBSS)", + url = "https://yrbs-explorer.services.cdc.gov/", + date_accessed = 2025, + organization = "Centers for Disease Control and Prevention", + organization_url = "https://www.cdc.gov/yrbs/", + description = paste0( + "The Youth Risk Behavior Surveillance System (YRBSS) is a set of ", + "school-based surveys conducted by the CDC that monitor health-related ", + "behaviors among U.S. high school students. The biennial national, ", + "state, and local surveys provide weighted prevalence estimates of ", + "behaviors contributing to the leading causes of death and disability. ", + "Data were accessed via the YRBS Explorer API. Estimates are provided ", + "overall and stratified (separately, not crossed) by sex, race/ethnicity, ", + "and grade. Estimates that CDC suppressed (e.g., small sample sizes) are ", + "omitted rather than imputed. State estimates are available only for ", + "jurisdictions that share data with CDC; Minnesota, Oregon, and ", + "Washington are not included, and New York state excludes New York City." + ), + restrictions = "Public domain. Suggested attribution: Centers for Disease Control and Prevention (CDC). Youth Risk Behavior Surveillance System (YRBSS)." + ) +) + +jsonlite::write_json(measure_info, "measure_info.json", + pretty = TRUE, auto_unbox = TRUE, null = "null") + +# ----------------------------------------------------------------------------- +# 7. Update process record +# ----------------------------------------------------------------------------- +process$raw_state <- list(sig = sig, hash = unname(tools::md5sum(RAW_FILE))) +dcf::dcf_process_record(updated = process) diff --git a/data/yrbss/measure_info.json b/data/yrbss/measure_info.json new file mode 100644 index 00000000..0580984d --- /dev/null +++ b/data/yrbss/measure_info.json @@ -0,0 +1,4603 @@ +{ + "pct_current_alcohol": { + "id": "pct_current_alcohol", + "short_name": "Currently drank alcohol", + "long_name": "YRBSS: Currently drank alcohol (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H42", + "short_description": "Percent of high school students who currently drank alcohol.", + "long_description": "Weighted percentage of U.S. high school students who currently drank alcohol, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H42). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_alcohol_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_alcohol_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_alcohol_lcl": { + "id": "pct_current_alcohol_lcl", + "short_name": "Currently drank alcohol - lower 95% CI", + "long_name": "YRBSS: Currently drank alcohol - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H42", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who currently drank alcohol.", + "long_description": "Lower bound of the 95% confidence interval for pct_current_alcohol. Weighted percentage of U.S. high school students who currently drank alcohol, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H42). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_alcohol_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_alcohol_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_alcohol_ucl": { + "id": "pct_current_alcohol_ucl", + "short_name": "Currently drank alcohol - upper 95% CI", + "long_name": "YRBSS: Currently drank alcohol - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H42", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who currently drank alcohol.", + "long_description": "Upper bound of the 95% confidence interval for pct_current_alcohol. Weighted percentage of U.S. high school students who currently drank alcohol, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H42). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_alcohol_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_alcohol_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_alcohol_suppressed": { + "id": "pct_current_alcohol_suppressed", + "short_name": "Currently drank alcohol - suppressed flag", + "long_name": "YRBSS: Currently drank alcohol - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H42", + "short_description": "1 if the estimate for 'pct_current_alcohol' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_current_alcohol (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_alcohol_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_alcohol_not_asked": { + "id": "pct_current_alcohol_not_asked", + "short_name": "Currently drank alcohol - not-asked flag", + "long_name": "YRBSS: Currently drank alcohol - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H42", + "short_description": "1 if 'pct_current_alcohol' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Currently drank alcohol' was not part of the YRBSS survey for this geography and year, so pct_current_alcohol (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_alcohol_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_binge_drinking": { + "id": "pct_binge_drinking", + "short_name": "Currently binge drinking", + "long_name": "YRBSS: Currently were binge drinking (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H43", + "short_description": "Percent of high school students who currently were binge drinking.", + "long_description": "Weighted percentage of U.S. high school students who currently were binge drinking, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H43). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_binge_drinking_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_binge_drinking_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_binge_drinking_lcl": { + "id": "pct_binge_drinking_lcl", + "short_name": "Currently binge drinking - lower 95% CI", + "long_name": "YRBSS: Currently were binge drinking - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H43", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who currently were binge drinking.", + "long_description": "Lower bound of the 95% confidence interval for pct_binge_drinking. Weighted percentage of U.S. high school students who currently were binge drinking, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H43). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_binge_drinking_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_binge_drinking_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_binge_drinking_ucl": { + "id": "pct_binge_drinking_ucl", + "short_name": "Currently binge drinking - upper 95% CI", + "long_name": "YRBSS: Currently were binge drinking - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H43", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who currently were binge drinking.", + "long_description": "Upper bound of the 95% confidence interval for pct_binge_drinking. Weighted percentage of U.S. high school students who currently were binge drinking, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H43). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_binge_drinking_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_binge_drinking_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_binge_drinking_suppressed": { + "id": "pct_binge_drinking_suppressed", + "short_name": "Currently binge drinking - suppressed flag", + "long_name": "YRBSS: Currently were binge drinking - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H43", + "short_description": "1 if the estimate for 'pct_binge_drinking' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_binge_drinking (with its CI) was set to 0; 0 otherwise. Distinct from pct_binge_drinking_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_binge_drinking_not_asked": { + "id": "pct_binge_drinking_not_asked", + "short_name": "Currently binge drinking - not-asked flag", + "long_name": "YRBSS: Currently were binge drinking - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H43", + "short_description": "1 if 'pct_binge_drinking' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Currently were binge drinking' was not part of the YRBSS survey for this geography and year, so pct_binge_drinking (with its CI) was set to 0; 0 otherwise. Distinct from pct_binge_drinking_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_marijuana": { + "id": "pct_ever_marijuana", + "short_name": "Ever used marijuana", + "long_name": "YRBSS: Ever used marijuana (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H46", + "short_description": "Percent of high school students who ever used marijuana.", + "long_description": "Weighted percentage of U.S. high school students who ever used marijuana, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H46). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_marijuana_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_marijuana_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_marijuana_lcl": { + "id": "pct_ever_marijuana_lcl", + "short_name": "Ever used marijuana - lower 95% CI", + "long_name": "YRBSS: Ever used marijuana - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H46", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever used marijuana.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_marijuana. Weighted percentage of U.S. high school students who ever used marijuana, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H46). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_marijuana_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_marijuana_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_marijuana_ucl": { + "id": "pct_ever_marijuana_ucl", + "short_name": "Ever used marijuana - upper 95% CI", + "long_name": "YRBSS: Ever used marijuana - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H46", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever used marijuana.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_marijuana. Weighted percentage of U.S. high school students who ever used marijuana, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H46). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_marijuana_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_marijuana_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_marijuana_suppressed": { + "id": "pct_ever_marijuana_suppressed", + "short_name": "Ever used marijuana - suppressed flag", + "long_name": "YRBSS: Ever used marijuana - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H46", + "short_description": "1 if the estimate for 'pct_ever_marijuana' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_marijuana (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_marijuana_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_marijuana_not_asked": { + "id": "pct_ever_marijuana_not_asked", + "short_name": "Ever used marijuana - not-asked flag", + "long_name": "YRBSS: Ever used marijuana - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H46", + "short_description": "1 if 'pct_ever_marijuana' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever used marijuana' was not part of the YRBSS survey for this geography and year, so pct_ever_marijuana (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_marijuana_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_early_marijuana": { + "id": "pct_early_marijuana", + "short_name": "Tried marijuana before age 13", + "long_name": "YRBSS: Tried marijuana for the first time before age 13 years (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H47", + "short_description": "Percent of high school students who tried marijuana for the first time before age 13 years.", + "long_description": "Weighted percentage of U.S. high school students who tried marijuana for the first time before age 13 years, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H47). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_early_marijuana_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_early_marijuana_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_early_marijuana_lcl": { + "id": "pct_early_marijuana_lcl", + "short_name": "Tried marijuana before age 13 - lower 95% CI", + "long_name": "YRBSS: Tried marijuana for the first time before age 13 years - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H47", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who tried marijuana for the first time before age 13 years.", + "long_description": "Lower bound of the 95% confidence interval for pct_early_marijuana. Weighted percentage of U.S. high school students who tried marijuana for the first time before age 13 years, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H47). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_early_marijuana_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_early_marijuana_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_early_marijuana_ucl": { + "id": "pct_early_marijuana_ucl", + "short_name": "Tried marijuana before age 13 - upper 95% CI", + "long_name": "YRBSS: Tried marijuana for the first time before age 13 years - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H47", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who tried marijuana for the first time before age 13 years.", + "long_description": "Upper bound of the 95% confidence interval for pct_early_marijuana. Weighted percentage of U.S. high school students who tried marijuana for the first time before age 13 years, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H47). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_early_marijuana_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_early_marijuana_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_early_marijuana_suppressed": { + "id": "pct_early_marijuana_suppressed", + "short_name": "Tried marijuana before age 13 - suppressed flag", + "long_name": "YRBSS: Tried marijuana for the first time before age 13 years - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H47", + "short_description": "1 if the estimate for 'pct_early_marijuana' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_early_marijuana (with its CI) was set to 0; 0 otherwise. Distinct from pct_early_marijuana_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_early_marijuana_not_asked": { + "id": "pct_early_marijuana_not_asked", + "short_name": "Tried marijuana before age 13 - not-asked flag", + "long_name": "YRBSS: Tried marijuana for the first time before age 13 years - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H47", + "short_description": "1 if 'pct_early_marijuana' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Tried marijuana for the first time before age 13 years' was not part of the YRBSS survey for this geography and year, so pct_early_marijuana (with its CI) was set to 0; 0 otherwise. Distinct from pct_early_marijuana_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_marijuana": { + "id": "pct_current_marijuana", + "short_name": "Currently used marijuana", + "long_name": "YRBSS: Currently used marijuana (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H48", + "short_description": "Percent of high school students who currently used marijuana.", + "long_description": "Weighted percentage of U.S. high school students who currently used marijuana, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H48). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_marijuana_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_marijuana_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_marijuana_lcl": { + "id": "pct_current_marijuana_lcl", + "short_name": "Currently used marijuana - lower 95% CI", + "long_name": "YRBSS: Currently used marijuana - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H48", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who currently used marijuana.", + "long_description": "Lower bound of the 95% confidence interval for pct_current_marijuana. Weighted percentage of U.S. high school students who currently used marijuana, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H48). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_marijuana_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_marijuana_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_marijuana_ucl": { + "id": "pct_current_marijuana_ucl", + "short_name": "Currently used marijuana - upper 95% CI", + "long_name": "YRBSS: Currently used marijuana - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H48", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who currently used marijuana.", + "long_description": "Upper bound of the 95% confidence interval for pct_current_marijuana. Weighted percentage of U.S. high school students who currently used marijuana, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H48). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_marijuana_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_marijuana_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_marijuana_suppressed": { + "id": "pct_current_marijuana_suppressed", + "short_name": "Currently used marijuana - suppressed flag", + "long_name": "YRBSS: Currently used marijuana - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H48", + "short_description": "1 if the estimate for 'pct_current_marijuana' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_current_marijuana (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_marijuana_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_marijuana_not_asked": { + "id": "pct_current_marijuana_not_asked", + "short_name": "Currently used marijuana - not-asked flag", + "long_name": "YRBSS: Currently used marijuana - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H48", + "short_description": "1 if 'pct_current_marijuana' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Currently used marijuana' was not part of the YRBSS survey for this geography and year, so pct_current_marijuana (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_marijuana_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_rx_opioid_misuse": { + "id": "pct_ever_rx_opioid_misuse", + "short_name": "Ever misused Rx opioids", + "long_name": "YRBSS: Ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H49", + "short_description": "Percent of high school students who ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it.", + "long_description": "Weighted percentage of U.S. high school students who ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H49). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_rx_opioid_misuse_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_rx_opioid_misuse_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_rx_opioid_misuse_lcl": { + "id": "pct_ever_rx_opioid_misuse_lcl", + "short_name": "Ever misused Rx opioids - lower 95% CI", + "long_name": "YRBSS: Ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H49", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_rx_opioid_misuse. Weighted percentage of U.S. high school students who ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H49). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_rx_opioid_misuse_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_rx_opioid_misuse_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_rx_opioid_misuse_ucl": { + "id": "pct_ever_rx_opioid_misuse_ucl", + "short_name": "Ever misused Rx opioids - upper 95% CI", + "long_name": "YRBSS: Ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H49", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_rx_opioid_misuse. Weighted percentage of U.S. high school students who ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H49). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_rx_opioid_misuse_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_rx_opioid_misuse_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_rx_opioid_misuse_suppressed": { + "id": "pct_ever_rx_opioid_misuse_suppressed", + "short_name": "Ever misused Rx opioids - suppressed flag", + "long_name": "YRBSS: Ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H49", + "short_description": "1 if the estimate for 'pct_ever_rx_opioid_misuse' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_rx_opioid_misuse (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_rx_opioid_misuse_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_rx_opioid_misuse_not_asked": { + "id": "pct_ever_rx_opioid_misuse_not_asked", + "short_name": "Ever misused Rx opioids - not-asked flag", + "long_name": "YRBSS: Ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H49", + "short_description": "1 if 'pct_ever_rx_opioid_misuse' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it' was not part of the YRBSS survey for this geography and year, so pct_ever_rx_opioid_misuse (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_rx_opioid_misuse_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cocaine": { + "id": "pct_ever_cocaine", + "short_name": "Ever used cocaine", + "long_name": "YRBSS: Ever used cocaine (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H50", + "short_description": "Percent of high school students who ever used cocaine.", + "long_description": "Weighted percentage of U.S. high school students who ever used cocaine, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H50). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_cocaine_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_cocaine_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cocaine_lcl": { + "id": "pct_ever_cocaine_lcl", + "short_name": "Ever used cocaine - lower 95% CI", + "long_name": "YRBSS: Ever used cocaine - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H50", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever used cocaine.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_cocaine. Weighted percentage of U.S. high school students who ever used cocaine, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H50). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_cocaine_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_cocaine_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cocaine_ucl": { + "id": "pct_ever_cocaine_ucl", + "short_name": "Ever used cocaine - upper 95% CI", + "long_name": "YRBSS: Ever used cocaine - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H50", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever used cocaine.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_cocaine. Weighted percentage of U.S. high school students who ever used cocaine, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H50). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_cocaine_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_cocaine_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cocaine_suppressed": { + "id": "pct_ever_cocaine_suppressed", + "short_name": "Ever used cocaine - suppressed flag", + "long_name": "YRBSS: Ever used cocaine - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H50", + "short_description": "1 if the estimate for 'pct_ever_cocaine' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_cocaine (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_cocaine_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cocaine_not_asked": { + "id": "pct_ever_cocaine_not_asked", + "short_name": "Ever used cocaine - not-asked flag", + "long_name": "YRBSS: Ever used cocaine - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H50", + "short_description": "1 if 'pct_ever_cocaine' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever used cocaine' was not part of the YRBSS survey for this geography and year, so pct_ever_cocaine (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_cocaine_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inhalants": { + "id": "pct_ever_inhalants", + "short_name": "Ever used inhalants", + "long_name": "YRBSS: Ever used inhalants (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H51", + "short_description": "Percent of high school students who ever used inhalants.", + "long_description": "Weighted percentage of U.S. high school students who ever used inhalants, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H51). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_inhalants_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_inhalants_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inhalants_lcl": { + "id": "pct_ever_inhalants_lcl", + "short_name": "Ever used inhalants - lower 95% CI", + "long_name": "YRBSS: Ever used inhalants - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H51", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever used inhalants.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_inhalants. Weighted percentage of U.S. high school students who ever used inhalants, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H51). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_inhalants_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_inhalants_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inhalants_ucl": { + "id": "pct_ever_inhalants_ucl", + "short_name": "Ever used inhalants - upper 95% CI", + "long_name": "YRBSS: Ever used inhalants - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H51", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever used inhalants.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_inhalants. Weighted percentage of U.S. high school students who ever used inhalants, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H51). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_inhalants_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_inhalants_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inhalants_suppressed": { + "id": "pct_ever_inhalants_suppressed", + "short_name": "Ever used inhalants - suppressed flag", + "long_name": "YRBSS: Ever used inhalants - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H51", + "short_description": "1 if the estimate for 'pct_ever_inhalants' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_inhalants (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_inhalants_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inhalants_not_asked": { + "id": "pct_ever_inhalants_not_asked", + "short_name": "Ever used inhalants - not-asked flag", + "long_name": "YRBSS: Ever used inhalants - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H51", + "short_description": "1 if 'pct_ever_inhalants' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever used inhalants' was not part of the YRBSS survey for this geography and year, so pct_ever_inhalants (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_inhalants_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_heroin": { + "id": "pct_ever_heroin", + "short_name": "Ever used heroin", + "long_name": "YRBSS: Ever used heroin (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H52", + "short_description": "Percent of high school students who ever used heroin.", + "long_description": "Weighted percentage of U.S. high school students who ever used heroin, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H52). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_heroin_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_heroin_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_heroin_lcl": { + "id": "pct_ever_heroin_lcl", + "short_name": "Ever used heroin - lower 95% CI", + "long_name": "YRBSS: Ever used heroin - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H52", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever used heroin.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_heroin. Weighted percentage of U.S. high school students who ever used heroin, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H52). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_heroin_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_heroin_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_heroin_ucl": { + "id": "pct_ever_heroin_ucl", + "short_name": "Ever used heroin - upper 95% CI", + "long_name": "YRBSS: Ever used heroin - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H52", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever used heroin.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_heroin. Weighted percentage of U.S. high school students who ever used heroin, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H52). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_heroin_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_heroin_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_heroin_suppressed": { + "id": "pct_ever_heroin_suppressed", + "short_name": "Ever used heroin - suppressed flag", + "long_name": "YRBSS: Ever used heroin - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H52", + "short_description": "1 if the estimate for 'pct_ever_heroin' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_heroin (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_heroin_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_heroin_not_asked": { + "id": "pct_ever_heroin_not_asked", + "short_name": "Ever used heroin - not-asked flag", + "long_name": "YRBSS: Ever used heroin - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H52", + "short_description": "1 if 'pct_ever_heroin' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever used heroin' was not part of the YRBSS survey for this geography and year, so pct_ever_heroin (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_heroin_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_methamphetamines": { + "id": "pct_ever_methamphetamines", + "short_name": "Ever used methamphetamines", + "long_name": "YRBSS: Ever used methamphetamines (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H53", + "short_description": "Percent of high school students who ever used methamphetamines.", + "long_description": "Weighted percentage of U.S. high school students who ever used methamphetamines, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H53). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_methamphetamines_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_methamphetamines_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_methamphetamines_lcl": { + "id": "pct_ever_methamphetamines_lcl", + "short_name": "Ever used methamphetamines - lower 95% CI", + "long_name": "YRBSS: Ever used methamphetamines - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H53", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever used methamphetamines.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_methamphetamines. Weighted percentage of U.S. high school students who ever used methamphetamines, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H53). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_methamphetamines_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_methamphetamines_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_methamphetamines_ucl": { + "id": "pct_ever_methamphetamines_ucl", + "short_name": "Ever used methamphetamines - upper 95% CI", + "long_name": "YRBSS: Ever used methamphetamines - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H53", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever used methamphetamines.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_methamphetamines. Weighted percentage of U.S. high school students who ever used methamphetamines, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H53). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_methamphetamines_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_methamphetamines_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_methamphetamines_suppressed": { + "id": "pct_ever_methamphetamines_suppressed", + "short_name": "Ever used methamphetamines - suppressed flag", + "long_name": "YRBSS: Ever used methamphetamines - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H53", + "short_description": "1 if the estimate for 'pct_ever_methamphetamines' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_methamphetamines (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_methamphetamines_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_methamphetamines_not_asked": { + "id": "pct_ever_methamphetamines_not_asked", + "short_name": "Ever used methamphetamines - not-asked flag", + "long_name": "YRBSS: Ever used methamphetamines - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H53", + "short_description": "1 if 'pct_ever_methamphetamines' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever used methamphetamines' was not part of the YRBSS survey for this geography and year, so pct_ever_methamphetamines (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_methamphetamines_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_ecstasy": { + "id": "pct_ever_ecstasy", + "short_name": "Ever used ecstasy", + "long_name": "YRBSS: Ever used ecstasy (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H54", + "short_description": "Percent of high school students who ever used ecstasy.", + "long_description": "Weighted percentage of U.S. high school students who ever used ecstasy, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H54). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_ecstasy_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_ecstasy_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_ecstasy_lcl": { + "id": "pct_ever_ecstasy_lcl", + "short_name": "Ever used ecstasy - lower 95% CI", + "long_name": "YRBSS: Ever used ecstasy - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H54", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever used ecstasy.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_ecstasy. Weighted percentage of U.S. high school students who ever used ecstasy, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H54). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_ecstasy_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_ecstasy_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_ecstasy_ucl": { + "id": "pct_ever_ecstasy_ucl", + "short_name": "Ever used ecstasy - upper 95% CI", + "long_name": "YRBSS: Ever used ecstasy - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H54", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever used ecstasy.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_ecstasy. Weighted percentage of U.S. high school students who ever used ecstasy, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H54). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_ecstasy_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_ecstasy_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_ecstasy_suppressed": { + "id": "pct_ever_ecstasy_suppressed", + "short_name": "Ever used ecstasy - suppressed flag", + "long_name": "YRBSS: Ever used ecstasy - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H54", + "short_description": "1 if the estimate for 'pct_ever_ecstasy' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_ecstasy (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_ecstasy_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_ecstasy_not_asked": { + "id": "pct_ever_ecstasy_not_asked", + "short_name": "Ever used ecstasy - not-asked flag", + "long_name": "YRBSS: Ever used ecstasy - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H54", + "short_description": "1 if 'pct_ever_ecstasy' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever used ecstasy' was not part of the YRBSS survey for this geography and year, so pct_ever_ecstasy (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_ecstasy_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inject_drug": { + "id": "pct_ever_inject_drug", + "short_name": "Ever injected illegal drug", + "long_name": "YRBSS: Ever injected any illegal drug (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H55", + "short_description": "Percent of high school students who ever injected any illegal drug.", + "long_description": "Weighted percentage of U.S. high school students who ever injected any illegal drug, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H55). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_inject_drug_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_inject_drug_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inject_drug_lcl": { + "id": "pct_ever_inject_drug_lcl", + "short_name": "Ever injected illegal drug - lower 95% CI", + "long_name": "YRBSS: Ever injected any illegal drug - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H55", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever injected any illegal drug.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_inject_drug. Weighted percentage of U.S. high school students who ever injected any illegal drug, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H55). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_inject_drug_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_inject_drug_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inject_drug_ucl": { + "id": "pct_ever_inject_drug_ucl", + "short_name": "Ever injected illegal drug - upper 95% CI", + "long_name": "YRBSS: Ever injected any illegal drug - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H55", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever injected any illegal drug.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_inject_drug. Weighted percentage of U.S. high school students who ever injected any illegal drug, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: H55). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_inject_drug_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_inject_drug_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inject_drug_suppressed": { + "id": "pct_ever_inject_drug_suppressed", + "short_name": "Ever injected illegal drug - suppressed flag", + "long_name": "YRBSS: Ever injected any illegal drug - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H55", + "short_description": "1 if the estimate for 'pct_ever_inject_drug' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_inject_drug (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_inject_drug_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_inject_drug_not_asked": { + "id": "pct_ever_inject_drug_not_asked", + "short_name": "Ever injected illegal drug - not-asked flag", + "long_name": "YRBSS: Ever injected any illegal drug - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "H55", + "short_description": "1 if 'pct_ever_inject_drug' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever injected any illegal drug' was not part of the YRBSS survey for this geography and year, so pct_ever_inject_drug (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_inject_drug_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_rx_opioid_misuse": { + "id": "pct_current_rx_opioid_misuse", + "short_name": "Currently misused Rx opioids", + "long_name": "YRBSS: Currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNCURRENTOPIOID", + "short_description": "Percent of high school students who currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it.", + "long_description": "Weighted percentage of U.S. high school students who currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: QNCURRENTOPIOID). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_rx_opioid_misuse_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_rx_opioid_misuse_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_rx_opioid_misuse_lcl": { + "id": "pct_current_rx_opioid_misuse_lcl", + "short_name": "Currently misused Rx opioids - lower 95% CI", + "long_name": "YRBSS: Currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNCURRENTOPIOID", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it.", + "long_description": "Lower bound of the 95% confidence interval for pct_current_rx_opioid_misuse. Weighted percentage of U.S. high school students who currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: QNCURRENTOPIOID). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_rx_opioid_misuse_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_rx_opioid_misuse_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_rx_opioid_misuse_ucl": { + "id": "pct_current_rx_opioid_misuse_ucl", + "short_name": "Currently misused Rx opioids - upper 95% CI", + "long_name": "YRBSS: Currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNCURRENTOPIOID", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it.", + "long_description": "Upper bound of the 95% confidence interval for pct_current_rx_opioid_misuse. Weighted percentage of U.S. high school students who currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: QNCURRENTOPIOID). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_rx_opioid_misuse_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_rx_opioid_misuse_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_rx_opioid_misuse_suppressed": { + "id": "pct_current_rx_opioid_misuse_suppressed", + "short_name": "Currently misused Rx opioids - suppressed flag", + "long_name": "YRBSS: Currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNCURRENTOPIOID", + "short_description": "1 if the estimate for 'pct_current_rx_opioid_misuse' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_current_rx_opioid_misuse (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_rx_opioid_misuse_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_rx_opioid_misuse_not_asked": { + "id": "pct_current_rx_opioid_misuse_not_asked", + "short_name": "Currently misused Rx opioids - not-asked flag", + "long_name": "YRBSS: Currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNCURRENTOPIOID", + "short_description": "1 if 'pct_current_rx_opioid_misuse' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Currently took prescription pain medicine without a doctor's prescription or differently than how a doctor told them to use it' was not part of the YRBSS survey for this geography and year, so pct_current_rx_opioid_misuse (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_rx_opioid_misuse_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_hallucinogens": { + "id": "pct_ever_hallucinogens", + "short_name": "Ever used hallucinogens", + "long_name": "YRBSS: Ever used hallucinogenic drugs (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNHALLUCDRUG", + "short_description": "Percent of high school students who ever used hallucinogenic drugs.", + "long_description": "Weighted percentage of U.S. high school students who ever used hallucinogenic drugs, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: QNHALLUCDRUG). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_hallucinogens_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_hallucinogens_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_hallucinogens_lcl": { + "id": "pct_ever_hallucinogens_lcl", + "short_name": "Ever used hallucinogens - lower 95% CI", + "long_name": "YRBSS: Ever used hallucinogenic drugs - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNHALLUCDRUG", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever used hallucinogenic drugs.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_hallucinogens. Weighted percentage of U.S. high school students who ever used hallucinogenic drugs, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: QNHALLUCDRUG). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_hallucinogens_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_hallucinogens_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_hallucinogens_ucl": { + "id": "pct_ever_hallucinogens_ucl", + "short_name": "Ever used hallucinogens - upper 95% CI", + "long_name": "YRBSS: Ever used hallucinogenic drugs - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNHALLUCDRUG", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever used hallucinogenic drugs.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_hallucinogens. Weighted percentage of U.S. high school students who ever used hallucinogenic drugs, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: QNHALLUCDRUG). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_hallucinogens_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_hallucinogens_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_hallucinogens_suppressed": { + "id": "pct_ever_hallucinogens_suppressed", + "short_name": "Ever used hallucinogens - suppressed flag", + "long_name": "YRBSS: Ever used hallucinogenic drugs - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNHALLUCDRUG", + "short_description": "1 if the estimate for 'pct_ever_hallucinogens' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_hallucinogens (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_hallucinogens_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_hallucinogens_not_asked": { + "id": "pct_ever_hallucinogens_not_asked", + "short_name": "Ever used hallucinogens - not-asked flag", + "long_name": "YRBSS: Ever used hallucinogenic drugs - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNHALLUCDRUG", + "short_description": "1 if 'pct_ever_hallucinogens' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever used hallucinogenic drugs' was not part of the YRBSS survey for this geography and year, so pct_ever_hallucinogens (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_hallucinogens_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_illicit_drug": { + "id": "pct_ever_illicit_drug", + "short_name": "Ever used select illicit drugs", + "long_name": "YRBSS: Ever used select illicit drugs (Alcohol and Other Drug Use)", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNILLICT", + "short_description": "Percent of high school students who ever used select illicit drugs.", + "long_description": "Weighted percentage of U.S. high school students who ever used select illicit drugs, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: QNILLICT). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_illicit_drug_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_illicit_drug_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_illicit_drug_lcl": { + "id": "pct_ever_illicit_drug_lcl", + "short_name": "Ever used select illicit drugs - lower 95% CI", + "long_name": "YRBSS: Ever used select illicit drugs - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNILLICT", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever used select illicit drugs.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_illicit_drug. Weighted percentage of U.S. high school students who ever used select illicit drugs, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: QNILLICT). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_illicit_drug_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_illicit_drug_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_illicit_drug_ucl": { + "id": "pct_ever_illicit_drug_ucl", + "short_name": "Ever used select illicit drugs - upper 95% CI", + "long_name": "YRBSS: Ever used select illicit drugs - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNILLICT", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever used select illicit drugs.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_illicit_drug. Weighted percentage of U.S. high school students who ever used select illicit drugs, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Alcohol and Other Drug Use; YRBSS question code: QNILLICT). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_illicit_drug_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_illicit_drug_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_illicit_drug_suppressed": { + "id": "pct_ever_illicit_drug_suppressed", + "short_name": "Ever used select illicit drugs - suppressed flag", + "long_name": "YRBSS: Ever used select illicit drugs - suppressed flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNILLICT", + "short_description": "1 if the estimate for 'pct_ever_illicit_drug' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_illicit_drug (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_illicit_drug_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_illicit_drug_not_asked": { + "id": "pct_ever_illicit_drug_not_asked", + "short_name": "Ever used select illicit drugs - not-asked flag", + "long_name": "YRBSS: Ever used select illicit drugs - not-asked flag", + "category": "chronic", + "topic": "Alcohol and Other Drug Use", + "question_code": "QNILLICT", + "short_description": "1 if 'pct_ever_illicit_drug' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever used select illicit drugs' was not part of the YRBSS survey for this geography and year, so pct_ever_illicit_drug (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_illicit_drug_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast": { + "id": "pct_no_breakfast", + "short_name": "Did not eat breakfast", + "long_name": "YRBSS: Did not eat breakfast (during the 7 days before the survey) (Dietary Behaviors)", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "H75", + "short_description": "Percent of high school students who did not eat breakfast (during the 7 days before the survey).", + "long_description": "Weighted percentage of U.S. high school students who did not eat breakfast (during the 7 days before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: H75). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_breakfast_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_breakfast_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast_lcl": { + "id": "pct_no_breakfast_lcl", + "short_name": "Did not eat breakfast - lower 95% CI", + "long_name": "YRBSS: Did not eat breakfast (during the 7 days before the survey) - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "H75", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not eat breakfast (during the 7 days before the survey).", + "long_description": "Lower bound of the 95% confidence interval for pct_no_breakfast. Weighted percentage of U.S. high school students who did not eat breakfast (during the 7 days before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: H75). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_breakfast_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_breakfast_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast_ucl": { + "id": "pct_no_breakfast_ucl", + "short_name": "Did not eat breakfast - upper 95% CI", + "long_name": "YRBSS: Did not eat breakfast (during the 7 days before the survey) - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "H75", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not eat breakfast (during the 7 days before the survey).", + "long_description": "Upper bound of the 95% confidence interval for pct_no_breakfast. Weighted percentage of U.S. high school students who did not eat breakfast (during the 7 days before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: H75). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_breakfast_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_breakfast_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast_suppressed": { + "id": "pct_no_breakfast_suppressed", + "short_name": "Did not eat breakfast - suppressed flag", + "long_name": "YRBSS: Did not eat breakfast (during the 7 days before the survey) - suppressed flag", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "H75", + "short_description": "1 if the estimate for 'pct_no_breakfast' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_no_breakfast (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_breakfast_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast_not_asked": { + "id": "pct_no_breakfast_not_asked", + "short_name": "Did not eat breakfast - not-asked flag", + "long_name": "YRBSS: Did not eat breakfast (during the 7 days before the survey) - not-asked flag", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "H75", + "short_description": "1 if 'pct_no_breakfast' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not eat breakfast (during the 7 days before the survey)' was not part of the YRBSS survey for this geography and year, so pct_no_breakfast (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_breakfast_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast_7days": { + "id": "pct_no_breakfast_7days", + "short_name": "No breakfast on all 7 days", + "long_name": "YRBSS: Did not eat breakfast on all 7 days (before the survey) (Dietary Behaviors)", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNBK7DAY", + "short_description": "Percent of high school students who did not eat breakfast on all 7 days (before the survey).", + "long_description": "Weighted percentage of U.S. high school students who did not eat breakfast on all 7 days (before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: QNBK7DAY). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_breakfast_7days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_breakfast_7days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast_7days_lcl": { + "id": "pct_no_breakfast_7days_lcl", + "short_name": "No breakfast on all 7 days - lower 95% CI", + "long_name": "YRBSS: Did not eat breakfast on all 7 days (before the survey) - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNBK7DAY", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not eat breakfast on all 7 days (before the survey).", + "long_description": "Lower bound of the 95% confidence interval for pct_no_breakfast_7days. Weighted percentage of U.S. high school students who did not eat breakfast on all 7 days (before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: QNBK7DAY). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_breakfast_7days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_breakfast_7days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast_7days_ucl": { + "id": "pct_no_breakfast_7days_ucl", + "short_name": "No breakfast on all 7 days - upper 95% CI", + "long_name": "YRBSS: Did not eat breakfast on all 7 days (before the survey) - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNBK7DAY", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not eat breakfast on all 7 days (before the survey).", + "long_description": "Upper bound of the 95% confidence interval for pct_no_breakfast_7days. Weighted percentage of U.S. high school students who did not eat breakfast on all 7 days (before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: QNBK7DAY). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_breakfast_7days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_breakfast_7days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast_7days_suppressed": { + "id": "pct_no_breakfast_7days_suppressed", + "short_name": "No breakfast on all 7 days - suppressed flag", + "long_name": "YRBSS: Did not eat breakfast on all 7 days (before the survey) - suppressed flag", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNBK7DAY", + "short_description": "1 if the estimate for 'pct_no_breakfast_7days' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_no_breakfast_7days (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_breakfast_7days_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_breakfast_7days_not_asked": { + "id": "pct_no_breakfast_7days_not_asked", + "short_name": "No breakfast on all 7 days - not-asked flag", + "long_name": "YRBSS: Did not eat breakfast on all 7 days (before the survey) - not-asked flag", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNBK7DAY", + "short_description": "1 if 'pct_no_breakfast_7days' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not eat breakfast on all 7 days (before the survey)' was not part of the YRBSS survey for this geography and year, so pct_no_breakfast_7days (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_breakfast_7days_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_fruit": { + "id": "pct_no_fruit", + "short_name": "Did not eat fruit", + "long_name": "YRBSS: Did not eat fruit or drink 100% fruit juices (during the 7 days before the survey) (Dietary Behaviors)", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNFR0", + "short_description": "Percent of high school students who did not eat fruit or drink 100% fruit juices (during the 7 days before the survey).", + "long_description": "Weighted percentage of U.S. high school students who did not eat fruit or drink 100% fruit juices (during the 7 days before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: QNFR0). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_fruit_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_fruit_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_fruit_lcl": { + "id": "pct_no_fruit_lcl", + "short_name": "Did not eat fruit - lower 95% CI", + "long_name": "YRBSS: Did not eat fruit or drink 100% fruit juices (during the 7 days before the survey) - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNFR0", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not eat fruit or drink 100% fruit juices (during the 7 days before the survey).", + "long_description": "Lower bound of the 95% confidence interval for pct_no_fruit. Weighted percentage of U.S. high school students who did not eat fruit or drink 100% fruit juices (during the 7 days before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: QNFR0). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_fruit_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_fruit_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_fruit_ucl": { + "id": "pct_no_fruit_ucl", + "short_name": "Did not eat fruit - upper 95% CI", + "long_name": "YRBSS: Did not eat fruit or drink 100% fruit juices (during the 7 days before the survey) - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNFR0", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not eat fruit or drink 100% fruit juices (during the 7 days before the survey).", + "long_description": "Upper bound of the 95% confidence interval for pct_no_fruit. Weighted percentage of U.S. high school students who did not eat fruit or drink 100% fruit juices (during the 7 days before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: QNFR0). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_fruit_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_fruit_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_fruit_suppressed": { + "id": "pct_no_fruit_suppressed", + "short_name": "Did not eat fruit - suppressed flag", + "long_name": "YRBSS: Did not eat fruit or drink 100% fruit juices (during the 7 days before the survey) - suppressed flag", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNFR0", + "short_description": "1 if the estimate for 'pct_no_fruit' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_no_fruit (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_fruit_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_fruit_not_asked": { + "id": "pct_no_fruit_not_asked", + "short_name": "Did not eat fruit - not-asked flag", + "long_name": "YRBSS: Did not eat fruit or drink 100% fruit juices (during the 7 days before the survey) - not-asked flag", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNFR0", + "short_description": "1 if 'pct_no_fruit' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not eat fruit or drink 100% fruit juices (during the 7 days before the survey)' was not part of the YRBSS survey for this geography and year, so pct_no_fruit (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_fruit_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_vegetables": { + "id": "pct_no_vegetables", + "short_name": "Did not eat vegetables", + "long_name": "YRBSS: Did not eat vegetables (during the 7 days before the survey) (Dietary Behaviors)", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNVEG0", + "short_description": "Percent of high school students who did not eat vegetables (during the 7 days before the survey).", + "long_description": "Weighted percentage of U.S. high school students who did not eat vegetables (during the 7 days before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: QNVEG0). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_vegetables_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_vegetables_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_vegetables_lcl": { + "id": "pct_no_vegetables_lcl", + "short_name": "Did not eat vegetables - lower 95% CI", + "long_name": "YRBSS: Did not eat vegetables (during the 7 days before the survey) - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNVEG0", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not eat vegetables (during the 7 days before the survey).", + "long_description": "Lower bound of the 95% confidence interval for pct_no_vegetables. Weighted percentage of U.S. high school students who did not eat vegetables (during the 7 days before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: QNVEG0). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_vegetables_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_vegetables_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_vegetables_ucl": { + "id": "pct_no_vegetables_ucl", + "short_name": "Did not eat vegetables - upper 95% CI", + "long_name": "YRBSS: Did not eat vegetables (during the 7 days before the survey) - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNVEG0", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not eat vegetables (during the 7 days before the survey).", + "long_description": "Upper bound of the 95% confidence interval for pct_no_vegetables. Weighted percentage of U.S. high school students who did not eat vegetables (during the 7 days before the survey), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Dietary Behaviors; YRBSS question code: QNVEG0). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_vegetables_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_vegetables_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_vegetables_suppressed": { + "id": "pct_no_vegetables_suppressed", + "short_name": "Did not eat vegetables - suppressed flag", + "long_name": "YRBSS: Did not eat vegetables (during the 7 days before the survey) - suppressed flag", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNVEG0", + "short_description": "1 if the estimate for 'pct_no_vegetables' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_no_vegetables (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_vegetables_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_vegetables_not_asked": { + "id": "pct_no_vegetables_not_asked", + "short_name": "Did not eat vegetables - not-asked flag", + "long_name": "YRBSS: Did not eat vegetables (during the 7 days before the survey) - not-asked flag", + "category": "chronic", + "topic": "Dietary Behaviors", + "question_code": "QNVEG0", + "short_description": "1 if 'pct_no_vegetables' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not eat vegetables (during the 7 days before the survey)' was not part of the YRBSS survey for this geography and year, so pct_no_vegetables (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_vegetables_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_social_media_daily": { + "id": "pct_social_media_daily", + "short_name": "Used social media several/day", + "long_name": "YRBSS: Used social media at least several times a day (Other Health Topics)", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H80", + "short_description": "Percent of high school students who used social media at least several times a day.", + "long_description": "Weighted percentage of U.S. high school students who used social media at least several times a day, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H80). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_social_media_daily_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_social_media_daily_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_social_media_daily_lcl": { + "id": "pct_social_media_daily_lcl", + "short_name": "Used social media several/day - lower 95% CI", + "long_name": "YRBSS: Used social media at least several times a day - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H80", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who used social media at least several times a day.", + "long_description": "Lower bound of the 95% confidence interval for pct_social_media_daily. Weighted percentage of U.S. high school students who used social media at least several times a day, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H80). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_social_media_daily_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_social_media_daily_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_social_media_daily_ucl": { + "id": "pct_social_media_daily_ucl", + "short_name": "Used social media several/day - upper 95% CI", + "long_name": "YRBSS: Used social media at least several times a day - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H80", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who used social media at least several times a day.", + "long_description": "Upper bound of the 95% confidence interval for pct_social_media_daily. Weighted percentage of U.S. high school students who used social media at least several times a day, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H80). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_social_media_daily_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_social_media_daily_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_social_media_daily_suppressed": { + "id": "pct_social_media_daily_suppressed", + "short_name": "Used social media several/day - suppressed flag", + "long_name": "YRBSS: Used social media at least several times a day - suppressed flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H80", + "short_description": "1 if the estimate for 'pct_social_media_daily' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_social_media_daily (with its CI) was set to 0; 0 otherwise. Distinct from pct_social_media_daily_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_social_media_daily_not_asked": { + "id": "pct_social_media_daily_not_asked", + "short_name": "Used social media several/day - not-asked flag", + "long_name": "YRBSS: Used social media at least several times a day - not-asked flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H80", + "short_description": "1 if 'pct_social_media_daily' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Used social media at least several times a day' was not part of the YRBSS survey for this geography and year, so pct_social_media_daily (with its CI) was set to 0; 0 otherwise. Distinct from pct_social_media_daily_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_poor_mental_health": { + "id": "pct_poor_mental_health", + "short_name": "Poor mental health", + "long_name": "YRBSS: Reported that their mental health was most of the time or always not good (Other Health Topics)", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H84", + "short_description": "Percent of high school students who reported that their mental health was most of the time or always not good.", + "long_description": "Weighted percentage of U.S. high school students who reported that their mental health was most of the time or always not good, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H84). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_poor_mental_health_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_poor_mental_health_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_poor_mental_health_lcl": { + "id": "pct_poor_mental_health_lcl", + "short_name": "Poor mental health - lower 95% CI", + "long_name": "YRBSS: Reported that their mental health was most of the time or always not good - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H84", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who reported that their mental health was most of the time or always not good.", + "long_description": "Lower bound of the 95% confidence interval for pct_poor_mental_health. Weighted percentage of U.S. high school students who reported that their mental health was most of the time or always not good, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H84). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_poor_mental_health_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_poor_mental_health_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_poor_mental_health_ucl": { + "id": "pct_poor_mental_health_ucl", + "short_name": "Poor mental health - upper 95% CI", + "long_name": "YRBSS: Reported that their mental health was most of the time or always not good - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H84", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who reported that their mental health was most of the time or always not good.", + "long_description": "Upper bound of the 95% confidence interval for pct_poor_mental_health. Weighted percentage of U.S. high school students who reported that their mental health was most of the time or always not good, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H84). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_poor_mental_health_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_poor_mental_health_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_poor_mental_health_suppressed": { + "id": "pct_poor_mental_health_suppressed", + "short_name": "Poor mental health - suppressed flag", + "long_name": "YRBSS: Reported that their mental health was most of the time or always not good - suppressed flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H84", + "short_description": "1 if the estimate for 'pct_poor_mental_health' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_poor_mental_health (with its CI) was set to 0; 0 otherwise. Distinct from pct_poor_mental_health_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_poor_mental_health_not_asked": { + "id": "pct_poor_mental_health_not_asked", + "short_name": "Poor mental health - not-asked flag", + "long_name": "YRBSS: Reported that their mental health was most of the time or always not good - not-asked flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H84", + "short_description": "1 if 'pct_poor_mental_health' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Reported that their mental health was most of the time or always not good' was not part of the YRBSS survey for this geography and year, so pct_poor_mental_health (with its CI) was set to 0; 0 otherwise. Distinct from pct_poor_mental_health_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_insufficient_sleep": { + "id": "pct_insufficient_sleep", + "short_name": "Insufficient sleep (<8 hrs)", + "long_name": "YRBSS: Did not get 8 or more hours of sleep (on an average school night) (Other Health Topics)", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H85", + "short_description": "Percent of high school students who did not get 8 or more hours of sleep (on an average school night).", + "long_description": "Weighted percentage of U.S. high school students who did not get 8 or more hours of sleep (on an average school night), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H85). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_insufficient_sleep_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_insufficient_sleep_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_insufficient_sleep_lcl": { + "id": "pct_insufficient_sleep_lcl", + "short_name": "Insufficient sleep (<8 hrs) - lower 95% CI", + "long_name": "YRBSS: Did not get 8 or more hours of sleep (on an average school night) - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H85", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not get 8 or more hours of sleep (on an average school night).", + "long_description": "Lower bound of the 95% confidence interval for pct_insufficient_sleep. Weighted percentage of U.S. high school students who did not get 8 or more hours of sleep (on an average school night), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H85). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_insufficient_sleep_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_insufficient_sleep_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_insufficient_sleep_ucl": { + "id": "pct_insufficient_sleep_ucl", + "short_name": "Insufficient sleep (<8 hrs) - upper 95% CI", + "long_name": "YRBSS: Did not get 8 or more hours of sleep (on an average school night) - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H85", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not get 8 or more hours of sleep (on an average school night).", + "long_description": "Upper bound of the 95% confidence interval for pct_insufficient_sleep. Weighted percentage of U.S. high school students who did not get 8 or more hours of sleep (on an average school night), from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H85). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_insufficient_sleep_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_insufficient_sleep_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_insufficient_sleep_suppressed": { + "id": "pct_insufficient_sleep_suppressed", + "short_name": "Insufficient sleep (<8 hrs) - suppressed flag", + "long_name": "YRBSS: Did not get 8 or more hours of sleep (on an average school night) - suppressed flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H85", + "short_description": "1 if the estimate for 'pct_insufficient_sleep' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_insufficient_sleep (with its CI) was set to 0; 0 otherwise. Distinct from pct_insufficient_sleep_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_insufficient_sleep_not_asked": { + "id": "pct_insufficient_sleep_not_asked", + "short_name": "Insufficient sleep (<8 hrs) - not-asked flag", + "long_name": "YRBSS: Did not get 8 or more hours of sleep (on an average school night) - not-asked flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H85", + "short_description": "1 if 'pct_insufficient_sleep' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not get 8 or more hours of sleep (on an average school night)' was not part of the YRBSS survey for this geography and year, so pct_insufficient_sleep (with its CI) was set to 0; 0 otherwise. Distinct from pct_insufficient_sleep_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unstable_housing": { + "id": "pct_unstable_housing", + "short_name": "Experienced unstable housing", + "long_name": "YRBSS: Experienced unstable housing (Other Health Topics)", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H86", + "short_description": "Percent of high school students who experienced unstable housing.", + "long_description": "Weighted percentage of U.S. high school students who experienced unstable housing, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H86). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_unstable_housing_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_unstable_housing_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unstable_housing_lcl": { + "id": "pct_unstable_housing_lcl", + "short_name": "Experienced unstable housing - lower 95% CI", + "long_name": "YRBSS: Experienced unstable housing - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H86", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who experienced unstable housing.", + "long_description": "Lower bound of the 95% confidence interval for pct_unstable_housing. Weighted percentage of U.S. high school students who experienced unstable housing, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H86). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_unstable_housing_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_unstable_housing_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unstable_housing_ucl": { + "id": "pct_unstable_housing_ucl", + "short_name": "Experienced unstable housing - upper 95% CI", + "long_name": "YRBSS: Experienced unstable housing - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H86", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who experienced unstable housing.", + "long_description": "Upper bound of the 95% confidence interval for pct_unstable_housing. Weighted percentage of U.S. high school students who experienced unstable housing, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: H86). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_unstable_housing_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_unstable_housing_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unstable_housing_suppressed": { + "id": "pct_unstable_housing_suppressed", + "short_name": "Experienced unstable housing - suppressed flag", + "long_name": "YRBSS: Experienced unstable housing - suppressed flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H86", + "short_description": "1 if the estimate for 'pct_unstable_housing' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_unstable_housing (with its CI) was set to 0; 0 otherwise. Distinct from pct_unstable_housing_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unstable_housing_not_asked": { + "id": "pct_unstable_housing_not_asked", + "short_name": "Experienced unstable housing - not-asked flag", + "long_name": "YRBSS: Experienced unstable housing - not-asked flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "H86", + "short_description": "1 if 'pct_unstable_housing' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Experienced unstable housing' was not part of the YRBSS survey for this geography and year, so pct_unstable_housing (with its CI) was set to 0; 0 otherwise. Distinct from pct_unstable_housing_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_not_close_at_school": { + "id": "pct_not_close_at_school", + "short_name": "Did not feel close at school", + "long_name": "YRBSS: Strongly disagreed or disagreed that they feel close to people at their school (Other Health Topics)", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "QNCLOSE2PEOPLE", + "short_description": "Percent of high school students who strongly disagreed or disagreed that they feel close to people at their school.", + "long_description": "Weighted percentage of U.S. high school students who strongly disagreed or disagreed that they feel close to people at their school, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: QNCLOSE2PEOPLE). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_not_close_at_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_not_close_at_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_not_close_at_school_lcl": { + "id": "pct_not_close_at_school_lcl", + "short_name": "Did not feel close at school - lower 95% CI", + "long_name": "YRBSS: Strongly disagreed or disagreed that they feel close to people at their school - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "QNCLOSE2PEOPLE", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who strongly disagreed or disagreed that they feel close to people at their school.", + "long_description": "Lower bound of the 95% confidence interval for pct_not_close_at_school. Weighted percentage of U.S. high school students who strongly disagreed or disagreed that they feel close to people at their school, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: QNCLOSE2PEOPLE). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_not_close_at_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_not_close_at_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_not_close_at_school_ucl": { + "id": "pct_not_close_at_school_ucl", + "short_name": "Did not feel close at school - upper 95% CI", + "long_name": "YRBSS: Strongly disagreed or disagreed that they feel close to people at their school - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "QNCLOSE2PEOPLE", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who strongly disagreed or disagreed that they feel close to people at their school.", + "long_description": "Upper bound of the 95% confidence interval for pct_not_close_at_school. Weighted percentage of U.S. high school students who strongly disagreed or disagreed that they feel close to people at their school, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Other Health Topics; YRBSS question code: QNCLOSE2PEOPLE). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_not_close_at_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_not_close_at_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_not_close_at_school_suppressed": { + "id": "pct_not_close_at_school_suppressed", + "short_name": "Did not feel close at school - suppressed flag", + "long_name": "YRBSS: Strongly disagreed or disagreed that they feel close to people at their school - suppressed flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "QNCLOSE2PEOPLE", + "short_description": "1 if the estimate for 'pct_not_close_at_school' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_not_close_at_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_not_close_at_school_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_not_close_at_school_not_asked": { + "id": "pct_not_close_at_school_not_asked", + "short_name": "Did not feel close at school - not-asked flag", + "long_name": "YRBSS: Strongly disagreed or disagreed that they feel close to people at their school - not-asked flag", + "category": "chronic", + "topic": "Other Health Topics", + "question_code": "QNCLOSE2PEOPLE", + "short_description": "1 if 'pct_not_close_at_school' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Strongly disagreed or disagreed that they feel close to people at their school' was not part of the YRBSS survey for this geography and year, so pct_not_close_at_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_not_close_at_school_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_5days": { + "id": "pct_inactive_60min_5days", + "short_name": "Inactive <5 days/wk", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on 5 or more days (Physical Activity)", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H76", + "short_description": "Percent of high school students who were not physically active at least 60 minutes per day on 5 or more days.", + "long_description": "Weighted percentage of U.S. high school students who were not physically active at least 60 minutes per day on 5 or more days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H76). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_inactive_60min_5days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_inactive_60min_5days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_5days_lcl": { + "id": "pct_inactive_60min_5days_lcl", + "short_name": "Inactive <5 days/wk - lower 95% CI", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on 5 or more days - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H76", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who were not physically active at least 60 minutes per day on 5 or more days.", + "long_description": "Lower bound of the 95% confidence interval for pct_inactive_60min_5days. Weighted percentage of U.S. high school students who were not physically active at least 60 minutes per day on 5 or more days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H76). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_inactive_60min_5days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_inactive_60min_5days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_5days_ucl": { + "id": "pct_inactive_60min_5days_ucl", + "short_name": "Inactive <5 days/wk - upper 95% CI", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on 5 or more days - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H76", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who were not physically active at least 60 minutes per day on 5 or more days.", + "long_description": "Upper bound of the 95% confidence interval for pct_inactive_60min_5days. Weighted percentage of U.S. high school students who were not physically active at least 60 minutes per day on 5 or more days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H76). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_inactive_60min_5days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_inactive_60min_5days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_5days_suppressed": { + "id": "pct_inactive_60min_5days_suppressed", + "short_name": "Inactive <5 days/wk - suppressed flag", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on 5 or more days - suppressed flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H76", + "short_description": "1 if the estimate for 'pct_inactive_60min_5days' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_inactive_60min_5days (with its CI) was set to 0; 0 otherwise. Distinct from pct_inactive_60min_5days_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_5days_not_asked": { + "id": "pct_inactive_60min_5days_not_asked", + "short_name": "Inactive <5 days/wk - not-asked flag", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on 5 or more days - not-asked flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H76", + "short_description": "1 if 'pct_inactive_60min_5days' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Were not physically active at least 60 minutes per day on 5 or more days' was not part of the YRBSS survey for this geography and year, so pct_inactive_60min_5days (with its CI) was set to 0; 0 otherwise. Distinct from pct_inactive_60min_5days_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_pe_classes": { + "id": "pct_no_pe_classes", + "short_name": "Did not attend PE classes", + "long_name": "YRBSS: Did not attend physical education (PE) classes on 1 or more days (Physical Activity)", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H77", + "short_description": "Percent of high school students who did not attend physical education (PE) classes on 1 or more days.", + "long_description": "Weighted percentage of U.S. high school students who did not attend physical education (PE) classes on 1 or more days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H77). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_pe_classes_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_pe_classes_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_pe_classes_lcl": { + "id": "pct_no_pe_classes_lcl", + "short_name": "Did not attend PE classes - lower 95% CI", + "long_name": "YRBSS: Did not attend physical education (PE) classes on 1 or more days - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H77", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not attend physical education (PE) classes on 1 or more days.", + "long_description": "Lower bound of the 95% confidence interval for pct_no_pe_classes. Weighted percentage of U.S. high school students who did not attend physical education (PE) classes on 1 or more days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H77). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_pe_classes_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_pe_classes_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_pe_classes_ucl": { + "id": "pct_no_pe_classes_ucl", + "short_name": "Did not attend PE classes - upper 95% CI", + "long_name": "YRBSS: Did not attend physical education (PE) classes on 1 or more days - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H77", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not attend physical education (PE) classes on 1 or more days.", + "long_description": "Upper bound of the 95% confidence interval for pct_no_pe_classes. Weighted percentage of U.S. high school students who did not attend physical education (PE) classes on 1 or more days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H77). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_pe_classes_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_pe_classes_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_pe_classes_suppressed": { + "id": "pct_no_pe_classes_suppressed", + "short_name": "Did not attend PE classes - suppressed flag", + "long_name": "YRBSS: Did not attend physical education (PE) classes on 1 or more days - suppressed flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H77", + "short_description": "1 if the estimate for 'pct_no_pe_classes' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_no_pe_classes (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_pe_classes_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_pe_classes_not_asked": { + "id": "pct_no_pe_classes_not_asked", + "short_name": "Did not attend PE classes - not-asked flag", + "long_name": "YRBSS: Did not attend physical education (PE) classes on 1 or more days - not-asked flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H77", + "short_description": "1 if 'pct_no_pe_classes' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not attend physical education (PE) classes on 1 or more days' was not part of the YRBSS survey for this geography and year, so pct_no_pe_classes (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_pe_classes_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_sports_team": { + "id": "pct_no_sports_team", + "short_name": "Did not play on a sports team", + "long_name": "YRBSS: Did not play on at least one sports team (Physical Activity)", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H78", + "short_description": "Percent of high school students who did not play on at least one sports team.", + "long_description": "Weighted percentage of U.S. high school students who did not play on at least one sports team, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H78). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_sports_team_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_sports_team_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_sports_team_lcl": { + "id": "pct_no_sports_team_lcl", + "short_name": "Did not play on a sports team - lower 95% CI", + "long_name": "YRBSS: Did not play on at least one sports team - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H78", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not play on at least one sports team.", + "long_description": "Lower bound of the 95% confidence interval for pct_no_sports_team. Weighted percentage of U.S. high school students who did not play on at least one sports team, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H78). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_sports_team_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_sports_team_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_sports_team_ucl": { + "id": "pct_no_sports_team_ucl", + "short_name": "Did not play on a sports team - upper 95% CI", + "long_name": "YRBSS: Did not play on at least one sports team - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H78", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not play on at least one sports team.", + "long_description": "Upper bound of the 95% confidence interval for pct_no_sports_team. Weighted percentage of U.S. high school students who did not play on at least one sports team, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H78). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_sports_team_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_sports_team_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_sports_team_suppressed": { + "id": "pct_no_sports_team_suppressed", + "short_name": "Did not play on a sports team - suppressed flag", + "long_name": "YRBSS: Did not play on at least one sports team - suppressed flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H78", + "short_description": "1 if the estimate for 'pct_no_sports_team' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_no_sports_team (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_sports_team_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_sports_team_not_asked": { + "id": "pct_no_sports_team_not_asked", + "short_name": "Did not play on a sports team - not-asked flag", + "long_name": "YRBSS: Did not play on at least one sports team - not-asked flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H78", + "short_description": "1 if 'pct_no_sports_team' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not play on at least one sports team' was not part of the YRBSS survey for this geography and year, so pct_no_sports_team (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_sports_team_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_sports_concussion": { + "id": "pct_sports_concussion", + "short_name": "Concussion from sport/activity", + "long_name": "YRBSS: Had a concussion from playing a sport or being physically active (Physical Activity)", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H79", + "short_description": "Percent of high school students who had a concussion from playing a sport or being physically active.", + "long_description": "Weighted percentage of U.S. high school students who had a concussion from playing a sport or being physically active, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H79). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_sports_concussion_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_sports_concussion_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_sports_concussion_lcl": { + "id": "pct_sports_concussion_lcl", + "short_name": "Concussion from sport/activity - lower 95% CI", + "long_name": "YRBSS: Had a concussion from playing a sport or being physically active - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H79", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who had a concussion from playing a sport or being physically active.", + "long_description": "Lower bound of the 95% confidence interval for pct_sports_concussion. Weighted percentage of U.S. high school students who had a concussion from playing a sport or being physically active, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H79). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_sports_concussion_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_sports_concussion_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_sports_concussion_ucl": { + "id": "pct_sports_concussion_ucl", + "short_name": "Concussion from sport/activity - upper 95% CI", + "long_name": "YRBSS: Had a concussion from playing a sport or being physically active - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H79", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who had a concussion from playing a sport or being physically active.", + "long_description": "Upper bound of the 95% confidence interval for pct_sports_concussion. Weighted percentage of U.S. high school students who had a concussion from playing a sport or being physically active, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: H79). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_sports_concussion_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_sports_concussion_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_sports_concussion_suppressed": { + "id": "pct_sports_concussion_suppressed", + "short_name": "Concussion from sport/activity - suppressed flag", + "long_name": "YRBSS: Had a concussion from playing a sport or being physically active - suppressed flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H79", + "short_description": "1 if the estimate for 'pct_sports_concussion' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_sports_concussion (with its CI) was set to 0; 0 otherwise. Distinct from pct_sports_concussion_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_sports_concussion_not_asked": { + "id": "pct_sports_concussion_not_asked", + "short_name": "Concussion from sport/activity - not-asked flag", + "long_name": "YRBSS: Had a concussion from playing a sport or being physically active - not-asked flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "H79", + "short_description": "1 if 'pct_sports_concussion' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Had a concussion from playing a sport or being physically active' was not part of the YRBSS survey for this geography and year, so pct_sports_concussion (with its CI) was set to 0; 0 otherwise. Distinct from pct_sports_concussion_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_daily_pe": { + "id": "pct_no_daily_pe", + "short_name": "No daily PE", + "long_name": "YRBSS: Did not attend physical education (PE) classes on all 5 days (Physical Activity)", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNDLYPE", + "short_description": "Percent of high school students who did not attend physical education (PE) classes on all 5 days.", + "long_description": "Weighted percentage of U.S. high school students who did not attend physical education (PE) classes on all 5 days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNDLYPE). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_daily_pe_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_daily_pe_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_daily_pe_lcl": { + "id": "pct_no_daily_pe_lcl", + "short_name": "No daily PE - lower 95% CI", + "long_name": "YRBSS: Did not attend physical education (PE) classes on all 5 days - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNDLYPE", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not attend physical education (PE) classes on all 5 days.", + "long_description": "Lower bound of the 95% confidence interval for pct_no_daily_pe. Weighted percentage of U.S. high school students who did not attend physical education (PE) classes on all 5 days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNDLYPE). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_daily_pe_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_daily_pe_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_daily_pe_ucl": { + "id": "pct_no_daily_pe_ucl", + "short_name": "No daily PE - upper 95% CI", + "long_name": "YRBSS: Did not attend physical education (PE) classes on all 5 days - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNDLYPE", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not attend physical education (PE) classes on all 5 days.", + "long_description": "Upper bound of the 95% confidence interval for pct_no_daily_pe. Weighted percentage of U.S. high school students who did not attend physical education (PE) classes on all 5 days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNDLYPE). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_daily_pe_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_daily_pe_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_daily_pe_suppressed": { + "id": "pct_no_daily_pe_suppressed", + "short_name": "No daily PE - suppressed flag", + "long_name": "YRBSS: Did not attend physical education (PE) classes on all 5 days - suppressed flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNDLYPE", + "short_description": "1 if the estimate for 'pct_no_daily_pe' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_no_daily_pe (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_daily_pe_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_daily_pe_not_asked": { + "id": "pct_no_daily_pe_not_asked", + "short_name": "No daily PE - not-asked flag", + "long_name": "YRBSS: Did not attend physical education (PE) classes on all 5 days - not-asked flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNDLYPE", + "short_description": "1 if 'pct_no_daily_pe' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not attend physical education (PE) classes on all 5 days' was not part of the YRBSS survey for this geography and year, so pct_no_daily_pe (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_daily_pe_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_muscle_strengthening": { + "id": "pct_no_muscle_strengthening", + "short_name": "No muscle strengthening", + "long_name": "YRBSS: Did not do exercises to strengthen or tone muscles on three or more days (Physical Activity)", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNMUSCLESTRENGTH", + "short_description": "Percent of high school students who did not do exercises to strengthen or tone muscles on three or more days.", + "long_description": "Weighted percentage of U.S. high school students who did not do exercises to strengthen or tone muscles on three or more days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNMUSCLESTRENGTH). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_muscle_strengthening_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_muscle_strengthening_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_muscle_strengthening_lcl": { + "id": "pct_no_muscle_strengthening_lcl", + "short_name": "No muscle strengthening - lower 95% CI", + "long_name": "YRBSS: Did not do exercises to strengthen or tone muscles on three or more days - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNMUSCLESTRENGTH", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not do exercises to strengthen or tone muscles on three or more days.", + "long_description": "Lower bound of the 95% confidence interval for pct_no_muscle_strengthening. Weighted percentage of U.S. high school students who did not do exercises to strengthen or tone muscles on three or more days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNMUSCLESTRENGTH). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_muscle_strengthening_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_muscle_strengthening_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_muscle_strengthening_ucl": { + "id": "pct_no_muscle_strengthening_ucl", + "short_name": "No muscle strengthening - upper 95% CI", + "long_name": "YRBSS: Did not do exercises to strengthen or tone muscles on three or more days - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNMUSCLESTRENGTH", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not do exercises to strengthen or tone muscles on three or more days.", + "long_description": "Upper bound of the 95% confidence interval for pct_no_muscle_strengthening. Weighted percentage of U.S. high school students who did not do exercises to strengthen or tone muscles on three or more days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNMUSCLESTRENGTH). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_muscle_strengthening_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_muscle_strengthening_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_muscle_strengthening_suppressed": { + "id": "pct_no_muscle_strengthening_suppressed", + "short_name": "No muscle strengthening - suppressed flag", + "long_name": "YRBSS: Did not do exercises to strengthen or tone muscles on three or more days - suppressed flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNMUSCLESTRENGTH", + "short_description": "1 if the estimate for 'pct_no_muscle_strengthening' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_no_muscle_strengthening (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_muscle_strengthening_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_muscle_strengthening_not_asked": { + "id": "pct_no_muscle_strengthening_not_asked", + "short_name": "No muscle strengthening - not-asked flag", + "long_name": "YRBSS: Did not do exercises to strengthen or tone muscles on three or more days - not-asked flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNMUSCLESTRENGTH", + "short_description": "1 if 'pct_no_muscle_strengthening' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not do exercises to strengthen or tone muscles on three or more days' was not part of the YRBSS survey for this geography and year, so pct_no_muscle_strengthening (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_muscle_strengthening_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_all_days": { + "id": "pct_inactive_all_days", + "short_name": "Inactive every day", + "long_name": "YRBSS: Were not physically active for at least 60 minutes on at least 1 day (Physical Activity)", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA0DAY", + "short_description": "Percent of high school students who were not physically active for at least 60 minutes on at least 1 day.", + "long_description": "Weighted percentage of U.S. high school students who were not physically active for at least 60 minutes on at least 1 day, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNPA0DAY). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_inactive_all_days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_inactive_all_days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_all_days_lcl": { + "id": "pct_inactive_all_days_lcl", + "short_name": "Inactive every day - lower 95% CI", + "long_name": "YRBSS: Were not physically active for at least 60 minutes on at least 1 day - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA0DAY", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who were not physically active for at least 60 minutes on at least 1 day.", + "long_description": "Lower bound of the 95% confidence interval for pct_inactive_all_days. Weighted percentage of U.S. high school students who were not physically active for at least 60 minutes on at least 1 day, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNPA0DAY). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_inactive_all_days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_inactive_all_days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_all_days_ucl": { + "id": "pct_inactive_all_days_ucl", + "short_name": "Inactive every day - upper 95% CI", + "long_name": "YRBSS: Were not physically active for at least 60 minutes on at least 1 day - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA0DAY", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who were not physically active for at least 60 minutes on at least 1 day.", + "long_description": "Upper bound of the 95% confidence interval for pct_inactive_all_days. Weighted percentage of U.S. high school students who were not physically active for at least 60 minutes on at least 1 day, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNPA0DAY). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_inactive_all_days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_inactive_all_days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_all_days_suppressed": { + "id": "pct_inactive_all_days_suppressed", + "short_name": "Inactive every day - suppressed flag", + "long_name": "YRBSS: Were not physically active for at least 60 minutes on at least 1 day - suppressed flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA0DAY", + "short_description": "1 if the estimate for 'pct_inactive_all_days' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_inactive_all_days (with its CI) was set to 0; 0 otherwise. Distinct from pct_inactive_all_days_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_all_days_not_asked": { + "id": "pct_inactive_all_days_not_asked", + "short_name": "Inactive every day - not-asked flag", + "long_name": "YRBSS: Were not physically active for at least 60 minutes on at least 1 day - not-asked flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA0DAY", + "short_description": "1 if 'pct_inactive_all_days' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Were not physically active for at least 60 minutes on at least 1 day' was not part of the YRBSS survey for this geography and year, so pct_inactive_all_days (with its CI) was set to 0; 0 otherwise. Distinct from pct_inactive_all_days_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_7days": { + "id": "pct_inactive_60min_7days", + "short_name": "Inactive <7 days/wk", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on all 7 days (Physical Activity)", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA7DAY", + "short_description": "Percent of high school students who were not physically active at least 60 minutes per day on all 7 days.", + "long_description": "Weighted percentage of U.S. high school students who were not physically active at least 60 minutes per day on all 7 days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNPA7DAY). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_inactive_60min_7days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_inactive_60min_7days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_7days_lcl": { + "id": "pct_inactive_60min_7days_lcl", + "short_name": "Inactive <7 days/wk - lower 95% CI", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on all 7 days - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA7DAY", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who were not physically active at least 60 minutes per day on all 7 days.", + "long_description": "Lower bound of the 95% confidence interval for pct_inactive_60min_7days. Weighted percentage of U.S. high school students who were not physically active at least 60 minutes per day on all 7 days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNPA7DAY). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_inactive_60min_7days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_inactive_60min_7days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_7days_ucl": { + "id": "pct_inactive_60min_7days_ucl", + "short_name": "Inactive <7 days/wk - upper 95% CI", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on all 7 days - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA7DAY", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who were not physically active at least 60 minutes per day on all 7 days.", + "long_description": "Upper bound of the 95% confidence interval for pct_inactive_60min_7days. Weighted percentage of U.S. high school students who were not physically active at least 60 minutes per day on all 7 days, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Physical Activity; YRBSS question code: QNPA7DAY). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_inactive_60min_7days_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_inactive_60min_7days_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_7days_suppressed": { + "id": "pct_inactive_60min_7days_suppressed", + "short_name": "Inactive <7 days/wk - suppressed flag", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on all 7 days - suppressed flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA7DAY", + "short_description": "1 if the estimate for 'pct_inactive_60min_7days' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_inactive_60min_7days (with its CI) was set to 0; 0 otherwise. Distinct from pct_inactive_60min_7days_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_inactive_60min_7days_not_asked": { + "id": "pct_inactive_60min_7days_not_asked", + "short_name": "Inactive <7 days/wk - not-asked flag", + "long_name": "YRBSS: Were not physically active at least 60 minutes per day on all 7 days - not-asked flag", + "category": "chronic", + "topic": "Physical Activity", + "question_code": "QNPA7DAY", + "short_description": "1 if 'pct_inactive_60min_7days' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Were not physically active at least 60 minutes per day on all 7 days' was not part of the YRBSS survey for this geography and year, so pct_inactive_60min_7days (with its CI) was set to 0; 0 otherwise. Distinct from pct_inactive_60min_7days_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cigarette": { + "id": "pct_ever_cigarette", + "short_name": "Ever smoked a cigarette", + "long_name": "YRBSS: Ever smoked a cigarette (Tobacco Use)", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H31", + "short_description": "Percent of high school students who ever smoked a cigarette.", + "long_description": "Weighted percentage of U.S. high school students who ever smoked a cigarette, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H31). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_cigarette_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_cigarette_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cigarette_lcl": { + "id": "pct_ever_cigarette_lcl", + "short_name": "Ever smoked a cigarette - lower 95% CI", + "long_name": "YRBSS: Ever smoked a cigarette - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H31", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever smoked a cigarette.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_cigarette. Weighted percentage of U.S. high school students who ever smoked a cigarette, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H31). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_cigarette_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_cigarette_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cigarette_ucl": { + "id": "pct_ever_cigarette_ucl", + "short_name": "Ever smoked a cigarette - upper 95% CI", + "long_name": "YRBSS: Ever smoked a cigarette - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H31", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever smoked a cigarette.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_cigarette. Weighted percentage of U.S. high school students who ever smoked a cigarette, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H31). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_cigarette_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_cigarette_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cigarette_suppressed": { + "id": "pct_ever_cigarette_suppressed", + "short_name": "Ever smoked a cigarette - suppressed flag", + "long_name": "YRBSS: Ever smoked a cigarette - suppressed flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H31", + "short_description": "1 if the estimate for 'pct_ever_cigarette' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_cigarette (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_cigarette_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_cigarette_not_asked": { + "id": "pct_ever_cigarette_not_asked", + "short_name": "Ever smoked a cigarette - not-asked flag", + "long_name": "YRBSS: Ever smoked a cigarette - not-asked flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H31", + "short_description": "1 if 'pct_ever_cigarette' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever smoked a cigarette' was not part of the YRBSS survey for this geography and year, so pct_ever_cigarette (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_cigarette_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_cigarette": { + "id": "pct_current_cigarette", + "short_name": "Currently smoked cigarettes", + "long_name": "YRBSS: Currently smoked cigarettes (Tobacco Use)", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H33", + "short_description": "Percent of high school students who currently smoked cigarettes.", + "long_description": "Weighted percentage of U.S. high school students who currently smoked cigarettes, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H33). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_cigarette_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_cigarette_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_cigarette_lcl": { + "id": "pct_current_cigarette_lcl", + "short_name": "Currently smoked cigarettes - lower 95% CI", + "long_name": "YRBSS: Currently smoked cigarettes - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H33", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who currently smoked cigarettes.", + "long_description": "Lower bound of the 95% confidence interval for pct_current_cigarette. Weighted percentage of U.S. high school students who currently smoked cigarettes, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H33). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_cigarette_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_cigarette_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_cigarette_ucl": { + "id": "pct_current_cigarette_ucl", + "short_name": "Currently smoked cigarettes - upper 95% CI", + "long_name": "YRBSS: Currently smoked cigarettes - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H33", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who currently smoked cigarettes.", + "long_description": "Upper bound of the 95% confidence interval for pct_current_cigarette. Weighted percentage of U.S. high school students who currently smoked cigarettes, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H33). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_cigarette_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_cigarette_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_cigarette_suppressed": { + "id": "pct_current_cigarette_suppressed", + "short_name": "Currently smoked cigarettes - suppressed flag", + "long_name": "YRBSS: Currently smoked cigarettes - suppressed flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H33", + "short_description": "1 if the estimate for 'pct_current_cigarette' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_current_cigarette (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_cigarette_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_cigarette_not_asked": { + "id": "pct_current_cigarette_not_asked", + "short_name": "Currently smoked cigarettes - not-asked flag", + "long_name": "YRBSS: Currently smoked cigarettes - not-asked flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H33", + "short_description": "1 if 'pct_current_cigarette' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Currently smoked cigarettes' was not part of the YRBSS survey for this geography and year, so pct_current_cigarette (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_cigarette_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_vape": { + "id": "pct_ever_vape", + "short_name": "Ever used vapor products", + "long_name": "YRBSS: Ever used electronic vapor products (Tobacco Use)", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H35", + "short_description": "Percent of high school students who ever used electronic vapor products.", + "long_description": "Weighted percentage of U.S. high school students who ever used electronic vapor products, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H35). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_vape_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_vape_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_vape_lcl": { + "id": "pct_ever_vape_lcl", + "short_name": "Ever used vapor products - lower 95% CI", + "long_name": "YRBSS: Ever used electronic vapor products - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H35", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who ever used electronic vapor products.", + "long_description": "Lower bound of the 95% confidence interval for pct_ever_vape. Weighted percentage of U.S. high school students who ever used electronic vapor products, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H35). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_vape_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_vape_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_vape_ucl": { + "id": "pct_ever_vape_ucl", + "short_name": "Ever used vapor products - upper 95% CI", + "long_name": "YRBSS: Ever used electronic vapor products - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H35", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who ever used electronic vapor products.", + "long_description": "Upper bound of the 95% confidence interval for pct_ever_vape. Weighted percentage of U.S. high school students who ever used electronic vapor products, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H35). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_ever_vape_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_ever_vape_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_vape_suppressed": { + "id": "pct_ever_vape_suppressed", + "short_name": "Ever used vapor products - suppressed flag", + "long_name": "YRBSS: Ever used electronic vapor products - suppressed flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H35", + "short_description": "1 if the estimate for 'pct_ever_vape' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_ever_vape (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_vape_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_ever_vape_not_asked": { + "id": "pct_ever_vape_not_asked", + "short_name": "Ever used vapor products - not-asked flag", + "long_name": "YRBSS: Ever used electronic vapor products - not-asked flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H35", + "short_description": "1 if 'pct_ever_vape' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Ever used electronic vapor products' was not part of the YRBSS survey for this geography and year, so pct_ever_vape (with its CI) was set to 0; 0 otherwise. Distinct from pct_ever_vape_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_vape": { + "id": "pct_current_vape", + "short_name": "Currently used vapor products", + "long_name": "YRBSS: Currently used electronic vapor products (Tobacco Use)", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H36", + "short_description": "Percent of high school students who currently used electronic vapor products.", + "long_description": "Weighted percentage of U.S. high school students who currently used electronic vapor products, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H36). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_vape_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_vape_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_vape_lcl": { + "id": "pct_current_vape_lcl", + "short_name": "Currently used vapor products - lower 95% CI", + "long_name": "YRBSS: Currently used electronic vapor products - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H36", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who currently used electronic vapor products.", + "long_description": "Lower bound of the 95% confidence interval for pct_current_vape. Weighted percentage of U.S. high school students who currently used electronic vapor products, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H36). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_vape_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_vape_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_vape_ucl": { + "id": "pct_current_vape_ucl", + "short_name": "Currently used vapor products - upper 95% CI", + "long_name": "YRBSS: Currently used electronic vapor products - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H36", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who currently used electronic vapor products.", + "long_description": "Upper bound of the 95% confidence interval for pct_current_vape. Weighted percentage of U.S. high school students who currently used electronic vapor products, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H36). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_vape_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_vape_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_vape_suppressed": { + "id": "pct_current_vape_suppressed", + "short_name": "Currently used vapor products - suppressed flag", + "long_name": "YRBSS: Currently used electronic vapor products - suppressed flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H36", + "short_description": "1 if the estimate for 'pct_current_vape' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_current_vape (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_vape_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_vape_not_asked": { + "id": "pct_current_vape_not_asked", + "short_name": "Currently used vapor products - not-asked flag", + "long_name": "YRBSS: Currently used electronic vapor products - not-asked flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H36", + "short_description": "1 if 'pct_current_vape' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Currently used electronic vapor products' was not part of the YRBSS survey for this geography and year, so pct_current_vape (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_vape_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_smokeless_tobacco": { + "id": "pct_current_smokeless_tobacco", + "short_name": "Currently used smokeless tobacco", + "long_name": "YRBSS: Currently used smokeless tobacco (Tobacco Use)", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H38", + "short_description": "Percent of high school students who currently used smokeless tobacco.", + "long_description": "Weighted percentage of U.S. high school students who currently used smokeless tobacco, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H38). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_smokeless_tobacco_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_smokeless_tobacco_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_smokeless_tobacco_lcl": { + "id": "pct_current_smokeless_tobacco_lcl", + "short_name": "Currently used smokeless tobacco - lower 95% CI", + "long_name": "YRBSS: Currently used smokeless tobacco - lower bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H38", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who currently used smokeless tobacco.", + "long_description": "Lower bound of the 95% confidence interval for pct_current_smokeless_tobacco. Weighted percentage of U.S. high school students who currently used smokeless tobacco, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H38). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_smokeless_tobacco_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_smokeless_tobacco_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_smokeless_tobacco_ucl": { + "id": "pct_current_smokeless_tobacco_ucl", + "short_name": "Currently used smokeless tobacco - upper 95% CI", + "long_name": "YRBSS: Currently used smokeless tobacco - upper bound of 95% confidence interval", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H38", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who currently used smokeless tobacco.", + "long_description": "Upper bound of the 95% confidence interval for pct_current_smokeless_tobacco. Weighted percentage of U.S. high school students who currently used smokeless tobacco, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Tobacco Use; YRBSS question code: H38). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_current_smokeless_tobacco_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_current_smokeless_tobacco_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_smokeless_tobacco_suppressed": { + "id": "pct_current_smokeless_tobacco_suppressed", + "short_name": "Currently used smokeless tobacco - suppressed flag", + "long_name": "YRBSS: Currently used smokeless tobacco - suppressed flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H38", + "short_description": "1 if the estimate for 'pct_current_smokeless_tobacco' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_current_smokeless_tobacco (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_smokeless_tobacco_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_current_smokeless_tobacco_not_asked": { + "id": "pct_current_smokeless_tobacco_not_asked", + "short_name": "Currently used smokeless tobacco - not-asked flag", + "long_name": "YRBSS: Currently used smokeless tobacco - not-asked flag", + "category": "chronic", + "topic": "Tobacco Use", + "question_code": "H38", + "short_description": "1 if 'pct_current_smokeless_tobacco' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Currently used smokeless tobacco' was not part of the YRBSS survey for this geography and year, so pct_current_smokeless_tobacco (with its CI) was set to 0; 0 otherwise. Distinct from pct_current_smokeless_tobacco_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_drove_drinking": { + "id": "pct_drove_drinking", + "short_name": "Drove after drinking alcohol", + "long_name": "YRBSS: Drove when they had been drinking alcohol (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H10", + "short_description": "Percent of high school students who drove when they had been drinking alcohol.", + "long_description": "Weighted percentage of U.S. high school students who drove when they had been drinking alcohol, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H10). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_drove_drinking_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_drove_drinking_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_drove_drinking_lcl": { + "id": "pct_drove_drinking_lcl", + "short_name": "Drove after drinking alcohol - lower 95% CI", + "long_name": "YRBSS: Drove when they had been drinking alcohol - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H10", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who drove when they had been drinking alcohol.", + "long_description": "Lower bound of the 95% confidence interval for pct_drove_drinking. Weighted percentage of U.S. high school students who drove when they had been drinking alcohol, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H10). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_drove_drinking_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_drove_drinking_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_drove_drinking_ucl": { + "id": "pct_drove_drinking_ucl", + "short_name": "Drove after drinking alcohol - upper 95% CI", + "long_name": "YRBSS: Drove when they had been drinking alcohol - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H10", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who drove when they had been drinking alcohol.", + "long_description": "Upper bound of the 95% confidence interval for pct_drove_drinking. Weighted percentage of U.S. high school students who drove when they had been drinking alcohol, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H10). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_drove_drinking_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_drove_drinking_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_drove_drinking_suppressed": { + "id": "pct_drove_drinking_suppressed", + "short_name": "Drove after drinking alcohol - suppressed flag", + "long_name": "YRBSS: Drove when they had been drinking alcohol - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H10", + "short_description": "1 if the estimate for 'pct_drove_drinking' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_drove_drinking (with its CI) was set to 0; 0 otherwise. Distinct from pct_drove_drinking_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_drove_drinking_not_asked": { + "id": "pct_drove_drinking_not_asked", + "short_name": "Drove after drinking alcohol - not-asked flag", + "long_name": "YRBSS: Drove when they had been drinking alcohol - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H10", + "short_description": "1 if 'pct_drove_drinking' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Drove when they had been drinking alcohol' was not part of the YRBSS survey for this geography and year, so pct_drove_drinking (with its CI) was set to 0; 0 otherwise. Distinct from pct_drove_drinking_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_text_while_driving": { + "id": "pct_text_while_driving", + "short_name": "Texted/e-mailed while driving", + "long_name": "YRBSS: Texted or e-mailed while driving a car or other vehicle (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H11", + "short_description": "Percent of high school students who texted or e-mailed while driving a car or other vehicle.", + "long_description": "Weighted percentage of U.S. high school students who texted or e-mailed while driving a car or other vehicle, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H11). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_text_while_driving_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_text_while_driving_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_text_while_driving_lcl": { + "id": "pct_text_while_driving_lcl", + "short_name": "Texted/e-mailed while driving - lower 95% CI", + "long_name": "YRBSS: Texted or e-mailed while driving a car or other vehicle - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H11", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who texted or e-mailed while driving a car or other vehicle.", + "long_description": "Lower bound of the 95% confidence interval for pct_text_while_driving. Weighted percentage of U.S. high school students who texted or e-mailed while driving a car or other vehicle, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H11). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_text_while_driving_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_text_while_driving_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_text_while_driving_ucl": { + "id": "pct_text_while_driving_ucl", + "short_name": "Texted/e-mailed while driving - upper 95% CI", + "long_name": "YRBSS: Texted or e-mailed while driving a car or other vehicle - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H11", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who texted or e-mailed while driving a car or other vehicle.", + "long_description": "Upper bound of the 95% confidence interval for pct_text_while_driving. Weighted percentage of U.S. high school students who texted or e-mailed while driving a car or other vehicle, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H11). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_text_while_driving_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_text_while_driving_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_text_while_driving_suppressed": { + "id": "pct_text_while_driving_suppressed", + "short_name": "Texted/e-mailed while driving - suppressed flag", + "long_name": "YRBSS: Texted or e-mailed while driving a car or other vehicle - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H11", + "short_description": "1 if the estimate for 'pct_text_while_driving' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_text_while_driving (with its CI) was set to 0; 0 otherwise. Distinct from pct_text_while_driving_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_text_while_driving_not_asked": { + "id": "pct_text_while_driving_not_asked", + "short_name": "Texted/e-mailed while driving - not-asked flag", + "long_name": "YRBSS: Texted or e-mailed while driving a car or other vehicle - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H11", + "short_description": "1 if 'pct_text_while_driving' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Texted or e-mailed while driving a car or other vehicle' was not part of the YRBSS survey for this geography and year, so pct_text_while_driving (with its CI) was set to 0; 0 otherwise. Distinct from pct_text_while_driving_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_weapon_school": { + "id": "pct_carried_weapon_school", + "short_name": "Carried a weapon at school", + "long_name": "YRBSS: Carried a weapon on school property (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H12", + "short_description": "Percent of high school students who carried a weapon on school property.", + "long_description": "Weighted percentage of U.S. high school students who carried a weapon on school property, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H12). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_carried_weapon_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_carried_weapon_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_weapon_school_lcl": { + "id": "pct_carried_weapon_school_lcl", + "short_name": "Carried a weapon at school - lower 95% CI", + "long_name": "YRBSS: Carried a weapon on school property - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H12", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who carried a weapon on school property.", + "long_description": "Lower bound of the 95% confidence interval for pct_carried_weapon_school. Weighted percentage of U.S. high school students who carried a weapon on school property, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H12). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_carried_weapon_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_carried_weapon_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_weapon_school_ucl": { + "id": "pct_carried_weapon_school_ucl", + "short_name": "Carried a weapon at school - upper 95% CI", + "long_name": "YRBSS: Carried a weapon on school property - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H12", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who carried a weapon on school property.", + "long_description": "Upper bound of the 95% confidence interval for pct_carried_weapon_school. Weighted percentage of U.S. high school students who carried a weapon on school property, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H12). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_carried_weapon_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_carried_weapon_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_weapon_school_suppressed": { + "id": "pct_carried_weapon_school_suppressed", + "short_name": "Carried a weapon at school - suppressed flag", + "long_name": "YRBSS: Carried a weapon on school property - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H12", + "short_description": "1 if the estimate for 'pct_carried_weapon_school' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_carried_weapon_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_carried_weapon_school_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_weapon_school_not_asked": { + "id": "pct_carried_weapon_school_not_asked", + "short_name": "Carried a weapon at school - not-asked flag", + "long_name": "YRBSS: Carried a weapon on school property - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H12", + "short_description": "1 if 'pct_carried_weapon_school' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Carried a weapon on school property' was not part of the YRBSS survey for this geography and year, so pct_carried_weapon_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_carried_weapon_school_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_gun": { + "id": "pct_carried_gun", + "short_name": "Carried a gun", + "long_name": "YRBSS: Carried a gun (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H13", + "short_description": "Percent of high school students who carried a gun.", + "long_description": "Weighted percentage of U.S. high school students who carried a gun, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H13). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_carried_gun_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_carried_gun_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_gun_lcl": { + "id": "pct_carried_gun_lcl", + "short_name": "Carried a gun - lower 95% CI", + "long_name": "YRBSS: Carried a gun - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H13", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who carried a gun.", + "long_description": "Lower bound of the 95% confidence interval for pct_carried_gun. Weighted percentage of U.S. high school students who carried a gun, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H13). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_carried_gun_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_carried_gun_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_gun_ucl": { + "id": "pct_carried_gun_ucl", + "short_name": "Carried a gun - upper 95% CI", + "long_name": "YRBSS: Carried a gun - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H13", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who carried a gun.", + "long_description": "Upper bound of the 95% confidence interval for pct_carried_gun. Weighted percentage of U.S. high school students who carried a gun, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H13). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_carried_gun_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_carried_gun_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_gun_suppressed": { + "id": "pct_carried_gun_suppressed", + "short_name": "Carried a gun - suppressed flag", + "long_name": "YRBSS: Carried a gun - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H13", + "short_description": "1 if the estimate for 'pct_carried_gun' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_carried_gun (with its CI) was set to 0; 0 otherwise. Distinct from pct_carried_gun_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_carried_gun_not_asked": { + "id": "pct_carried_gun_not_asked", + "short_name": "Carried a gun - not-asked flag", + "long_name": "YRBSS: Carried a gun - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H13", + "short_description": "1 if 'pct_carried_gun' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Carried a gun' was not part of the YRBSS survey for this geography and year, so pct_carried_gun (with its CI) was set to 0; 0 otherwise. Distinct from pct_carried_gun_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unsafe_at_school": { + "id": "pct_unsafe_at_school", + "short_name": "Did not go to school, unsafe", + "long_name": "YRBSS: Did not go to school because they felt unsafe at school or on their way to or from school (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H14", + "short_description": "Percent of high school students who did not go to school because they felt unsafe at school or on their way to or from school.", + "long_description": "Weighted percentage of U.S. high school students who did not go to school because they felt unsafe at school or on their way to or from school, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H14). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_unsafe_at_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_unsafe_at_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unsafe_at_school_lcl": { + "id": "pct_unsafe_at_school_lcl", + "short_name": "Did not go to school, unsafe - lower 95% CI", + "long_name": "YRBSS: Did not go to school because they felt unsafe at school or on their way to or from school - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H14", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not go to school because they felt unsafe at school or on their way to or from school.", + "long_description": "Lower bound of the 95% confidence interval for pct_unsafe_at_school. Weighted percentage of U.S. high school students who did not go to school because they felt unsafe at school or on their way to or from school, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H14). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_unsafe_at_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_unsafe_at_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unsafe_at_school_ucl": { + "id": "pct_unsafe_at_school_ucl", + "short_name": "Did not go to school, unsafe - upper 95% CI", + "long_name": "YRBSS: Did not go to school because they felt unsafe at school or on their way to or from school - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H14", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not go to school because they felt unsafe at school or on their way to or from school.", + "long_description": "Upper bound of the 95% confidence interval for pct_unsafe_at_school. Weighted percentage of U.S. high school students who did not go to school because they felt unsafe at school or on their way to or from school, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H14). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_unsafe_at_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_unsafe_at_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unsafe_at_school_suppressed": { + "id": "pct_unsafe_at_school_suppressed", + "short_name": "Did not go to school, unsafe - suppressed flag", + "long_name": "YRBSS: Did not go to school because they felt unsafe at school or on their way to or from school - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H14", + "short_description": "1 if the estimate for 'pct_unsafe_at_school' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_unsafe_at_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_unsafe_at_school_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_unsafe_at_school_not_asked": { + "id": "pct_unsafe_at_school_not_asked", + "short_name": "Did not go to school, unsafe - not-asked flag", + "long_name": "YRBSS: Did not go to school because they felt unsafe at school or on their way to or from school - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H14", + "short_description": "1 if 'pct_unsafe_at_school' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not go to school because they felt unsafe at school or on their way to or from school' was not part of the YRBSS survey for this geography and year, so pct_unsafe_at_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_unsafe_at_school_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_threatened_weapon_school": { + "id": "pct_threatened_weapon_school", + "short_name": "Threatened with weapon at school", + "long_name": "YRBSS: Were threatened or injured with a weapon on school property (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H15", + "short_description": "Percent of high school students who were threatened or injured with a weapon on school property.", + "long_description": "Weighted percentage of U.S. high school students who were threatened or injured with a weapon on school property, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H15). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_threatened_weapon_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_threatened_weapon_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_threatened_weapon_school_lcl": { + "id": "pct_threatened_weapon_school_lcl", + "short_name": "Threatened with weapon at school - lower 95% CI", + "long_name": "YRBSS: Were threatened or injured with a weapon on school property - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H15", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who were threatened or injured with a weapon on school property.", + "long_description": "Lower bound of the 95% confidence interval for pct_threatened_weapon_school. Weighted percentage of U.S. high school students who were threatened or injured with a weapon on school property, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H15). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_threatened_weapon_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_threatened_weapon_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_threatened_weapon_school_ucl": { + "id": "pct_threatened_weapon_school_ucl", + "short_name": "Threatened with weapon at school - upper 95% CI", + "long_name": "YRBSS: Were threatened or injured with a weapon on school property - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H15", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who were threatened or injured with a weapon on school property.", + "long_description": "Upper bound of the 95% confidence interval for pct_threatened_weapon_school. Weighted percentage of U.S. high school students who were threatened or injured with a weapon on school property, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H15). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_threatened_weapon_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_threatened_weapon_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_threatened_weapon_school_suppressed": { + "id": "pct_threatened_weapon_school_suppressed", + "short_name": "Threatened with weapon at school - suppressed flag", + "long_name": "YRBSS: Were threatened or injured with a weapon on school property - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H15", + "short_description": "1 if the estimate for 'pct_threatened_weapon_school' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_threatened_weapon_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_threatened_weapon_school_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_threatened_weapon_school_not_asked": { + "id": "pct_threatened_weapon_school_not_asked", + "short_name": "Threatened with weapon at school - not-asked flag", + "long_name": "YRBSS: Were threatened or injured with a weapon on school property - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H15", + "short_description": "1 if 'pct_threatened_weapon_school' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Were threatened or injured with a weapon on school property' was not part of the YRBSS survey for this geography and year, so pct_threatened_weapon_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_threatened_weapon_school_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_at_school": { + "id": "pct_bullied_at_school", + "short_name": "Bullied on school property", + "long_name": "YRBSS: Were bullied on school property (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H24", + "short_description": "Percent of high school students who were bullied on school property.", + "long_description": "Weighted percentage of U.S. high school students who were bullied on school property, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H24). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_bullied_at_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_bullied_at_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_at_school_lcl": { + "id": "pct_bullied_at_school_lcl", + "short_name": "Bullied on school property - lower 95% CI", + "long_name": "YRBSS: Were bullied on school property - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H24", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who were bullied on school property.", + "long_description": "Lower bound of the 95% confidence interval for pct_bullied_at_school. Weighted percentage of U.S. high school students who were bullied on school property, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H24). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_bullied_at_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_bullied_at_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_at_school_ucl": { + "id": "pct_bullied_at_school_ucl", + "short_name": "Bullied on school property - upper 95% CI", + "long_name": "YRBSS: Were bullied on school property - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H24", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who were bullied on school property.", + "long_description": "Upper bound of the 95% confidence interval for pct_bullied_at_school. Weighted percentage of U.S. high school students who were bullied on school property, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H24). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_bullied_at_school_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_bullied_at_school_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_at_school_suppressed": { + "id": "pct_bullied_at_school_suppressed", + "short_name": "Bullied on school property - suppressed flag", + "long_name": "YRBSS: Were bullied on school property - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H24", + "short_description": "1 if the estimate for 'pct_bullied_at_school' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_bullied_at_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_bullied_at_school_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_at_school_not_asked": { + "id": "pct_bullied_at_school_not_asked", + "short_name": "Bullied on school property - not-asked flag", + "long_name": "YRBSS: Were bullied on school property - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H24", + "short_description": "1 if 'pct_bullied_at_school' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Were bullied on school property' was not part of the YRBSS survey for this geography and year, so pct_bullied_at_school (with its CI) was set to 0; 0 otherwise. Distinct from pct_bullied_at_school_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_electronic": { + "id": "pct_bullied_electronic", + "short_name": "Electronically bullied", + "long_name": "YRBSS: Were electronically bullied (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H25", + "short_description": "Percent of high school students who were electronically bullied.", + "long_description": "Weighted percentage of U.S. high school students who were electronically bullied, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H25). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_bullied_electronic_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_bullied_electronic_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_electronic_lcl": { + "id": "pct_bullied_electronic_lcl", + "short_name": "Electronically bullied - lower 95% CI", + "long_name": "YRBSS: Were electronically bullied - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H25", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who were electronically bullied.", + "long_description": "Lower bound of the 95% confidence interval for pct_bullied_electronic. Weighted percentage of U.S. high school students who were electronically bullied, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H25). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_bullied_electronic_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_bullied_electronic_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_electronic_ucl": { + "id": "pct_bullied_electronic_ucl", + "short_name": "Electronically bullied - upper 95% CI", + "long_name": "YRBSS: Were electronically bullied - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H25", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who were electronically bullied.", + "long_description": "Upper bound of the 95% confidence interval for pct_bullied_electronic. Weighted percentage of U.S. high school students who were electronically bullied, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H25). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_bullied_electronic_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_bullied_electronic_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_electronic_suppressed": { + "id": "pct_bullied_electronic_suppressed", + "short_name": "Electronically bullied - suppressed flag", + "long_name": "YRBSS: Were electronically bullied - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H25", + "short_description": "1 if the estimate for 'pct_bullied_electronic' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_bullied_electronic (with its CI) was set to 0; 0 otherwise. Distinct from pct_bullied_electronic_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_bullied_electronic_not_asked": { + "id": "pct_bullied_electronic_not_asked", + "short_name": "Electronically bullied - not-asked flag", + "long_name": "YRBSS: Were electronically bullied - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H25", + "short_description": "1 if 'pct_bullied_electronic' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Were electronically bullied' was not part of the YRBSS survey for this geography and year, so pct_bullied_electronic (with its CI) was set to 0; 0 otherwise. Distinct from pct_bullied_electronic_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_considered_suicide": { + "id": "pct_considered_suicide", + "short_name": "Seriously considered suicide", + "long_name": "YRBSS: Seriously considered attempting suicide (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H27", + "short_description": "Percent of high school students who seriously considered attempting suicide.", + "long_description": "Weighted percentage of U.S. high school students who seriously considered attempting suicide, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H27). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_considered_suicide_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_considered_suicide_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_considered_suicide_lcl": { + "id": "pct_considered_suicide_lcl", + "short_name": "Seriously considered suicide - lower 95% CI", + "long_name": "YRBSS: Seriously considered attempting suicide - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H27", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who seriously considered attempting suicide.", + "long_description": "Lower bound of the 95% confidence interval for pct_considered_suicide. Weighted percentage of U.S. high school students who seriously considered attempting suicide, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H27). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_considered_suicide_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_considered_suicide_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_considered_suicide_ucl": { + "id": "pct_considered_suicide_ucl", + "short_name": "Seriously considered suicide - upper 95% CI", + "long_name": "YRBSS: Seriously considered attempting suicide - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H27", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who seriously considered attempting suicide.", + "long_description": "Upper bound of the 95% confidence interval for pct_considered_suicide. Weighted percentage of U.S. high school students who seriously considered attempting suicide, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H27). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_considered_suicide_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_considered_suicide_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_considered_suicide_suppressed": { + "id": "pct_considered_suicide_suppressed", + "short_name": "Seriously considered suicide - suppressed flag", + "long_name": "YRBSS: Seriously considered attempting suicide - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H27", + "short_description": "1 if the estimate for 'pct_considered_suicide' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_considered_suicide (with its CI) was set to 0; 0 otherwise. Distinct from pct_considered_suicide_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_considered_suicide_not_asked": { + "id": "pct_considered_suicide_not_asked", + "short_name": "Seriously considered suicide - not-asked flag", + "long_name": "YRBSS: Seriously considered attempting suicide - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H27", + "short_description": "1 if 'pct_considered_suicide' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Seriously considered attempting suicide' was not part of the YRBSS survey for this geography and year, so pct_considered_suicide (with its CI) was set to 0; 0 otherwise. Distinct from pct_considered_suicide_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_planned_suicide": { + "id": "pct_planned_suicide", + "short_name": "Made a suicide plan", + "long_name": "YRBSS: Made a plan about how they would attempt suicide (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H28", + "short_description": "Percent of high school students who made a plan about how they would attempt suicide.", + "long_description": "Weighted percentage of U.S. high school students who made a plan about how they would attempt suicide, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H28). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_planned_suicide_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_planned_suicide_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_planned_suicide_lcl": { + "id": "pct_planned_suicide_lcl", + "short_name": "Made a suicide plan - lower 95% CI", + "long_name": "YRBSS: Made a plan about how they would attempt suicide - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H28", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who made a plan about how they would attempt suicide.", + "long_description": "Lower bound of the 95% confidence interval for pct_planned_suicide. Weighted percentage of U.S. high school students who made a plan about how they would attempt suicide, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H28). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_planned_suicide_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_planned_suicide_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_planned_suicide_ucl": { + "id": "pct_planned_suicide_ucl", + "short_name": "Made a suicide plan - upper 95% CI", + "long_name": "YRBSS: Made a plan about how they would attempt suicide - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H28", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who made a plan about how they would attempt suicide.", + "long_description": "Upper bound of the 95% confidence interval for pct_planned_suicide. Weighted percentage of U.S. high school students who made a plan about how they would attempt suicide, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H28). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_planned_suicide_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_planned_suicide_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_planned_suicide_suppressed": { + "id": "pct_planned_suicide_suppressed", + "short_name": "Made a suicide plan - suppressed flag", + "long_name": "YRBSS: Made a plan about how they would attempt suicide - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H28", + "short_description": "1 if the estimate for 'pct_planned_suicide' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_planned_suicide (with its CI) was set to 0; 0 otherwise. Distinct from pct_planned_suicide_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_planned_suicide_not_asked": { + "id": "pct_planned_suicide_not_asked", + "short_name": "Made a suicide plan - not-asked flag", + "long_name": "YRBSS: Made a plan about how they would attempt suicide - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H28", + "short_description": "1 if 'pct_planned_suicide' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Made a plan about how they would attempt suicide' was not part of the YRBSS survey for this geography and year, so pct_planned_suicide (with its CI) was set to 0; 0 otherwise. Distinct from pct_planned_suicide_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_attempted_suicide": { + "id": "pct_attempted_suicide", + "short_name": "Attempted suicide", + "long_name": "YRBSS: Actually attempted suicide (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H29", + "short_description": "Percent of high school students who actually attempted suicide.", + "long_description": "Weighted percentage of U.S. high school students who actually attempted suicide, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H29). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_attempted_suicide_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_attempted_suicide_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_attempted_suicide_lcl": { + "id": "pct_attempted_suicide_lcl", + "short_name": "Attempted suicide - lower 95% CI", + "long_name": "YRBSS: Actually attempted suicide - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H29", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who actually attempted suicide.", + "long_description": "Lower bound of the 95% confidence interval for pct_attempted_suicide. Weighted percentage of U.S. high school students who actually attempted suicide, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H29). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_attempted_suicide_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_attempted_suicide_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_attempted_suicide_ucl": { + "id": "pct_attempted_suicide_ucl", + "short_name": "Attempted suicide - upper 95% CI", + "long_name": "YRBSS: Actually attempted suicide - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H29", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who actually attempted suicide.", + "long_description": "Upper bound of the 95% confidence interval for pct_attempted_suicide. Weighted percentage of U.S. high school students who actually attempted suicide, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H29). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_attempted_suicide_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_attempted_suicide_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_attempted_suicide_suppressed": { + "id": "pct_attempted_suicide_suppressed", + "short_name": "Attempted suicide - suppressed flag", + "long_name": "YRBSS: Actually attempted suicide - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H29", + "short_description": "1 if the estimate for 'pct_attempted_suicide' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_attempted_suicide (with its CI) was set to 0; 0 otherwise. Distinct from pct_attempted_suicide_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_attempted_suicide_not_asked": { + "id": "pct_attempted_suicide_not_asked", + "short_name": "Attempted suicide - not-asked flag", + "long_name": "YRBSS: Actually attempted suicide - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H29", + "short_description": "1 if 'pct_attempted_suicide' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Actually attempted suicide' was not part of the YRBSS survey for this geography and year, so pct_attempted_suicide (with its CI) was set to 0; 0 otherwise. Distinct from pct_attempted_suicide_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_injurious_suicide_attempt": { + "id": "pct_injurious_suicide_attempt", + "short_name": "Injurious suicide attempt", + "long_name": "YRBSS: Had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H30", + "short_description": "Percent of high school students who had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse.", + "long_description": "Weighted percentage of U.S. high school students who had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H30). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_injurious_suicide_attempt_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_injurious_suicide_attempt_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_injurious_suicide_attempt_lcl": { + "id": "pct_injurious_suicide_attempt_lcl", + "short_name": "Injurious suicide attempt - lower 95% CI", + "long_name": "YRBSS: Had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H30", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse.", + "long_description": "Lower bound of the 95% confidence interval for pct_injurious_suicide_attempt. Weighted percentage of U.S. high school students who had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H30). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_injurious_suicide_attempt_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_injurious_suicide_attempt_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_injurious_suicide_attempt_ucl": { + "id": "pct_injurious_suicide_attempt_ucl", + "short_name": "Injurious suicide attempt - upper 95% CI", + "long_name": "YRBSS: Had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H30", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse.", + "long_description": "Upper bound of the 95% confidence interval for pct_injurious_suicide_attempt. Weighted percentage of U.S. high school students who had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H30). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_injurious_suicide_attempt_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_injurious_suicide_attempt_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_injurious_suicide_attempt_suppressed": { + "id": "pct_injurious_suicide_attempt_suppressed", + "short_name": "Injurious suicide attempt - suppressed flag", + "long_name": "YRBSS: Had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H30", + "short_description": "1 if the estimate for 'pct_injurious_suicide_attempt' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_injurious_suicide_attempt (with its CI) was set to 0; 0 otherwise. Distinct from pct_injurious_suicide_attempt_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_injurious_suicide_attempt_not_asked": { + "id": "pct_injurious_suicide_attempt_not_asked", + "short_name": "Injurious suicide attempt - not-asked flag", + "long_name": "YRBSS: Had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H30", + "short_description": "1 if 'pct_injurious_suicide_attempt' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Had a suicide attempt that resulted in an injury, poisoning, or overdose that had to be treated by a doctor or nurse' was not part of the YRBSS survey for this geography and year, so pct_injurious_suicide_attempt (with its CI) was set to 0; 0 otherwise. Distinct from pct_injurious_suicide_attempt_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_seatbelt": { + "id": "pct_no_seatbelt", + "short_name": "Did not always wear a seat belt", + "long_name": "YRBSS: Did not always wear a seat belt (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H8", + "short_description": "Percent of high school students who did not always wear a seat belt.", + "long_description": "Weighted percentage of U.S. high school students who did not always wear a seat belt, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H8). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_seatbelt_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_seatbelt_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_seatbelt_lcl": { + "id": "pct_no_seatbelt_lcl", + "short_name": "Did not always wear a seat belt - lower 95% CI", + "long_name": "YRBSS: Did not always wear a seat belt - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H8", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who did not always wear a seat belt.", + "long_description": "Lower bound of the 95% confidence interval for pct_no_seatbelt. Weighted percentage of U.S. high school students who did not always wear a seat belt, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H8). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_seatbelt_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_seatbelt_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_seatbelt_ucl": { + "id": "pct_no_seatbelt_ucl", + "short_name": "Did not always wear a seat belt - upper 95% CI", + "long_name": "YRBSS: Did not always wear a seat belt - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H8", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who did not always wear a seat belt.", + "long_description": "Upper bound of the 95% confidence interval for pct_no_seatbelt. Weighted percentage of U.S. high school students who did not always wear a seat belt, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H8). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_no_seatbelt_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_no_seatbelt_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_seatbelt_suppressed": { + "id": "pct_no_seatbelt_suppressed", + "short_name": "Did not always wear a seat belt - suppressed flag", + "long_name": "YRBSS: Did not always wear a seat belt - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H8", + "short_description": "1 if the estimate for 'pct_no_seatbelt' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_no_seatbelt (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_seatbelt_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_no_seatbelt_not_asked": { + "id": "pct_no_seatbelt_not_asked", + "short_name": "Did not always wear a seat belt - not-asked flag", + "long_name": "YRBSS: Did not always wear a seat belt - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H8", + "short_description": "1 if 'pct_no_seatbelt' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Did not always wear a seat belt' was not part of the YRBSS survey for this geography and year, so pct_no_seatbelt (with its CI) was set to 0; 0 otherwise. Distinct from pct_no_seatbelt_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_rode_drinking_driver": { + "id": "pct_rode_drinking_driver", + "short_name": "Rode with a drinking driver", + "long_name": "YRBSS: Rode with a driver who had been drinking alcohol (Unintentional Injuries and Violence)", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H9", + "short_description": "Percent of high school students who rode with a driver who had been drinking alcohol.", + "long_description": "Weighted percentage of U.S. high school students who rode with a driver who had been drinking alcohol, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H9). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_rode_drinking_driver_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_rode_drinking_driver_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_rode_drinking_driver_lcl": { + "id": "pct_rode_drinking_driver_lcl", + "short_name": "Rode with a drinking driver - lower 95% CI", + "long_name": "YRBSS: Rode with a driver who had been drinking alcohol - lower bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H9", + "short_description": "Lower bound of the 95% confidence interval for the percent of high school students who rode with a driver who had been drinking alcohol.", + "long_description": "Lower bound of the 95% confidence interval for pct_rode_drinking_driver. Weighted percentage of U.S. high school students who rode with a driver who had been drinking alcohol, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H9). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_rode_drinking_driver_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_rode_drinking_driver_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_rode_drinking_driver_ucl": { + "id": "pct_rode_drinking_driver_ucl", + "short_name": "Rode with a drinking driver - upper 95% CI", + "long_name": "YRBSS: Rode with a driver who had been drinking alcohol - upper bound of 95% confidence interval", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H9", + "short_description": "Upper bound of the 95% confidence interval for the percent of high school students who rode with a driver who had been drinking alcohol.", + "long_description": "Upper bound of the 95% confidence interval for pct_rode_drinking_driver. Weighted percentage of U.S. high school students who rode with a driver who had been drinking alcohol, from the CDC Youth Risk Behavior Surveillance System (YRBSS) (topic: Unintentional Injuries and Violence; YRBSS question code: H9). Estimates are reported overall and stratified (separately) by sex, race/ethnicity, and grade; grade is mapped to approximate modal ages (9th=14, 10th=15, 11th=16, 12th=17). Missing estimates are set to 0 and flagged: pct_rode_drinking_driver_suppressed = 1 marks values CDC suppressed (e.g., small sample size), and pct_rode_drinking_driver_not_asked = 1 marks geography-years in which the question was not asked. Note: New York state estimates exclude New York City.", + "measure_type": "Percent", + "unit": "Percent", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_rode_drinking_driver_suppressed": { + "id": "pct_rode_drinking_driver_suppressed", + "short_name": "Rode with a drinking driver - suppressed flag", + "long_name": "YRBSS: Rode with a driver who had been drinking alcohol - suppressed flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H9", + "short_description": "1 if the estimate for 'pct_rode_drinking_driver' was suppressed by CDC and set to 0; 0 otherwise.", + "long_description": "Flag indicating CDC suppression. 1 means the question was asked for this geography and year but CDC suppressed the estimate (e.g., insufficient sample size), and pct_rode_drinking_driver (with its CI) was set to 0; 0 otherwise. Distinct from pct_rode_drinking_driver_not_asked, which marks geography-years where the question was not asked at all.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "pct_rode_drinking_driver_not_asked": { + "id": "pct_rode_drinking_driver_not_asked", + "short_name": "Rode with a drinking driver - not-asked flag", + "long_name": "YRBSS: Rode with a driver who had been drinking alcohol - not-asked flag", + "category": "injury", + "topic": "Unintentional Injuries and Violence", + "question_code": "H9", + "short_description": "1 if 'pct_rode_drinking_driver' was not asked for this geography and year and set to 0; 0 otherwise.", + "long_description": "Flag indicating the question was not asked. 1 means 'Rode with a driver who had been drinking alcohol' was not part of the YRBSS survey for this geography and year, so pct_rode_drinking_driver (with its CI) was set to 0; 0 otherwise. Distinct from pct_rode_drinking_driver_suppressed, which marks estimates CDC suppressed.", + "measure_type": "Indicator", + "unit": "0/1 flag", + "time_resolution": "Year", + "sources": [ + { + "id": "yrbss" + } + ] + }, + "_sources": { + "yrbss": { + "name": "CDC Youth Risk Behavior Surveillance System (YRBSS)", + "url": "https://yrbs-explorer.services.cdc.gov/", + "date_accessed": 2025, + "organization": "Centers for Disease Control and Prevention", + "organization_url": "https://www.cdc.gov/yrbs/", + "description": "The Youth Risk Behavior Surveillance System (YRBSS) is a set of school-based surveys conducted by the CDC that monitor health-related behaviors among U.S. high school students. The biennial national, state, and local surveys provide weighted prevalence estimates of behaviors contributing to the leading causes of death and disability. Data were accessed via the YRBS Explorer API. Estimates are provided overall and stratified (separately, not crossed) by sex, race/ethnicity, and grade. Estimates that CDC suppressed (e.g., small sample sizes) are omitted rather than imputed. State estimates are available only for jurisdictions that share data with CDC; Minnesota, Oregon, and Washington are not included, and New York state excludes New York City.", + "restrictions": "Public domain. Suggested attribution: Centers for Disease Control and Prevention (CDC). Youth Risk Behavior Surveillance System (YRBSS)." + } + } +} diff --git a/data/yrbss/process.json b/data/yrbss/process.json new file mode 100644 index 00000000..affdd8c8 --- /dev/null +++ b/data/yrbss/process.json @@ -0,0 +1,11 @@ +{ + "raw_state": { + "sig": { + "years": [1991, 1993, 1995, 1997, 1999, 2001, 2003, 2005, 2007, 2009, 2011, 2013, 2015, 2017, 2019, 2021, 2023], + "questions": ["H10", "H11", "H12", "H13", "H14", "H15", "H24", "H25", "H27", "H28", "H29", "H30", "H31", "H33", "H35", "H36", "H38", "H42", "H43", "H46", "H47", "H48", "H49", "H50", "H51", "H52", "H53", "H54", "H55", "H75", "H76", "H77", "H78", "H79", "H8", "H80", "H84", "H85", "H86", "H9", "QNBK7DAY", "QNCLOSE2PEOPLE", "QNCURRENTOPIOID", "QNDLYPE", "QNFR0", "QNHALLUCDRUG", "QNILLICT", "QNMUSCLESTRENGTH", "QNPA0DAY", "QNPA7DAY", "QNVEG0"] + }, + "hash": "d800b478743301348913f50443e07b30" + }, + "type": "source", + "name": "." +} diff --git a/data/yrbss/raw/yrbss_chartdata.csv.gz b/data/yrbss/raw/yrbss_chartdata.csv.gz new file mode 100644 index 00000000..cb7ca44e Binary files /dev/null and b/data/yrbss/raw/yrbss_chartdata.csv.gz differ diff --git a/data/yrbss/standard/data_age.csv.gz b/data/yrbss/standard/data_age.csv.gz new file mode 100644 index 00000000..afa0a9fb Binary files /dev/null and b/data/yrbss/standard/data_age.csv.gz differ diff --git a/data/yrbss/standard/data_age_ethnicity.csv.gz b/data/yrbss/standard/data_age_ethnicity.csv.gz new file mode 100644 index 00000000..e2bb5ac6 Binary files /dev/null and b/data/yrbss/standard/data_age_ethnicity.csv.gz differ diff --git a/data/yrbss/standard/data_age_sex.csv.gz b/data/yrbss/standard/data_age_sex.csv.gz new file mode 100644 index 00000000..ce043153 Binary files /dev/null and b/data/yrbss/standard/data_age_sex.csv.gz differ diff --git a/scripts/validate_dataset.Rmd b/scripts/validate_dataset.Rmd new file mode 100644 index 00000000..cbc81cf9 --- /dev/null +++ b/scripts/validate_dataset.Rmd @@ -0,0 +1,826 @@ +--- +title: "PopHIVE Standard Dataset Validation Report" +author: "PopHIVE / Ingest" +date: "`r format(Sys.Date(), '%Y-%m-%d')`" +output: + html_document: + toc: true + toc_float: true + toc_depth: 3 + df_print: paged + code_folding: hide +params: + # ----- Required: the standardized file to validate ----------------------- + data_file: "data/nhtsa_crash/standard/data.csv.gz" + # ----- Optional: a previous version of the SAME dataset ------------------ + # Used to confirm the same demographic categories / measures still exist. + # If left blank, the script automatically pulls the previous committed + # version of the same file from git history (see git_compare below). + old_data_file: "" + # ----- Git history comparison -------------------------------------------- + # When old_data_file is blank, compare the current file against its prior + # git version (working-tree edits vs HEAD, else HEAD vs the commit before). + git_compare: true + # Optionally pin the previous version to a specific git ref (commit/tag). + git_ref: "" + # ----- Optional: a different source capturing SIMILAR data --------------- + # Used to overlay national trends for comparison. + compare_file: "data/wisqars/standard/data.csv.gz" + compare_label: "Comparison source" + # Optional manual measure mapping (parallel comma-separated lists). Leave + # blank to auto-match measures that share the same column name. + main_measures: "nhtsa_fatality_rate" + compare_measures: "wisqars_rate_motor_vehicle_traffic" + # ----- Paths / behaviour ------------------------------------------------- + project_root: ".." # resolved relative to this .Rmd's directory + n_states: 5 # number of random states for the time-series section + n_map_measures: 5 # max measures to map (random sample if more exist) + make_maps: true # set FALSE to skip choropleths (no internet needed) + seed: 1 # for reproducible random state / measure selection +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set( + echo = TRUE, message = FALSE, warning = FALSE, + fig.width = 14, fig.height = 6, dpi = 110 +) + +# Faceted small-multiples are drawn 4 panels per row; this gives the figure +# height (inches) needed for `n` panels so each panel stays large and legible. +FACET_NCOL <- 4 +facet_height <- function(n, ncol = FACET_NCOL, per = 2.4, base = 1.4) { + ceiling(max(n, 1) / ncol) * per + base +} + +suppressPackageStartupMessages({ + library(dplyr) + library(tidyr) + library(vroom) + library(ggplot2) + library(scales) + library(knitr) +}) + +set.seed(params$seed) + +# Resolve project root and a helper that turns a project-root-relative path +# into an absolute one. Paths in params are relative to project_root. +PROJECT_ROOT <- normalizePath(params$project_root, mustWork = FALSE) +proj_path <- function(p) { + if (is.null(p) || !nzchar(p)) return("") + if (file.exists(p)) return(normalizePath(p, mustWork = FALSE)) + normalizePath(file.path(PROJECT_ROOT, p), mustWork = FALSE) +} + +# --------------------------------------------------------------------------- +# Column-role detection. The standard format uses a small, known set of id / +# demographic columns; everything numeric beyond them is a "measure". Measures +# are sub-classified by suffix into value / confidence-bound / flag columns. +# --------------------------------------------------------------------------- +ID_COLS <- c("geography", "time") +DEMO_COLS <- c("age", "sex", "race_ethnicity", "race", "ethnicity", "virus") + +BOUND_RE <- "_(lcl|ucl|lower|upper|lb|ub|ci_lower|ci_upper|low|high)$" +FLAG_RE <- "_(suppressed|suppression|not_asked|not_collected|not_reported|flag|missing|imputed)$" + +classify_columns <- function(d) { + nms <- names(d) + demo <- intersect(DEMO_COLS, nms) + # any extra non-numeric, non-id column is treated as an additional stratifier + extra_demo <- setdiff( + nms[vapply(d, function(x) is.character(x) || is.factor(x), logical(1))], + c(ID_COLS, demo) + ) + demo <- c(demo, extra_demo) + measure_cols <- setdiff(nms, c(ID_COLS, demo)) + measure_cols <- measure_cols[vapply(d[measure_cols], is.numeric, logical(1))] + bounds <- grep(BOUND_RE, measure_cols, value = TRUE) + flags <- grep(FLAG_RE, measure_cols, value = TRUE) + values <- setdiff(measure_cols, c(bounds, flags)) + list(id = intersect(ID_COLS, nms), demo = demo, + values = values, bounds = bounds, flags = flags) +} + +# Representative ("overall") level of a demographic column: a recognised total +# label if present, otherwise the most frequent level. Returned with a flag for +# whether it is a true "Overall"-type label so we can annotate plots honestly. +OVERALL_LABELS <- c("Overall", "Total", "All", "All ages", "All Ages", + "All races", "Both sexes") +representative_level <- function(x) { + lv <- unique(stats::na.omit(x)) + hit <- intersect(OVERALL_LABELS, lv) + if (length(hit)) return(list(level = hit[1], is_overall = TRUE)) + tab <- sort(table(x), decreasing = TRUE) + list(level = names(tab)[1], is_overall = FALSE) +} + +# Filter a data frame so every demographic column (except `keep`) is held at its +# representative level. Returns the filtered frame plus a note of what was held. +hold_overall <- function(d, demo, keep = character(0)) { + notes <- character(0) + for (col in setdiff(demo, keep)) { + rep <- representative_level(d[[col]]) + d <- d[d[[col]] == rep$level, , drop = FALSE] + if (!rep$is_overall) notes <- c(notes, sprintf("%s = %s", col, rep$level)) + } + attr(d, "held_notes") <- notes + d +} + +fmt_pct <- function(x) sprintf("%.1f%%", 100 * x) + +# --------------------------------------------------------------------------- +# Git history: extract the previous committed version of the SAME data file so +# its variables and demographic levels can be diffed automatically. Returns +# NULL if git is unavailable, the file is untracked, or there is no distinct +# prior version. Otherwise list(path = , ref, meta). +# --------------------------------------------------------------------------- +git_lines <- function(args) { + out <- suppressWarnings(tryCatch( + system2("git", args, stdout = TRUE, stderr = FALSE), + error = function(e) character(0))) + if (length(out) && any(grepl("^fatal", out))) character(0) else out +} + +extract_git_version <- function(data_path, ref_hint = "") { + if (!nzchar(Sys.which("git"))) return(NULL) + dpath <- normalizePath(data_path, winslash = "/", mustWork = FALSE) + root <- git_lines(c("-C", shQuote(dirname(dpath)), "rev-parse", "--show-toplevel")) + if (!length(root)) return(NULL) + root <- normalizePath(root[1], winslash = "/", mustWork = FALSE) + relpath <- if (startsWith(dpath, paste0(root, "/"))) + substring(dpath, nchar(root) + 2) else basename(dpath) + + log <- git_lines(c("-C", shQuote(root), "log", "--format=%H|%ad|%s", + "--date=short", "--", shQuote(relpath))) + if (!length(log)) return(NULL) # untracked / no history + parts <- strsplit(log, "|", fixed = TRUE) + + # Does the working tree differ from HEAD for this file? + diff_rc <- suppressWarnings(system2( + "git", c("-C", shQuote(root), "diff", "--quiet", "HEAD", "--", shQuote(relpath)), + stdout = FALSE, stderr = FALSE)) + + if (nzchar(ref_hint)) { + prev_ref <- ref_hint + prev_meta <- ref_hint + } else if (length(diff_rc) && diff_rc != 0) { # uncommitted edits -> vs HEAD + prev_ref <- parts[[1]][1] + prev_meta <- sprintf("HEAD %s (%s) — %s", substr(parts[[1]][1], 1, 8), + parts[[1]][2], parts[[1]][3]) + } else if (length(parts) >= 2) { # committed -> vs prior commit + prev_ref <- parts[[2]][1] + prev_meta <- sprintf("%s (%s) — %s", substr(parts[[2]][1], 1, 8), + parts[[2]][2], parts[[2]][3]) + } else { + return(NULL) # only one version ever + } + + tmp <- tempfile(fileext = ".csv.gz") + suppressWarnings(tryCatch(system2( + "git", c("-C", shQuote(root), "show", shQuote(paste0(prev_ref, ":", relpath))), + stdout = tmp, stderr = FALSE), error = function(e) NULL)) + if (!file.exists(tmp) || file.size(tmp) == 0) return(NULL) + list(path = tmp, ref = prev_ref, meta = prev_meta) +} +``` + +```{r load-data} +data_path <- proj_path(params$data_file) +stopifnot("data_file does not exist" = file.exists(data_path)) + +# Read with geography + time forced to character so FIPS leading zeros survive. +dat <- vroom( + data_path, show_col_types = FALSE, + col_types = cols(geography = "c", time = "c") +) +roles <- classify_columns(dat) +``` + +# 1. Overview {#overview} + +```{r overview, results='asis'} +cat(sprintf("- **File:** `%s`\n", params$data_file)) +cat(sprintf("- **Rows:** %s    **Columns:** %s\n", + format(nrow(dat), big.mark = ","), ncol(dat))) +cat(sprintf("- **ID columns:** %s\n", paste(roles$id, collapse = ", "))) +cat(sprintf("- **Demographic columns:** %s\n", + if (length(roles$demo)) paste(roles$demo, collapse = ", ") else "_none_")) +cat(sprintf("- **Value measures (%d):** %s\n", length(roles$values), + paste(roles$values, collapse = ", "))) + +# Confidence-bound / flag coverage: rather than listing every bound/flag column, +# check whether any value measure is MISSING its bounds or flag (only meaningful +# if the dataset uses them at all). +parent_of <- function(cols, re) unique(sub(re, "", cols)) +meas_with_bounds <- intersect(roles$values, parent_of(roles$bounds, BOUND_RE)) +meas_with_flags <- intersect(roles$values, parent_of(roles$flags, FLAG_RE)) + +if (length(roles$bounds) == 0) { + cat("- **Confidence bounds:** none present (not applicable)\n") +} else { + miss <- setdiff(roles$values, meas_with_bounds) + cat(sprintf("- **Confidence bounds:** %d/%d value measures have them%s\n", + length(meas_with_bounds), length(roles$values), + if (length(miss)) + sprintf(" — **missing for:** %s", paste(miss, collapse = ", ")) + else " (all present)")) +} +if (length(roles$flags) == 0) { + cat("- **Flag columns:** none present (not applicable)\n") +} else { + miss <- setdiff(roles$values, meas_with_flags) + cat(sprintf("- **Flag columns:** %d/%d value measures have at least one flag%s\n", + length(meas_with_flags), length(roles$values), + if (length(miss)) + sprintf(" — **missing for:** %s", paste(miss, collapse = ", ")) + else " (all present)")) +} + +# Geographic coverage +gl <- nchar(dat$geography) +geo_levels <- c("national (00)" = sum(dat$geography == "00"), + "state (2-digit)" = sum(gl == 2 & dat$geography != "00"), + "county (5-digit)" = sum(gl == 5)) +geo_levels <- geo_levels[geo_levels > 0] +cat(sprintf("- **Geographic coverage:** %s\n", + paste(sprintf("%s rows %s", format(geo_levels, big.mark=","), names(geo_levels)), + collapse = "; "))) +cat(sprintf("- **Time range:** %s to %s (%d distinct periods)\n", + min(dat$time), max(dat$time), length(unique(dat$time)))) +``` + +## Format checks + +```{r overview-format-checks, results='asis'} +# Basic standard-format sanity checks on the id columns. +bad_geo <- dat$geography[!grepl("^[0-9]{2}$|^[0-9]{5}$", dat$geography)] +cat(sprintf("- Geography codes are valid FIPS (2- or 5-digit): %s\n", + if (length(bad_geo) == 0) "PASS" else + sprintf("FAIL (%d bad, e.g. %s)", length(bad_geo), + paste(head(unique(bad_geo), 5), collapse=", ")))) +parsed <- suppressWarnings(as.Date(dat$time)) +cat(sprintf("- Time parses as YYYY-mm-dd date: %s\n", + if (!any(is.na(parsed))) "PASS" else + sprintf("FAIL (%d unparseable)", sum(is.na(parsed))))) +dups <- dat %>% count(across(all_of(c(roles$id, roles$demo)))) %>% filter(n > 1) +cat(sprintf("- Unique rows per geography/time/demographics: %s\n", + if (nrow(dups) == 0) "PASS" else sprintf("FAIL (%d duplicate keys)", nrow(dups)))) +``` + +# 2. Demographic categories {#categories} + +For every demographic variable, the number of categories and the categories +themselves. A previous version is then compared to confirm nothing was silently +added or dropped: either the file named in `old_data_file`, or — when that is +blank — the **previous version of this same file pulled from git history** +(working-tree edits vs the last commit, otherwise the last commit vs the one +before it). + +```{r categories} +if (length(roles$demo) == 0) { + cat("_No demographic columns in this dataset._\n") +} else { + cat_tab <- lapply(roles$demo, function(col) { + lv <- sort(unique(as.character(dat[[col]]))) + data.frame(variable = col, n_categories = length(lv), + categories = paste(lv, collapse = " | "), + stringsAsFactors = FALSE) + }) + kable(bind_rows(cat_tab), caption = "Demographic categories in the new dataset") +} +``` + +```{r categories-compare, results='asis'} +# Prefer an explicit old_data_file; otherwise fall back to the previous git +# version of the same file. +old_path <- proj_path(params$old_data_file) +old_label <- NULL +git_info <- NULL +if (nzchar(old_path) && file.exists(old_path)) { + old_label <- sprintf("`%s`", params$old_data_file) +} else if (isTRUE(params$git_compare)) { + git_info <- extract_git_version(data_path, params$git_ref) + if (!is.null(git_info)) { + old_path <- git_info$path + old_label <- paste0("its previous **git** version: ", git_info$meta) + } +} + +if (!is.null(old_label) && file.exists(old_path)) { + old <- vroom(old_path, show_col_types = FALSE, + col_types = cols(geography = "c", time = "c")) + old_roles <- classify_columns(old) + + cat("## Comparison with previous version\n\n") + cat(sprintf("Comparing the current file against %s.\n\n", old_label)) + + # --- did the data change at all? (signed change new-old, then the old total) --- + sgn <- function(x) paste0(if (x > 0) "+" else "", format(x, big.mark = ",")) + cat(sprintf("- **Dimensions:** %s rows / %s cols vs previous (previous had %s rows / %d cols)%s\n\n", + sgn(nrow(dat) - nrow(old)), sgn(ncol(dat) - ncol(old)), + format(nrow(old), big.mark = ","), ncol(old), + if (nrow(dat) == nrow(old) && identical(sort(names(dat)), sort(names(old)))) + " — same shape & columns" else " — **changed**")) + + # --- demographic category comparison --- + shared_demo <- intersect(roles$demo, old_roles$demo) + cmp <- lapply(shared_demo, function(col) { + new_lv <- sort(unique(as.character(dat[[col]]))) + old_lv <- sort(unique(as.character(old[[col]]))) + added <- setdiff(new_lv, old_lv) + removed <- setdiff(old_lv, new_lv) + data.frame( + variable = col, + n_new = length(new_lv), n_old = length(old_lv), + added = if (length(added)) paste(added, collapse = " | ") else "-", + removed = if (length(removed)) paste(removed, collapse = " | ") else "-", + match = if (!length(added) && !length(removed)) "OK" else "DIFF", + stringsAsFactors = FALSE + ) + }) + if (length(cmp)) + print(kable(bind_rows(cmp), + caption = "Category changes vs. previous version (added/removed levels)")) + + only_new_demo <- setdiff(roles$demo, old_roles$demo) + only_old_demo <- setdiff(old_roles$demo, roles$demo) + if (length(only_new_demo)) + cat(sprintf("\n- **Demographic columns only in NEW:** %s\n", paste(only_new_demo, collapse=", "))) + if (length(only_old_demo)) + cat(sprintf("\n- **Demographic columns only in OLD:** %s\n", paste(only_old_demo, collapse=", "))) + + # --- measure (value-column) comparison --- + added_m <- setdiff(roles$values, old_roles$values) + removed_m <- setdiff(old_roles$values, roles$values) + cat("\n\n**Value measures:** ") + cat(sprintf("%d new, %d old. ", length(added_m), length(old_roles$values))) + cat(if (!length(added_m) && !length(removed_m)) "Identical set.\n" else + sprintf("Added: %s. Removed: %s.\n", + if (length(added_m)) paste(added_m, collapse=", ") else "none", + if (length(removed_m)) paste(removed_m, collapse=", ") else "none")) +} else if (nzchar(proj_path(params$old_data_file))) { + cat("_`old_data_file` was supplied but could not be found, skipping category comparison._\n") +} else if (isTRUE(params$git_compare)) { + cat("_No `old_data_file` supplied and no distinct prior version of this file was found in git history (untracked, only one commit, or git unavailable), skipping comparison._\n") +} else { + cat("_No previous version supplied and git comparison disabled, skipping category comparison._\n") +} +``` + +# 3. Missing / NA values {#missing} + +Per-column NA counts and percentages. For datasets that encode missingness with +flag columns (e.g. `_suppressed`, `_not_collected`), value measures that are +**>50% suppressed** or **>50% not asked / collected** are listed below, with the +contributing flag(s) — these are the variables with the sparsest real data. + +```{r missing-na} +na_tab <- data.frame( + column = names(dat), + n_missing = vapply(dat, function(x) sum(is.na(x)), integer(1)), + stringsAsFactors = FALSE +) +na_tab$pct_missing <- fmt_pct(na_tab$n_missing / nrow(dat)) +na_with <- na_tab[na_tab$n_missing > 0, ] +if (nrow(na_with) == 0) { + cat("**No NA values found in any column.**\n\n") +} else { + kable(na_with[order(-na_with$n_missing), ], row.names = FALSE, + caption = "Columns containing NA values") +} +``` + +```{r missing-flags, results='asis'} +if (!length(roles$flags)) { + cat("_No flag columns in this dataset._\n") +} else { + flag_parent <- sub(FLAG_RE, "", roles$flags) + # Share of rows in which ANY of the given flag columns is 1. + pct_any <- function(cols) { + if (!length(cols)) return(0) + hit <- Reduce(`|`, lapply(cols, function(c) { + v <- suppressWarnings(as.numeric(dat[[c]])); !is.na(v) & v == 1 + })) + mean(hit) + } + fl <- bind_rows(lapply(roles$values, function(m) { + supp_cols <- roles$flags[flag_parent == m & grepl("suppress", roles$flags)] + miss_cols <- roles$flags[flag_parent == m & + grepl("not_asked|not_collected|not_reported", roles$flags)] + data.frame(variable = m, + pct_not_asked = pct_any(miss_cols), + pct_suppressed = pct_any(supp_cols), + stringsAsFactors = FALSE) + })) + + flagged_vars <- fl %>% filter(pct_not_asked > 0.5 | pct_suppressed > 0.5) + if (nrow(flagged_vars) == 0) { + cat("**No value measure is >50% suppressed or >50% not asked / collected.**\n\n") + } else { + out <- flagged_vars %>% + rowwise() %>% + mutate(contributing_flag = paste(c( + if (pct_not_asked > 0.5) sprintf("not asked / collected (%s)", fmt_pct(pct_not_asked)), + if (pct_suppressed > 0.5) sprintf("suppressed (%s)", fmt_pct(pct_suppressed)) + ), collapse = "; ")) %>% + ungroup() %>% + arrange(desc(pmax(pct_not_asked, pct_suppressed))) %>% + transmute(variable, + pct_not_asked = fmt_pct(pct_not_asked), + pct_suppressed = fmt_pct(pct_suppressed), + contributing_flag) + print(kable(out, row.names = FALSE, + caption = sprintf("%d value measure(s) >50%% suppressed or >50%% not asked / collected", + nrow(out)))) + } +} +``` + +# 4. National & state time series {#timeseries} + +National trends, shown overall and stratified by each demographic, plus +`r params$n_states` randomly selected states (overall). Confidence-bound and +flag columns are excluded. Where a demographic has no true "Overall" level, the +other demographics are held at their most common level (noted in each title). + +Observations that were **suppressed or not asked/collected** (flagged 1 in a +`_suppressed` / `_not_asked` / `_not_collected` column, with the value typically +imputed to 0) are drawn as **hollow points but dropped from the connecting +line**, so imputed zeros do not distort the trend. + +```{r ts-helpers} +plot_measures <- roles$values +demo_cols <- roles$demo + +# Flag columns belonging to a given value measure (e.g. measure_suppressed). +measure_flag_cols <- function(m) { + if (!length(roles$flags)) return(character(0)) + roles$flags[sub(FLAG_RE, "", roles$flags) == m] +} + +# Per-row logical: was this measure suppressed / not asked / not collected? +# (any of the measure's flag columns equal to 1). +flagged_vec <- function(d, m) { + fcs <- measure_flag_cols(m) + if (!length(fcs)) return(rep(FALSE, nrow(d))) + mat <- vapply(fcs, function(fc) { + v <- suppressWarnings(as.numeric(d[[fc]])) + !is.na(v) & v == 1 + }, logical(nrow(d))) + rowSums(matrix(mat, nrow = nrow(d))) > 0 +} + +# Long-format a held subset and draw faceted trends. Flagged (suppressed / +# not-asked) observations are shown as hollow points but excluded from the line. +trend_plot <- function(d, color_col, title, subtitle = NULL) { + if (nrow(d) == 0 || length(plot_measures) == 0) return(invisible(NULL)) + keys <- c("time", if (!is.null(color_col)) color_col) + + val_long <- d %>% + select(all_of(keys), all_of(plot_measures)) %>% + pivot_longer(all_of(plot_measures), names_to = "measure", values_to = "value") + + # Build the flagged indicator in the SAME row/measure order as val_long. + flag_df <- as.data.frame( + vapply(plot_measures, function(m) flagged_vec(d, m), logical(nrow(d))) + ) + names(flag_df) <- plot_measures + flag_long <- bind_cols(d %>% select(all_of(keys)), flag_df) %>% + pivot_longer(all_of(plot_measures), names_to = "measure", values_to = "flagged") + + long <- val_long %>% + mutate(flagged = flag_long$flagged, time = as.Date(time)) %>% + filter(!is.na(value)) %>% + mutate(value_line = ifelse(flagged, NA_real_, value)) # NA breaks the line + if (nrow(long) == 0) return(invisible(NULL)) + + p <- if (is.null(color_col)) ggplot(long, aes(x = time)) else + ggplot(long, aes(x = time, color = .data[[color_col]], group = .data[[color_col]])) + + # Line: only connects unflagged values. Solid points: real values. + p <- p + + geom_line(aes(y = value_line), linewidth = 0.6, na.rm = TRUE) + + geom_point(data = long[!long$flagged, , drop = FALSE], + aes(y = value), size = 0.9, na.rm = TRUE) + # Hollow points: suppressed / not-asked values (shown, but not on the line). + if (any(long$flagged)) { + p <- p + + geom_point(data = long[long$flagged, , drop = FALSE], + aes(y = value, shape = "suppressed / not asked"), + size = 1.5, stroke = 0.5, fill = NA, na.rm = TRUE) + + scale_shape_manual(values = c("suppressed / not asked" = 21), name = NULL) + } + p <- p + + facet_wrap(~measure, scales = "free_y", ncol = FACET_NCOL) + + labs(title = title, subtitle = subtitle, x = NULL, y = NULL, + color = color_col) + + theme_bw(base_size = 11) + + theme(legend.position = "bottom", + plot.title = element_text(face = "bold"), + strip.text = element_text(size = 9), + axis.text.x = element_text(angle = 45, hjust = 1)) + print(p) +} + +held_subtitle <- function(d) { + n <- attr(d, "held_notes") + if (length(n)) paste0("Held at: ", paste(n, collapse = "; ")) else NULL +} +``` + +```{r ts-national, results='asis', fig.width=14, fig.height=facet_height(length(roles$values))} +nat <- dat %>% filter(geography == "00") +if (nrow(nat) == 0) { + cat("_No national (geography == \"00\") rows; skipping national trends._\n") +} else { + cat("## National — overall\n\n") + nat_overall <- hold_overall(nat, demo_cols) + trend_plot(nat_overall, NULL, "National overall trend", + held_subtitle(nat_overall)) + + for (col in demo_cols) { + if (length(unique(nat[[col]])) < 2) next + cat(sprintf("\n\n## National — by %s\n\n", col)) + sub <- hold_overall(nat, demo_cols, keep = col) + trend_plot(sub, col, sprintf("National trend by %s", col), + held_subtitle(sub)) + } +} +``` + +```{r ts-states, results='asis', fig.width=14, fig.height=facet_height(length(roles$values))} +state_codes <- dat %>% + filter(nchar(geography) == 2, geography != "00") %>% + distinct(geography) %>% pull(geography) + +if (length(state_codes) == 0) { + cat("_No state-level rows; skipping state trends._\n") +} else { + pick <- sort(sample(state_codes, min(params$n_states, length(state_codes)))) + # Friendly state names from the FIPS crosswalk, if available. + fips_path <- proj_path("resources/all_fips.csv.gz") + lab <- pick + if (file.exists(fips_path)) { + fips <- vroom(fips_path, show_col_types = FALSE, + col_types = cols(geography = "c")) + nm <- fips$geography_name[match(pick, fips$geography)] + lab <- ifelse(is.na(nm), pick, paste0(nm, " (", pick, ")")) + } + cat(sprintf("## %d random states — overall\n\n", length(pick))) + cat(sprintf("States: %s\n\n", paste(lab, collapse = ", "))) + + st <- dat %>% filter(geography %in% pick) + st <- hold_overall(st, demo_cols) # overall demographics only + st$geography <- factor(st$geography, levels = pick, labels = lab) + trend_plot(st, "geography", "State trends (overall)", held_subtitle(st)) +} +``` + +# 5. Choropleth maps {#maps} + +For up to `r params$n_map_measures` measures, each map shows **4 random years in a +2×2 grid** (overall demographics). Cells that were **suppressed are white +with a diagonal hatch** and cells **not asked / not collected that year are solid +black** (shown in the legend); other cells use the viridis value scale and cells +with no data are grey. State maps use 2-digit FIPS; county maps use 5-digit FIPS. +AK, HI and territories are dropped for display. + +```{r maps, results='asis', fig.width=11, fig.height=8.5, eval=params$make_maps} +map_ok <- requireNamespace("sf", quietly = TRUE) && + requireNamespace("tigris", quietly = TRUE) + +if (!map_ok) { + cat("_`sf`/`tigris` not available; skipping maps._\n") +} else { + suppressPackageStartupMessages({ library(sf); library(tigris) }) + options(tigris_use_cache = TRUE) + DROP_ST <- c("02", "15", "60", "66", "69", "72", "78") # AK, HI, territories + + # choose measures to map + map_measures <- roles$values + if (length(map_measures) > params$n_map_measures) + map_measures <- sort(sample(map_measures, params$n_map_measures)) + + # choose up to 4 random years (shared across measures for comparability) + all_times <- sort(unique(dat$time)) + map_times <- sort(sample(all_times, min(4, length(all_times)))) + + base <- dat %>% filter(time %in% map_times) %>% hold_overall(demo_cols) + + has_ggnewscale <- requireNamespace("ggnewscale", quietly = TRUE) + has_ggpattern <- requireNamespace("ggpattern", quietly = TRUE) + FLAG_FILL <- c("Suppressed" = "white", "Not asked / collected" = "black") + # Suppressed cells also get a diagonal hatch so white doesn't read as a high + # viridis value; not-asked cells stay solid black. + FLAG_PATTERN <- c("Suppressed" = "stripe", "Not asked / collected" = "none") + # Flagged cells get a grey border so white (suppressed) cells stay visible + # against the white page background. + FLAG_BORDER <- "grey50" + + # For one measure, build a geometry x year grid and draw a 2x2 (year) facet. + # Suppressed cells are filled red and not-asked/not-collected cells yellow + # (on top of the viridis value scale, via a second fill scale). + draw_maps <- function(geoms, df, level_label) { + for (m in map_measures) { + fcs <- measure_flag_cols(m) + supp_col <- fcs[grepl("suppress", fcs)] + miss_col <- fcs[grepl("not_asked|not_collected|not_reported", fcs)] + + sub <- df %>% + transmute( + geography, time, + value = .data[[m]], + supp = if (length(supp_col)) as.numeric(.data[[supp_col[1]]]) == 1 else FALSE, + miss = if (length(miss_col)) as.numeric(.data[[miss_col[1]]]) == 1 else FALSE + ) + if (all(is.na(sub$value)) && !any(sub$supp, na.rm = TRUE) && + !any(sub$miss, na.rm = TRUE)) next + + md <- expand.grid(geography = geoms$geography, time = map_times, + stringsAsFactors = FALSE) %>% + left_join(sub, by = c("geography", "time")) %>% + mutate(flag_label = case_when( + coalesce(supp, FALSE) ~ "Suppressed", + coalesce(miss, FALSE) ~ "Not asked / collected", + TRUE ~ NA_character_ + )) %>% + left_join(geoms, by = "geography") %>% + sf::st_as_sf() %>% + mutate(year = factor(substr(time, 1, 4), + levels = substr(map_times, 1, 4))) + + md_norm <- md %>% filter(is.na(flag_label)) + md_flag <- md %>% filter(!is.na(flag_label)) %>% + mutate(flag_label = factor(flag_label, levels = names(FLAG_FILL))) + + # Base layer: viridis value scale (flagged cells excluded -> drawn below). + p <- ggplot() + + geom_sf(data = md_norm, aes(fill = value), + color = "white", linewidth = 0.08) + + scale_fill_viridis_c(option = "viridis", trans = "sqrt", + na.value = "grey85", labels = label_number(), + name = "value") + + # Overlay layer: suppressed (red) / not-asked (yellow), with its own scale. + if (nrow(md_flag) > 0 && has_ggnewscale && has_ggpattern) { + # White suppressed cells get a diagonal hatch; not-asked stay solid + # black. fill + pattern both keyed to flag_label -> one merged legend. + p <- p + ggnewscale::new_scale_fill() + + ggpattern::geom_sf_pattern( + data = md_flag, aes(fill = flag_label, pattern = flag_label), + pattern_fill = "grey20", pattern_colour = NA, + pattern_density = 0.3, pattern_spacing = 0.018, pattern_angle = 45, + colour = FLAG_BORDER, linewidth = 0.08) + + scale_fill_manual(values = FLAG_FILL, name = NULL, drop = TRUE) + + ggpattern::scale_pattern_manual(values = FLAG_PATTERN, name = NULL, drop = TRUE) + } else if (nrow(md_flag) > 0 && has_ggnewscale) { + # No ggpattern: solid white/black fills, still with a legend. + p <- p + ggnewscale::new_scale_fill() + + geom_sf(data = md_flag, aes(fill = flag_label), + color = FLAG_BORDER, linewidth = 0.08) + + scale_fill_manual(values = FLAG_FILL, name = NULL, drop = TRUE) + } else if (nrow(md_flag) > 0) { + # Neither helper: constant fills + a caption instead of a legend. + p <- p + + geom_sf(data = md_flag %>% filter(flag_label == "Suppressed"), + fill = FLAG_FILL[["Suppressed"]], color = FLAG_BORDER, linewidth = 0.08) + + geom_sf(data = md_flag %>% filter(flag_label == "Not asked / collected"), + fill = FLAG_FILL[["Not asked / collected"]], color = FLAG_BORDER, linewidth = 0.08) + } + + cap <- if (nrow(md_flag) > 0 && !has_ggnewscale) + "White (hatched) = suppressed; black = not asked / collected (install 'ggnewscale'/'ggpattern' for a legend)." else NULL + + p <- p + + facet_wrap(~year, ncol = 2) + + coord_sf(crs = 5070, datum = NA) + + labs(title = sprintf("%s — %s", m, level_label), caption = cap) + + theme_void(base_size = 11) + + theme(plot.title = element_text(face = "bold", hjust = 0.5, size = 12), + plot.caption = element_text(hjust = 0.5, color = "grey40", size = 8), + strip.text = element_text(face = "bold", size = 11), + legend.position = "right") + print(p) + } + } + + # ---- state maps ---- + state_df <- base %>% filter(nchar(geography) == 2, geography != "00") + if (nrow(state_df) > 0) { + cat(sprintf("## State maps (%d measures; years %s)\n\n", + length(map_measures), paste(substr(map_times, 1, 4), collapse = ", "))) + states_sf <- tryCatch( + tigris::states(cb = TRUE, resolution = "5m", year = 2022, + progress_bar = FALSE) %>% + filter(!STATEFP %in% DROP_ST) %>% + transmute(geography = as.character(GEOID)), + error = function(e) { cat("_Could not fetch state geometry: ", conditionMessage(e), "_\n"); NULL }) + if (!is.null(states_sf)) draw_maps(states_sf, state_df, "state") + } + + # ---- county maps ---- + county_df <- base %>% filter(nchar(geography) == 5) + if (nrow(county_df) > 0) { + cat(sprintf("\n\n## County maps (%d measures; years %s)\n\n", + length(map_measures), paste(substr(map_times, 1, 4), collapse = ", "))) + counties_sf <- tryCatch( + tigris::counties(cb = TRUE, resolution = "5m", year = 2022, + progress_bar = FALSE) %>% + filter(!STATEFP %in% DROP_ST) %>% + transmute(geography = as.character(GEOID)), + error = function(e) { cat("_Could not fetch county geometry: ", conditionMessage(e), "_\n"); NULL }) + if (!is.null(counties_sf)) draw_maps(counties_sf, county_df, "county") + } + + if (nrow(state_df) == 0 && nrow(county_df) == 0) + cat("_No state- or county-level rows; skipping maps._\n") +} +``` + +```{r maps-skip, results='asis', eval=!params$make_maps} +cat("_Maps disabled (`make_maps: false`)._\n") +``` + +# 6. Comparison with a similar source {#compare} + +If `compare_file` is supplied, national overall trends for measures present in +both datasets are overlaid. Measures are matched by column name, or by the +explicit `main_measures` / `compare_measures` mapping if provided. + +```{r compare, results='asis', fig.width=14, fig.height=10} +cmp_path <- proj_path(params$compare_file) +if (!nzchar(cmp_path) || !file.exists(cmp_path)) { + cat("_No comparison source supplied (`compare_file` is blank), skipping._\n") +} else { + # Build the measure mapping (main measure -> comparison measure). + mm <- trimws(strsplit(params$main_measures, ",")[[1]]) + cm <- trimws(strsplit(params$compare_measures, ",")[[1]]) + mm <- mm[nzchar(mm)]; cm <- cm[nzchar(cm)] + if (length(mm) && length(mm) == length(cm)) { + pairs <- data.frame(main = mm, comp = cm, stringsAsFactors = FALSE) + } else { + # Read header only to find shared measure names — avoid loading all data. + cdat_hdr <- vroom(cmp_path, show_col_types = FALSE, n_max = 0, + col_types = cols(geography = "c", time = "c")) + shared <- intersect(roles$values, classify_columns(cdat_hdr)$values) + pairs <- data.frame(main = shared, comp = shared, stringsAsFactors = FALSE) + } + + if (nrow(pairs) == 0) { + cat("_No measures matched between the two sources. Provide `main_measures` / `compare_measures` to map them manually._\n") + } else { + # Load only the columns needed: id cols + demo cols + the comparison measures. + cdat_hdr <- vroom(cmp_path, show_col_types = FALSE, n_max = 0, + col_types = cols(geography = "c", time = "c")) + cmp_demo_cols <- setdiff( + names(cdat_hdr)[vapply(cdat_hdr, function(x) is.character(x) || is.factor(x), logical(1))], + c("geography", "time") + ) + cdat <- vroom(cmp_path, show_col_types = FALSE, + col_types = cols(geography = "c", time = "c"), + col_select = any_of(c("geography", "time", cmp_demo_cols, pairs$comp))) + croles <- classify_columns(cdat) + + cat(sprintf("Overlaying **%d** measure(s) at the national level vs. **%s**.\n\n", + nrow(pairs), params$compare_label)) + main_nat <- hold_overall(dat %>% filter(geography == "00"), roles$demo) + comp_nat <- hold_overall(cdat %>% filter(geography == "00"), croles$demo) + + main_name <- basename(dirname(dirname(params$data_file))) + cmp_name <- basename(dirname(dirname(params$compare_file))) + combined <- bind_rows( + lapply(seq_len(nrow(pairs)), function(i) { + bind_rows( + main_nat %>% transmute(time = as.Date(time), measure = pairs$main[i], + value = .data[[pairs$main[i]]], + source = paste0(main_name, ": ", pairs$main[i])), + comp_nat %>% transmute(time = as.Date(time), measure = pairs$main[i], + value = .data[[pairs$comp[i]]], + source = paste0(cmp_name, ": ", pairs$comp[i])) + ) + }) + ) %>% filter(!is.na(value)) + + p <- ggplot(combined, aes(time, value, color = source, group = source)) + + geom_line(linewidth = 0.6) + geom_point(size = 0.8) + + facet_wrap(~measure, scales = "free_y", ncol = FACET_NCOL) + + labs(title = "National overall: this dataset vs. comparison source", + x = NULL, y = NULL, color = NULL) + + theme_bw(base_size = 11) + + theme(legend.position = "bottom", + plot.title = element_text(face = "bold"), + strip.text = element_text(size = 9), + axis.text.x = element_text(angle = 45, hjust = 1)) + print(p) + } +} +``` + +--- + +```{r session, results='asis'} +cat("
Session info\n\n```\n") +cat(paste(capture.output(sessionInfo()), collapse = "\n")) +cat("\n```\n
\n") +``` diff --git a/scripts/validate_dataset.html b/scripts/validate_dataset.html new file mode 100644 index 00000000..ef8e178a --- /dev/null +++ b/scripts/validate_dataset.html @@ -0,0 +1,3648 @@ + + + + + + + + + + + + + + + +PopHIVE Standard Dataset Validation Report + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ + + + + + + +
data_path <- proj_path(params$data_file)
+stopifnot("data_file does not exist" = file.exists(data_path))
+
+# Read with geography + time forced to character so FIPS leading zeros survive.
+dat <- vroom(
+  data_path, show_col_types = FALSE,
+  col_types = cols(geography = "c", time = "c")
+)
+roles <- classify_columns(dat)
+
+

1. Overview

+
cat(sprintf("- **File:** `%s`\n", params$data_file))
+
    +
  • File: +data/nhtsa_crash/standard/data.csv.gz
  • +
+
cat(sprintf("- **Rows:** %s &nbsp;&nbsp; **Columns:** %s\n",
+            format(nrow(dat), big.mark = ","), ncol(dat)))
+
    +
  • Rows: 73,323    Columns: 5
  • +
+
cat(sprintf("- **ID columns:** %s\n", paste(roles$id, collapse = ", ")))
+
    +
  • ID columns: geography, time
  • +
+
cat(sprintf("- **Demographic columns:** %s\n",
+            if (length(roles$demo)) paste(roles$demo, collapse = ", ") else "_none_"))
+
    +
  • Demographic columns: none
  • +
+
cat(sprintf("- **Value measures (%d):** %s\n", length(roles$values),
+            paste(roles$values, collapse = ", ")))
+
    +
  • Value measures (3): nhtsa_fatalities, +nhtsa_fatal_crashes, nhtsa_fatality_rate
  • +
+
# Confidence-bound / flag coverage: rather than listing every bound/flag column,
+# check whether any value measure is MISSING its bounds or flag (only meaningful
+# if the dataset uses them at all).
+parent_of <- function(cols, re) unique(sub(re, "", cols))
+meas_with_bounds <- intersect(roles$values, parent_of(roles$bounds, BOUND_RE))
+meas_with_flags  <- intersect(roles$values, parent_of(roles$flags,  FLAG_RE))
+
+if (length(roles$bounds) == 0) {
+  cat("- **Confidence bounds:** none present (not applicable)\n")
+} else {
+  miss <- setdiff(roles$values, meas_with_bounds)
+  cat(sprintf("- **Confidence bounds:** %d/%d value measures have them%s\n",
+              length(meas_with_bounds), length(roles$values),
+              if (length(miss))
+                sprintf(" — **missing for:** %s", paste(miss, collapse = ", "))
+              else " (all present)"))
+}
+
    +
  • Confidence bounds: none present (not +applicable)
  • +
+
if (length(roles$flags) == 0) {
+  cat("- **Flag columns:** none present (not applicable)\n")
+} else {
+  miss <- setdiff(roles$values, meas_with_flags)
+  cat(sprintf("- **Flag columns:** %d/%d value measures have at least one flag%s\n",
+              length(meas_with_flags), length(roles$values),
+              if (length(miss))
+                sprintf(" — **missing for:** %s", paste(miss, collapse = ", "))
+              else " (all present)"))
+}
+
    +
  • Flag columns: none present (not applicable)
  • +
+
# Geographic coverage
+gl <- nchar(dat$geography)
+geo_levels <- c("national (00)" = sum(dat$geography == "00"),
+                "state (2-digit)" = sum(gl == 2 & dat$geography != "00"),
+                "county (5-digit)" = sum(gl == 5))
+geo_levels <- geo_levels[geo_levels > 0]
+cat(sprintf("- **Geographic coverage:** %s\n",
+            paste(sprintf("%s rows %s", format(geo_levels, big.mark=","), names(geo_levels)),
+                  collapse = "; ")))
+
    +
  • Geographic coverage: 25 rows national (00); 1,275 +rows state (2-digit); 72,023 rows county (5-digit)
  • +
+
cat(sprintf("- **Time range:** %s to %s (%d distinct periods)\n",
+            min(dat$time), max(dat$time), length(unique(dat$time))))
+
    +
  • Time range: 2000-12-31 to 2024-12-31 (25 distinct +periods)
  • +
+
+

Format checks

+
# Basic standard-format sanity checks on the id columns.
+bad_geo <- dat$geography[!grepl("^[0-9]{2}$|^[0-9]{5}$", dat$geography)]
+cat(sprintf("- Geography codes are valid FIPS (2- or 5-digit): %s\n",
+            if (length(bad_geo) == 0) "PASS" else
+              sprintf("FAIL (%d bad, e.g. %s)", length(bad_geo),
+                      paste(head(unique(bad_geo), 5), collapse=", "))))
+
    +
  • Geography codes are valid FIPS (2- or 5-digit): PASS
  • +
+
parsed <- suppressWarnings(as.Date(dat$time))
+cat(sprintf("- Time parses as YYYY-mm-dd date: %s\n",
+            if (!any(is.na(parsed))) "PASS" else
+              sprintf("FAIL (%d unparseable)", sum(is.na(parsed)))))
+
    +
  • Time parses as YYYY-mm-dd date: PASS
  • +
+
dups <- dat %>% count(across(all_of(c(roles$id, roles$demo)))) %>% filter(n > 1)
+cat(sprintf("- Unique rows per geography/time/demographics: %s\n",
+            if (nrow(dups) == 0) "PASS" else sprintf("FAIL (%d duplicate keys)", nrow(dups))))
+
    +
  • Unique rows per geography/time/demographics: PASS
  • +
+
+
+
+

2. Demographic categories

+

For every demographic variable, the number of categories and the +categories themselves. A previous version is then compared to confirm +nothing was silently added or dropped: either the file named in +old_data_file, or — when that is blank — the +previous version of this same file pulled from git +history (working-tree edits vs the last commit, otherwise the +last commit vs the one before it).

+
if (length(roles$demo) == 0) {
+  cat("_No demographic columns in this dataset._\n")
+} else {
+  cat_tab <- lapply(roles$demo, function(col) {
+    lv <- sort(unique(as.character(dat[[col]])))
+    data.frame(variable = col, n_categories = length(lv),
+               categories = paste(lv, collapse = " | "),
+               stringsAsFactors = FALSE)
+  })
+  kable(bind_rows(cat_tab), caption = "Demographic categories in the new dataset")
+}
+
## _No demographic columns in this dataset._
+
# Prefer an explicit old_data_file; otherwise fall back to the previous git
+# version of the same file.
+old_path <- proj_path(params$old_data_file)
+old_label <- NULL
+git_info  <- NULL
+if (nzchar(old_path) && file.exists(old_path)) {
+  old_label <- sprintf("`%s`", params$old_data_file)
+} else if (isTRUE(params$git_compare)) {
+  git_info <- extract_git_version(data_path, params$git_ref)
+  if (!is.null(git_info)) {
+    old_path  <- git_info$path
+    old_label <- paste0("its previous **git** version: ", git_info$meta)
+  }
+}
+
+if (!is.null(old_label) && file.exists(old_path)) {
+  old <- vroom(old_path, show_col_types = FALSE,
+               col_types = cols(geography = "c", time = "c"))
+  old_roles <- classify_columns(old)
+
+  cat("## Comparison with previous version\n\n")
+  cat(sprintf("Comparing the current file against %s.\n\n", old_label))
+
+  # --- did the data change at all? (signed change new-old, then the old total) ---
+  sgn <- function(x) paste0(if (x > 0) "+" else "", format(x, big.mark = ","))
+  cat(sprintf("- **Dimensions:** %s rows / %s cols vs previous (previous had %s rows / %d cols)%s\n\n",
+              sgn(nrow(dat) - nrow(old)), sgn(ncol(dat) - ncol(old)),
+              format(nrow(old), big.mark = ","), ncol(old),
+              if (nrow(dat) == nrow(old) && identical(sort(names(dat)), sort(names(old))))
+                " — same shape & columns" else " — **changed**"))
+
+  # --- demographic category comparison ---
+  shared_demo <- intersect(roles$demo, old_roles$demo)
+  cmp <- lapply(shared_demo, function(col) {
+    new_lv <- sort(unique(as.character(dat[[col]])))
+    old_lv <- sort(unique(as.character(old[[col]])))
+    added   <- setdiff(new_lv, old_lv)
+    removed <- setdiff(old_lv, new_lv)
+    data.frame(
+      variable = col,
+      n_new = length(new_lv), n_old = length(old_lv),
+      added   = if (length(added))   paste(added, collapse = " | ")   else "-",
+      removed = if (length(removed)) paste(removed, collapse = " | ") else "-",
+      match = if (!length(added) && !length(removed)) "OK" else "DIFF",
+      stringsAsFactors = FALSE
+    )
+  })
+  if (length(cmp))
+    print(kable(bind_rows(cmp),
+                caption = "Category changes vs. previous version (added/removed levels)"))
+
+  only_new_demo <- setdiff(roles$demo, old_roles$demo)
+  only_old_demo <- setdiff(old_roles$demo, roles$demo)
+  if (length(only_new_demo))
+    cat(sprintf("\n- **Demographic columns only in NEW:** %s\n", paste(only_new_demo, collapse=", ")))
+  if (length(only_old_demo))
+    cat(sprintf("\n- **Demographic columns only in OLD:** %s\n", paste(only_old_demo, collapse=", ")))
+
+  # --- measure (value-column) comparison ---
+  added_m   <- setdiff(roles$values, old_roles$values)
+  removed_m <- setdiff(old_roles$values, roles$values)
+  cat("\n\n**Value measures:** ")
+  cat(sprintf("%d new, %d old. ", length(added_m), length(old_roles$values)))
+  cat(if (!length(added_m) && !length(removed_m)) "Identical set.\n" else
+      sprintf("Added: %s. Removed: %s.\n",
+              if (length(added_m)) paste(added_m, collapse=", ") else "none",
+              if (length(removed_m)) paste(removed_m, collapse=", ") else "none"))
+} else if (nzchar(proj_path(params$old_data_file))) {
+  cat("_`old_data_file` was supplied but could not be found, skipping category comparison._\n")
+} else if (isTRUE(params$git_compare)) {
+  cat("_No `old_data_file` supplied and no distinct prior version of this file was found in git history (untracked, only one commit, or git unavailable), skipping comparison._\n")
+} else {
+  cat("_No previous version supplied and git comparison disabled, skipping category comparison._\n")
+}
+
+

Comparison with previous version

+

Comparing the current file against its previous git +version: HEAD 061bff68 (2026-06-23) — fixed nhtsa issues.

+
    +
  • Dimensions: +58,809 rows / 0 cols vs previous +(previous had 14,514 rows / 5 cols) — changed
  • +
+

Value measures: 0 new, 3 old. Identical set.

+
+
+
+

3. Missing / NA values

+

Per-column NA counts and percentages. For datasets that encode +missingness with flag columns (e.g. _suppressed, +_not_collected), value measures that are >50% +suppressed or >50% not asked / collected +are listed below, with the contributing flag(s) — these are the +variables with the sparsest real data.

+
na_tab <- data.frame(
+  column = names(dat),
+  n_missing = vapply(dat, function(x) sum(is.na(x)), integer(1)),
+  stringsAsFactors = FALSE
+)
+na_tab$pct_missing <- fmt_pct(na_tab$n_missing / nrow(dat))
+na_with <- na_tab[na_tab$n_missing > 0, ]
+if (nrow(na_with) == 0) {
+  cat("**No NA values found in any column.**\n\n")
+} else {
+  kable(na_with[order(-na_with$n_missing), ], row.names = FALSE,
+        caption = "Columns containing NA values")
+}
+
## **No NA values found in any column.**
+
if (!length(roles$flags)) {
+  cat("_No flag columns in this dataset._\n")
+} else {
+  flag_parent <- sub(FLAG_RE, "", roles$flags)
+  # Share of rows in which ANY of the given flag columns is 1.
+  pct_any <- function(cols) {
+    if (!length(cols)) return(0)
+    hit <- Reduce(`|`, lapply(cols, function(c) {
+      v <- suppressWarnings(as.numeric(dat[[c]])); !is.na(v) & v == 1
+    }))
+    mean(hit)
+  }
+  fl <- bind_rows(lapply(roles$values, function(m) {
+    supp_cols <- roles$flags[flag_parent == m & grepl("suppress", roles$flags)]
+    miss_cols <- roles$flags[flag_parent == m &
+                               grepl("not_asked|not_collected|not_reported", roles$flags)]
+    data.frame(variable = m,
+               pct_not_asked  = pct_any(miss_cols),
+               pct_suppressed = pct_any(supp_cols),
+               stringsAsFactors = FALSE)
+  }))
+
+  flagged_vars <- fl %>% filter(pct_not_asked > 0.5 | pct_suppressed > 0.5)
+  if (nrow(flagged_vars) == 0) {
+    cat("**No value measure is >50% suppressed or >50% not asked / collected.**\n\n")
+  } else {
+    out <- flagged_vars %>%
+      rowwise() %>%
+      mutate(contributing_flag = paste(c(
+        if (pct_not_asked  > 0.5) sprintf("not asked / collected (%s)", fmt_pct(pct_not_asked)),
+        if (pct_suppressed > 0.5) sprintf("suppressed (%s)", fmt_pct(pct_suppressed))
+      ), collapse = "; ")) %>%
+      ungroup() %>%
+      arrange(desc(pmax(pct_not_asked, pct_suppressed))) %>%
+      transmute(variable,
+                pct_not_asked  = fmt_pct(pct_not_asked),
+                pct_suppressed = fmt_pct(pct_suppressed),
+                contributing_flag)
+    print(kable(out, row.names = FALSE,
+          caption = sprintf("%d value measure(s) >50%% suppressed or >50%% not asked / collected",
+                            nrow(out))))
+  }
+}
+

No flag columns in this dataset.

+
+
+

4. National & state time series

+

National trends, shown overall and stratified by each demographic, +plus 5 randomly selected states (overall). Confidence-bound and flag +columns are excluded. Where a demographic has no true “Overall” level, +the other demographics are held at their most common level (noted in +each title).

+

Observations that were suppressed or not +asked/collected (flagged 1 in a _suppressed / +_not_asked / _not_collected column, with the +value typically imputed to 0) are drawn as hollow points but +dropped from the connecting line, so imputed zeros do not +distort the trend.

+
plot_measures <- roles$values
+demo_cols <- roles$demo
+
+# Flag columns belonging to a given value measure (e.g. measure_suppressed).
+measure_flag_cols <- function(m) {
+  if (!length(roles$flags)) return(character(0))
+  roles$flags[sub(FLAG_RE, "", roles$flags) == m]
+}
+
+# Per-row logical: was this measure suppressed / not asked / not collected?
+# (any of the measure's flag columns equal to 1).
+flagged_vec <- function(d, m) {
+  fcs <- measure_flag_cols(m)
+  if (!length(fcs)) return(rep(FALSE, nrow(d)))
+  mat <- vapply(fcs, function(fc) {
+    v <- suppressWarnings(as.numeric(d[[fc]]))
+    !is.na(v) & v == 1
+  }, logical(nrow(d)))
+  rowSums(matrix(mat, nrow = nrow(d))) > 0
+}
+
+# Long-format a held subset and draw faceted trends. Flagged (suppressed /
+# not-asked) observations are shown as hollow points but excluded from the line.
+trend_plot <- function(d, color_col, title, subtitle = NULL) {
+  if (nrow(d) == 0 || length(plot_measures) == 0) return(invisible(NULL))
+  keys <- c("time", if (!is.null(color_col)) color_col)
+
+  val_long <- d %>%
+    select(all_of(keys), all_of(plot_measures)) %>%
+    pivot_longer(all_of(plot_measures), names_to = "measure", values_to = "value")
+
+  # Build the flagged indicator in the SAME row/measure order as val_long.
+  flag_df <- as.data.frame(
+    vapply(plot_measures, function(m) flagged_vec(d, m), logical(nrow(d)))
+  )
+  names(flag_df) <- plot_measures
+  flag_long <- bind_cols(d %>% select(all_of(keys)), flag_df) %>%
+    pivot_longer(all_of(plot_measures), names_to = "measure", values_to = "flagged")
+
+  long <- val_long %>%
+    mutate(flagged = flag_long$flagged, time = as.Date(time)) %>%
+    filter(!is.na(value)) %>%
+    mutate(value_line = ifelse(flagged, NA_real_, value))  # NA breaks the line
+  if (nrow(long) == 0) return(invisible(NULL))
+
+  p <- if (is.null(color_col)) ggplot(long, aes(x = time)) else
+    ggplot(long, aes(x = time, color = .data[[color_col]], group = .data[[color_col]]))
+
+  # Line: only connects unflagged values. Solid points: real values.
+  p <- p +
+    geom_line(aes(y = value_line), linewidth = 0.6, na.rm = TRUE) +
+    geom_point(data = long[!long$flagged, , drop = FALSE],
+               aes(y = value), size = 0.9, na.rm = TRUE)
+  # Hollow points: suppressed / not-asked values (shown, but not on the line).
+  if (any(long$flagged)) {
+    p <- p +
+      geom_point(data = long[long$flagged, , drop = FALSE],
+                 aes(y = value, shape = "suppressed / not asked"),
+                 size = 1.5, stroke = 0.5, fill = NA, na.rm = TRUE) +
+      scale_shape_manual(values = c("suppressed / not asked" = 21), name = NULL)
+  }
+  p <- p +
+    facet_wrap(~measure, scales = "free_y", ncol = FACET_NCOL) +
+    labs(title = title, subtitle = subtitle, x = NULL, y = NULL,
+         color = color_col) +
+    theme_bw(base_size = 11) +
+    theme(legend.position = "bottom",
+          plot.title = element_text(face = "bold"),
+          strip.text = element_text(size = 9),
+          axis.text.x = element_text(angle = 45, hjust = 1))
+  print(p)
+}
+
+held_subtitle <- function(d) {
+  n <- attr(d, "held_notes")
+  if (length(n)) paste0("Held at: ", paste(n, collapse = "; ")) else NULL
+}
+
nat <- dat %>% filter(geography == "00")
+if (nrow(nat) == 0) {
+  cat("_No national (geography == \"00\") rows; skipping national trends._\n")
+} else {
+  cat("## National — overall\n\n")
+  nat_overall <- hold_overall(nat, demo_cols)
+  trend_plot(nat_overall, NULL, "National overall trend",
+             held_subtitle(nat_overall))
+
+  for (col in demo_cols) {
+    if (length(unique(nat[[col]])) < 2) next
+    cat(sprintf("\n\n## National — by %s\n\n", col))
+    sub <- hold_overall(nat, demo_cols, keep = col)
+    trend_plot(sub, col, sprintf("National trend by %s", col),
+               held_subtitle(sub))
+  }
+}
+
+

National — overall

+

+
state_codes <- dat %>%
+  filter(nchar(geography) == 2, geography != "00") %>%
+  distinct(geography) %>% pull(geography)
+
+if (length(state_codes) == 0) {
+  cat("_No state-level rows; skipping state trends._\n")
+} else {
+  pick <- sort(sample(state_codes, min(params$n_states, length(state_codes))))
+  # Friendly state names from the FIPS crosswalk, if available.
+  fips_path <- proj_path("resources/all_fips.csv.gz")
+  lab <- pick
+  if (file.exists(fips_path)) {
+    fips <- vroom(fips_path, show_col_types = FALSE,
+                  col_types = cols(geography = "c"))
+    nm <- fips$geography_name[match(pick, fips$geography)]
+    lab <- ifelse(is.na(nm), pick, paste0(nm, " (", pick, ")"))
+  }
+  cat(sprintf("## %d random states — overall\n\n", length(pick)))
+  cat(sprintf("States: %s\n\n", paste(lab, collapse = ", ")))
+
+  st <- dat %>% filter(geography %in% pick)
+  st <- hold_overall(st, demo_cols)  # overall demographics only
+  st$geography <- factor(st$geography, levels = pick, labels = lab)
+  trend_plot(st, "geography", "State trends (overall)", held_subtitle(st))
+}
+
+
+

5 random states — overall

+

States: Alabama (01), Arkansas (05), Michigan (26), North Carolina +(37), Pennsylvania (42)

+

+
+
+
+

5. Choropleth maps

+

For up to 5 measures, each map shows 4 random years in a 2×2 +grid (overall demographics). Cells that were suppressed +are white with a diagonal hatch and cells not asked / +not collected that year are solid black (shown in the legend); +other cells use the viridis value scale and cells with no data are grey. +State maps use 2-digit FIPS; county maps use 5-digit FIPS. AK, HI and +territories are dropped for display.

+
map_ok <- requireNamespace("sf", quietly = TRUE) &&
+          requireNamespace("tigris", quietly = TRUE)
+
+if (!map_ok) {
+  cat("_`sf`/`tigris` not available; skipping maps._\n")
+} else {
+  suppressPackageStartupMessages({ library(sf); library(tigris) })
+  options(tigris_use_cache = TRUE)
+  DROP_ST <- c("02", "15", "60", "66", "69", "72", "78")  # AK, HI, territories
+
+  # choose measures to map
+  map_measures <- roles$values
+  if (length(map_measures) > params$n_map_measures)
+    map_measures <- sort(sample(map_measures, params$n_map_measures))
+
+  # choose up to 4 random years (shared across measures for comparability)
+  all_times <- sort(unique(dat$time))
+  map_times <- sort(sample(all_times, min(4, length(all_times))))
+
+  base <- dat %>% filter(time %in% map_times) %>% hold_overall(demo_cols)
+
+  has_ggnewscale <- requireNamespace("ggnewscale", quietly = TRUE)
+  has_ggpattern  <- requireNamespace("ggpattern",  quietly = TRUE)
+  FLAG_FILL    <- c("Suppressed" = "white", "Not asked / collected" = "black")
+  # Suppressed cells also get a diagonal hatch so white doesn't read as a high
+  # viridis value; not-asked cells stay solid black.
+  FLAG_PATTERN <- c("Suppressed" = "stripe", "Not asked / collected" = "none")
+  # Flagged cells get a grey border so white (suppressed) cells stay visible
+  # against the white page background.
+  FLAG_BORDER <- "grey50"
+
+  # For one measure, build a geometry x year grid and draw a 2x2 (year) facet.
+  # Suppressed cells are filled red and not-asked/not-collected cells yellow
+  # (on top of the viridis value scale, via a second fill scale).
+  draw_maps <- function(geoms, df, level_label) {
+    for (m in map_measures) {
+      fcs      <- measure_flag_cols(m)
+      supp_col <- fcs[grepl("suppress", fcs)]
+      miss_col <- fcs[grepl("not_asked|not_collected|not_reported", fcs)]
+
+      sub <- df %>%
+        transmute(
+          geography, time,
+          value = .data[[m]],
+          supp  = if (length(supp_col)) as.numeric(.data[[supp_col[1]]]) == 1 else FALSE,
+          miss  = if (length(miss_col)) as.numeric(.data[[miss_col[1]]]) == 1 else FALSE
+        )
+      if (all(is.na(sub$value)) && !any(sub$supp, na.rm = TRUE) &&
+          !any(sub$miss, na.rm = TRUE)) next
+
+      md <- expand.grid(geography = geoms$geography, time = map_times,
+                        stringsAsFactors = FALSE) %>%
+        left_join(sub, by = c("geography", "time")) %>%
+        mutate(flag_label = case_when(
+          coalesce(supp, FALSE) ~ "Suppressed",
+          coalesce(miss, FALSE) ~ "Not asked / collected",
+          TRUE                  ~ NA_character_
+        )) %>%
+        left_join(geoms, by = "geography") %>%
+        sf::st_as_sf() %>%
+        mutate(year = factor(substr(time, 1, 4),
+                             levels = substr(map_times, 1, 4)))
+
+      md_norm <- md %>% filter(is.na(flag_label))
+      md_flag <- md %>% filter(!is.na(flag_label)) %>%
+        mutate(flag_label = factor(flag_label, levels = names(FLAG_FILL)))
+
+      # Base layer: viridis value scale (flagged cells excluded -> drawn below).
+      p <- ggplot() +
+        geom_sf(data = md_norm, aes(fill = value),
+                color = "white", linewidth = 0.08) +
+        scale_fill_viridis_c(option = "viridis", trans = "sqrt",
+                             na.value = "grey85", labels = label_number(),
+                             name = "value")
+
+      # Overlay layer: suppressed (red) / not-asked (yellow), with its own scale.
+      if (nrow(md_flag) > 0 && has_ggnewscale && has_ggpattern) {
+        # White suppressed cells get a diagonal hatch; not-asked stay solid
+        # black. fill + pattern both keyed to flag_label -> one merged legend.
+        p <- p + ggnewscale::new_scale_fill() +
+          ggpattern::geom_sf_pattern(
+            data = md_flag, aes(fill = flag_label, pattern = flag_label),
+            pattern_fill = "grey20", pattern_colour = NA,
+            pattern_density = 0.3, pattern_spacing = 0.018, pattern_angle = 45,
+            colour = FLAG_BORDER, linewidth = 0.08) +
+          scale_fill_manual(values = FLAG_FILL, name = NULL, drop = TRUE) +
+          ggpattern::scale_pattern_manual(values = FLAG_PATTERN, name = NULL, drop = TRUE)
+      } else if (nrow(md_flag) > 0 && has_ggnewscale) {
+        # No ggpattern: solid white/black fills, still with a legend.
+        p <- p + ggnewscale::new_scale_fill() +
+          geom_sf(data = md_flag, aes(fill = flag_label),
+                  color = FLAG_BORDER, linewidth = 0.08) +
+          scale_fill_manual(values = FLAG_FILL, name = NULL, drop = TRUE)
+      } else if (nrow(md_flag) > 0) {
+        # Neither helper: constant fills + a caption instead of a legend.
+        p <- p +
+          geom_sf(data = md_flag %>% filter(flag_label == "Suppressed"),
+                  fill = FLAG_FILL[["Suppressed"]], color = FLAG_BORDER, linewidth = 0.08) +
+          geom_sf(data = md_flag %>% filter(flag_label == "Not asked / collected"),
+                  fill = FLAG_FILL[["Not asked / collected"]], color = FLAG_BORDER, linewidth = 0.08)
+      }
+
+      cap <- if (nrow(md_flag) > 0 && !has_ggnewscale)
+        "White (hatched) = suppressed; black = not asked / collected (install 'ggnewscale'/'ggpattern' for a legend)." else NULL
+
+      p <- p +
+        facet_wrap(~year, ncol = 2) +
+        coord_sf(crs = 5070, datum = NA) +
+        labs(title = sprintf("%s — %s", m, level_label), caption = cap) +
+        theme_void(base_size = 11) +
+        theme(plot.title = element_text(face = "bold", hjust = 0.5, size = 12),
+              plot.caption = element_text(hjust = 0.5, color = "grey40", size = 8),
+              strip.text = element_text(face = "bold", size = 11),
+              legend.position = "right")
+      print(p)
+    }
+  }
+
+  # ---- state maps ----
+  state_df <- base %>% filter(nchar(geography) == 2, geography != "00")
+  if (nrow(state_df) > 0) {
+    cat(sprintf("## State maps (%d measures; years %s)\n\n",
+                length(map_measures), paste(substr(map_times, 1, 4), collapse = ", ")))
+    states_sf <- tryCatch(
+      tigris::states(cb = TRUE, resolution = "5m", year = 2022,
+                     progress_bar = FALSE) %>%
+        filter(!STATEFP %in% DROP_ST) %>%
+        transmute(geography = as.character(GEOID)),
+      error = function(e) { cat("_Could not fetch state geometry: ", conditionMessage(e), "_\n"); NULL })
+    if (!is.null(states_sf)) draw_maps(states_sf, state_df, "state")
+  }
+
+  # ---- county maps ----
+  county_df <- base %>% filter(nchar(geography) == 5)
+  if (nrow(county_df) > 0) {
+    cat(sprintf("\n\n## County maps (%d measures; years %s)\n\n",
+                length(map_measures), paste(substr(map_times, 1, 4), collapse = ", ")))
+    counties_sf <- tryCatch(
+      tigris::counties(cb = TRUE, resolution = "5m", year = 2022,
+                       progress_bar = FALSE) %>%
+        filter(!STATEFP %in% DROP_ST) %>%
+        transmute(geography = as.character(GEOID)),
+      error = function(e) { cat("_Could not fetch county geometry: ", conditionMessage(e), "_\n"); NULL })
+    if (!is.null(counties_sf)) draw_maps(counties_sf, county_df, "county")
+  }
+
+  if (nrow(state_df) == 0 && nrow(county_df) == 0)
+    cat("_No state- or county-level rows; skipping maps._\n")
+}
+
+

State maps (3 measures; years 2010, 2013, 2017, 2018)

+

+
+
+

County maps (3 measures; years 2010, 2013, 2017, 2018)

+

+
cat("_Maps disabled (`make_maps: false`)._\n")
+
+
+
+

6. Comparison with a similar source

+

If compare_file is supplied, national overall trends for +measures present in both datasets are overlaid. Measures are matched by +column name, or by the explicit main_measures / +compare_measures mapping if provided.

+
cmp_path <- proj_path(params$compare_file)
+if (!nzchar(cmp_path) || !file.exists(cmp_path)) {
+  cat("_No comparison source supplied (`compare_file` is blank), skipping._\n")
+} else {
+  # Build the measure mapping (main measure -> comparison measure).
+  mm <- trimws(strsplit(params$main_measures, ",")[[1]])
+  cm <- trimws(strsplit(params$compare_measures, ",")[[1]])
+  mm <- mm[nzchar(mm)]; cm <- cm[nzchar(cm)]
+  if (length(mm) && length(mm) == length(cm)) {
+    pairs <- data.frame(main = mm, comp = cm, stringsAsFactors = FALSE)
+  } else {
+    # Read header only to find shared measure names — avoid loading all data.
+    cdat_hdr <- vroom(cmp_path, show_col_types = FALSE, n_max = 0,
+                      col_types = cols(geography = "c", time = "c"))
+    shared <- intersect(roles$values, classify_columns(cdat_hdr)$values)
+    pairs <- data.frame(main = shared, comp = shared, stringsAsFactors = FALSE)
+  }
+
+  if (nrow(pairs) == 0) {
+    cat("_No measures matched between the two sources. Provide `main_measures` / `compare_measures` to map them manually._\n")
+  } else {
+    # Load only the columns needed: id cols + demo cols + the comparison measures.
+    cdat_hdr <- vroom(cmp_path, show_col_types = FALSE, n_max = 0,
+                      col_types = cols(geography = "c", time = "c"))
+    cmp_demo_cols <- setdiff(
+      names(cdat_hdr)[vapply(cdat_hdr, function(x) is.character(x) || is.factor(x), logical(1))],
+      c("geography", "time")
+    )
+    cdat <- vroom(cmp_path, show_col_types = FALSE,
+                  col_types = cols(geography = "c", time = "c"),
+                  col_select = any_of(c("geography", "time", cmp_demo_cols, pairs$comp)))
+    croles <- classify_columns(cdat)
+
+    cat(sprintf("Overlaying **%d** measure(s) at the national level vs. **%s**.\n\n",
+                nrow(pairs), params$compare_label))
+    main_nat  <- hold_overall(dat  %>% filter(geography == "00"), roles$demo)
+    comp_nat  <- hold_overall(cdat %>% filter(geography == "00"), croles$demo)
+
+    main_name <- basename(dirname(dirname(params$data_file)))
+    cmp_name  <- basename(dirname(dirname(params$compare_file)))
+    combined <- bind_rows(
+      lapply(seq_len(nrow(pairs)), function(i) {
+        bind_rows(
+          main_nat %>% transmute(time = as.Date(time), measure = pairs$main[i],
+                                 value = .data[[pairs$main[i]]],
+                                 source = paste0(main_name, ": ", pairs$main[i])),
+          comp_nat %>% transmute(time = as.Date(time), measure = pairs$main[i],
+                                 value = .data[[pairs$comp[i]]],
+                                 source = paste0(cmp_name, ": ", pairs$comp[i]))
+        )
+      })
+    ) %>% filter(!is.na(value))
+
+    p <- ggplot(combined, aes(time, value, color = source, group = source)) +
+      geom_line(linewidth = 0.6) + geom_point(size = 0.8) +
+      facet_wrap(~measure, scales = "free_y", ncol = FACET_NCOL) +
+      labs(title = "National overall: this dataset vs. comparison source",
+           x = NULL, y = NULL, color = NULL) +
+      theme_bw(base_size = 11) +
+      theme(legend.position = "bottom",
+            plot.title = element_text(face = "bold"),
+            strip.text = element_text(size = 9),
+            axis.text.x = element_text(angle = 45, hjust = 1))
+    print(p)
+  }
+}
+

Overlaying 1 measure(s) at the national level +vs. Comparison source.

+

+
+
cat("<details><summary>Session info</summary>\n\n```\n")
+
+ +Session info + +

+``` r
+cat(paste(capture.output(sessionInfo()), collapse = "\n"))
+

R version 4.4.3 (2025-02-28 ucrt) Platform: x86_64-w64-mingw32/x64 +Running under: Windows 11 x64 (build 26200)

+

Matrix products: default

+

locale: [1] LC_COLLATE=English_United States.utf8 [2] +LC_CTYPE=English_United States.utf8
+[3] LC_MONETARY=English_United States.utf8 [4] LC_NUMERIC=C
+[5] LC_TIME=English_United States.utf8

+

time zone: America/New_York tzcode source: internal

+

attached base packages: [1] stats graphics grDevices utils datasets +methods base

+

other attached packages: [1] tigris_2.2.1 sf_1.1-1 knitr_1.49 +scales_1.4.0 ggplot2_4.0.3 [6] vroom_1.6.5 tidyr_1.3.1 dplyr_1.1.4

+

loaded via a namespace (and not attached): [1] rappdirs_0.3.3 +sass_0.4.9 utf8_1.2.4 generics_0.1.3
+[5] class_7.3-23 KernSmooth_2.23-26 stringi_1.8.7 digest_0.6.37
+[9] magrittr_2.0.3 evaluate_1.0.1 grid_4.4.3 RColorBrewer_1.1-3 [13] +fastmap_1.2.0 jsonlite_1.8.9 ggnewscale_0.5.2 e1071_1.7-16
+[17] DBI_1.2.3 httr_1.4.7 purrr_1.0.2 fansi_1.0.6
+[21] viridisLite_0.4.2 jquerylib_0.1.4 cli_3.6.3 ggpattern_1.3.1
+[25] rlang_1.1.4 crayon_1.5.3 units_1.0-1 bit64_4.5.2
+[29] withr_3.0.2 cachem_1.1.0 yaml_2.3.10 tools_4.4.3
+[33] parallel_4.4.3 uuid_1.2-1 tzdb_0.4.0 pandoc_0.2.0
+[37] vctrs_0.6.5 R6_2.5.1 proxy_0.4-27 lifecycle_1.0.4
+[41] classInt_0.4-11 stringr_1.5.1 fs_1.6.5 bit_4.5.0
+[45] pkgconfig_2.0.3 pillar_1.9.0 bslib_0.8.0 gtable_0.3.6
+[49] Rcpp_1.0.13-1 glue_1.8.0 xfun_0.52 tibble_3.2.1
+[53] tidyselect_1.2.1 farver_2.1.2 htmltools_0.5.8.1 +rmarkdown_2.29
+[57] labeling_0.4.3 compiler_4.4.3 S7_0.2.1

+
cat("\n```\n</details>\n")
+``` +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + + + + +