Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic Case Distribution Algorithm Updates #14538

Closed
3 tasks
hschallhorn opened this issue Jun 16, 2020 · 2 comments
Closed
3 tasks

Automatic Case Distribution Algorithm Updates #14538

hschallhorn opened this issue Jun 16, 2020 · 2 comments
Labels
Epic Feature: auto-case-distribution Priority: High Escalations from Support, blocking issue/NO workaround, or "first in" priority for new work. Product: caseflow-queue Stakeholder: BVA Functionality associated with the Board of Veterans' Appeals workflows/feature requests Team: Echo 🐬 Type: Enhancement Enhancement to an existing feature User: Judge

Comments

@hschallhorn
Copy link
Contributor

hschallhorn commented Jun 16, 2020

The board has requested changes to the ACD algorithm.

Request from the Board

We would like to make two changes to the case ordering algorithm in Caseflow.

  1. AOD and CAVC Remand cases should have absolute priority, so any case order should be filled first from these cases up to 100% of the case order these cases should be auto-distributed to judges with no cap per VLJ. That includes both hearing and non-hearing cases. Only if there are not enough AOD or CAVC Remand cases to fill an order should the program go to the next type of case.
  2. We are receiving a lot of remands back from VBA and some of those cases are hearing cases "tied" to a VLJ. Those cases will not necessarily be evenly distributed among the VLJs. In order to ensure that those cases don't back up, we would like to ensure that VLJs get ONLY their legacy hearing cases if they have more than 30 on their list in case storage until they get down to 30. Of course, this is only after AOD and CAVC remands are distributed.

REQUEST 1

  1. AOD and CAVC Remand cases should have absolute priority, so any case order should be filled first from these cases up to 100% of the case order these cases should be auto-distributed to judges with no cap per VLJ. That includes both hearing and non-hearing cases. Only if there are not enough AOD or CAVC Remand cases to fill an order should the program go to the next type of case.

Translation

  1. Remove priority target. “Request more cases” should distribute all priority if there are enough in the backlog to “fill the order”.
  2. Currently we distribute
    1. Priority cases linked to judge
    2. Non priority linked to judge
    3. Priority cases not linked to judge
      Want to update this to 1 -> 3 -> 2

Create an auto-distribution process with the following logic:

Auto-distribute priority cases evenly across judges authorized to receive auto-distributed cases (calculate # of cases for each judge by dividing total # priority cases / #judges authorized= priority target)

  • Auto-distribute priority cases that are tied to judges without a limit
  • Auto-distribute priority cases that are general population to each judge (each judge should get “priority target” number of cases). If the judge already reached or exceeded their “priority batch size” with cases that are tied to them in step a, skip to step b

Before cases are auto-distributed to VLJs a check will need to occur to ensure the VLJ is authorized to receive auto-distributed cases.

Thoughts

  • Concern around some priority cases being worked later than they would have if distributed to more judges rather than just one. (15 priority cases in backlog, one judge gets all of them, 2 get all non priority, rather than each judge getting 5 of the priority cases and working them as soon as possible
    • Enough priority cases for this not to be a problem. Around 1000 priority cases right now
  • Need to look into whether or not we’re currently clearing out priority cases (how long do they sit?)
    • When VACOLS location was changed to location 81/83 and then when it was distributed

Scope

  • Create auto-distribution process
  • Remove priority target

Stats to capture

  • Current priority target and current case distribution statistics
  • How long do priority cases normally sit?
  • Rate at which new priority cases are added?
  • How will the adjustment of the priority target affect the number of other dockets?
    • Increase priority target
    • 100% priority target
    • Effect on direct review specifically as the board has set a goal

REQUEST 2

  1. We are receiving a lot of remands back from VBA and some of those cases are hearing cases "tied" to a VLJ. Those cases will not necessarily be evenly distributed among the VLJs. In order to ensure that those cases don't back up, we would like to ensure that VLJs get ONLY their legacy hearing cases if they have more than 30 on their list in case storage until they get down to 30. Of course, this is only after AOD and CAVC remands are distributed.

Translation

  • Has to do with legacy hearing cases tied to VLJ (handled in step 2, will be bumped to step 3 step 1 from request 1
    # Distribute nonpriority appeals that are tied to judges.
    # Legacy docket appeals that are tied to judges are only distributed when they are within the docket range.
    distribute_appeals(:legacy, @rem, priority: false, genpop: "not_genpop", range: legacy_docket_range)
    distribute_appeals(:hearing, @rem, priority: false, genpop: "not_genpop")
  • Verify we already do this, think we do this with no limit

Scope

Stats to capture

  • How many are currently available vs the number that are being distributed?

References
Overall distribution
Calculations
Legacy case selection
Legacy Priority Case Distribution
Legacy Non-Priority Case Distribution
To gather data, check out the distributed_cases and distributions tables in the caseflow DB
Case Distribution Overview

Notes:

Cases that are tied to AVLJs don’t get distributed to them as they do not request cases. Priority push job should aim to solve this.
The current proposed implementation is to allow the toggle of the priority distribution to exist on a judge team, which AVLJ’s do not have. We will need another way to pull “who gets pushed cases” for cases tied to certain judges.

@hschallhorn hschallhorn added Type: Enhancement Enhancement to an existing feature Product: caseflow-queue Feature: auto-case-distribution User: Judge Stakeholder: BVA Functionality associated with the Board of Veterans' Appeals workflows/feature requests Team: Echo 🐬 Priority: High Escalations from Support, blocking issue/NO workaround, or "first in" priority for new work. Epic labels Jun 16, 2020
@jimruggiero jimruggiero added this to Decision Needed in Caseflow Program Priorities Jun 16, 2020
@jimruggiero jimruggiero changed the title Automatic Case Distribution Updates Automatic Case Distribution Algorithm Updates Jun 16, 2020
@alisan16 alisan16 moved this from Decision Needed to Current in Caseflow Program Priorities Jul 16, 2020
@araposo-tistatech
Copy link

@hschallhorn test users are as follows:

BVAMTENNER
BVANDOAN

@araposo-tistatech
Copy link

@hschallhorn can you advise which feature toggle I should be using to enable the updated case ordering logic? Looks like there may be two so i'm not sure which one I should be using. I'd like to get this one enabled before Mondays deploy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Feature: auto-case-distribution Priority: High Escalations from Support, blocking issue/NO workaround, or "first in" priority for new work. Product: caseflow-queue Stakeholder: BVA Functionality associated with the Board of Veterans' Appeals workflows/feature requests Team: Echo 🐬 Type: Enhancement Enhancement to an existing feature User: Judge
Projects
No open projects
Development

No branches or pull requests

3 participants