Skip to content

Add JSON Schema for VA Form 22-1990n#2

Draft
voidspooks wants to merge 1 commit into
masterfrom
optimus/22-1990n-schema-20260426T223346Z-59d3
Draft

Add JSON Schema for VA Form 22-1990n#2
voidspooks wants to merge 1 commit into
masterfrom
optimus/22-1990n-schema-20260426T223346Z-59d3

Conversation

@voidspooks

Copy link
Copy Markdown
Owner

⚠️ 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-1990n

Summary

This PR introduces the JSON schema for VA Form 22-1990n (Application for VA Education Benefits Under the National Call to Service (NCS) Program). The schema covers core applicant information including:

  • Personal identification: Full name (first, last, required; middle as a single nullable character matching ^[A-Za-z]$), Social Security Number (9-digit string, no hyphens, validated via pattern ^\d{9}$), and date fields conforming to ISO 8601 (format: date).
  • Reusable definitions: Shared definition references are resolved via a buildDefinitionReference helper using JSON Schema $ref pointers to #/definitions/*, promoting consistency across field reuse.
  • Strict object validation: The root schema sets additionalProperties: false, enforcing that only explicitly declared properties are accepted.
  • Draft-04 compliance: The schema targets http://json-schema.org/draft-04/schema#, consistent with existing schemas in this repository.

Notable patterns include nullable typed fields (e.g., type: ['string', 'null'] for middle name) and length constraints applied alongside pattern validation for SSN and name fields.

Files

  • src/schemas/22-1990n/schema.js

Notes for reviewer

  • Please ensure you have incremented the version in package.json
  • Please add backend-review-group as a reviewer
  • The middle name field uses type: ['string', 'null'] with maxLength: 1 — confirm this aligns with downstream vets-api expectations for nullable single-character initials.
  • SSN is validated as a raw 9-digit string with no formatting; confirm that no hyphenated input is expected from any front-end form flow.
  • The artifact summary was truncated at the date definition — please verify that all remaining top-level properties and any required fields on the root object are complete and accurate before merging.
  • Confirm whether any NCS-specific fields (e.g., service agreement period, education program selection) are present in the full schema beyond what is visible in the artifact summary.

Pull Requests to update the schema in related repositories

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

Generated by Optimus (https://github.com/aquia-inc/optimus).
All files require human review before merging.

Files:
- src/schemas/22-1990n/schema.js
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