-
Notifications
You must be signed in to change notification settings - Fork 14
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
Ignore restrictions for specific disbursement(s) within an assessment #1815
Comments
As a business process, do we need any supplementary steps when the application is re-assessed and the restriction is automaticaly re-applied? Like an email trigger to JIRA notifying them? |
Discuss whether or not this can be ignored at application level rather than assessment. |
@HRAGANBC @CarlyCotton. Please review for any errors in my update. |
@Joshua-Lakusta revised the logic to make clear what happens when re-assessment occurs. Otherwise good from my end |
- Created new DB migrations for the type `sims.restriction_bypass_behaviors`. - Created new DB migrations for the new table `sims.application_restriction_bypasses`.
…sessment (#3679) - Created the `restrictionBypassesResolutionStep` to resolve active bypasses when needed as the last step in the e-Cert generation process for part-time and full-time. - Changed the `getEligibleDisbursements` query adding the information from the active bypasses and the restriction bypassed. - Method `getRestrictionByActionType` was changed to use the effective restrictions (active restrictions not bypassed) instead of the active restrictions. - The BCLM step is ignored at the beginning of its execution. If the BCLM restriction is in place the method would not be executed (logic already in place). The condition based on the bypass was added either way to ensure that whatever happens to the BCLM logic the bypass will guarantee that the store step will be ignored. - A log was created to list all the active restrictions known during the e-Cert calculation. The log records the restriction code and the student restriction ID for easier troubleshooting. - Created factories for the new table `ApplicationRestrictionBypass`. ### E2E Tests #### Full-time - Should generate BC awards amounts with no restriction deductions and resolve the restriction bypass when a student has an active 'BCLM' restriction and it is bypassed with behavior 'Next disbursement only'. - Should have the e-Cert generated for a full-time application and the bypass active when a student has an active 'Stop full time disbursement' restriction and it is bypassed with behavior 'All disbursements'. - Should prevent an e-Cert generation and keep the bypass active when multiple 'Stop full time disbursement' restrictions exist and only one is bypassed and it is bypassed with behavior 'Next disbursement only'. #### Part-time - Should have the e-Cert generated for a part-time application and the bypass resolved when a student has an active 'Stop part time disbursement' restriction and it is bypassed with behavior 'Next disbursement only'. - Should prevent an e-Cert generation and keep the bypass active when multiple 'Stop part time disbursement' restrictions exist and only one is bypassed and it is bypassed with behavior 'Next disbursement only'. ### Log sample without the bypass ![image](https://github.com/user-attachments/assets/cc75c575-df20-49b3-aefc-ebaac508b9f3) ### Log sample with a bypass in place. ![image](https://github.com/user-attachments/assets/be96088b-458e-41d2-abf1-f56d5d610d1b) ### Noted generated when a bypass is resolved by the system AC was adjusted later to include the application number. ![image](https://github.com/user-attachments/assets/49f3180e-ae52-4f08-b169-9fe5ac93628d)
DemoStudent Portal
Institution
Student Portal
@CarlyCotton this is what is planned for the demo. |
As a Ministry user I want the ability to ignore a restriction for any number of disbursements for the current application So That the next disbursement only will be disbursed OR all outstanding disbursements for that application will still be disbursed.*
When Ministry users select to 'ignore' a restriction, they can choose to ignore it for the application OR for ALL remaining disbursements of that assessment. When a restriction is ignored for a disbursement, it will not be considered when determining if the ECert should be generated for that application. A function to reverse the ignore status and have it be reviewed at ECert generation needs to also be developed.
Note that the ignore action is applied at the disbursement level for the application. So if the application is reassessed, the restriction WILL be automatically ignored for the new assessment. In other words, Ministry users can ignore the restriction for subsequent assessment or reassessments within the single application. If the ministry want to reapply the restriction to the application they will need to have a function to remove the the ignored restriction status. The student would then be expected to call the Ministry and ask for the restriction to be ignored again in this case.
When a Ministry user chooses to ignore a restriction, automatically generate a note at the time it is selected with information on which restriction was ignored for which application and who performed the ignore. (No user input for this note.)
Ministry staff will also need the ability to undo this ignoring of a restriction so that it becomes effective on the assessment again and will block ECert generation.
Linked with UX/UI piece in Ticket #1862
Acceptance Criteria
Technical
sims.application_restriction_bypasses
id
: Auto-generated sequential primary key column.application_id
: Reference to the student application that will have the bypass applied.student_restriction_id
: Active student restriction to be bypassed.bypass_behavior
(Postgres Enum): Defines how the bypass should behave, for instance, until when it will be valid.is_active
: Indicates if the bypass should be considered active.creation_note_id
: Note when the bypass was created.bypass_created_by
: User that created the bypass.bypass_created_date
: Date and time the bypass was created.removal_note_id
: Note when the bypass was removed.bypass_removed_by
: User that removed the bypass.bypass_removed_date
: Date and time the bypass was removed.All disbursements
: any disbursement associated with the application will have this restriction ignored if the bypass is active. Any reassessment will continue to ignore the restrictions.Next disbursement only
: when the first e-Cert is marked asReady to send
the restriction bypass will be updatedRestrictionBypassesResolutionStep
.Stop part time disbursement
should check for all restrictions (currently checking if at least one exists). If at least one is present and not ignored, the disbursement will be blocked. To be applied in the ValidateDisbursementPartTimeStep.Stop full time disbursement
should check for all restrictions (currently checking if at least one exists). If at least one is present and not ignored, the disbursement will be blocked. To be applied in the ValidateDisbursementFullTimeStep.Stop full time BC funding
once ignored should allow a manually triggered reassessment to have the BC awards full amounts disbursed (in case it was partially paid the regular process will deduct any value already paid, as usual).The text was updated successfully, but these errors were encountered: