department-of-veterans-affairs / va.gov-team

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
280 stars 195 forks source link

Spike: Estimate the scope of work to retrieve military history and and existing claims info #85982

Closed mjknight50 closed 5 days ago

mjknight50 commented 1 month ago

Overview

In an effort to improve the form process, we could auto-populate many data points of the existing pension form. This ticket is building off previous work that was done but should provide an estimate for work if we wanted to pull:

Previous research we did on pre-filling veteran information: https://github.com/department-of-veterans-affairs/va.gov-team/issues/70121 https://github.com/department-of-veterans-affairs/va.gov-team/issues/70482

VA Profile (need to be on Azure): https://dvagov.sharepoint.com/sites/OITEPMOVAPROPUB/SitePages/Military-Personnel-Data.aspx?csf=1&web=1&e=QUwByA

Assumptions

Use only the VA Profile API, not things like BIE contention event queues

Acceptance Criteria

aplatt-coforma commented 3 weeks ago

Hey team! Please add your planning poker estimate with Zenhub @danlim715 @mjknight50 @scottsdevelopment @TaiWilkin @ToddWebDev @wayne-weibel

mjknight50 commented 1 week ago

For military history, there are at least two places that the data can be retrieved. The first is VA Profile:

VAProfile::MilitaryPersonnel::ServiceHistoryResponse /lib/va_profile/military_personnel/service.rb

The second option is through the Lighthouse API: https://developer.va.gov/explore/api/veteran-service-history-and-eligibility/docs?version=current

I could not find anything under /lib/lighthouse/* related to service history, but the API is there.

For a list of existing claims: lib/lighthouse/benefits_claims/service.rb

https://developer.va.gov/explore/api/benefits-claims/docs?version=current

This should return a payload such as:

{
  "data": [
    {
      "id": "555555555",
      "type": "claim",
      "attributes": {
        "baseEndProductCode": "400",
        "claimDate": "2017-05-02",
        "claimPhaseDates": {
          "phaseChangeDate": "2017-10-18",
          "phaseType": "COMPLETE"
        },
        "claimType": "Compensation",
        "claimTypeCode": "400PREDSCHRG",
        "closeDate": "2017-10-18",
        "decisionLetterSent": false,
        "developmentLetterSent": false,
        "documentsNeeded": false,
        "endProductCode": "404",
        "evidenceWaiverSubmitted5103": false,
        "lighthouseId": null,
        "status": "COMPLETE"
      }
    }
  ]
}

The work to pull in claims history or military history is reasonably small and could be competed within a sprint. The unknown here is what data specifically needs to be displayed.

mjknight50 commented 1 week ago

Summary: The technical parts of pulling in military history and/or claims history are not difficult. There is existing code to accomplish this. The unknown here is what specific attributes we are looking for and how design would like them to be rendered on the front-end. With a fully scoped ticket, the technical side of this could be accomplished in a single sprint.

sanjabaj2 commented 1 week ago

As far as what needs to be rendered on the screen, can we just display same fields that we are asking veteran to enter? Is the info here enough for UX folks to start the design?

mjknight50 commented 1 week ago

Yes, I think this could enter a new phase where someone maps the form fields they would like to see populated back to the data elements available.
cc @matt4su

matt4su commented 1 week ago

Desired Military History fields as they appear in the 527 EZ: Branch of service (*Required)- valid values: Army, Navy, Air Force, Coast Guard, Marine Corps, Space Force, USPHS, NOAA

Date initially entered active duty (*Required) For example: January 19 2000

Final release date from active duty (*Required) For example: January 19 2000

Military Service number if you have one

Place of your last separation City and state or foreign country

Did you serve under another name? (Required) If answer is yes: First name (Required) Middle name Last name (*Required) Suffix (this is a list loop that accommodates unlimited names)

Have you ever been a prisoner of war? (*Required) If answer is yes: Start of confinement For example: January 19 2000 End of confinement For example: January 19 2000

mjknight50 commented 1 week ago

How would you like us to use this data for each of the fields you have identified? Pre-populate the data but allow it to be changed?

matt4su commented 1 week ago

yes checked with the PM of another form that prefills this info and they indicated the best practice is to prepop but make editable in case the Veteran needs to make a change.

mjknight50 commented 5 days ago

Created new ticket to track this.