Skip to content

Districts List

The Districts list is the page staff read to see the state of every district at once. Each row carries status pills, and the header carries a control for each state that any district is currently in, so a pill is both a label and a way to filter the list down to the districts wearing it.

This page covers the Fall EOC Gap pill: what it means, the rule that decides it, which districts and schools it skips, and what to do when a district wears it.


What the Fall EOC Gap Pill Means

A district wears the pill when one of its high schools sent no fall MAAP enrollments at all in english, math or science.

A school's MAAP projection for a subject is built from its scores, and a score reaches a school and a teacher through an enrollment. A high school with no fall MAAP roster in a subject therefore produces no projection for that subject, and until this pill existed the only way to see it was a console query per district.

The district page names the detail: one chip per affected school, each naming the school and the subjects it is missing.


The Rule

Zero is the rule. A school is missing a subject when it holds no fall MAAP enrollment in it. A school holding one enrollment in a subject is not missing that subject, however far short of its roster that is.

A school is reported when every one of these is true:

Condition Why
Its district is evaluated See Which Districts Are Not Evaluated
The school is active An inactive school teaches nobody
Its school type is 1000 The 1000 point school is the one that sits EOC subjects as a high school. See The Exclusions
Its grades are not grade 9 alone A grade 9 only academy never sits English II
It holds at least one active student in grades 9 through 12 who is not SCD A school teaching nobody in those grades is teaching nobody an EOC course
It holds no fall MAAP enrollment in the subject, for a student in grades 9 through 12 The rule itself

The Three Subjects

English, math and science. History is deliberately not read: it is zero at every active high school on the platform, so reading it would put the pill on every district and the pill would carry no information.

The Fall Window Is Quarters 1 And 2 Together

The pill reads quarters 1 and 2 of the district's current year, together, and never the district's current quarter.

A year-long or fall-semester EOC course satisfies either quarter, and which one it lands in depends on what the district's current quarter was when the nightly import ran against the file. A district whose quarter 1 window closed before its roster was complete carries its fall roster at quarter 2, so reading quarter 1 alone would report a school whose roster is complete.

Reading the district's current quarter would be worse: in the spring the rule would quietly become "zero spring MAAP enrollments", and a school whose EOC courses run in the fall semester alone holds no spring enrollment for them by design.

Because the window is fixed rather than relative to today, the same question asked in April reports what the fall actually held.


Which Districts Are Not Evaluated

A district is evaluated only when all four of these hold. A district failing any of them wears no pill, and none of its schools is reported.

Condition Why
The district is active Not a district whose roster we are chasing
It has completed onboarding A district still onboarding is being walked through its first uploads
Its nightly sync is not paused, which includes a rollover in flight A paused district is not sending files
It holds at least one enrollment in the fall window See below

The fourth condition is about rollover. A district's current year is the year its fourth quarter ends in, so the summer rollover moves every district to a year holding no enrollments at all. Without this condition every high school on the platform would be reported from the day its district rolls over until its fall import lands, which is every August.

A district that received no fall roster whatsoever is a different problem, and the SIS Files pill beside this one is the one that asks about it. This pill answers which schools the fall import missed, not whether it ran. A district whose import reached some of its schools and not others is fully evaluated, which is the case this pill exists for.

A district that is not evaluated looks the same as a district with a complete roster. Neither wears the pill, and both export fall_eoc_gap=false on the districts CSV: the column says "no gap was found", not "this district was checked". In August, when every district has rolled over and no fall roster has landed, that is every district in the file. So the four conditions above are the thing to read the column against, which is why they are written down here rather than left to be inferred from a false.


The Exclusions

Three exclusions keep the pill from naming a school that was never going to hold an EOC roster. Each reads what a school holds rather than naming any school, so a new one arriving next year is handled without a code change.

Only A School Typed 1000

A 9th grade cohort sits Algebra I and Biology, which are EOC courses, but not English II. A junior high holding 9th graders therefore legitimately holds two of the three subjects and never the third, and a rule based on grades rather than school type would report it every year. One active junior high on the platform holds fall MAAP EOC enrollments today: it holds math and science and no english, and it is correctly silent.

Not A Grade 9 Only School

A school whose grades are grade 9 alone never sits English II either. The school type of such a school is still 1000, so it needs an exclusion of its own.

Not A School Without Grade 9 Through 12 Students

A school holding no active student in grades 9 through 12 is not teaching anyone an EOC course. This removes the central offices, transfer schools, graduate holding schools, vocational centers, alternative programs, restart centers, early colleges and career and technical centers that are typed 1000 and hold no roster.

SCD students do not count toward this test. A student educated in a self-contained classroom is attributed through their SCD record rather than through an enrollment, so a school whose grade 9 through 12 students are all SCD holds no EOC roster by design. SCD placement is also what puts a high school aged student at a school that is not a high school.

The test reads the student roster and never the enrollments, deliberately: a school holding no enrollments is exactly the school the rule is looking for, so an exclusion drawn from enrollments would hide the loudest case there is.


Who Sees It

Surface Who sees it
The pill and the control on the Districts list Admins, and Platform Admins for the districts they support. The Districts list itself is staff only
The card on a district's own page Everybody who can open that page: Admins, Platform Admins, District Admins and District Users
The chip on a school's row in the Schools list The same, plus School Users, for the schools they hold
The card on a school's own page The same, plus School Users, for the schools they hold

A district seeing its own missing subjects is deliberate. The remedy is ours, so a district cannot act on it alone, but a district that can see the gap tells us about it sooner than we would otherwise find out.

A School User has no district page, which is why the chip is on the Schools list and the school page as well. The Schools list sends a user who can reach exactly one school straight to that school's page, so for a School User holding one school the school page is the only surface their missing subjects can reach them on.

Teacher Users see none of it.


What To Do About It

The remedy is ours, not the district's:

  1. Check the district's MAAP course mappings. A fall EOC course the district teaches under a code that is not in its maap_courses is dropped at import, so the roster arrives without it.
  2. Correct the mapping through a Helpdesk Ticket. A district that raised the gap with us has already done its part of this step.
  3. Re-import the fall quarter, naming it. key_five_tasks:import_students defaults current_quarter to the district's current quarter, so running it bare in the spring writes quarter 3 or quarter 4 and the fall window is untouched. Pass the quarter the district's fall roster sits in, 1 or 2, which is the quarter its enrollments rows carry.

The pill clears on the next page load once the fall rows are in, because the reading is calculated live from the tables every time the page is drawn. Nothing is cached and nothing has to be cleared by hand.

After Quarter 2 Ends, The Pill Does Not Clear

Catching this early is the point, and the window is narrower than it looks.

The import destroys the district's rows for the year and quarter it is given before rebuilding them from the file it is handed. Inside the fall term that is exactly what is wanted: the export still carries the fall courses, so the rebuild restores them with the corrected mapping. Once the district has moved on to quarter 3, re-importing quarter 2 destroys the frozen fall rows and rebuilds them from a spring export that may no longer carry the fall-semester courses at all, so rows that were there can be lost.

So from January a corrected mapping does not clear this pill, and the pill is right not to clear: the fall rows were never received, the fall scores could not be matched to a class, and no mapping fix reaches back and creates them. The district's spring state projection is a separate matter and is not lost, because a state score resolves against the district's quarter 4 enrollments first and only falls back to quarter 2, so a mapping corrected in January still reaches it through the spring roster.

A pill still lit in the spring is therefore a record of what the fall actually held. It clears at the district's next rollover, when the reading moves to a new year.

The Gate Opens On The District's File, Not On The School's

The fourth gate condition opens as soon as the district holds one fall enrollment anywhere, at any school and any grade. One elementary row is enough, and that is deliberate rather than a rough edge: a district's enrollments.csv is imported in one job, which destroys the district's rows for the period and rebuilds them all from that one file, so a district's elementary rows and its high school rows land in the same run. There is no window in which the first exist and the second do not. Measured across all 32 districts holding a 2027 fall roster, the first high school row and the first non-high-school row share a timestamp to the second in every one of them.

A district whose own file arrives carrying its elementary courses and not its high school ones is not an edge case to be waited out: it is the exact condition this pill exists to report, which is why the gate asks whether the district received a fall roster and not whether the school did.


What The Flag Is Not

  • Not a report. There is no page listing gaps. It is a pill on a list staff already read.
  • Not an email. Nothing is sent to a district, and nothing was added to the weekly reminders.
  • Not a ratio and not a near miss. Zero is the rule. A school holding two math enrollments against a roster of four hundred does not wear the pill.
  • Not a judgment about how complete a roster is. A school one enrollment short of zero does not light.
  • Not an answer about unmapped courses in general. A course code in neither the MAAP nor the feeder list is dropped at import, so it exists only in the raw enrollments.csv and cannot be seen from our tables at all. The zero rule is the part of that question our tables can answer.
  • Not a fix. Nothing about the district's data changes because the pill is shown. The reading only reads.