{
  "_table": "Every published MCAP result in one typed table \u2014 school AND district, All-Students and subgroup marginals and race \u00d7 special-services intersections, cross-grade aggregate and per-grade. Derived from /data/mcps_consolidated.parquet (the one warehouse) so there is a single ingestion path. Mirrored as JSON at /data/mcap/<school_code>.json.",
  "join_key": "school_code_str (+ year, assessment, student_group)",
  "level": "'school' or 'district' (district = countywide MCPS aggregate). FILTER THIS: school and district rows live in the same table.",
  "assessment": "Canonical assessment: ELA/Math grades 3-8 & 10 & All, the ELA/Math grade SPANS (3-5, 3-8, 6-8), Algebra 1/2, Geometry, Science 5/8/HS, Social Studies 8, American Government. MSDE renamed these across vintages and the chart API uses a third naming; all are normalized here. `raw_assessment` keeps the source label. NOTE: from 2022, MCAP Geometry and Algebra 2 are sat almost entirely by accelerated middle-schoolers in MCPS (2026: 3,071 of 3,091 visible Geometry testers at middle schools; Algebra 2 district n=117) \u2014 neither is a high-school-level measure.",
  "grade": "The tested population: a single grade ('3'...'10'), 'HS', 'All' = the cross-grade subject aggregate, a grade SPAN ('3-5' | '3-8' | '6-8') = a multi-grade aggregate MSDE publishes for the district alongside the single grades, or null for course assessments (Algebra/Geometry/Government) which have no grade. TO SELECT ONE GRADE, MATCH `^[0-9]+$` OR AN EXACT VALUE \u2014 `grade != 'All'` is NOT 'per-grade', it also admits the spans, whose tested_count runs ~5x a single grade's. Spans exist only for level='district', ELA/math, 2023+.",
  "pl_scale": "How many performance levels this row's vintage reports: 3, 4 or 5. Proficient is the TOP TWO levels of this scale \u2014 L4+L5 at 5, L3+L4 at 4, L2+L3 at 3 (verified to 0.1pp, one-decimal rounding, wherever the top two bands are published). CAVEATS: a band can be bounded across a whole vintage (2022 Science 5/8 is 4-band with L4 '<=5%' on every row \u2014 the top-two sum cannot be rebuilt from pl<n>_pct there), and two vintages number their four published bands 2-5 (2019 science, 2021 high-school science: pl1_pct structurally absent, not suppressed). So pl3_pct means different things at different scales \u2014 the pl<n>_pct columns are NOT comparable across scales, and MSDE's scales do not follow calendar years, which is why this is derived per dataset. Prefer `proficient_pct` \u2014 MSDE's own figure, correct under every scale.",
  "group_dim": "Which breakdown the row varies: all | race | sex | service | race_x_service (an intersection like 'Asian \u00d7 FARMS') | other.",
  "proficient_pct": "% at performance level 3-4. Null = privacy-suppressed, NEVER zero. For Multilingual/English Learner rows, do NOT build cross-subject cohort ratios (more EML students sit Math than ELA at the same grade every year \u2014 an ESSA newcomer-exemption effect, not an anomaly).",
  "bound": "What is known about a suppressed value: '<=5%' / '>=95%' bound the true value to that range \u2014 INFORMATIVE, not missing (the district Math 8 proficiency floor, '<=5%' on ~5,000 tested, holds in every published year and exists ONLY on suppressed rows); 'suppressed' = withheld by the source; 'suppressed:inferred' = withheld by inference \u2014 the fetcher skipped the cell because an archived marginal proved it suppressed (0 usable lost in 42k measured), so the source was never asked. For ALL withheld cells filter suppressed = true (or bound LIKE 'suppressed%'). Null exactly when the value is published.",
  "suppressed": "true = the proficiency measure is withheld or only bounded (see bound). Other measures on the row may still be published \u2014 tested_count often is \u2014 so filtering suppressed=false discards the informative bounded rows; filter on proficient_pct IS NOT NULL when you need point values.",
  "tested_count": "Bulk-sourced rows only (chart_api rows \u2014 84% of the table \u2014 carry no counts, so volume-weighted computations run on bulk alone). Verbatim from MSDE. Course-assessment counts are volatile year-to-year at several high schools (Wheaton Algebra 1: 279 then 1,099 in 2026) \u2014 real administration shifts in the source, so year-over-year tested_count comparisons need care. District tested_count exceeds the sum of published school rows by ~0.1-1.1% every year (testers with no published school row) \u2014 reconcile at one level only.",
  "source": "bulk = MSDE bulk downloads (carries tested/proficient counts); chart_api = MSDE report-card explorer, the only source of school \u00d7 subgroup for 2022+ and of race \u00d7 service intersections.",
  "is_alt": "true = MCAP-Alternate (a different assessment for students with the most significant cognitive disabilities) \u2014 never pool with the general test. All-grades ALT series are '<Subject> All' like the general test's. Do not use the 2021 ALT race/ethnicity splits: MSDE's 2021 ALT files misclassify race at source (41% 'Two or more races' vs 4% in 2022)."
}