VA Notify - department-of-veterans-affairs/caseflow GitHub Wiki

Business Impact

Any appellant who is interested in receiving status updates to their appeal will be able to opt-in for digital notifications in the form of an e-mail and/or text notification. Whenever a status change occurs in their case, Caseflow will set off a series of events in order to get the notification to the appellant through the external VA Notify service, as well as capture that notification process. This provides a timely update for appellants on the status of their appeal whenever their appeal has a change in status.

Scope

  1. Caseflow module to handle Appellant Notifications logic
  2. Send SQS queue to interface with VA Notify API
  3. Receive SQS Queue to receive Callbacks
  4. Database Table to house Notification Events Template UUIDs
  5. Database Table to capture Notifications and their updated statuses

Out of Scope

  1. Opt-in logic is handled outside of Caseflow
  2. VA Notify is an external service to Caseflow
  3. VEText Integration (future work)

Technical Overview

VA Notify is the external service that Caseflow uses to notify appellants of status changes on an appeal.

  1. The process starts whenever a tracked event changes on an appeal.
  2. The Appellant Notification module will create a custom JSON payload that it sends to an SQS queue using a Ruby Gem called Shoryuken.
  3. The SQS queue will asynchronously start to make API calls to VA Notify with the custom payload created within the Appellant Notification module.
  4. VA Notify will then send a callback to Caseflow with a status based on receipt of the payload.
  5. Caseflow will then make a record of the notification within the Notifications table as well as the Notifications Event table.
  6. VA Notify will then check the appellant's communication preferences by querying another VA Service called VA Profile using the participant id of the appellant that it was sent by Caseflow.
  7. VA Notify will then use the template id and appeal id (UUID for AMA Appeals or Vacols ID for Legacy Appeals) that it received from Caseflow to generate a notification that it will send to the appellant based on their communication preferences.

Additional Information