NYSED School-Level Chronic Absenteeism — Ingest Format Notes
Scouted 2026-06-09. All claims below are sourced; spot-checks were run live against data.nysed.gov (server-rendered report-card pages driven by the same database).
1. Bottom line / recommended ingest path
- Authoritative source: the NYSED Report Card Database (SRC) zips at
https://data.nysed.gov/downloads.php. Each zip contains only a
.accdb, an identical.mdb, and a ReadMe PDF — no CSV/xlsx alternative exists for chronic absenteeism (the only Excel files on the downloads page are assessment-refusal workbooks). - The chronic absenteeism (CA) tables are
ACC EM Chronic Absenteeism(grades 1–8) andACC HS Chronic Absenteeism(grades 9–12) inside each SRC database. Table names contain spaces. - Tooling:
mdbtoolsis NOT installed on this machine (mdb-tables/mdb-exportnot found; nothing was installed during scouting). Ingest requiresbrew install mdbtools, then:mdb-export SRC2025_Group3.mdb "ACC EM Chronic Absenteeism" > em_ca_2025.csv mdb-export SRC2025_Group3.mdb "ACC HS Chronic Absenteeism" > hs_ca_2025.csv - Minimal download set for 2018-19 → 2024-25 (each SRC holds the current + prior reporting
year, see §5):
SRC2019(YEAR 2018, 2019),SRC2022(2021, 2022),SRC2024(2023, 2024),SRC2025(2024, 2025). Four zips, ~1.4 GB total. 2019-20 was never published (COVID). Prefer SRC2023 in addition if you want each year from its own-year file (revisions are possible between releases; overlapping years allow consistency checks). - Fallback (no mdbtools): per-school server-rendered HTML at
https://data.nysed.gov/essa.php?year=<YYYY>&instid=<instid>&createreport=1&EMchronic=1&HSchronic=1works (verified) but requires an instid list and ~1,800 NYC requests/year, and renders suppression as "—". Not recommended except for spot-checks. No JSON API was found on data.nysed.gov.
2. File inventory per year (URL, size, contents)
All from https://data.nysed.gov/downloads.php. Sizes from curl -sI Content-Length on
2026-06-09. Inner contents read from the zip central directory via HTTP range requests
(remote_zip_ls.py in this folder).
| School year | Zip URL | Zip size | Inner files (uncompressed) |
|---|---|---|---|
| 2024-25 | https://data.nysed.gov/files/essa/24-25/SRC2025.zip | 367.2 MB | SRC2025_Group3.accdb (1.62 GB), SRC2025_Group3.mdb (1.62 GB), SRC2025ReadMe_Group3.pdf |
| 2023-24 | https://data.nysed.gov/files/essa/23-24/SRC2024.zip | 337.7 MB | SRC2024_Group5.accdb, SRC2024_Group5.mdb (1.49 GB), SRC2024ReadMe_Group5.pdf |
| 2022-23 | https://data.nysed.gov/files/essa/22-23/SRC2023.zip | 332.6 MB | SRC2023_Group5.accdb/.mdb (1.46 GB), 2022-23 SRCmdbReadMeGroup5Release.pdf |
| 2021-22 | https://data.nysed.gov/files/essa/21-22/SRC2022.zip | 307.2 MB | SRC2022_GroupIV.accdb, SRC2022_Group IV.mdb (1.33 GB), SRC2022ReadMe_Group IV.pdf |
| 2020-21 | https://data.nysed.gov/files/essa/20-21/SRC2021.zip | 133.1 MB | SRC2021_Group II.accdb/.mdb (589 MB), SRC2021ReadMe_GroupII.pdf |
| 2019-20 | https://data.nysed.gov/files/essa/19-20/SRC2020.zip | 15.1 MB | SRC2020_Post-GroupIII.accdb/.mdb (82 MB), ReadMe — no CA tables at all |
| 2018-19 | https://data.nysed.gov/files/essa/18-19/SRC2019.zip | 305.2 MB | SRC2019_Post-GroupIV.accdb/.mdb (1.48 GB), SRC2019ReadMe_Post-GroupIV.pdf |
- 2017-18 also exists: https://data.nysed.gov/files/essa/17-18/SRC2018.zip (and SRC2019's CA tables also carry YEAR=2018 rows).
- 2024-25 (SRC2025) exists and was released (ReadMe last updated 2026-04-30).
- ReadMe PDFs for 2019–2025 were extracted (via range requests, without downloading the mdb)
and saved in this folder as
SRC20NNReadMe.pdf+ converted.txt. These PDFs are the official layout documentation for every table. - The Student and Educator Database (STUDED), e.g. https://data.nysed.gov/files/studed/24-25/STUDED2025.zip (11.3 MB, also Access-only), contains "student attendance" = average daily attendance, not chronic absenteeism.
3. Table schemas and key columns
Source: SRC2024ReadMe_Group5.pdf (extracted from SRC2024.zip) and SRC2025ReadMe_Group3.pdf
(extracted from SRC2025.zip), pages "Table: ACC EM/HS Chronic Absenteeism".
ACC EM Chronic Absenteeism / ACC HS Chronic Absenteeism (SRC2022–SRC2024 layout)
All columns are Access Text (use numeric casts on ingest; NYSED says values are presentation-formatted).
| Column | Meaning |
|---|---|
INSTITUTION_ID | 12-digit NYSED institution id, stable over time (not in SRC2019, which has only ENTITY_CD) |
ENTITY_CD | 12-digit BEDS code (changes if school moves/redistricts) — the join key for the repo's nysed_beds_code |
ENTITY_NAME | entity name |
YEAR | reporting year: 2024 = 2023-24 SY (each SRC holds current + prior year, e.g. SRC2024 has 2023 and 2024) |
SUBJECT | 38_CA (EM table) / HS_CA (HS table) |
SUBGROUP_NAME | text subgroup name (see §6) |
ENROLLMENT | students (gr 1–8 EM / 9–12 HS, incl. ungraded age-equivalent) enrolled ≥10 instructional days and present ≥1 day |
ABSENT_COUNT | of those, number absent ≥10% of enrolled days |
ABSENT_RATE | (ABSENT_COUNT / ENROLLMENT) × 100 |
LEVEL | accountability level 1–4 or s (dropped from CA tables in SRC2025) |
OVERRIDE | Y ⇒ values suppressed (s) by Office of Accountability |
DATA_REP_FLAG | Y reported / N did not report attendance data / null = no enrollment. Key NYC caveat — see §4 (Success Academy) |
PARTIAL_DATA_FLAG | district/state rows only: Y = some schools missing ⇒ partial aggregate; null = subgroup below accountability minimum-N (<30 in 2024; <20 in 2025) |
COUNT_ZERO_NON_DISPLAY_FLAG | (new 2024) Y = zero-enrollment subgroup row kept for researchers; other fields s |
Variants by era:
- SRC2019 (YEAR 2018/2019): no
INSTITUTION_ID; extra goal-tracking columnsSTATE_BASELINE, SCHOOL_BASELINE, MIP, STATE_MIP, LONG_TERM_GOAL, EXCEED_LT_GOAL, MET_SH_TARGET, MET_AG_TARGET, END_GOAL(source: SRC2019ReadMe pp. 11ff). - SRC2021 (YEAR 2021 only): core columns +
DATA_REP_FLAG,PARTIAL_DATA_FLAG; no LEVEL/MIP (accountability waived; CA "reported for informational purposes" — SRC2021ReadMe front matter). - SRC2025 (YEAR 2024/2025): same core but no
LEVEL/OVERRIDE— CA "was not used as an indicator in 2025 … still reported in NYS School Report Cards for information and improvement purposes" (SRC2025ReadMe p. 24).
Suppression markers
s= suppressed (accountability suppression rules; in 2023sin ENROLLMENT "equates to 0").- Website renders suppressed/small-N cells as
—; the databasesis authoritative. - Rate columns are formatted text (e.g.
48.6%-style on the site; verify exact mdb format on first export). Recompute rate from counts where both are present. - Assessment-style "fewer than 5 tested" suppression does not apply to CA; CA follows the accountability rules doc linked from each ReadMe ("Understanding the New York State Accountability System under ESSA…", e.g. https://www.nysed.gov/sites/default/files/programs/accountability/24-25-sy-haw.pdf).
4. Entity coverage (NYC spot-checks, all verified live)
Included in SRC CA tables: state (ENTITY_CD = 111111111111), counties, N/RC groups, public
school districts, public schools, and charter schools (ReadMe front matter, all years).
| Entity | instid | BEDS (ENTITY_CD) | CA data check |
|---|---|---|---|
| PS 15 Roberto Clemente (DBN 01M015) | 800000048517 | 310100010015 | 2024 EM CA: 142 enrolled / 69 / 48.6% ✓; 2019 also present (with MIP-era columns) — https://data.nysed.gov/essa.php?year=2024&instid=800000048517&createreport=1&EMchronic=1 |
| KIPP Academy CS (Bronx charter) | 800000034168 | 320700860820 | 2024 EM CA: 769 / 434 / 56.4% ✓ — charters fully covered when they report |
| Success Academy CS – Harlem 1 (DBN 84M351) | 800000059316 | 310300860897 | 2022: 24.3% ✓; 2023: 25.9% ✓; 2024 and 2025: all —, "Level 1 … data were not reported"* (DATA_REP_FLAG = N). Expect this across the SA network from 2023-24 on — quantify on ingest. https://data.nysed.gov/essa.php?year=2024&instid=800000059316&createreport=1&EMchronic=1 |
| PS Q811 (D75, DBN 75Q811) | 800000042164 | 307500014811 | D75 schools exist as institutions; check CA rows on ingest |
| PS Q4 (D75, DBN 75Q004) | 800000042188 | 307500014004 | confirms D75 BEDS pattern |
| NYC Special Schools – District 75 | 800000057444 | 307500010000 | district aggregate |
| NYC Public Schools (citywide) | 7889678368 | 300000010000 | citywide aggregate |
| NYC Geographic Districts #1–32 | e.g. 800000048532 (D1) | 31xx000000xx-style, digits 9–12 = 0000 | district aggregates exist per CSD |
| D79 (Pathways to Graduation etc.) | — | — | Not found in data.nysed.gov school or district lists (lists.php pages, searched "PATHWAYS TO GRADUATION", "DISTRICT 79"); D79 programs do not appear to be report-card entities. Confirm by listing ENTITY_CD LIKE '3079%' after mdb export. |
5. BEDS code ↔ DBN
Official BEDS structure (SRC2025ReadMe "General → ENTITY_CD", p. 4):
digits 1–2 county, 3–4 city/town, 5–6 school-district number, 7–8 district/LEA type,
9–12 building. Special rules: digit 1 = 3 ⇒ NYC, digits 3–4 = community school district;
digits 7–8 = 86 ⇒ charter school; digits 9–12 = 0000 ⇒ district record.
County codes (same source): 30 NYC Central Office, 31 New York (Manhattan), 32 Bronx,
33 Kings (Brooklyn), 34 Queens, 35 Richmond (Staten Island).
Derivation rules observed (verified examples above and 15K001→331500010001 in NYC Open
Data wg9x-4ke6):
- District schools (DBN
ddBnnn): BEDS =[31..35 per borough][dd]0001[0][nnn]— i.e. borough county code + 2-digit CSD +00+01+ 4-digit zero-padded school number. Deterministic both directions. - D75 (DBN
75Bnnn): BEDS =307500 01 [b][nnn]where[b]is a 1-digit borough code in the building field (Q = 4 in both checked examples; M/X/K/R values unverified — verify against crosswalk on ingest). - Charters (DBN
84Bnnn): BEDS =[31..35][CSD of location]00 86 [bldg], and the 4-digit building number does NOT match the DBN number (84M351 →…0876-style mismatch:310300860897). A crosswalk file is required for charters.
Crosswalk sources:
- NYC Open Data "2019-2020 School Locations" (LCGMS extract), Socrata id
wg9x-4ke6: fieldssystem_code(DBN) +beds; includes 283 charters; verified84M351 → 310300860897matches NYSED's profile exactly. https://data.cityofnewyork.us/resource/wg9x-4ke6.json?$select=system_code,location_name,beds,managed_by_name This is the most recent tabular vintage on Socrata; schools opened after 2020 (e.g. newer KIPP Bronx II/III, KIPP Beyond) need a fresher source. - LCGMS live (current data): NYC Open Data
3bkj-34v2("NYC DOE Public School Location Information") is an href-type pointer to DOE's LCGMS (https://www.nycenet.edu/PublicApps/LCGMS.aspx), which exports DBN + SED BEDS code for all current DOE + charter locations. - Fallback for charters: NYSED profile pages expose BEDS per instid
(
https://data.nysed.gov/profile.php?instid=…).
Repo tie-in (read-only check, repo untouched): SPECS.md:54 defines nysed_beds_code on the
schools table; scripts/loaders/dbn-beds-crosswalk.ts exists but is an unimplemented stub
(same for scripts/loaders/nysed-ssec.ts); run order in scripts/loaders/README.md puts the
crosswalk at step 2.
6. Subgroups in the CA tables
Exactly 10, as SUBGROUP_NAME text (SRC2024/2025 ReadMe, CA table definitions):
All Students; American Indian or Alaska Native; Asian or Native Hawaiian/Other Pacific
Islander; Black or African American; Hispanic or Latino; Multiracial; White; English Language
Learner(s); Students with Disabilities; Economically Disadvantaged.
Not present: gender, homeless, foster care, migrant, parent-in-armed-forces (those appear in some assessment tables but not in the CA tables). No subgroup codes — names only; note minor label drift ("English Language Learners" pre-2024 vs "English Language Learner" 2024+).
7. Years published + definitional changes
| SY | Where | Notes |
|---|---|---|
| 2017-18 | SRC2018; also SRC2019 YEAR=2018 | ESSA CA indicator begins; MIP/goal columns |
| 2018-19 | SRC2019 YEAR=2019 | same layout |
| 2019-20 | nowhere | SRC2020 has no CA tables (COVID waiver; ReadMe front matter) |
| 2020-21 | SRC2021 YEAR=2021 only | informational only (waiver); interpret with extreme caution — remote-instruction year |
| 2021-22 | SRC2022 YEAR=2022 (also 2021) | CA indicator resumed |
| 2022-23 | SRC2023 YEAR=2023 (also 2022) | s in ENROLLMENT "equates to 0" quirk documented for 2023 |
| 2023-24 | SRC2024 YEAR=2024 (also 2023) | adds COUNT_ZERO_NON_DISPLAY_FLAG; ENROLLMENT uses literal 0 |
| 2024-25 | SRC2025 YEAR=2025 (also 2024) | CA no longer an accountability indicator — replaced by the new Attendance Index (ACC EM Attendance / ACC HS Attendance tables: ENROLLMENT now ≥30 days, LEVEL1–4_COUNT bands by % days present, ATTENDANCE_INDEX). CA still published in ACC EM/HS Chronic Absenteeism, minus LEVEL/OVERRIDE; accountability minimum-N drops 30→20. Source: SRC2025ReadMe pp. 11–14, 24. |
Downloads-page blurbs corroborate: SRC2024 blurb lists "chronic absenteeism" among indicators; SRC2025 blurb lists "attendance … progress" instead (https://data.nysed.gov/downloads.php).
8. Open questions for ingest
- D75 borough digit map in BEDS building field (only Q=4 verified) — resolve via crosswalk join, not derivation.
- D79 absence — verified absent from site lists; confirm no
3079…ENTITY_CD rows after first mdb export. - Success Academy non-reporting scope — Harlem 1 stopped reporting in 2023-24; check
DATA_REP_FLAG = Ncounts across all NYC charters per year and surface as a data-quality table. - Exact value formatting in mdb (
ABSENT_RATEwith/without%,sliterals, nulls) — inspect aftermdb-export; all columns are text. - Prior-year rows vs own-year files — SRCn carries YEAR n−1 too; decide precedence (recommend own-year file wins; diff overlaps as a QA step).
- Charter crosswalk freshness — wg9x-4ke6 is 2019-20 vintage; pull current LCGMS export for charters opened ≥2020.
9. Artifacts saved in this folder
downloads.html— snapshot of https://data.nysed.gov/downloads.phpremote_zip_ls.py,remote_zip_extract.py— list/extract members of the remote zips via HTTP range requests (no full download)SRC2019ReadMe.pdf/.txt…SRC2025ReadMe_Group3.pdf/SRC2025ReadMe.txt— official layout docs for every SRC year 2019–2025 (extracted from the zips; ~0.4–0.6 MB each)- No mdb/accdb downloaded (mdbtools unavailable; zips are ~300–370 MB each).