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

Implement logic for Application Event Code in IER12 #2289

Closed
6 of 7 tasks
JasonCTang opened this issue Sep 12, 2023 · 6 comments
Closed
6 of 7 tasks

Implement logic for Application Event Code in IER12 #2289

JasonCTang opened this issue Sep 12, 2023 · 6 comments
Assignees
Labels
Institution Institution Features Task

Comments

@JasonCTang
Copy link
Collaborator

JasonCTang commented Sep 12, 2023

Questions on application status codes and IER
(Answers below are based on discussion with @JasonCTang and @HRAGANBC )

  • COER vs DISR status: When a disbursement has a coe which is waiting for approval from institution and assume that the coe has not been approved until disbursement_date and the student has restriction. With this situation should we return COER or DISR ? - Answer: COER as per @HRAGANBC

  • Consider a disbursement which has been sent to finastra and this disburesment had some funds withheld due to restriction at the time of e-cert generation(DISW). After the disbursement is sent to finastra we got disbursement feedback errors(DISE). should we return DISW or DISE ? - Answer: DISE

  • Should DISW and DISE override DISS ? - Answer: Yes

Describe the task
Implementation of Application event code and Application event date for IER 12. For reference Please use the spreadsheet from General > Files >Analysis > Institution File Specs > IER12_Analysis_Output_and_Mapping_Part_1_V2.xlsx

Private Zenhub Image

Additional context

List of validations which needs to be in place to derive application status code

Validation: Check if an application has more than one submission.
Logic: select count(id) from sims.applications a where a.application_number = '$APPLICATION_NUMBER'

Validation: Check if the disbursement has any feedback error
Logic: Check the sims.disbursement_feedback_errors feedback table for one or more errors which belongs to given list of FT Error codes.
FT Error codes: Ecert Error Codes and Descriptions External.xlsx (this is only FT codes)

Validation: Check if disbursement is not sent due to restriction
Logic: Check if the student has any active restriction of action type 'Stop full time disbursment' and disbursement date is after cutoff date (current date + 5)

Validation: Check if any disbursement award was withheld due to restriction
Logic: Check if the restriction_amount_subracted > 0

Logic to derive the application event code from application and assessment data.

Note: BPMN diagram is used only explain the logic, it is not considered as solution for implementation.

Private Zenhub Image

Source BPMN file(for making updates) : application-event-code.bpmn.txt

Logic to derive application event date (As per discussion with @JasonCTang )

Note: BPMN diagram is used only explain the logic, it is not considered as solution for implementation.

Private Zenhub Image

Source BPMN: application-event-date.bpmn.txt

Acceptance Criteria

  • Create the logic required to perform all the validations mentioned
  • Implement the mapping for Application event code [Application event codes, RECA, COEM, DISP is not considered for the ticket/not in the scope, that's why it is marked as grey.]
  • Implement the mapping for Application event date
  • Adjust the IER query to make sure that an IER record is sent if there is any update to feedback table or any pending disbursement beyond cutoff date.
  • Create methods for the fields which could be unit tested.
  • Create unit tests.
  • Nice to have: More unit tests to other conversions built before.
@michesmith michesmith added the Devops Devops label Sep 13, 2023
@michesmith michesmith added Institution Institution Features and removed Devops Devops labels Sep 25, 2023
@ann-aot ann-aot self-assigned this Sep 28, 2023
@ann-aot
Copy link
Contributor

ann-aot commented Oct 4, 2023

Qn 1:
Validation: Check if the disbursement has any feedback error
Logic: Check the sims.disbursement_feedback_errors feedback table for one or more errors which belongs to given list of FT Error codes.

  • What are the codes corresponding to FT Error codes?

@ann-aot
Copy link
Contributor

ann-aot commented Oct 4, 2023

Qn 2:
Validation: Check if any disbursement award was withheld due to restriction
Logic: Check if the restriction_amount_subracted > 0.

  • double checking, so, if there is a lifetime restriction and 2 applications,
    1. from first application certain amount was subtracted as part of the restriction, but the e-cert was sent, is this eligible for code DISW
      1. from second application the whole amount was subtracted as part of the restriction, is this eligible for code DISW

@ann-aot
Copy link
Contributor

ann-aot commented Oct 6, 2023

Application event codes, RECA, COEM, DISP is not considered for the ticket/not in the scope, that's why it is marked as grey.

@ann-aot
Copy link
Contributor

ann-aot commented Oct 11, 2023

For, applicationEventDate, When the ApplicationEventCode .is DISR:
Logic : disbursementSchedule.disbursementDate - 5 cut off date for disbusement)

@ann-aot
Copy link
Contributor

ann-aot commented Oct 11, 2023

For, applicationEventDate, When the ApplicationEventCode .is DISE:
logic:
if there are multiple feedback error, take any random one's updatedAt

ann-aot added a commit that referenced this issue Oct 11, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…tion event code (Part 1) (#2374)

#2289 - Implement logic for Application Event Code in IER12 - application event code (Part 1) (#2374)
ann-aot added a commit that referenced this issue Oct 13, 2023
…pplication event code logic to services (Part 2) (#2408)

#2289 - Implement logic for Application Event Code in IER12 - moved application event code logic to services (Part 2)  (#2408)
@ann-aot
Copy link
Contributor

ann-aot commented Oct 13, 2023

Removed below AC -

Sorry, something went wrong.

ann-aot added a commit that referenced this issue Oct 16, 2023
…tion event date (Part 3) (#2416)

#2289 - Implement logic for Application Event Code in IER12 - application event date (Part 3) (#2416)
ann-aot added a commit that referenced this issue Oct 18, 2023
…d date assignment and unit tests (Part 4) (#2420)

#2289 - Implement logic for Application Event Code in IER12 - code and date assignment and unit tests (Part 4) (#2420)
ann-aot added a commit that referenced this issue Oct 19, 2023
…d date assignment (Part 5) (#2443)

#2289 - Implement logic for Application Event Code in IER12 - code and date assignment (Part 5) (#2443)
@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
Institution Institution Features Task
Projects
None yet
Development

No branches or pull requests

3 participants