Closed saderagsdale closed 1 year ago
Some materials that may be relevant to this ticket
* Currently on hold in the short term see VANotify/onsite notifications strategy
Here are my notes so far, per use case, and per task. @kylesoskin feel free to edit this comment (I think you should be able to edit it?)
Context: In the NOD form, there is an "add issue" page (pictured below), where a Veteran can manually add an issue that was not present in the list of Lighthouse-provided contestable issues on the previous page. From what I understand, the Veteran's issue could be absent from the previous page because: 1) there was an error with Lighthouse contestable_issues endpoint that we use to fetch issues or 2) Lighthouse doesn't have the issue in their system yet. It may also be possible that the contestable_issues endpoint we're using is only returning disability-related issues.
If a Veteran is adding an issue manually, they need to know the exact decision date of the decision on their issue. The first question is whether we could expect the contestable_issues, when working, to return a full list of disability and non-disability issues. If so, then we might consider modifying the UX around contestable_issues endpoint failures (see related: https://github.com/department-of-veterans-affairs/va.gov-team/issues/62872), to encourage the veteran to come back and try again later, rather than manually add their issue. Just a thought. But if it turned out that the contestable_issues endpoint, when working, could only return disability-related issues, then we would have to look elsewhere for non-disability-related issues. We might be able to get that information from the claim status tool, in which case we could link Veterans to it. But if it turned out that the claim status tool had all the data we needed, then we would want to rely on it, instead of the contestable_issues endpoint, alone, on the issues page in NOD. It might make sense to always include a link to the claim status tool on the "add issue" page to handle cases where the contestable_issues endpoint isn't working.
contestable_issues
endpoint returns all issues, or just disability-related issues. contestable_issues
endpoint, briefly investigate whether alternative data sources exist.<kyle>
Figure out whether the
contestable_issuesendpoint returns all issues, or just disability-related issues. It can return
It can return them all (or at least more than just disability, I am not sure if it is exhaustive of all types of issues), but not all in 1 request, each must be asked for individually.
{
"errors": [
{
"title": "Unprocessable Entity",
"code": "unprocessable_entity",
"detail": "benefit_type must be one of: compensation, pensionSurvivorsBenefits, fiduciary, lifeInsurance, veteransHealthAdministration, veteranReadinessAndEmployment, loanGuaranty, education, nationalCemeteryAdministration",
"status": "422"
}
]
}
The request we currently make is for benefit_type=compensation
. I am not sure what all that covers and/or what additional ones we need to call/support for HLR? All of them? I have no idea that is probably a research question.
</kyle>
Context: After a decision is made on a claim, Veterans have 90 days to file an NOD. We want to send email and SMS reminders about this deadline.**
VANotify appears to be the way to send email, SMS, (and push), notifications to Veterans. They have a lot of great documentation. Good reading:
To use VANotify, we would follow the steps in the playbook linked above. Notably, VANotify's 2023 roadmap contemplates "add[ing] support for Twilio notification status callbacks," that I presume would allow us to handle failed SMS deliveries. An open question I have is whether we would need VANotify to obtain a new short-code phone number for us. I'm guessing we could just use the same short-code phone number that I presume is shared by all of VA.gov. If we couldn't, then it could take up to 3 months to obtain a shortcode phone number.
<kyle>
I think both these are premature. We know we can use VA notify in one way or another to contact the veteran. The context of this point, or the first overview of it is:
After a decision is made on a claim, Veterans have 90 days to file an NOD. We want to send email and SMS reminders about this deadline.**
We need to first figure out if and how we know what the deadline is to even be able to notify the vet at that point. Figuring out how we contact them before figuring out if we can even know when we need to contact them seems like getting ahead of ourselves. We know VA notify can be used in one way or another. We do not know that we can easily or reliably figure out when deadlines are (and therefore, 90 days from them).
</kyle>
Reminders need to be scheduled, so this is something we need to figure out. This is might be pretty tricky. Here are some options:
Option 1: VA Event Bus
There is a team that is currently working on a VA Event Bus that would receive events from VBMS (including, potentially, "Decision Letter Created" events) and publish them to subscribers. Ideally, we could subscribe to any events relating to the creation/filing/delivery of a decision letter, and upon receiving such an event and when appropriate, enqueue a Sidekiq job to send an email and SMS message to the Veteran. This solution would depend on a number of factors, including:
Option 2: ???
<kyle>
In contact with Emily Wilson who is an engineer on the event bus team. Will update with things when I get more info.
These rest of these seem like things to figure out later and not tack on to this already massive spike. All seem premature. Only other note was that we can remind vets easily about In Progress Forms about to expire already, just have to work with VA Notify to enable/turn it on.
</kyle>
TODO
TODO
TODO
TODO
(Rocio says she already gets decision letters via email)
@data-doge review and let us know when you're ready to chat.
@saderagsdale I haven't had a chance to review this ticket yet, but it's on my todo list
Quick notes for tomorrow's conversation with Eileen and Sade:
Use Case 1:
approxDecisionDate
) from the contestable issues returned by Lighthouse's contestable_issues
endpoint. But we need to figure out how approximate this date is, and whether it would warrant a disclaimer.contestable_issues
endpoint with a benefit_type
of compensation
. We need to figure out whether this endpoint returns the contestable issues that we expect the NOD form to encompass. That means we need to figure out exactly what benefits the NOD form should and should not encompass, and what Lighthouse benefit_type
s they map to. Depending on what we learn, we may need to call contestable_issues
multiple times, with different benefit_type
s.Use Case 2:
Use Case 3:
Follow-ups from our conversation on August 24, 2023:
approxDecisionDate
is. Depending on how approximate it is, we may need to offer a disclaimer on the AddIssues screen and in any deadline notifications. To answer this question we can ask Lighthouse and Emily. We should also get some examples of real responses, possibly from vets on our team.
This is the actual decision date in most cases, but I'll also follow up with Caseflow to see what the range is.
contestable_issues
of every benefit_type
. Specifically, how to do that on the front-end, how to handle failed requests and incomplete lists, and whether there would be any non-technical consequences from making requests for every benefit_type
.
contestable_issues
would resolve the duplicate claims problem (where Veterans add already added issues, because they don't see the issue on the AddIssues page) and avoid any content/disclaimer problems (i.e. having to explain that the Veteran is only seeing an incomplete list). According to BVA, the only consequences would be the possibility that some Veterans would "throw spaghetti at the wall to see what sticks."benefit_type
, then we will need to understand the scope of the compensation
benefit_type
, including whether the compensation
benefit_type` encompasses disability or non-disability claims only. According to BVA, compensation is disability-only.benefit_type
. Which means we wouldn't need to think about what it would look like to make 9 async requests for contestable_issues. 🎉 .contestable_issues
data for all benefit_types. For context, Bo at BVA thinks that we may not be able to get data for benefit_types like VHA and NCA.
Contestable Issue data comes directly from Caseflow, so the response will contain all eligible contestable issues, there shouldn't be any missing unless there's an issue with the completeness of VA's data (which is why write-in issues are supported by the decision reviews API)
v1
v. v2
contestable_issues endpoints.
benefit_type
s that they offer, and if not, whether they might be offered in the future.
I'm not familiar with that benefit_type so I'll follow up with Caseflow. Since we pass through all contestable issues from them, I'd imagine they're included but I don't know under what benefit_type
pension survivors benefits
is limited to that, or if it includes the full scope of "survivors benefits."
I'll follow up with Caseflow on this too but my understanding is that it includes the full scope
For sprint hygiene, we'll need to think about whether to inflate the estimate on this ticket, or create separate spikes for follow-up investigations.
@data-doge @kylesoskin I'm weeding out complexity and getting back to the purpose of the ticket. Tasks for each use case and action items below:
A Veteran wants to know the exact decision date when adding a new issue.
A Veteran wants to know when their filing deadline is approaching so they can take action.
A Veteran wants to have to have their decision letter delivered via email, because decision letters don't always arrive in the mail.
I am going to look for leads on action items 1-4. @data-doge can you look into action item 5?
Sent a note to Premal on action items 1-4.
Also reached out to VRO to find out about BIP.
Found BIP API and Swagger documentation here, but you need to be in CAG to click the links: https://github.ec.va.gov/EPMO/bip-vetservices-claims/blob/development/bip-vetservices-claims-docs/new-integration-partners.md https://claims-test.dev8.bip.va.gov/swagger-ui.html#/
Also got a link to this developer documentation for the VRO platform from Premal, which may have some of the data and capabilities we're looking for.
Scheduled time to discuss action items 1-4 with Diana from VRO this Friday.
@data-doge is planning on breaking this ticket down into 3 separate tickets
@data-doge Can you tag me in this ticket when you've looked at the documentation Diana from VRO shared? I'm looking to understand how we can quickly confirm if VRO has what we need.
Hey @saderagsdale sure thing. I plan on doing that today.
Also, after our conversation, and after speaking with Eileen and Ruben today, I've broken this ticket into three separate, focused spike tickets that can be worked on in parallel. The VRO-related ticket is the number one priority:
Accordingly, I'll remove this ticket from the sprint doc, and slot in these three smaller tickets instead.
Value Statement
As a developer I want to know what our options are for 1) letting Veterans know the exact decision date of their decision letters, 2) sending notifications to remind Veterans of AMA deadlines, and 3) sending Veterans their decision letters via email. So that we can make it easier for Veterans to submit a NOD in a timely and efficient manner.
Background Context
The team just finished high-level brainstorming and prioritization for NOD, and would like to explore the following use cases:
Out of scope
Open questions
Tasks
Use Case 1: A Veteran wants to know the exact decision date when adding a new issue.
Use Case 2: Veteran wants to know when their filing deadline is approaching so they can take action.
Use Case 3: A Veteran wants to have to have their decision letter delivered via email, because decision letters don't always arrive in the mail.
Other Tasks:
Definition of Ready
Definition of Done