This repository is currently being migrated. It's locked while the migration is in progress.
Add JSON Schema for VA Form 22-1999b#1172
Draft
voidspooks wants to merge 3 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New schema — VA Form 22-1999b
Summary
This PR introduces the JSON Schema for VA Form 22-1999b — Notice of Change in Student Status (School Termination), used by educational institutions to notify the VA of changes to a student's enrollment status, including terminations and interruptions.
The schema enforces seven top-level required sections:
institutionInformation,studentIdentification,benefitChapter,enrollmentPeriod,changeDetails,militaryActivation, andcertification. It is authored against JSON Schema Draft-04 withadditionalProperties: falseat the root to prevent undeclared fields.Key shared definitions include:
date— ISO 8601 formatted strings (YYYY-MM-DD) with strict regex validationssn— exactly 9 digits, no formatting charactersvaFileNumber— 7–9 digit VA file numberusPhone— flexible US phone format accepting parentheses, dashes, dots, or spaces as delimitersNotable patterns:
$refdefinitions promote consistency across student identification and certification fieldsbenefitChapterlikely captures the applicable GI Bill chapter (e.g., Chapter 33, 30, 35), which should be verified against the paper form's enumerationmilitaryActivationsection accounts for cases where a student's status change is due to active duty ordersFiles
src/schemas/22-1999b-schema.jsonNotes for reviewer
package.jsonbackend-review-groupas a reviewerssndefinition strips formatting — confirm downstream consumers expect raw 9-digit strings rather than masked or hyphenated formats (e.g.,XXX-XX-XXXX)benefitChapterfield should be validated against an explicit enum of accepted VA education benefit chapters per the paper form; confirm no chapters are missing or incorrectly excludedadditionalProperties: falseat the root is intentional for strict validation — verify this does not conflict with any middleware that appends metadata fields before submissionmilitaryActivationsection should be reviewed to confirm whether it should be conditionally required (e.g., only when the reason for termination is military-related) or remain optionalenrollmentPeriodcaptures both start and end dates and that partial enrollment periods (e.g., mid-term terminations) are representable within the schema structurePull Requests to update the schema in related repositories