0969 | Update List & Loop `recipientName` Fields
Overview
Improving Data Structure and Consistency in VA Form 21P-0969
The 0969 form, specifically the Income and Asset Statement, is a crucial document for veterans to provide essential information about their income and assets. However, the current implementation of the recipientName
field in the list and loop sections of this form has limitations. The field is defined as a simple string, which can lead to data structure issues, validation problems, and accessibility concerns. To address these challenges, this ticket aims to update the recipientName
field to use a full name object instead of a string, aligning with the VA Design System web component pattern for full name fields.
Problem
Current Implementation and Its Limitations
The current implementation of the recipientName
field is a string, which can be represented as "Jon Smith"
. However, this format has several drawbacks. Firstly, it lacks structure, making it difficult to validate and process the data accurately. Secondly, it can lead to accessibility issues, as screen readers and other assistive technologies may struggle to interpret the data correctly. Lastly, it does not conform to the VA Design System's web component pattern for full name fields, which emphasizes the importance of using a full name object format.
{
"first": "Jon",
"last": "Smith"
}
To address these limitations, the recipientName
field should be updated to use a full name object format, which includes the first, middle, and last names. This change will not only improve data structure and consistency but also enhance accessibility and validation.
Tasks
Updating vets-json-schema
and vets-api
To implement the changes, the following tasks need to be completed:
- Update
vets-json-schema
: Define therecipientName
field as a full name object using the sharedfullNameNoSuffix
definition. - Update
vets-api
: Properly parse and handle the full name object structure. - Ensure
recipientName
field mapping: Ensure that therecipientName
field maps correctly to the PDF as a single string. - Ensure backward compatibility: Define a migration strategy if necessary to ensure that the changes do not break existing functionality.
- Add or update unit and integration tests: Update the unit and integration tests to reflect the new schema structure.
Acceptance Criteria
Verifying the Changes
To ensure that the changes are implemented correctly, the following acceptance criteria need to be met:
recipientName
defined as a full name object: TherecipientName
field is defined as a full name object ({ first, middle, last }
) in bothvets-json-schema
andvets-api
.recipientName
field mapping: TherecipientName
field maps correctly to the PDF as a single string.- Updated unit and integration tests: All related unit and integration tests are updated and passing.
- Form submission works as expected: The form submission works as expected, and no regressions are introduced.
By completing these tasks and meeting the acceptance criteria, we can that the recipientName
field is updated to use a full name object format, improving data structure and consistency in VA Form 21P-0969.
Benefits of the Change
Enhancing Data Structure and Consistency
The proposed change will bring several benefits to the 0969 form:
- Improved data structure: The full name object format will provide a structured representation of the name data, making it easier to validate and process.
- Enhanced accessibility: The full name object format will improve accessibility by providing a clear and consistent representation of the name data, which can be easily interpreted by screen readers and other assistive technologies.
- Better alignment with VA Design System: The change will align with the VA Design System's web component pattern for full name fields, ensuring consistency and coherence in the design of the form.
Frequently Asked Questions
As we continue to work on updating the recipientName
field in the 0969 form, we've received several questions from stakeholders and team members. Below, we've compiled a list of frequently asked questions and answers to provide clarity on the changes and their implications.
Q1: Why is the recipientName
field being updated?
A1: The recipientName
field is being updated to use a full name object format to improve data structure and consistency in VA Form 21P-0969. This change will align with the VA Design System's web component pattern for full name fields, enhancing accessibility and validation.
Q2: What is the current implementation of the recipientName
field?
A2: Currently, the recipientName
field is defined as a simple string, which can be represented as "Jon Smith"
. This format lacks structure, making it difficult to validate and process the data accurately.
Q3: What is the proposed implementation of the recipientName
field?
A3: The proposed implementation of the recipientName
field is a full name object format, which includes the first, middle, and last names. This format will provide a structured representation of the name data, making it easier to validate and process.
Q4: How will the change affect existing functionality?
A4: The change will not break existing functionality, but it may require updates to unit and integration tests to reflect the new schema structure. Additionally, a migration strategy may be necessary to ensure backward compatibility.
Q5: What are the benefits of the change?
A5: The change will bring several benefits, including:
- Improved data structure and consistency
- Enhanced accessibility
- Better alignment with the VA Design System's web component pattern for full name fields
Q6: When will the change be implemented?
A6: The change will be implemented in the next sprint, with a target completion date of [insert date]. We will provide regular updates on the progress and any changes to the timeline.
Q7: How can I get involved in the change?
A7: If you're interested in getting involved in the change, please reach out to the project lead or the development team. We welcome contributions and feedback from stakeholders and team members.
Q8: What are the next steps?
A8: The next steps include:
- Updating
vets-json-schema
to define therecipientName
field as a full name object - Updating
vets-api
to properly parse and handle the full name object structure - Ensuring the
recipientName
field maps correctly to the PDF as a single string - Adding or updating unit and integration tests to reflect the new schema structure
We will provide regular updates on the progress and any changes to the timeline. If you have any further questions or concerns, please don't hesitate to reach out.