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
281 stars 197 forks source link

[CDP] Current and possible statuses for VHA copay debt #82242

Closed charlottecesana closed 3 months ago

charlottecesana commented 4 months ago

Description

We need to better understand the current VHA copay debt statuses that exist currently and possibly create additional ones if the ones available do not reflect the full range of statuses of a copay debt.

This undertaking has similar goals in mind as the Diary codes - Suggestions and Questions #80146 for VBA.

Understanding the diary codes will allow us to create a status delineation to surface a different type of alert (informational or alert, color-coded depending on severity) depending on the time-based progression of the debt and level of severity (from first notice of money owed, to becoming a debt, to being sent to collections, and treasury). [First layer]

Secondly, understanding the statuses and mapping these to the correct alert will allow us to recommend the best action or actions to the Veteran based on the level of their debt situation. The experience will be more dynamic and tailored. [Second layer]

Given: When: Cards, Alerts Then:

Tasks

Acceptance criteria

Testing

Questions for SMEs

mgleo commented 4 months ago

https://github.com/department-of-veterans-affairs/vets-website/blob/c9c16def72a2f7fb080a1ba6fba976965a5bd369/src/applications/combined-debt-portal/combined/components/MCPAlerts.jsx < Statuses as shown on production

mgleo commented 4 months ago

Since alerts are attached to location: Do they need to be attached to a specific copay?

HeatherRienks commented 3 months ago

re: Megan's question above- team agreed in Design sync that alerts will be attached to a VA location, not a specific copay. FYI- VHA has fewer statuses.

HeatherRienks commented 3 months ago

VHA MVP work is secondary to VBA MVP work. We will be closing this ticket and creating a new ticket with any outstanding work.

mgleo commented 3 months ago

VHA statuses documented on VHA Statuses tab

josephrlee commented 3 months ago

Here's what we see currently:


  <p className="vads-u-margin--0">
    Your balance was updated on {formatDate(date)}. Pay your full balance or
    request financial help before
    <strong className="vads-u-margin-left--0p5" data-testid={`due-date-${id}`}>
      {calcDueDate(date, 30)}
    </strong>
    , to avoid late charges, interest, or collection actions.
  </p>
);

CurrentContent.propTypes = {
  date: PropTypes.string,
  id: PropTypes.string,
};

const PastDueContent = ({ id, date, amount }) => (
  <p className="vads-u-margin--0">
    Your balance on
    <strong data-testid={`due-date-${id}`} className="vads-u-margin-x--0p5">
      {formatDate(date)}
    </strong>
    was {currency(amount)}. If you haven't either paid your full balance or
    requested financial help, contact the VA Health Resource Center at{' '}
    <va-telephone contact="8664001238" /> (
    <va-telephone tty contact={CONTACTS[711]} />
    ). We're here Monday through Friday, 8:00 a.m. to 8:00 p.m. ET.
  </p>
);

PastDueContent.propTypes = {
  amount: PropTypes.number,
  date: PropTypes.string,
  id: PropTypes.string,
};

const Alerts = ({ type, copay, error }) => {
  switch (type) {
    case 'status':
      return <Alert.Status copay={copay} />;
    case 'no-health-care':
      recordEvent({
        event: 'visible-alert-box',
        'alert-box-type': 'warning',
        'alert-box-heading': 'You're not enrolled in VA health care',
      });
      return <Alert.NoHealthcare />;
    case 'no-history':
      recordEvent({
        event: 'visible-alert-box',
        'alert-box-type': 'info',
        'alert-box-heading':
          'You haven't received a copay bill in the past 6 months',
      });
      return <Alert.NoHistory />;
    case 'zero-balance':
      recordEvent({
        event: 'visible-alert-box',
        'alert-box-type': 'info',
        'alert-box-heading': 'You don't need to make a payment at this time',
      });
      return <Alert.ZeroBalance copay={copay} />;
    case 'past-due-balance':
      recordEvent({
        event: 'visible-alert-box',
        'alert-box-type': 'info',
        'alert-box-heading': 'Your balance may be overdue',
      });
      return <Alert.PastDue copay={copay} />;
    default:
      recordEvent({
        event: 'visible-alert-box',
        'alert-box-type': 'error',
        'alert-box-heading':
          'We can't access your current copay balances right now',
        'error-key': error?.status || '',
      });
      return <Alert.Error />;
  }
};
mgleo commented 3 months ago

@Tom-Davis @HeatherRienks Moved to validate

josephrlee commented 3 months ago

The next ticket we'll need to create a task list of what proposed changes we want for these statuses.

Tom-Davis commented 3 months ago

Complete for now as priorities shifted and we will make a new ticket when this picks pack up. Closing.