Special Education Enrollment by Disability
District-level headcounts of students in special education by the 17 IDEA disability categories, from the October FTE count, 2014-2026.
- 2014–2026
- annual
- 3.0.0
- 12b4db534db4
Overview
Georgia Insights (GaDOE) FTE Enrollment by Disability — the October Cycle 1 FTE headcount of Georgia public school students receiving special-education services, broken out by the 17 GaDOE/IDEA disability categories (autism, specific learning disability, speech-language impairment, etc.) at the school-district level, fiscal years 2014-2026. District-only: the source publishes no state aggregate and no school-level rows. Counts below 10 are suppressed to NULL by the source's small-cell rule.
Row grain: One row per year, district_code, school_code, demographic.
num_students — Number Students (count)
The single headline value most answers want.
Variables
Every column in the fact table. The code is the exact field name the API returns.
| Column | Type | Unit | Range | Null? | Description |
|---|---|---|---|---|---|
year | integer | — | — | no | Fiscal year of the October FTE count (2026 = October 2025, i.e. the 2025-2026 school year). Sourced from the bronze filename, cross-checked against each file's preamble.Full description▾Fiscal year of the October FTE count (2026 = October 2025, i.e. the 2025-2026 school year). Sourced from the bronze filename, cross-checked against each file's preamble. |
district_code | string | — | — | no | 3-digit GOSA district code (zero-padded) for standard districts; 7-digit code for state charters and specialty schools, including the 2014-2019 pseudo-districts 7991893/7991894/7991895 for the three state schools (published with blank names by the source; named in the districts dimension). Never NULL — this topic has no state-level rows. FK to districts dimension.Full description▾3-digit GOSA district code (zero-padded) for standard districts; 7-digit code for state charters and specialty schools, including the 2014-2019 pseudo-districts 7991893/7991894/7991895 for the three state schools (published with blank names by the source; named in the districts dimension). Never NULL — this topic has no state-level rows. FK to districts dimension. |
school_code | string | — | — | yes | Always NULL — GaDOE publishes this disability breakdown at the district level only. The column is kept so every education fact table shares the same key-column shape.Full description▾Always NULL — GaDOE publishes this disability breakdown at the district level only. The column is kept so every education fact table shares the same key-column shape. |
demographic | string | — | — | no | One of 17 IDEA disability categories (e.g. autism, specific learning disability); no `all` total row.Full description▾Primary exceptionality — the GaDOE/IDEA disability category (FK to the global demographics dimension's 'disability' demographic_category). One of 17 snake_case values mapped 1:1 from the bronze code columns (AUT -> autism, SLD -> specific_learning_disability, HH -> hard_of_hearing, ...). HH is Hard of Hearing / Hearing Impairment (GaDOE FTE program code W), the sibling of D -> deaf (code X) — not Hospital/Homebound, which is a placement, not a disability category. BL -> blind is GaDOE's Blind primary area (FTE code 1; the report legend reads 'BL = Blind'); students with low vision / visual impairment are the separate visual_impairment bucket (VI, code Z), so blind excludes them. Every row's population is students receiving special-education services, split by their single primary disability. This topic publishes only the 17 disability categories at the district level — there is no 'all' total row (the source publishes none). 17 allowed values▾
|
num_students | integer | — | yes | Count of special-education students in the disability category; NULL means suppressed by the source's small-cell rule (true count below 10, possibly zero) — the source never publishes a 0.Full description▾FTE headcount of students served in the disability category for the (year, district) cell. Raw count, not scaled. NULL means the source suppressed the cell ('*'): the true count is below 10 and may be zero — GaDOE publishes no literal 0 in any year, so '*' covers both zero and 1-9. Every published value is >= 10 (verified in every column of every year). |
Filters
Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.
| Parameter | Kind | Allowed values | Notes |
|---|---|---|---|
year | year_exact | any value | — |
year_min | year_range | any value | — |
year_max | year_range | any value | — |
detail | detail | districts | enum-enforced, default: districts |
district_code | foreign_key | any value | multi-value |
school_code | foreign_key | any value | multi-value |
demographic | foreign_key | 17 allowed values▾
| multi-value, enum-enforced |
district_type | dimension_attribute | 7 allowed values▾
| multi-value, enum-enforced |
school_level | dimension_attribute | elementarymiddlehighk12other | multi-value, enum-enforced |
locale | dimension_attribute | citysuburbtownrural | multi-value, enum-enforced |
demographic_category | dimension_attribute | 12 allowed values▾
| multi-value, enum-enforced |
Example requests
Run these against the base URL — they return live data.
All rows (first page), districts level
curl "https://georgiacivicdata.org/api/v1/education/enrollment_october_disability"districts data for 2026
curl "https://georgiacivicdata.org/api/v1/education/enrollment_october_disability?year=2026"One district (code 601), 2026
curl "https://georgiacivicdata.org/api/v1/education/enrollment_october_disability?district_code=601&year=2026&detail=districts"Download 2026 as CSV
curl "https://georgiacivicdata.org/api/v1/education/enrollment_october_disability?year=2026&format=csv"Notes & limitations
NULL handling
- Suppressed cells (too few students to report) are NULL, never zero.
- Zero is a real, reported value.
Limitations
Suppressed cells are NULL, never 0: the source's small-cell rule withholds every count below 10, so a NULL means 'fewer than 10, possibly zero' — GaDOE publishes no literal 0 in any year ('*' is the only marker), so zero_is_real stays true (a 0, if one were ever published, would be a real count) and every published value is >= 10. District rows have NULL school_code. District-only topic: the source publishes no state-aggregate row and no school-level file, so summing district rows is the only way to approximate a state figure — and that sum undercounts, because every suppressed cell (below 10) contributes nothing. deaf_blind is 100% suppressed in every year (no Georgia district ever reports 10+ deaf-blind FTE students), so its num_students is always NULL — the rows are kept to preserve the complete 17-category block. Despite 'by Grade Disability' in the source filenames, the files contain no per-grade breakdown — only district x disability category. The three state schools (district codes 7991893, 7991894, 7991895; blank names in bronze, named in the districts dimension) appear only in 2014-2019 and drop out of the report from 2020, so a district-sum series that includes them shifts at 2020.