Closed mjknight50 closed 11 months ago
Hey team! Please add your planning poker estimate with Zenhub @mjknight50 @TaiWilkin @ToddWebDev
Here's a summary of my investigation into the PDF generation of the Pension form and the scope of work that needs to be done in order to accommodate the new version of the form:
Investigate what creates the PDF when an online Pension form is submitted
pdf-forms
(link) and is essentially just a wrapper that invokes PDFtk
(link). Using this tool we can retrieve field metadata from PDF form fields, as well as fill in data in each field.vets-json-schema
is the repo where the pension data schema that is defined by us (the devs) resides, and it defines how the data is captured from the front end and validated in the backend. These schemas are being pulled into vets-api
as a gem, vets_json_schema
. Details to add new fields/schemas are defined here and steps to version and prep for opening a PR are listed in the repo's README file.PdfFill::Forms
is the backend module where all the data mapping logic lives. We take all the data from our schema and map it to fields on the PDF via field keys on the PDF. Additional info on PDF generation and adding new forms is documented here.Investigate whether the PDF generation service lives in vets-api and doesn't rely on BGS
vets-api
repo. All form schema definitions live in the vets-json-schema
repo. There is no dependency on BGS services.What is the validation?
On form submission, only 3 validations occur on the SavedClaim
model:
vets-json-schema
.What is the process to change the validation and to send new fields?
What is the downtime?
There should be no downtime since all the changes we need to make live in vets-api
and vets-json-schema
, but this rework could potentially increase the scope of what we originally thought needed to be done.
If you have any questions, please don't hesitate to ask. I'd also be more than happy to meet via Zoom or Slack to summarize my findings and answer any questions in person if necessary.
I've also attached the old and new versions of the PDF here as a reference:
@emilytheis @va-albers Please let us know your thoughts on this, or if there's something I missed/misunderstood.
Issue Description
When central mail or lighthouse benefits intake API are used, a PDF is created in the process.
https://app.mural.co/t/departmentofveteransaffairs9999/m/departmentofveteransaffairs9999/1697740873991/4be42fcadc013be6b3d65bd620522ee68e8e0faf?wid=0-1698863820992
For additional context and help, see this: https://github.com/department-of-veterans-affairs/vets-website/tree/main/src/applications/pensions/21p527ez#async-and-error-ha[…]for-form-submission
(scroll to "Creates a PDF")
Acceptance Criteria
vets-api
and doesn't rely onBGS