{"main_topic":"education","sub_topic":"gosa","topic":"educator_qualifications_emergency_and_provisional_credentials","key":"education/gosa/educator_qualifications_emergency_and_provisional_credentials","version":"1.0.0","year_min":2018,"year_max":2024,"year_gaps":[],"update_frequency":"annual","detail_levels":["districts","schools","states"],"default_detail":"schools","path_template":"education/educator_qualifications_emergency_and_provisional_credentials/year={year}/{detail}.parquet","grain":["year","district_code","school_code","poverty_subgroup"],"title":"Emergency-Credentialed Teachers","summary":"Share of Georgia teachers holding an emergency credential by school, district, and school-poverty stratum, 2018-2024.","description":"Georgia Office of Student Achievement (GOSA) Emergency-credential teacher FTE report. For every Georgia public school, school district, and the state as a whole, reports the total teacher full-time equivalent (`total_fte`), the FTE of teachers holding an Emergency teaching credential (`emergency_fte`), and the emergency-credentialed FTE as a percentage of total FTE (`emergency_fte_rate`, on a 0-1 decimal scale). Each entity has three rows — Total, High Poverty, and Low Poverty — reporting the same three metrics across poverty strata of schools. Coverage spans the 2017-2018 school year through 2023-2024. Despite the topic name referencing 'Provisional' credentials, no provisional rows appear in the source; only Emergency is reported.","source":"Governor's Office of Student Achievement (GOSA)","source_url":"https://gosa.georgia.gov/dashboards-data-report-card/downloadable-data","endpoint":"/api/v1/education/educator_qualifications_emergency_and_provisional_credentials","columns":[{"name":"year","type":"integer","role":"year","nullable":false,"label":"Year","short_description":"","description":"Ending calendar year of the school year. Year 2024 = 2023-2024 school year. Derived from the bronze `LONG_SCHOOL_YEAR` column's ending year.","valid_values":null,"example":2024,"unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"district_code","type":"string","role":"fk_district","nullable":true,"label":"District Code","short_description":"","description":"3-digit GOSA district code (zero-padded) for standard districts; 7-digit charter code for charter / specialty-school districts; NULL for state-level aggregate rows. FK to the education districts dimension. Because the source publishes only district NAMES (no codes), codes are resolved against `data/gold/education/_dimensions/districts.parquet` via the shared educator-topic resolver (year-aware certified_personnel lookups, curated code pins, and guarded name matching — see src/etl/education/gosa/_educator_lookups.py). Rows whose names cannot be resolved are dropped only under documented predicates; the transform manifest records each dropped class and count per year.","valid_values":null,"example":"601","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"school_code","type":"string","role":"fk_school","nullable":true,"label":"School Code","short_description":"","description":"4-digit GOSA school code (zero-padded); NULL for district-level and state-level aggregate rows. FK to the education schools dimension (composite key with district_code). Resolved by name via the shared educator-topic resolver; school-level rows whose name cannot be resolved to a dimension entry are dropped under documented source-gap predicates only (counts in the transform manifest).","valid_values":null,"example":"0103","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"poverty_subgroup","type":"string","role":"categorical","nullable":false,"label":"Poverty Subgroup","short_description":"School-poverty stratum the row covers: all schools (total), or only the highest- or lowest-poverty quartile; a school-poverty level, not a student demographic.","description":"Poverty stratum of the schools whose FTE this row aggregates. `total` covers all schools in the entity; `high_poverty` covers only the entity's schools in the state's highest-poverty quartile; `low_poverty` only those in the lowest-poverty quartile. Per GOSA's K-12 Teacher & Leader Workforce Reports, a school's poverty level is defined by its direct-certification rate (the share of students directly certified for free/reduced-price meals) — higher direct certification means higher poverty. For a school-level row the stratum describes the school itself, so `high_poverty`/`low_poverty` rows duplicate that school's `total` row (enforced by a quality check). This is a SCHOOL-poverty stratum, NOT a student demographic — it does not map to the global demographics dimension.","valid_values":["high_poverty","low_poverty","total"],"example":"total","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":true,"metric_component":null},{"name":"total_fte","type":"number","role":"metric","nullable":true,"label":"Total FTE","short_description":"","description":"Total teacher full-time equivalent count in the entity (or in the poverty subgroup). Fractional FTEs are real (e.g. 34.8). NULL when suppressed by the GOSA reporting floor (`TFS`, < 10 teachers). Denominator of `emergency_fte_rate`. The 2019 statewide level (162,256.2) is ~37% above neighboring years (2018: 118,009.1; 2020: 110,800.8) — a broader teacher population GOSA reported that year at every detail level, preserved faithfully per data-cleaning-standards §4b (extreme-but-conceivable).","valid_values":null,"example":42.5,"unit":"count","value_min":null,"value_max":null,"null_meaning":"Suppressed by the GOSA reporting floor (`TFS`, fewer than 10 teachers); suppression exists from the 2021 file onward.","key_metric_grain_contributor":false,"metric_component":"denominator"},{"name":"emergency_fte","type":"number","role":"metric","nullable":true,"label":"Emergency FTE","short_description":"","description":"Teacher FTE holding an Emergency teaching credential in the entity (or poverty subgroup). NULL when suppressed (`TFS`, < 10 FTE) — observed from 2021 onward. True zeros (no emergency-credentialed teachers) are preserved as 0.0 in 2018-2020, before GOSA introduced suppression for this report. Numerator of `emergency_fte_rate`. Sourced from bronze columns CATEGORY_FTE (2023-24), Emergency_FTE (2022), and the MIS-LABELED OUTOFFIELD_FTE (2018-21) — see the limitations note.","valid_values":null,"example":1.5,"unit":"count","value_min":null,"value_max":null,"null_meaning":"Suppressed (`TFS`, < 10 FTE) — 2021 onward. Pre-2021 files have no suppression, so NULL does not occur and 0.0 is a true zero.","key_metric_grain_contributor":false,"metric_component":"numerator"},{"name":"emergency_fte_rate","type":"number","role":"metric","nullable":true,"label":"Emergency FTE Rate","short_description":"Share of teacher FTE holding an emergency credential, on a 0-1 scale (emergency_fte / total_fte).","description":"`emergency_fte` / `total_fte` on a 0-1 decimal scale. Bronze publishes an integer 0-100 percent (verified range 0-100 across all years); divided by 100 per data-cleaning-standards §4. Because GOSA rounds the percent to an integer computed from unrounded FTE values, the published rate can deviate from emergency_fte/total_fte by up to ~0.012 at small schools (worst observed: 0.0121 at a 1.9-FTE program in 2020); a quality check enforces reconciliation within 0.015. The rate is preserved from bronze even when `emergency_fte` is suppressed — e.g. a row can have emergency_fte=NULL with a non-NULL rate.","valid_values":null,"example":0.05,"unit":"proportion","value_min":null,"value_max":null,"null_meaning":"The bronze percentage itself was suppressed (`TFS`). The rate can be non-NULL while `emergency_fte` is suppressed, and vice versa — GOSA suppresses each cell independently.","key_metric_grain_contributor":false,"metric_component":null}],"key_metric":"emergency_fte_rate","usage":"Star-schema fact table. Join the districts dimension on district_code; the schools dimension on district_code + school_code. Read directly with DuckDB over Parquet.","limitations":"Source-lineage caveat: in the 2018-2021 bronze files (Era 3) the metric columns are NAMED `OUTOFFIELD_FTE` / `OUTOFFIELD_FTE_PCT`, but the VALUES they carry are Emergency-credential FTE counts, not out-of-field counts — a confirmed GOSA source mis-labeling (the 2021 state total here, 9,796.9, differs from the genuine out-of-field report's 6,281.9). The transform reads these as emergency_fte / emergency_fte_rate; do not re-interpret those years as out-of-field data. Despite the topic name, no 'Provisional' rows appear in the source — only Emergency is reported. Suppression is era-asymmetric: 2018-2020 publish a real `0` (true zero emergency-credentialed teachers), while 2021 onward suppress any value below 10 with `TFS` (treat NULL as 'count < 10' for 2021+ but as genuinely missing pre-2021); emergency_fte_rate may be non-null even when emergency_fte is suppressed. 2019 statewide FTE is ~37% above neighboring years (a broader teacher population GOSA reported that year), preserved faithfully per data-cleaning-standards §4b. The 2018 file mixes scopes ACROSS detail levels: school rows are on the broad teacher-population scope while district and state rows are on the narrow scope (statewide school-row total_fte sums to 157,557.3 vs the state row's 118,009.1, a 1.335x ratio; e.g. Gwinnett's district aggregate is 11,170.0 while its school rows sum to 22,190.6) — 2018 school rows do NOT sum to their district or state aggregates. The source publishes only district/school NAMES, so codes are resolved by name against the education dimensions via the shared educator-topic resolver (year-aware certified_personnel lookups, curated code pins, guarded matching); rows that cannot be resolved are dropped only under documented predicates — redundant 2023 truncated charter-container aggregates and cataloged source gaps — with per-year counts in the transform manifest. State rows have NULL district_code and school_code; district rows have NULL school_code.","null_semantics":{"suppressed_to_null":true,"zero_is_real":true},"available_years":[2018,2019,2020,2021,2022,2023,2024],"schema_hash":"2c38701537a70afc578be7768152b086b8ed0f90687c4d3ac63762856fac0ab8","tags":["education","governor's office of student achievement","educator_qualifications_emergency_and_provisional_credentials"],"granularity_description":"One row per year, district_code, school_code, poverty_subgroup (geography columns are NULL at higher aggregation levels).","example_queries":[{"description":"Latest year (2024), schools detail","query":"SELECT * FROM educator_qualifications_emergency_and_provisional_credentials WHERE year = 2024 LIMIT 100"},{"description":"District 601 in 2024","query":"SELECT * FROM educator_qualifications_emergency_and_provisional_credentials WHERE district_code = '601' AND year = 2024 LIMIT 100"},{"description":"Filter by poverty_subgroup = total","query":"SELECT * FROM educator_qualifications_emergency_and_provisional_credentials WHERE poverty_subgroup = 'total' AND year = 2024 LIMIT 100"}],"foreign_keys":[{"column":"district_code","target_object":"districts","target_columns":["district_code"],"attribute_columns_added":["district_name","district_census_id","district_type"],"scope":"domain"},{"column":"school_code","target_object":"schools","target_columns":["district_code","school_code"],"attribute_columns_added":["school_name"],"scope":"domain"}],"filters":[{"param":"year","kind":"year_exact","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"year_min","kind":"year_range","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"year_max","kind":"year_range","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"detail","kind":"detail","type":"string","multi_value":false,"enum_enforced":true,"values":["districts","schools","states"],"default":"schools"},{"param":"district_code","kind":"foreign_key","column":"district_code","type":"string","multi_value":true,"enum_enforced":false,"values":null},{"param":"school_code","kind":"foreign_key","column":"school_code","type":"string","multi_value":true,"enum_enforced":false,"values":null},{"param":"poverty_subgroup","kind":"categorical","column":"poverty_subgroup","type":"string","multi_value":true,"enum_enforced":true,"values":["high_poverty","low_poverty","total"],"has_total":true,"total_value":"total","requires_single_value":false},{"param":"district_type","kind":"dimension_attribute","dimension":"districts","column":"district_type","type":"string","multi_value":true,"enum_enforced":true,"values":["commission_charter","resa","standard","state_agency","state_charter","state_school","state_special"]}],"filter_hints":[]}