Skip to main content

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 -->|Life-limiting 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 visibleWhen: [PupilIsNotAddBack, SchoolIsNotIndependent] (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 visibleWhen: [SchoolCanRecordNotOnRoll, PupilIsNotAddBack] (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/prison social-care
life-limiting-illness Life-limiting 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 carries "visibleWhen": ["SchoolCanRecordNotOnRoll", "PupilIsNotAddBack"], 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 carries "visibleWhen": ["PupilIsNotAddBack", "SchoolIsNotIndependent"], 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. SchoolIsNotIndependentCondition negates SchoolIsIndependentCondition rather than restating the type test, so the string 11 stays defined once and the two polarities cannot disagree.
    • 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.