Check Performance Data - Remove (KS4 June) — Question Flow
This document describes the branching question flow defined in
src/DfE.CheckPerformanceData.Web/Data/QuestionFlows/Remove_KS4June.json.
It is the flow a school follows when requesting that a pupil be removed from
the Key Stage 4 (June) performance data.
{pupilName} is interpolated at runtime with the selected pupil's name.
-
First page:
reason
-
Terminal pages (no
nextPageId): evidence, year-group-change-evidence,
not-on-roll-evidence, dual-registered-moved-evidence,
pupil-died
Flow diagram
flowchart TD
reason["reason<br/>(Radio · 12 options, 2 school-type conditional)"]
%% --- branches off the reason question ---
reason -->|Admitted following permanent exclusion?" non-independent schools only| permanent-exclusion
reason -->|Admitted from abroad, English not first language| english-not-first-language
reason -->|Child missing education| child-missing-education
reason -->|Pupil has died| pupil-died
reason -->|Dual registered or moved school| dual-registered-moved
reason -->|Elective home education| elective-home-education
reason -->|Not on roll · independent schools only| not-on-roll
reason -->|Permanently excluded from current school| permanently-excluded
reason -->|Permanently left England| permanently-left-england-questions
reason -->|Social care involvement| social-care
reason -->|Terminal or critical illness| life-limiting-illness
reason -->|Year group change| year-group-change-higher-lower
%% --- intermediate / branching pages ---
english-not-first-language --> english-not-first-language-details
year-group-change-higher-lower -->|Higher| year-group-change-higher
year-group-change-higher-lower -->|Lower| year-group-change-lower
%% --- routes into the shared evidence page ---
permanent-exclusion --> evidence
permanently-excluded --> evidence
child-missing-education --> evidence
english-not-first-language-details --> evidence
permanently-left-england-questions --> evidence
life-limiting-illness --> evidence
social-care --> evidence
elective-home-education --> evidence
%% --- year-group change has its own evidence page ---
year-group-change-higher --> year-group-change-evidence
year-group-change-lower --> year-group-change-evidence
%% --- not on roll has its own evidence page ---
not-on-roll --> not-on-roll-evidence
%% --- terminal pages ---
pupil-died --> done([End / Check answers])
dual-registered-moved --> dual-registered-moved-evidence
dual-registered-moved-evidence --> done
evidence --> done
year-group-change-evidence --> done
not-on-roll-evidence --> done
classDef terminal fill:#d4edda,stroke:#28a745;
classDef start fill:#cce5ff,stroke:#004085;
class reason start;
class evidence,year-group-change-evidence,not-on-roll-evidence,pupil-died,dual-registered-moved-evidence terminal;
Page-by-page breakdown
reason — start
Single Radio question driving the whole flow. useAsRequestType: true and
contentKey: true. Each option sets its own nextPageId:
| Option value |
Label |
Goes to |
permanent-exclusion |
Admitted following permanent exclusion — only shown when pupil.isAddBack is false and school.isIndependent is false (GIAS type id not 11) |
permanent-exclusion |
english-not-first-language |
Admitted from abroad with English not first language |
english-not-first-language |
child-missing-education |
Child missing education |
child-missing-education |
pupil-died |
Pupil has died |
pupil-died |
dual-registered-moved |
Dual registered or moved school |
dual-registered-moved |
elective-home-education |
Elective home education |
elective-home-education |
not-on-roll |
Not on roll — only shown when pupil.isAddBack is false and any of school.isIndependent or school.isOnNotOnRollList is true (GIAS type id 11, or a listed FE college) |
not-on-roll |
permanently-excluded |
Permanently excluded from current school |
permanently-excluded |
permanently-left-england |
Permanently left England |
permanently-left-england-questions |
social-care-involvement |
Social care involvement - including police or prison |
social-care |
life-limiting-illness |
Terminal or critical illness |
life-limiting-illness |
year-group-change |
Year group change |
year-group-change-higher-lower |
permanent-exclusion → evidence
Pupil admitted following a permanent exclusion elsewhere.
| Question |
Type |
Notes |
permanent-exclusion-dfe-number |
FreeText |
DfE number of the school which permanently excluded the pupil (issue-496 design copy). Blank and malformed answers share one message: "Enter the 7 digit DfE number of the school which permanently excluded the pupil". Only this page's DfE-number question uses that wording; the four sibling DfE-number questions keep theirs. Includes help text linking to Get Information About Schools. |
date-pupil-excluded |
Date |
When the pupil was excluded. |
permanently-excluded → evidence
Pupil permanently excluded from the current school.
| Question |
Type |
Notes |
date-permanently-excluded |
Date |
When the pupil was permanently excluded. |
permanent-exclusion-dfe-number |
FreeText (optional) |
DfE number of the school the pupil went to. Includes help text. |
english-not-first-language → english-not-first-language-details
First of two pages for the "admitted from abroad" reason.
| Question |
Type |
Notes |
first-language |
Radio |
English / Not known but believed English / Other than English / Not known but believed other / Prefer not to say / Not known. |
english-not-first-language-details → evidence
| Question |
Type |
Notes |
country-originally-from |
Autocomplete (countries) |
Country the pupil is originally from. |
date-pupil-started |
Date |
When the pupil started at this school. |
date-pupil-started-school-in-england |
Date |
When the pupil first started at any school in England. |
date-pupil-arrived-in-england |
Date (optional) |
When the pupil arrived in England. |
child-missing-education → evidence
| Question |
Type |
Notes |
why-removed |
Radio |
Ground H (not returned after agreed leave) / Ground I (long absence, no agreed leave or clear reason) of the School Attendance Regulations 2024 / Other (AB#304117). The value is copied into the rules field childMissingEducationGround: other is auto-rejected by seed rule PMIE-OTHER-REJ; Ground H and Ground I fall to PMIE-DEF (Scrutiny). |
date-removed-from-roll |
Date |
When the pupil was removed from the school roll. |
pupil-died → end (terminal)
| Question |
Type |
Notes |
date-removed-from-roll |
Date |
When the pupil was removed from the school roll. |
No evidence step.
dual-registered-moved → dual-registered-moved-evidence
| Question |
Type |
Notes |
dual-registered-moved-dfe-number |
FreeText |
DfE number of the school the pupil's exam results should be transferred to. Includes help text. |
dual-registered-moved-evidence → end (terminal, EvidenceUpload)
| Question |
Type |
Notes |
evidence |
FileUpload (optional) |
PDF evidence. |
additional-comments |
TextArea (optional) |
Additional comments, 500 characters. |
Both questions are optional and the page has no requireAtLeastOne, so the school can submit with evidence, comments, both or neither (#546).
elective-home-education → evidence
| Question |
Type |
Notes |
date-removed-from-roll |
Date |
When the pupil was removed from the school roll. |
not-on-roll → not-on-roll-evidence
Reached only when the not-on-roll reason is shown (independent schools, GIAS
type id 11 — see conditional visibility).
| Question |
Type |
Notes |
on-school-roll |
Radio |
Was {pupilName} on your school roll in the 2025 to 2026 academic year? (Yes / No). |
not-on-roll-evidence → end (terminal)
EvidenceUpload page with requireAtLeastOne: true. Both questions are
optional individually, but at least one must be answered.
| Question |
Type |
Notes |
evidence |
FileUpload (optional) |
PDF, up to 6 files, 10 MB each. |
how-evidence-supports |
TextArea (optional) |
Explain how the evidence supports removal. 500 char limit. |
permanently-left-england-questions → evidence
| Question |
Type |
Notes |
country-moved-to |
Autocomplete (countries) |
Country the pupil moved to. |
date-removed-from-roll |
Date |
When the pupil was removed from the roll. |
social-care → evidence
| Question |
Type |
Notes |
social-care-reason |
Radio (contentKey: true) |
Social care situation / Police involvement / Detained in prison, remand centre or secure unit for ≥4 months. |
sat-exams |
Radio |
Has the pupil sat any exams as a year 11 pupil? (Yes / No) |
life-limiting-illness → evidence
| Question |
Type |
Notes |
life-limiting-illness-health-issue |
Radio |
Terminal illness diagnosis, including some life-limiting conditions / Recent and life changing illness or injury / Critical illness, injury or condition, diagnosed or under investigation for 12 months or more (#513). contentKey: each category has its own evidence requirements block on the next page. |
sat-exams |
Radio |
Has the pupil sat any exams as a year 11 pupil? (Yes / No) |
year-group-change-higher-lower (branching)
Single Radio whose options branch the flow:
| Option |
Goes to |
higher |
year-group-change-higher |
lower |
year-group-change-lower |
year-group-change-higher → year-group-change-evidence
| Question |
Type |
Notes |
year-group-higher-moved-to |
Radio |
Year 12 / 13. |
year-group-higher-dfe-number |
FreeText |
DfE number of the school where the pupil was previously reported at the year of KS4. |
year-group-change-lower → year-group-change-evidence
| Question |
Type |
Notes |
year-group-lower-moved-to |
Radio |
Year 8 / 9 / 10. |
year-group-change-evidence → end (terminal)
EvidenceUpload page used only by the year-group-change branch. Both questions
are optional here.
| Question |
Type |
Notes |
evidence |
FileUpload (optional) |
PDF, up to 6 files, 10 MB each. |
how-evidence-supports |
TextArea (optional) |
Explain how the evidence supports removal. 500 char limit. |
evidence → end (terminal)
Shared EvidenceUpload page reached by most reasons. Both questions are
required here (contrast with year-group-change-evidence).
| Question |
Type |
Notes |
evidence |
FileUpload |
PDF, up to 6 files, 10 MB each. |
how-evidence-supports |
TextArea |
Explain how the evidence supports removal. 500 char limit. |
Notes
-
Three evidence pages exist.
evidence requires both upload and
explanation; year-group-change-evidence makes both optional; and
not-on-roll-evidence makes both optional but sets requireAtLeastOne: true,
so at least one of the two must be provided. Each is used only by its
respective branch.
-
Conditional options. Two reasons are gated on the school's type, in opposite
polarities.
-
not-on-roll tests pupil.isAddBack is false, and an anyOf of
school.isIndependent and school.isOnNotOnRollList, so it is
rendered only for independent schools (GIAS establishment type id 11) and for
the FE colleges in Web/Data/NotOnRollColleges/not-on-roll-colleges.json,
matched on LAESTAB (AB#304119).
-
permanent-exclusion tests pupil.isAddBack is false and
school.isIndependent is false, so it is
rendered only for schools that are not independent — an independent school
cannot have been permanently excluded by a school and cannot action the request.
Type 10 (Other Independent Special School) is deliberately treated as not
independent (ticket 281165), so it keeps permanent-exclusion.
Both reasons use the one fact school.isIndependent, with "is": true or
"is": false, so the string 11 is in one class only.
- Both gates are evaluated server-side by
IOptionVisibilityService, which refuses
a posted value for a hidden option as well as omitting it from the render; see
request-journey.md → Conditional option visibility.
-
pupil-died skips evidence entirely and ends after a single page.
dual-registered-moved has its own evidence page where everything is optional.
-
date-removed-from-roll is reused across elective-home-education,
pupil-died, and child-missing-education. permanent-exclusion-dfe-number
and sat-exams are likewise reused across pages.
-
contentKey: true appears on reason and on social-care's
social-care-reason question — these map to CMS content keys.
-
useAsRequestType: true on the reason question means the chosen reason
determines the request type recorded for the change request.