SAIS Staff Allocation

Data quality

Checks computed live from the seeded data (spec §11.2). Findings are surfaced for the allocation team to resolve, not silently cleaned up.

Not checked here: unstaffed elective slots (needs the MS electives catalogue — Phase 2c) and KG minutes reconciliation (KG runs on a minutes schedule, not the 32-period grid, so it isn't compared against it at all — informational only, spec §4.2).

ErrorCurriculum subject gap24
  • 9A: Performing Art required 2/wk, allocated 0/wkNo allocation row covers this curriculum area for this section. · row
  • 9AA: Performing Art required 2/wk, allocated 0/wkNo allocation row covers this curriculum area for this section. · row
  • 9AAA: Performing Art required 2/wk, allocated 0/wkNo allocation row covers this curriculum area for this section. · row
  • 9B: Performing Art required 2/wk, allocated 0/wkNo allocation row covers this curriculum area for this section. · row
  • 9C: Performing Art required 2/wk, allocated 0/wkNo allocation row covers this curriculum area for this section. · row
  • 9D: Performing Art required 2/wk, allocated 0/wkNo allocation row covers this curriculum area for this section. · row
  • 11A: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 11AA: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 11AAA: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 11B: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 11C: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 11D: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12A: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12A: Science required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12AA: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12AA: Science required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12AAA: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12AAA: Science required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12B: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12B: Science required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12C: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12C: Science required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12D: Math required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
  • 12D: Science required 5/wk, allocated 0/wkExpected residual gap for Grade 11-12 elective-pool sections (spec §9). · row
ErrorTeacher over capacity16
  • Fritz Lessing is allocated 24 periods/week (> 22)Departments: Social Sciences, English · rows 449, 451, 453, 532, 533, 535
  • Ghina Attar is allocated 27 periods/week (> 22)Departments: Social Sciences, English · rows 450, 452, 454, 469, 471, 472, 539, 541, +1 more
  • Neda Vosooghian is allocated 24 periods/week (> 22)Departments: English · rows 515, 516, 936, 937
  • Nihal Said is allocated 24 periods/week (> 22)Departments: English · rows 517, 518, 519, 520
  • Randa Mansour is allocated 25 periods/week (> 22)Departments: English · rows 525, 526, 527, 528, 580
  • Ayda Ayed is allocated 24 periods/week (> 22)Departments: English · rows 543, 544, 545, 546, 547, 548, 549, 550, +16 more
  • Naira Said is allocated 24 periods/week (> 22)Departments: English · rows 567, 568, 569, 570, 571, 572, 573, 574, +5 more
  • Melina Atshanii is allocated 24 periods/week (> 22)Departments: Digital Literacy · rows 581, 582, 583, 584, 585, 586, 593, 594, +10 more
  • Salama Al Hakeem is allocated 24 periods/week (> 22)Departments: Digital Literacy · rows 617, 618, 619, 620, 621, 622, 623, 624, +4 more
  • Farjad Zaffar is allocated 24 periods/week (> 22)Departments: Digital Literacy · rows 641, 642, 643, 644, 645, 646, 647, 648, +13 more
  • Rana Moustafa is allocated 26 periods/week (> 22)Departments: Islamic · rows 673, 674, 675, 676, 677, 678, 679, 680, +5 more
  • Anfal Saleh is allocated 24 periods/week (> 22)Departments: Islamic · rows 759, 760, 761, 762, 763, 764, 765, 766, +2 more
  • Amira Badr is allocated 23 periods/week (> 22)Departments: Arabic B · rows 783, 784, 785, 794, 797
  • Bassma Nour is allocated 25 periods/week (> 22)Departments: Arabic B · rows 787, 788, 789, 790, 791
  • Naifa Chaarani is allocated 24 periods/week (> 22)Departments: Arabic B · rows 795, 796, 798, 799, 800, 801
  • Suha Mansour is allocated 24 periods/week (> 22)Departments: Arabic B · rows 806, 807, 808, 809, 810, 811
ErrorSection period mismatch24
  • Section 1A totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 2, 212, 287, 341, 543, 581, 629, 686, +4 more
  • Section 1B totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 3, 213, 288, 342, 544, 582, 630, 687, +2 more
  • Section 1C totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 4, 214, 289, 545, 583, 631, 688, 827, +1 more
  • Section 1D totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 5, 215, 290, 343, 546, 584, 632, 689, +2 more
  • Section 1E totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 6, 216, 291, 547, 585, 633, 690, 829, +1 more
  • Section 1F totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 7, 217, 292, 548, 586, 634, 691, 830, +1 more
  • Section 2A totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 8, 218, 293, 344, 549, 587, 635, 692, +4 more
  • Section 2B totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 9, 219, 294, 550, 588, 636, 693, 832, +1 more
  • Section 2C totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 10, 220, 295, 345, 551, 589, 637, 694, +2 more
  • Section 2D totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 11, 221, 296, 552, 590, 638, 695, 785, +3 more
  • Section 2E totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 12, 222, 297, 553, 591, 639, 696, 835, +1 more
  • Section 2F totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 13, 223, 298, 346, 554, 592, 640, 697, +2 more
  • Section 3A totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 14, 224, 299, 347, 555, 593, 641, 698, +2 more
  • Section 3B totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 15, 225, 300, 348, 556, 594, 642, 699, +2 more
  • Section 3C totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 16, 226, 301, 557, 595, 643, 700, 761, +3 more
  • Section 3D totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 17, 227, 302, 558, 596, 644, 701, 840, +1 more
  • Section 3E totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 18, 228, 303, 559, 597, 645, 702, 786, +3 more
  • Section 3F totals 34/32 periods (excl. B-track/EAL, after pool roll-down)2 periods over the grid · rows 19, 229, 304, 560, 598, 646, 703, 842, +1 more
  • Section 11A totals 40/32 periods (excl. B-track/EAL, after pool roll-down)8 periods over the grid — expected residual gap for Grade 11-12 elective-pool sections (spec §9), not necessarily an error. · rows 48, 51, 52, 53, 54, 87, 101, 102, +29 more
  • Section 11B totals 35/32 periods (excl. B-track/EAL, after pool roll-down)3 periods over the grid — expected residual gap for Grade 11-12 elective-pool sections (spec §9), not necessarily an error. · rows 47, 49, 50, 55, 56, 90, 103, 104, +30 more
  • Section 12A totals 35/32 periods (excl. B-track/EAL, after pool roll-down)3 periods over the grid — expected residual gap for Grade 11-12 elective-pool sections (spec §9), not necessarily an error. · rows 48, 51, 52, 53, 54, 93, 94, 95, +34 more
  • Section 12B totals 36/32 periods (excl. B-track/EAL, after pool roll-down)4 periods over the grid — expected residual gap for Grade 11-12 elective-pool sections (spec §9), not necessarily an error. · rows 47, 49, 50, 55, 56, 97, 98, 99, +34 more
  • Section 12C totals 33/32 periods (excl. B-track/EAL, after pool roll-down)1 periods over the grid — expected residual gap for Grade 11-12 elective-pool sections (spec §9), not necessarily an error. · rows 47, 49, 50, 55, 56, 97, 98, 99, +30 more
  • Section 12D totals 33/32 periods (excl. B-track/EAL, after pool roll-down)1 periods over the grid — expected residual gap for Grade 11-12 elective-pool sections (spec §9), not necessarily an error. · rows 47, 49, 50, 55, 56, 97, 98, 99, +30 more
ErrorDuplicate allocation5
  • 12B · PE · Ahmed Metwali · load 1 appears 2 timesSame cohort/subject/teacher/load with no distinguishing Group note. · rows 281, 284
  • 12C · PE · Ahmed Metwali · load 1 appears 2 timesSame cohort/subject/teacher/load with no distinguishing Group note. · rows 282, 285
  • 12D · PE · Ahmed Metwali · load 1 appears 2 timesSame cohort/subject/teacher/load with no distinguishing Group note. · rows 283, 286
  • 11B · EAL · Randa Mansour · load 5 appears 2 timesSame cohort/subject/teacher/load with no distinguishing Group note. · rows 527, 580
  • KG1D · Islamic A · Rana Moustafa · load 2 appears 2 timesSame cohort/subject/teacher/load with no distinguishing Group note. · rows 676, 678
WarningHomeroom double-booking18
  • 1A: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 1B: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 1C: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 1D: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 1E: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 1F: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 2A: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 2B: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 2C: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 2D: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 2E: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 2F: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 3A: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 3B: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 3C: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 3D: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 3E: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
  • 3F: homeroom bundle claims Digital Literacy, STEM, but a specialist also delivers themSpec §3.3 — the school should confirm which owns these periods; not resolved automatically. · row
WarningTeacher significantly under capacity21
  • Rasha Moustafa is allocated only 10 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 77, 80
  • Mayssara Chaaban is allocated only 8 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 119, 120
  • Dina Nasr is allocated only 5 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · row 157
  • Roshan Sheikh is allocated only 10 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 201, 204
  • Mostafa Shamseldin is allocated only 10 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 247, 253, 257, 258, 259
  • Ghada Ibrahim is allocated only 16 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 261, 262, 266, 267, 268, 272, 273, 274, +3 more
  • Sameh Hussein is allocated only 12 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 329, 330, 331, 332, 333, 334, 335, 336, +4 more
  • Hala Awar is allocated only 10 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 387, 411, 435
  • Rania Attal is allocated only 14 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 427, 428, 485, 486
  • Nathalie Shaar is allocated only 12 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 455, 456, 457, 458, 459, 460
  • Samah Justin is allocated only 6 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 461, 462, 463, 464, 465, 466
  • Tatiana Nikolskaya is allocated only 14 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 467, 470, 537, 540
  • Kai Joubert is allocated only 15 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 503, 510, 512
  • Zeina Kloilet is allocated only 15 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 511, 514, 530
  • Ali Muhaimid is allocated only 6 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 755, 758
  • Manar Zayyad is allocated only 8 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 660, 663
  • Reem Al Hamid is allocated only 8 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 779, 780, 781, 782
  • Nancy Mustafa is allocated only 16 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 802, 803, 804, 805
  • Khaled Rizk is allocated only 10 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 849, 853
  • Aamer Al Taweel is allocated only 4 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · row 894
  • Binu Kamal is allocated only 12 periods/week (< 18)No part-time flag exists in the source data — verify this isn't a part-time contract before treating it as a gap. · rows 938, 939, 940, 941, 942, 943, 944, 945, +4 more
WarningOrphan cohort6
  • Row has Grade "KG2" but Cohort "KG1A" (grade "KG1")Islamic B · Reem Al Hamid · row 779
  • Row has Grade "KG2" but Cohort "KG1B" (grade "KG1")Islamic B · Reem Al Hamid · row 780
  • Row has Grade "5" but Cohort "4A" (grade "4")EAL · Neda Vosooghian · row 936
  • Row has Grade "5" but Cohort "4D" (grade "4")EAL · Neda Vosooghian · row 937
  • Row has Grade "10" but Cohort "11B" (grade "11")EAL · Insaf Issa · row 950
  • Row has Grade "10" but Cohort "12B" (grade "12")EAL · Insaf Issa · row 951
WarningVacancy exposure3
  • New Teacher (Science): 22 periods/week unstaffed across 5 rowsDepartments: Science · rows 57, 60, 63, 66, 107
  • New Teacher (Math): 21 periods/week unstaffed across 6 rowsDepartments: Mathematics · rows 146, 149, 154, 169, 170, 171
  • Teacher New (English): 21 periods/week unstaffed across 6 rowsDepartments: Social Sciences, English · rows 416, 419, 425, 474, 477, 483
WarningBlocked-pair asymmetry30
  • 9A notes "Blocked with 12 Girls" but 12 Girls has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 75
  • 9B notes "Blocked with 12 Boys" but 12 Boys has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 78
  • 8A notes "Blocked with 9A" but 9A has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 199
  • 8B notes "Blocked with 9B" but 9B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 202
  • 7AAA notes "Blocked with 7A" but 7A has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 481
  • 7AAA notes "Blocked with 7AA" but 7AA has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 481
  • 8AA notes "Blocked with 8A" but 8A has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 486
  • 8AA notes "Blocked with 8AAA" but 8AAA has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 486
  • 8D notes "Blocked with 8B" but 8B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 490
  • 8D notes "Blocked with 8C" but 8C has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 490
  • 9C notes "Blocked with 9B" but 9B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 495
  • 9C notes "Blocked with 9D" but 9D has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 495
  • 11A notes "Blocked with 11B" but 11B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 530
  • 5D notes "Blocked with 5B" but 5B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 542
  • 5D notes "Blocked with 5C" but 5C has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 542
  • KG1A notes "Blocked with 1B" but 1B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 673
  • KG1A notes "Blocked with KG1B" but KG1B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 806
  • KG1B notes "Blocked with 2B" but 2B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 674
  • KG1C notes "Blocked with 3B" but 3B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 675
  • KG1C notes "Blocked with KG1D" but KG1D has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 807
  • KG1D notes "Blocked with 4B" but 4B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 676
  • 2A notes "Blocked with 2B" but 2B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · rows 760, 784
  • 1A notes "Blocked with 1B" but 1B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 783
  • 3E notes "Blocked with 3F" but 3F has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · rows 786, 787
  • 4A notes "Blocked with 4B" but 4B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · rows 789, 936
  • KG1E notes "Blocked with KG1F" but KG1F has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 808
  • KG2A notes "Blocked with KG2B" but KG2B has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 809
  • KG2C notes "Blocked with KG2D" but KG2D has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 810
  • KG2E notes "Blocked with KG2F" but KG2F has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 811
  • 4D notes "Blocked with 4E" but 4E has no reciprocal noteTimetabling constraint may be one-directional in the source data — verify with the allocation team. · row 937
InfoDepartment name normalized1
  • 1 row(s) had raw Department "L" normalized to "Art"Spec §9 #4 — known typo, corrected on ingest with the original preserved here. · row 51