BC loan forgiveness EPIC
- Dominant language
- TypeScript
- Stars
- 29
- Forks
- 15
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 40
Description
BC Loan Forgiveness Initial Epic and User Story Analysis Support
Hi Team,
Entering a new phase of post mvp priorities. This is a big new epic with many user stories. This will of course need to be validated but hope its helpful to start the bones of the structure and begin detailed analysis. (robot supported)
Epic: BC Loan Forgiveness – Enable students who have borrowed BC Student Loans to apply for, participate in, and complete the BC Loan Forgiveness Program through SIMS, while providing Directed Programs staff with the tools required to assess eligibility, manage annual participation, process forgiveness payments, and maintain program reference data.
Policy
The BC Loan Forgiveness Program is a provincial program that forgives BC Student Loans for students employed with publicly funded employers in eligible health care or education occupations who work in designated underserved communities or with children. Eligible students may receive up to 100% forgiveness of their BC Student Loan over five years of eligible employment. To participate, the student must submit an application and provide proof of eligible employment, and must continue to report eligible employment annually.
The student must apply to the program and submit proof of eligible employment.
Loans must be in good standing before the student can be registered.
Students must submit annual employment verification to remain eligible.
Annual forgiveness is based on eligible hours worked:
400+ hours = 20%
250–399 hours = 15%
100–249 hours = 10%
Less than 100 hours = not eligible for forgiveness that year
Feature 0 – Reference Data Configuration
Story 0.1 – Maintain Eligible Occupation List
As a Program Administrator
I want to maintain the list of eligible BC Loan Forgiveness occupations
So that students can select from the current approved occupation list when applying.
Acceptance Criteria
Admin can add, edit, deactivate, and view eligible occupations.- Referenceable table not hardcoded for edits
Occupations can be displayed in a student-facing dropdown list. EG:
Health Care
· Physician
· Nurse Practitioner
· Registered Nurse (RN)
· Registered Psychiatric Nurse (RPN)
· Licensed Practical Nurse (LPN)
· Midwife
· Pharmacist
· Medical Laboratory Technologist
· Medical Laboratory Assistant
· Medical Radiation Technologist
· Occupational Therapist
· Physiotherapist
· Respiratory Therapist
· Speech-Language Pathologist
· Audiologist
· Dental Hygienist
· Social Worker
· Psychologist
· Clinical Counsellor
Education
· Teacher
Deactivated occupations are not available for new applications.
Previously submitted applications retain the occupation selected at time of submission.
Occupation list changes do not require code deployment.
Story 0.2 – Maintain Eligible Employer Types (not MVP?)
As a Program Administrator
I want to maintain eligible employer types
So that employment eligibility can be assessed consistently.
Acceptance Criteria
Admin can maintain employer type values, including Health Authority, HA Affiliate, School District, First Nations, and Private.- Again not hardcoded but reference table that can be updated.
Employer type values are available for student application and staff assessment.
Employer type values can be activated or deactivated.
Historical records retain the employer type selected at time of submission.
Story 0.3 – Maintain Eligible Communities (Not MVP?)
As a Program Administrator
I want to maintain the list of eligible communities
So that students can identify where they are working.
Acceptance Criteria
Admin can add, edit, deactivate, and view eligible communities.
EG:
100 Mile House
Burns Lake
Chetwynd
Dawson Creek
Fort Nelson
Fort St. John
Hazelton
Kitimat
Mackenzie
Masset
Port Hardy
Prince Rupert
Quesnel
Smithers
Terrace
Tumbler Ridge
Williams Lake
Communities are available in a student-facing dropdown list.
Student must select a community before submitting.
Historical applications retain the community selected at time of submission.
Community list changes do not require code deployment.
Feature 1 – Student Application
Story 1.1 – Start Application
As a student who has borrowed BC Student Loans
I want to start a BC Loan Forgiveness application
So that I can apply through my StudentAid BC account.
Acceptance Criteria
Student can access BC Loan Forgiveness from their account.
Student can start a new application.
Student can save a draft.
Student can resume a draft.
Student can only have one active application at a time.
Story 1.2 – Complete Employment Details
As a student who has borrowed BC Student Loans
I want to provide my employment details
So that StudentAid BC can assess my eligibility.
Acceptance Criteria
Student selects occupation from the eligible occupation dropdown.
Student enters employer name.
Student selects employer type from the configured list.
Student enters employment start date.
Student selects employment status: full-time, part-time, or casual.
Student selects work community from the eligible community dropdown.
Mandatory fields must be completed before submission.
Story 1.3 – Upload Employer Verification
As a student who has borrowed BC Student Loans
I want to upload proof of eligible employment
So that my application can be assessed.
Acceptance Criteria
Student can upload an employer verification letter.
Student can view uploaded documents.
Student can remove or replace documents before submission.
Uploaded documents are linked to the application.
Application cannot be submitted without required documentation.
Story 1.4 – Complete Declaration
As a student who has borrowed BC Student Loans
I want to certify my application
So that StudentAid BC can process it.
Acceptance Criteria
Student must review required declarations.
Student must confirm information is true and complete.
Student must authorize verification of employment information.
Student must electronically accept before submission.
System records date and time of acceptance.
Story 1.5 – Submit Application
As a student who has borrowed BC Student Loans
I want to submit my completed application
So that Directed Programs can review it.
Acceptance Criteria
All required fields are complete.
Required documents are uploaded.
Declaration is accepted.
Application status changes to Submitted.
Student receives confirmation. Letter Says " "
Application appears in DP staff work queue.
Feature 2 – Eligibility Assessment
Story 2.1 – Review Application
As a Directed Programs Officer
I want to review submitted applications
So that I can determine eligibility.
Acceptance Criteria
Officer can view applications details.
Officer can view uploaded documents.
Officer can view selected occupation, employer type, employment status, and community.
Officer can record assessment notes.
Officer can approve, decline, or request more information.
Story 2.2 – Review Student Loan History
As a Directed Programs Officer
I want to review the student’s BC Student Loan history
So that I can confirm eligibility.
Acceptance Criteria
Officer can view SIMS loan/application history.
Officer can identify where SFAS history may also exist.
Officer can view repayment-related information available in SIMS.
Officer can record if external validation is required.
Story 2.3 – Request Additional Information (not sure if this is needed if we collect everything upfront before submit
As a Directed Programs Officer
I want to request missing information from the student
So that incomplete applications can continue through assessment.
Acceptance Criteria
Officer can create a missing information request.
Student receives notification.
Student can upload additional information.
Application status updates to Information Requested.
Officer is notified when the student responds.
Story 2.4 – Record Decision
As a Directed Programs Officer
I want to approve or decline an application
So that the student receives a decision.
Acceptance Criteria
Officer can approve the application.
Officer can decline the application.
Officer can record decision reason.
Student receives decision notification.
Approved applications move to registration.
Feature 3 – Registration
Story 3.1 – Register Approved Student
As a Directed Programs Officer
I want to register an approved student in BC Loan Forgiveness
So that annual tracking can begin.
Acceptance Criteria
Officer records effective registration date.
System calculates anniversary date.
System creates five annual participation periods.
Status updates to Registered.
Student receives registration confirmation.
Feature 4 – Annual Participation
Story 4.1 – Send Anniversary Reminder
As a student participating in BC Loan Forgiveness
I want to receive reminders before my annual verification is due
So that I remain eligible.
Acceptance Criteria
System sends reminder one month before anniversary.
System sends follow-up reminder if verification is not received.
Reminder includes due date and submission instructions.
Reminder is visible in the student account.
Story 4.2 – Submit Annual Employment Verification
As a student participating in BC Loan Forgiveness
I want to submit annual employment verification renewal
So that I can continue in the program.
Acceptance Criteria
Student can upload annual employer letter.
Student can confirm employment status, occupation, employer type, and community.
Submission is linked to the correct anniversary year.
Status updates when submitted.
Feature 5 – Annual Assessment and Payment
Story 5.1 – Record Eligible Hours
As a Directed Programs Officer
I want to record eligible annual work hours
So that the correct forgiveness amount can be calculated.
Acceptance Criteria
Officer can select 400 hours or more.
Officer can select 250 to 399 hours.
Officer can select 100 to 249 hours.
Officer can identify less than 100 hours as ineligible.
System uses the selected threshold to determine forgiveness percentage.
Story 5.2 – Generate Payment Request
As the system
I want to generate forgiveness payment requests
So that approved annual forgiveness can be processed.
Acceptance Criteria
400 hours generates 20% forgiveness.
250 to 399 hours generates 15% forgiveness.
100 to 249 hours generates 10% forgiveness.
Payment request includes student, loan holder, payment amount, and payment date.
Payment status can be tracked.
Feature 6 – Program Lifecycle
Story 6.1 – Remove Student from Program
As a Directed Programs Officer
I want to remove students who no longer qualify
So that program participation remains accurate.
Acceptance Criteria
Officer can remove student for ineligibility or non-response.
Reason for removal is recorded.
Outstanding annual payment records are cancelled.
Student receives notification where required.
Removal is available for reporting to NSLSC or other financial institutions.
Story 6.2 – Complete Program
As the system
I want to complete the program after the final eligible year
So that the student’s record reflects completion.
Acceptance Criteria
Final payment updates program status to Complete.
Student can view completion status.
Remaining loan obligations, if any, can be communicated.
Completion is available for reporting.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.