Skip to content
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
masterfrom
optimus/22-1999b-schema
Draft

Add JSON Schema for VA Form 22-1999b#1172
voidspooks wants to merge 3 commits into
masterfrom
optimus/22-1999b-schema

Conversation

@voidspooks
Copy link
Copy Markdown
Contributor

⚠️ AI-Generated PR — This pull request was automatically generated by Optimus. All code requires human review and testing before merging.

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, and certification. It is authored against JSON Schema Draft-04 with additionalProperties: false at the root to prevent undeclared fields.

Key shared definitions include:

  • date — ISO 8601 formatted strings (YYYY-MM-DD) with strict regex validation
  • ssn — exactly 9 digits, no formatting characters
  • vaFileNumber — 7–9 digit VA file number
  • usPhone — flexible US phone format accepting parentheses, dashes, dots, or spaces as delimiters

Notable patterns:

  • Reusable $ref definitions promote consistency across student identification and certification fields
  • benefitChapter likely captures the applicable GI Bill chapter (e.g., Chapter 33, 30, 35), which should be verified against the paper form's enumeration
  • militaryActivation section accounts for cases where a student's status change is due to active duty orders

Files

  • src/schemas/22-1999b-schema.json

Notes for reviewer

  • Please ensure you have incremented the version in package.json
  • Please add backend-review-group as a reviewer
  • The ssn definition strips formatting — confirm downstream consumers expect raw 9-digit strings rather than masked or hyphenated formats (e.g., XXX-XX-XXXX)
  • The benefitChapter field should be validated against an explicit enum of accepted VA education benefit chapters per the paper form; confirm no chapters are missing or incorrectly excluded
  • additionalProperties: false at the root is intentional for strict validation — verify this does not conflict with any middleware that appends metadata fields before submission
  • The militaryActivation section should be reviewed to confirm whether it should be conditionally required (e.g., only when the reason for termination is military-related) or remain optional
  • Confirm enrollmentPeriod captures both start and end dates and that partial enrollment periods (e.g., mid-term terminations) are representable within the schema structure

Pull Requests to update the schema in related repositories

  • vets-api: pending
  • vets-website: pending

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant