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

Assessment Gateway: Input PY Award consumed and Create related application reassessment on a reassessment #2672

Closed
3 tasks done
dheepak-aot opened this issue Jan 12, 2024 · 2 comments
Assignees
Labels
Student Student Features Task

Comments

@dheepak-aot
Copy link
Collaborator

dheepak-aot commented Jan 12, 2024

Input PY total of all required awards to Camunda
For all the awards which requires the PY maximum consideration during assessment, we need to send the total award value consumed by the student for that PY to assessment gateway.

Chronology: Ordering by assessment calculation date (assessment_date) of original assessment.

Logic: Get the sum of assessed value for a given award from all the applications, whose original assessment calculation date is after processing application's original assessment calculation date.

Example:

Assume we are considering CSLP for this example.

Application 1:  Original Assessment Calculation Date: Jan 01
CSLP Awarded/Assessed : 300
Input to Assessment Gateway: variable `PYCLSPConsumed = 0` 


Application 2:  Original Assessment Calculation Date: Jan 02
CSLP Awarded/Assessed : 200
Input to Assessment Gateway: variable `PYCLSPConsumed = 300` 

Application 3:  Original Assessment Calculation Date: Jan 03
CSLP Awarded/Assessed : 100
Input to Assessment Gateway: variable `PYCLSPConsumed = (300 + 200) = 500` 

Identify Impacted applications and create reassessment:
As per #2665, Use the centralized logic during re-assessment to identify all the impacted applications due to this change and create re-assessments.

Additional Context
PT Awards affected:

  • CSPT
  • CSGD
  • CSGP (Across FT/PT)
  • SBSD (Across FT/PT)
  • BCAG

Note: While calculating the PY award consumed, awards from declined COE must not be included.

Acceptance Criteria

@dheepak-aot dheepak-aot added Student Student Features Task labels Jan 12, 2024
@dheepak-aot dheepak-aot changed the title Assessment Gateway: Input PY Award consumed and Create related application reassessment Assessment Gateway: Input PY Award consumed and Create related application reassessment on a reassessment Jan 12, 2024
@michesmith
Copy link
Collaborator

@CarlyCotton to put the award types and their source spreadsheet into this ticket and then move to grooming

@andrewsignori-aot
Copy link
Collaborator

@Joshua-Lakusta @CarlyCotton while doing the SUM for awards between full-time/part-time CSGD and BCAG will be calculated together?
In the below list (from the ticket description) where it reads (Across FT/PT) would it be applied to CSGD and BCAG also, right?
PT Awards affected:

  • CSPT
  • CSGD
  • CSGP (Across FT/PT)
  • SBSD (Across FT/PT)
  • BCAG

andrewsignori-aot added a commit that referenced this issue Feb 15, 2024
…2817)

Changed the processes for workers `VerifyAssessmentCalculationOrder` and
`WorkflowWrapUp` to allow:
- The SUM of awards for past applications.
- Checking future impacted applications to create reassessments.

### Changes in worker `VerifyAssessmentCalculationOrder`
- The output DTO now allows adding dynamic properties besides the
required `isReadyForCalculation`.
- A new dynamic property will be created for every grant award present
in previous applications for the same student and same program year. The
grants totals will be grouped per offering intensity, and they will be
displayed following the examples below.
  - programYearTotalFullTimeCSGD
  - programYearTotalFullTimeCSGP 
  - programYearTotalFullTimeSBSD 
  - programYearTotalFullTimeBCAG
  - programYearTotalFullTimeSBSD
  - programYearTotalPartTimeCSGD
  - programYearTotalPartTimeCSGP 
  - programYearTotalPartTimeSBSD 
  - programYearTotalPartTimeBCAG
  - programYearTotalPartTimeSBSD
- The totals are returned by a new method
`getProgramYearPreviousAwardsTotals` that uses the same centralized
logic to determine the past applications (`getSequencedApplications`)
introduced in the previous PR #2732
- Having the awards segregated per intensity would allow the workflow to
decide which ones must be combined. For instance, the values for CSGP
and SBSD will be added together later to process the assessment
calculations while grants like CSPT, CSGD, and BCAG will have their
values added per offering intensity. In this way, the worker's
responsibility is to provide the granular total while the workflow
responsibility is to decide how to SUM them.
- The method `getSequencedApplications` was changed to optionally
receive a "reference date" that is needed to determine the past
applications when the application being verified was never calculated
(doesn't have an assessment date) needed to place this application into
the chronology order.

#### E2E Tests
- Should sum the grants from two past applications with different
offering intensities when the applications are for the same student and
program year.
- Should consider the grant from only one disbursement from a valid past
application when the past application has two disbursements and the
second COE is declined.
- Should not return any program year total awards when there are no
applications in the past for the same student and program year.

### Changes in worker `WorkflowWrapUp`
- Added the previously created method
`assessImpactedApplicationReassessmentNeeded` to the `WorkflowWrapUp`
worker to ensure that a future application (if any) will be reassessed.
- The method `updateAssessmentStatusAndSaveWorkflowData` is executed in
a transaction with `assessImpactedApplicationReassessmentNeeded` to
ensure that they will rollback together in case an error happen, which
would allow the worker to be retried.
- The method `updateAssessmentStatusAndSaveWorkflowData` is now used to
ensure the worker idempotency.

#### E2E Tests
- Should find the next impacted assessment and create a reassessment
when there is an application for the same student and program year in
the future.
- Should return job completed when the workflow data is already set.

### E2E Tests Global
- Created the method `getOutputVariables` to allow the assertion of
output variables sent to Camunda.
- Created the method `getResultType` to replace the previous way of
checking the job result status.
@michesmith michesmith added this to the 5.1 Camunda  Assess / Reassess Student Application milestone Feb 16, 2024
@michesmith michesmith added this to the 2.0 Part-Time Students MVP milestone May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Student Student Features Task
Projects
None yet
Development

No branches or pull requests

4 participants