From 597e38424a116ab8993fd6002a8fc086ddcf2781 Mon Sep 17 00:00:00 2001
From: katrina-aot-git <165210668+katrina-aot-git@users.noreply.github.com>
Date: Mon, 7 Oct 2024 10:40:35 -0700
Subject: [PATCH 1/8] #3676 - Declaration content updates (#3769)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../designationagreementdetails.json | 2 +-
.../src/form-definitions/sfaa2022-23.json | 20 +++++++------------
.../src/form-definitions/sfaa2023-24.json | 20 +++++++------------
.../src/form-definitions/sfaa2024-25.json | 20 +++++++------------
.../studentfinancialinformationappeal.json | 5 -----
.../src/form-definitions/studentprofile.json | 10 +++++-----
.../supportingusersparent2022-2023.json | 4 ++--
.../supportingusersparent2024-2025.json | 4 ++--
.../supportinguserspartner2022-2023.json | 15 ++++++--------
.../supportinguserspartner2024-2025.json | 6 +++---
.../uploadstudentdocuments.json | 2 +-
.../web/src/constants/message-constants.ts | 3 ++-
12 files changed, 43 insertions(+), 68 deletions(-)
diff --git a/sources/packages/forms/src/form-definitions/designationagreementdetails.json b/sources/packages/forms/src/form-definitions/designationagreementdetails.json
index 18aa7b996f..5436d8c668 100644
--- a/sources/packages/forms/src/form-definitions/designationagreementdetails.json
+++ b/sources/packages/forms/src/form-definitions/designationagreementdetails.json
@@ -4612,7 +4612,7 @@
"tableView": true,
"modalEdit": false,
"multiple": false,
- "defaultValue": "WHEREAS:\n\nA The Ministry of Post Secondary and Future Skills (“the Ministry”) is responsible for the administration of:\n\n(a) the Canada Student Loans Program in accordance with agreements under the Canada Student Loan\n\nAct, R.S.C. 1985, c. S-23 and Canada Student Financial Assistance Act, S.C. 1994, c. 28; and\n\n(b) the British Columbia Student Assistance Program (“StudentAid BC”) authorized by British Columbia\n\nOIC 1252/2000;\n\nB StudentAid BC financial assistance is available only to students enrolled in StudentAid BC approved\n\nprograms at institutions with StudentAid BC designation;\n\nC The Ministry designates institutions with StudentAid BC designation in accordance with the Pan-\n\nCanadian Designation Policy Framework and the StudentAid BC Policy Manual;\n\nD The Institution and programs must be approved by either or both of the following to be an institution\n\nwith StudentAid BC designation:\n\n(a) the Registrar must have approved the Designated Institution’s location(s) and the programs offered\n\nunder the Private Training Act and the institution must hold a designation certificate under the Private\n\nTraining Act;\n\n(b) the Minister of Advanced Education must have approved the Institution’s location(s) and programs\n\nunder the Degree Authorization Act.\n\nE The Institution has applied for designation as a StudentAid BC Designated Institution pursuant to the\n\nterms of this Designation Agreement (“Agreement”).\n\n\n\nIn consideration of the mutual covenants in this Agreement, the Province and the Institution (together,\n\n“the Parties” or individually, a “Party”) agree as follows:\n\n\n\n1.0 Entire Agreement\n\n1.1 This Agreement, including the Schedules listed below, constitutes the entire Agreement between the\n\nParties.\n\n(a) Schedule A: StudentAid BC Policy Manual, as amended from time to time, which is available on the\n\nStudentAid BC website at: https://studentaidbc.ca/school-officials\n\n(b) Schedule B: StudentAid BC Administrative Manual, as amended from time to time, which is available\n\non the website at: https://studentaidbc.ca/school-officials\n\n(c) Schedule C: Enrolment Signing Officer and Eligibility Signing Officer Information\n\n(d) Schedule D: Information Sharing Agreement\n\n\n\n2.0 Defined Terms\n\n2.1 Definitions for terms used in this Designation Agreement are set out below:\n\n(a) Agreement means this Designation Agreement and the Schedules listed in section 1.1 of this\n\nAgreement.\n\n(b) Approved Program means programs that meet the program eligibility criteria as set out in Schedule\n\nA, Chapter 2 (StudentAid BC Policy Manual).\n\n(c) Designated Institution has the same definition as in Schedule A (StudentAid BC Policy Manual).\n\n(d) Eligible Student means students that meet the student eligibility criteria as set out in Schedule A,\n\nChapter 3 (StudentAid BC Policy Manual).\n\n(e) Ministry means the British Columbia Ministry of Post Secondary and Future Skills, or the ministry of the\n\nGovernment of British Columbia responsible for administration of the StudentAid BC program;\n\n(f) Premises includes any locations where the institution provides instruction to students, and any\n\nlocations where the institution conducts business activities associated with operating a post-secondary\n\ninstitution.\n\n\n\n3.0 Term\n\n3.1 This Agreement may be terminated by either Party by providing 90 days written notice to the other\n\nParty.\n\n3.2 This Agreement is immediately terminated if any one or more of the following occurs:\n\n(a) The sale of the Institution such that the Registrar of the Private Training Institutions Branch\n\ndetermines that a new designation certificate is required under the Private Training Act;\n\n(b) The closure of the Institution;\n\n(c) The termination of the Institution's StudentAid BC designation.\n\n\n\n4.0 Designation\n\n4.1 Provided the Institution remains a Designated Institution, the Ministry, on behalf of the Province of\n\nBritish Columbia, will make student financial assistance available to students who meet the following\n\nrequirements:\n\n(a) the student is an Eligible Student;\n\n(b) the student is enrolled in an Approved Program;\n\n(c) the Approved Program is provided by the Institution at a location approved by StudentAid BC.\n\n4.2 The Institution will administer the financial assistance received for Eligible Students in accordance\n\nwith the terms of this Agreement.\n\n\n\n5.0 Maintaining Designation\n\n5.1 During the term of this Agreement, the Institution must:\n\n(a) comply with the terms of this Agreement;\n\n(b) comply with all applicable laws, including, but not limited to the Canada Student Financial Assistance\n\nAct, the Private Training Act, the Degree Authorization Act, the Freedom of Information and Protection\n\nof Privacy Act and the Personal Information Protection Act;\n\n(c) hold a designation certificate issued by the Private Training Institutions Branch under the authority of\n\nthe Private Training Act, and/or ministerial consent under section 4 of the Degree Authorization Act, as\n\napplicable.\n\n\n\n6.0 Designated Institution Administration of Student Financial Assistance\n\n6.1 At the request of the Ministry and subject to applicable laws, the Institution must provide any or all\n\nof the following information concerning an Eligible Student to the Ministry:\n\n(a) academic performance, including transcripts;\n\n(b) attendance records;\n\n(c) student enrolment contract with the Institution;\n\n(d) mailing address; and\n\n(e) phone number.\n\n6.2 The Institution must provide the Ministry with the names of all employees designated as Enrolment\n\nSigning Officer(s) and Eligibility Signing Officer(s) as defined in Schedule B (StudentAid BC Administration\n\nManual) in the form attached as Schedule C (Enrolment Signing Officer and Eligibility Signing Officer\n\nInformation) to this Agreement at the time the Designation Agreement is submitted for approval.\n\n6.3 Prior to the removal of a designated Enrolment Signing Officer or Eligibility Signing Officer, or as\n\nsoon as is practical, the Institution will notify the Ministry in writing of the name(s) of the person(s)\n\nwhose signing authority is removed and the date upon which such removal becomes effective.\n\n6.4 Prior to the designation of any new Enrolment Signing Officer or new Eligibility Signing Officer, the\n\nInstitution will provide the Ministry with an updated Schedule C (Enrolment Signing Officer and Eligibility\n\nSigning Officer Information) form including the name(s) of the new Enrolment Signing Officer(s) or\n\nEligibility Signing Officer(s).\n\n\n\n7.0 Inspection and Compliance\n\n7.1 For the purposes of an inspection, the Institution agrees to allow Ministry staff to attend at the\n\nInstitution's Premises and agrees to cooperate fully with those Ministry staff in the conduct of their\n\nduties under this Agreement.\n\n7.2 Ministry staff conducting an inspection may at any time:\n\n(a) enter the Institution's Premises;\n\n(b) require that a document or any other thing be produced for inspection at a location specified by\n\nMinistry staff;\n\n(c) examine a document or any other thing directly or indirectly related to the StudentAid BC program or\n\nto an Eligible Student;\n\n(d) require that a copy be provided of any document or thing identified in subsections 7.3(b) or 7.3(c) of\n\nthis Agreement;\n\n(e) use the Institution's data storage, information processing or retrieval devices or systems that are\n\nnormally used in carrying on business in the Premises to produce a record in readable form;\n\n(f) question a person at a location specified by Ministry staff; or\n\n(g) arrange for the conduct of an external forensic audit, at the expense of the Institution.\n\n7.3 During the term of this Agreement and for two years following the termination of this Agreement,\n\nthe Ministry may conduct an inspection in accordance with sections 7.1 and 7.2 of this Agreement.\n\n\n\n8.0 Compliance Enforcement\n\n8.1 Any breach of the terms of this Agreement by the Institution, or if the Ministry is otherwise of the\n\nopinion that it is necessary for the proper administration of student financial assistance, may result in\n\nthe Ministry taking any or all of the following actions:\n\n(a) consult with the Institution in person and/or in writing;\n\n(b) require compliance within a specific period of time, and evidence of compliance;\n\n(c) require additional or more frequent monitoring or reporting, at the expense of the Institution;\n\n(d) refuse to provide financial assistance to students registered in some or all of the programs or courses\n\nat the Institution;\n\n(e) terminate the Institution’s status as a Designation Institution; or\n\n(f) pursue any other legal remedies available to the Ministry.\n\n\n\n9.0 General\n\n9.1 Any notice of communication contemplated by this Agreement shall be sufficiently given if:\n\nsent by email to or by:\n\nThe Ministry at designat@gov.bc.ca\n\nThe Institution at [As listed in the institution profile on the partner portal]\n\nSent by fax to:\n\nThe Ministry at (250) 387-1377\n\nThe Institution at [As listed in the institution profile on the partner portal]\n\nMailed by prepaid registered mail to:\n\nThe Ministry:\n\nPost-Secondary Audit & Accountability Branch\n\nMinistry of Post Secondary and Future Skills\n\nPO Box 9157 Stn Prov Govt\n\nVictoria BC V8W 9H2\n\nThe Institution at [As listed in the institution profile on the partner portal]\n\n9.2 Either Party may notify the other of a substitute email contact, fax number or address from time to\n\ntime.\n\n9.3 Any notice mailed by prepaid registered mail is deemed to be received two days after mailing.\n\n9.4 This Agreement is not assignable or transferrable by the Institution.\n\n\n\nThis Agreement has been executed on behalf of the Ministry by its legally authorized representative and\n\non behalf of the Institution by its legally authorized representative.",
+ "defaultValue": "WHEREAS:\n\nA The Ministry of Post-Secondary Education and Future Skills (“the Ministry”) is responsible for the administration of:\n\n(a) the Canada Student Loans Program in accordance with agreements under the Canada Student Loan\n\nAct, R.S.C. 1985, c. S-23 and Canada Student Financial Assistance Act, S.C. 1994, c. 28; and\n\n(b) the British Columbia Student Assistance Program (“StudentAid BC”) authorized by British Columbia\n\nOIC 1252/2000;\n\nB StudentAid BC financial assistance is available only to students enrolled in StudentAid BC approved\n\nprograms at institutions with StudentAid BC designation;\n\nC The Ministry designates institutions with StudentAid BC designation in accordance with the Pan-\n\nCanadian Designation Policy Framework and the StudentAid BC Policy Manual;\n\nD The Institution and programs must be approved by either or both of the following to be an institution\n\nwith StudentAid BC designation:\n\n(a) the Registrar must have approved the Designated Institution’s location(s) and the programs offered\n\nunder the Private Training Act and the institution must hold a designation certificate under the Private\n\nTraining Act;\n\n(b) the Minister of Advanced Education must have approved the Institution’s location(s) and programs\n\nunder the Degree Authorization Act.\n\nE The Institution has applied for designation as a StudentAid BC Designated Institution pursuant to the\n\nterms of this Designation Agreement (“Agreement”).\n\n\n\nIn consideration of the mutual covenants in this Agreement, the Province and the Institution (together,\n\n“the Parties” or individually, a “Party”) agree as follows:\n\n\n\n1.0 Entire Agreement\n\n1.1 This Agreement, including the Schedules listed below, constitutes the entire Agreement between the\n\nParties.\n\n(a) Schedule A: StudentAid BC Policy Manual, as amended from time to time, which is available on the\n\nStudentAid BC website at: https://studentaidbc.ca/school-officials\n\n(b) Schedule B: StudentAid BC Administrative Manual, as amended from time to time, which is available\n\non the website at: https://studentaidbc.ca/school-officials\n\n(c) Schedule C: Enrolment Signing Officer and Eligibility Signing Officer Information\n\n(d) Schedule D: Information Sharing Agreement\n\n\n\n2.0 Defined Terms\n\n2.1 Definitions for terms used in this Designation Agreement are set out below:\n\n(a) Agreement means this Designation Agreement and the Schedules listed in section 1.1 of this\n\nAgreement.\n\n(b) Approved Program means programs that meet the program eligibility criteria as set out in Schedule\n\nA, Chapter 2 (StudentAid BC Policy Manual).\n\n(c) Designated Institution has the same definition as in Schedule A (StudentAid BC Policy Manual).\n\n(d) Eligible Student means students that meet the student eligibility criteria as set out in Schedule A,\n\nChapter 3 (StudentAid BC Policy Manual).\n\n(e) Ministry means the British Columbia Ministry of Post-Secondary Education and Future Skills, or the ministry of the\n\nGovernment of British Columbia responsible for administration of the StudentAid BC program;\n\n(f) Premises includes any locations where the institution provides instruction to students, and any\n\nlocations where the institution conducts business activities associated with operating a post-secondary\n\ninstitution.\n\n\n\n3.0 Term\n\n3.1 This Agreement may be terminated by either Party by providing 90 days written notice to the other\n\nParty.\n\n3.2 This Agreement is immediately terminated if any one or more of the following occurs:\n\n(a) The sale of the Institution such that the Registrar of the Private Training Institutions Branch\n\ndetermines that a new designation certificate is required under the Private Training Act;\n\n(b) The closure of the Institution;\n\n(c) The termination of the Institution's StudentAid BC designation.\n\n\n\n4.0 Designation\n\n4.1 Provided the Institution remains a Designated Institution, the Ministry, on behalf of the Province of\n\nBritish Columbia, will make student financial assistance available to students who meet the following\n\nrequirements:\n\n(a) the student is an Eligible Student;\n\n(b) the student is enrolled in an Approved Program;\n\n(c) the Approved Program is provided by the Institution at a location approved by StudentAid BC.\n\n4.2 The Institution will administer the financial assistance received for Eligible Students in accordance\n\nwith the terms of this Agreement.\n\n\n\n5.0 Maintaining Designation\n\n5.1 During the term of this Agreement, the Institution must:\n\n(a) comply with the terms of this Agreement;\n\n(b) comply with all applicable laws, including, but not limited to the Canada Student Financial Assistance\n\nAct, the Private Training Act, the Degree Authorization Act, the Freedom of Information and Protection\n\nof Privacy Act and the Personal Information Protection Act;\n\n(c) hold a designation certificate issued by the Private Training Institutions Branch under the authority of\n\nthe Private Training Act, and/or ministerial consent under section 4 of the Degree Authorization Act, as\n\napplicable.\n\n\n\n6.0 Designated Institution Administration of Student Financial Assistance\n\n6.1 At the request of the Ministry and subject to applicable laws, the Institution must provide any or all\n\nof the following information concerning an Eligible Student to the Ministry:\n\n(a) academic performance, including transcripts;\n\n(b) attendance records;\n\n(c) student enrolment contract with the Institution;\n\n(d) mailing address; and\n\n(e) phone number.\n\n6.2 The Institution must provide the Ministry with the names of all employees designated as Enrolment\n\nSigning Officer(s) and Eligibility Signing Officer(s) as defined in Schedule B (StudentAid BC Administration\n\nManual) in the form attached as Schedule C (Enrolment Signing Officer and Eligibility Signing Officer\n\nInformation) to this Agreement at the time the Designation Agreement is submitted for approval.\n\n6.3 Prior to the removal of a designated Enrolment Signing Officer or Eligibility Signing Officer, or as\n\nsoon as is practical, the Institution will notify the Ministry in writing of the name(s) of the person(s)\n\nwhose signing authority is removed and the date upon which such removal becomes effective.\n\n6.4 Prior to the designation of any new Enrolment Signing Officer or new Eligibility Signing Officer, the\n\nInstitution will provide the Ministry with an updated Schedule C (Enrolment Signing Officer and Eligibility\n\nSigning Officer Information) form including the name(s) of the new Enrolment Signing Officer(s) or\n\nEligibility Signing Officer(s).\n\n\n\n7.0 Inspection and Compliance\n\n7.1 For the purposes of an inspection, the Institution agrees to allow Ministry staff to attend at the\n\nInstitution's Premises and agrees to cooperate fully with those Ministry staff in the conduct of their\n\nduties under this Agreement.\n\n7.2 Ministry staff conducting an inspection may at any time:\n\n(a) enter the Institution's Premises;\n\n(b) require that a document or any other thing be produced for inspection at a location specified by\n\nMinistry staff;\n\n(c) examine a document or any other thing directly or indirectly related to the StudentAid BC program or\n\nto an Eligible Student;\n\n(d) require that a copy be provided of any document or thing identified in subsections 7.3(b) or 7.3(c) of\n\nthis Agreement;\n\n(e) use the Institution's data storage, information processing or retrieval devices or systems that are\n\nnormally used in carrying on business in the Premises to produce a record in readable form;\n\n(f) question a person at a location specified by Ministry staff; or\n\n(g) arrange for the conduct of an external forensic audit, at the expense of the Institution.\n\n7.3 During the term of this Agreement and for two years following the termination of this Agreement,\n\nthe Ministry may conduct an inspection in accordance with sections 7.1 and 7.2 of this Agreement.\n\n\n\n8.0 Compliance Enforcement\n\n8.1 Any breach of the terms of this Agreement by the Institution, or if the Ministry is otherwise of the\n\nopinion that it is necessary for the proper administration of student financial assistance, may result in\n\nthe Ministry taking any or all of the following actions:\n\n(a) consult with the Institution in person and/or in writing;\n\n(b) require compliance within a specific period of time, and evidence of compliance;\n\n(c) require additional or more frequent monitoring or reporting, at the expense of the Institution;\n\n(d) refuse to provide financial assistance to students registered in some or all of the programs or courses\n\nat the Institution;\n\n(e) terminate the Institution’s status as a Designation Institution; or\n\n(f) pursue any other legal remedies available to the Ministry.\n\n\n\n9.0 General\n\n9.1 Any notice of communication contemplated by this Agreement shall be sufficiently given if:\n\nsent by email to or by:\n\nThe Ministry at designat@gov.bc.ca\n\nThe Institution at [As listed in the institution profile on the partner portal]\n\nSent by fax to:\n\nThe Ministry at (250) 387-1377\n\nThe Institution at [As listed in the institution profile on the partner portal]\n\nMailed by prepaid registered mail to:\n\nThe Ministry:\n\nPost-Secondary Audit & Accountability Branch\n\nMinistry of Post-Secondary Education and Future Skills\n\nPO Box 9157 Stn Prov Govt\n\nVictoria BC V8W 9H2\n\nThe Institution at [As listed in the institution profile on the partner portal]\n\n9.2 Either Party may notify the other of a substitute email contact, fax number or address from time to\n\ntime.\n\n9.3 Any notice mailed by prepaid registered mail is deemed to be received two days after mailing.\n\n9.4 This Agreement is not assignable or transferrable by the Institution.\n\n\n\nThis Agreement has been executed on behalf of the Ministry by its legally authorized representative and\n\non behalf of the Institution by its legally authorized representative.",
"persistent": false,
"inputFormat": "html",
"protected": false,
diff --git a/sources/packages/forms/src/form-definitions/sfaa2022-23.json b/sources/packages/forms/src/form-definitions/sfaa2022-23.json
index df45f35f7e..9f85dfffd0 100644
--- a/sources/packages/forms/src/form-definitions/sfaa2022-23.json
+++ b/sources/packages/forms/src/form-definitions/sfaa2022-23.json
@@ -3807,8 +3807,7 @@
"calculateValue": "value = \"studentApplicationException\";",
"lockKey": true,
"customConditional": "show = data.studyEndDateBeforeSixWeeksFromToday || data.selectedStudyEndDateBeforeSixWeeksFromToday;",
- "calculateServer": true,
- "isNew": false
+ "calculateServer": true
}
],
"placeholder": "",
@@ -5408,8 +5407,7 @@
"properties": {},
"lockKey": true,
"calculateServer": true,
- "calculateValue": "/**\r\n * Validates if the date provided is before six weeks from today.\r\n *\r\n * The same validation exists on calculating selectedStudyEndDateBeforeSixWeeksFromToday,\r\n * other student application forms, program information request form\r\n * and also on the server side.\r\n *\r\n * When there is an update to this logic make sure to update in all the above.\r\n *\r\n */\r\n\r\n// If program/study period not listed is selected, validate the study end date to be after given days before six weeks from today.\r\nvalue = !!data.studyendDate && moment(data.studyendDate).isBefore(moment().add(6, 'week'));",
- "isNew": false
+ "calculateValue": "/**\r\n * Validates if the date provided is before six weeks from today.\r\n *\r\n * The same validation exists on calculating selectedStudyEndDateBeforeSixWeeksFromToday,\r\n * other student application forms, program information request form\r\n * and also on the server side.\r\n *\r\n * When there is an update to this logic make sure to update in all the above.\r\n *\r\n */\r\n\r\n// If program/study period not listed is selected, validate the study end date to be after given days before six weeks from today.\r\nvalue = !!data.studyendDate && moment(data.studyendDate).isBefore(moment().add(6, 'week'));"
},
{
"input": true,
@@ -22518,7 +22516,7 @@
"attr": ""
}
],
- "content": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the Ministry of Post Secondary and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application.\nThe information will be relevant to, and used solely for the purpose of determining and verifying my information and for my spouse’s eligibility for and entitlement to the following programs: Canada Student Grant for students with Permanent Disabilities, the BC Supplemental Bursary for Students with a Permanent Disability, Canada Student Grant for Part-time Students, Canada Student Loan for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependants under the Canada Student Financial Assistance Act.\n\nThis information will not be disclosed to any other person or organization without my prior approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.",
+ "content": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the Ministry of Post-Secondary Education and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application.\nThe information will be relevant to, and used solely for the purpose of determining and verifying my eligibility for and entitlement to the following programs: Canada Student Grant for students with Permanent Disabilities, the BC Supplemental Bursary for Students with a Permanent Disability, Canada Student Grant for Part-time Students, Canada Student Loan for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependants under the Canada Student Financial Assistance Act.\n\nThis information will not be disclosed to any other person or organization without my prior approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.",
"type": "htmlelement",
"hideLabel": true,
"tableView": false,
@@ -22560,7 +22558,7 @@
"unique": false
},
"conditional": {
- "show": null,
+ "show": "",
"when": null,
"eq": ""
},
@@ -22580,7 +22578,8 @@
"tag": "p",
"id": "e12bspp",
"addons": [],
- "className": ""
+ "className": "",
+ "tags": []
}
],
"id": "eo4yj69"
@@ -23560,11 +23559,6 @@
"tableView": false,
"modalEdit": false,
"values": [
- {
- "label": "COVID-19",
- "value": "covid19",
- "shortcut": ""
- },
{
"label": "Medical illness or injury",
"value": "medicalIllnessOrInjury",
@@ -32148,7 +32142,7 @@
{
"key": "declarationsPanelContentPartTime2",
"input": false,
- "html": "
I am applying for funding to assist with my education under one or all of the following programs: British Columbia Access Grant for Part-Time Studies, Canada Student Loan for Part-time Students, Canada Student Grant for Students with Disabilities, the B.C. Supplemental Bursary for Students with Disabilities, Canada Student Grant for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependents.
\n\nI. I understand that:
\n\n\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- It is my responsibility to make sure the information on this application, and/or all the documents forming part of it are accurate.
\n\t- All information is subject to audit and verification.
\n\t- If I do not provide complete, accurate information or if I obtain or attempt to access financial assistance by fraudulent means, I may be denied any further federal or provincial student financial assistance, including full- and part-time Canada Student Loans and Grants, now or in the future.
\n\t- If I receive money (loan or grant) and then it is discovered that this application, or documents forming a part of it, are not accurate, I will be required to repay all or part of the money, with interest. I will be required to do this if my spouse/common-law partner, post-secondary institution, StudentAid BC or I made the mistake.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that all information is complete and accurate and I have not altered or added to any of the StudentAid BC application and/or questions;
\n\t- I will use the money I receive to pay my academic fees first.
\n\t- None of the courses used to meet the minimum 20 per cent course load requirements are repeats/duplicates of courses for which I previously received credits.
\n\t- I must successfully complete all courses for which my Canada Student Financial Assistance Program funding was issued or my eligibility for student financial assistance in future years of part-time studies will be affected.
\n\t- I will immediately notify the financial aid office of any changes to the information initially submitted by myself or my spouse/common-law partner. This includes my or my spouse/common-law partner's financial information (including income), changes to address, academic status, marital status, number of dependents, or any other information captured on the application form.
\n\t- I consent to the exchange of information between StudentAid BC, the post-secondary institution and/or other appropriate financial aid office about my academic standing, awards, program of study, course load, attendance, living arrangements, marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of this application for a Canada Student Loans and Grants for part-time studies. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, related documents, and the eventual repayment of my loan awards, whether defaulted or not and any other money repayable, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, educational institutions, employers, credit bureaus, credit reporting agencies, indigenous organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education and Child Care, BC Public Service Agency, RoadSafety BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Hydro, BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafeBC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I submit this Application to StudentAid BC.
\n\t- I have not applied nor will I apply to or receive government funded student loans, grants or bursaries from another province or territory or government funded loans outside of Canada during the study period stated in this application.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165, and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for research, statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or 1-778-309-4621 from outside North America.
\n",
+ "html": "I am applying for funding to assist with my education under one or all of the following programs: British Columbia Access Grant for Part-Time Studies, Canada Student Loan for Part-time Students, Canada Student Grant for Students with Disabilities, the B.C. Supplemental Bursary for Students with Disabilities, Canada Student Grant for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependents.
\n\nI. I understand that:
\n\n\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- It is my responsibility to make sure the information on this application, and/or all the documents forming part of it are accurate.
\n\t- All information is subject to verification and review.
\n\t- If I do not provide complete, accurate information or if I obtain or attempt to access financial assistance by fraudulent means, I may be denied any further federal or provincial student financial assistance, including full- and part-time Canada Student Loans and Grants, now or in the future.
\n\t- If I receive money (loan or grant) and then it is discovered that this application, or documents forming a part of it, are not accurate, I will be required to repay all or part of the money, with interest. I will be required to do this if my spouse/common-law partner, post-secondary institution, StudentAid BC or I made the mistake.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that all information is complete and accurate and I have not altered or added to any of the StudentAid BC application and/or questions;
\n\t- I will use the money I receive to pay my academic fees first.
\n\t- None of the courses used to meet the minimum 20 per cent course load requirements are repeats/duplicates of courses for which I previously received credits.
\n\t- I must successfully complete all courses for which my Canada Student Financial Assistance Program funding was issued or my eligibility for student financial assistance in future years of part-time studies will be affected.
\n\t- I will immediately notify the financial aid office of any changes to the information initially submitted by myself or my spouse/common-law partner. This includes my or my spouse/common-law partner's financial information (including income), changes to address, academic status, marital status, number of dependents, or any other information captured on the application form.
\n\t- I consent to the exchange of information between StudentAid BC, the post-secondary institution and/or other appropriate financial aid office about my academic standing, awards, program of study, course load, attendance, living arrangements, marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of this application for a Canada Student Loans and Grants for part-time studies. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, related documents, and the eventual repayment of my loan awards, whether defaulted or not and any other money repayable, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, educational institutions, employers, credit bureaus, credit reporting agencies, indigenous organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education and Child Care, BC Public Service Agency, RoadSafety BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Hydro, BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafeBC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I submit this Application to StudentAid BC.
\n\t- I have not applied nor will I apply to or receive government funded student loans, grants or bursaries from another province or territory or government funded loans outside of Canada during the study period stated in this application.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165, and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for research, statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or 1-778-309-4621 from outside North America.
\n",
"type": "content",
"tags": [],
"conditional": {
diff --git a/sources/packages/forms/src/form-definitions/sfaa2023-24.json b/sources/packages/forms/src/form-definitions/sfaa2023-24.json
index 7367a05439..2cc124e28f 100644
--- a/sources/packages/forms/src/form-definitions/sfaa2023-24.json
+++ b/sources/packages/forms/src/form-definitions/sfaa2023-24.json
@@ -3807,8 +3807,7 @@
"calculateValue": "value = \"studentApplicationException\";",
"lockKey": true,
"customConditional": "show = data.studyEndDateBeforeSixWeeksFromToday || data.selectedStudyEndDateBeforeSixWeeksFromToday;",
- "calculateServer": true,
- "isNew": false
+ "calculateServer": true
}
],
"placeholder": "",
@@ -5408,8 +5407,7 @@
"properties": {},
"lockKey": true,
"calculateServer": true,
- "calculateValue": "/**\r\n * Validates if the date provided is before six weeks from today.\r\n *\r\n * The same validation exists on calculating selectedStudyEndDateBeforeSixWeeksFromToday,\r\n * other student application forms, program information request form\r\n * and also on the server side.\r\n *\r\n * When there is an update to this logic make sure to update in all the above.\r\n *\r\n */\r\n\r\n// If program/study period not listed is selected, validate the study end date to be after given days before six weeks from today.\r\nvalue = !!data.studyendDate && moment(data.studyendDate).isBefore(moment().add(6, 'week'));",
- "isNew": false
+ "calculateValue": "/**\r\n * Validates if the date provided is before six weeks from today.\r\n *\r\n * The same validation exists on calculating selectedStudyEndDateBeforeSixWeeksFromToday,\r\n * other student application forms, program information request form\r\n * and also on the server side.\r\n *\r\n * When there is an update to this logic make sure to update in all the above.\r\n *\r\n */\r\n\r\n// If program/study period not listed is selected, validate the study end date to be after given days before six weeks from today.\r\nvalue = !!data.studyendDate && moment(data.studyendDate).isBefore(moment().add(6, 'week'));"
},
{
"input": true,
@@ -22518,7 +22516,7 @@
"attr": ""
}
],
- "content": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the Ministry of Post Secondary and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application.\nThe information will be relevant to, and used solely for the purpose of determining and verifying my information and for my spouse’s eligibility for and entitlement to the following programs: Canada Student Grant for students with Permanent Disabilities, the BC Supplemental Bursary for Students with a Permanent Disability, Canada Student Grant for Part-time Students, Canada Student Loan for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependants under the Canada Student Financial Assistance Act.\n\nThis information will not be disclosed to any other person or organization without my prior approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.",
+ "content": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the Ministry of Post-Secondary Education and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application.\nThe information will be relevant to, and used solely for the purpose of determining and verifying my eligibility for and entitlement to the following programs: Canada Student Grant for students with Permanent Disabilities, the BC Supplemental Bursary for Students with a Permanent Disability, Canada Student Grant for Part-time Students, Canada Student Loan for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependants under the Canada Student Financial Assistance Act.\n\nThis information will not be disclosed to any other person or organization without my prior approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.",
"type": "htmlelement",
"hideLabel": true,
"tableView": false,
@@ -22560,7 +22558,7 @@
"unique": false
},
"conditional": {
- "show": null,
+ "show": "",
"when": null,
"eq": ""
},
@@ -22580,7 +22578,8 @@
"tag": "p",
"id": "e12bspp",
"addons": [],
- "className": ""
+ "className": "",
+ "tags": []
}
],
"id": "eo4yj69"
@@ -23560,11 +23559,6 @@
"tableView": false,
"modalEdit": false,
"values": [
- {
- "label": "COVID-19",
- "value": "covid19",
- "shortcut": ""
- },
{
"label": "Medical illness or injury",
"value": "medicalIllnessOrInjury",
@@ -32148,7 +32142,7 @@
{
"key": "declarationsPanelContentPartTime2",
"input": false,
- "html": "I am applying for funding to assist with my education under one or all of the following programs: British Columbia Access Grant for Part-Time Studies, Canada Student Loan for Part-time Students, Canada Student Grant for Students with Disabilities, the B.C. Supplemental Bursary for Students with Disabilities, Canada Student Grant for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependents.
\n\nI. I understand that:
\n\n\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- It is my responsibility to make sure the information on this application, and/or all the documents forming part of it are accurate.
\n\t- All information is subject to audit and verification.
\n\t- If I do not provide complete, accurate information or if I obtain or attempt to access financial assistance by fraudulent means, I may be denied any further federal or provincial student financial assistance, including full- and part-time Canada Student Loans and Grants, now or in the future.
\n\t- If I receive money (loan or grant) and then it is discovered that this application, or documents forming a part of it, are not accurate, I will be required to repay all or part of the money, with interest. I will be required to do this if my spouse/common-law partner, post-secondary institution, StudentAid BC or I made the mistake.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that all information is complete and accurate and I have not altered or added to any of the StudentAid BC application and/or questions;
\n\t- I will use the money I receive to pay my academic fees first.
\n\t- None of the courses used to meet the minimum 20 per cent course load requirements are repeats/duplicates of courses for which I previously received credits.
\n\t- I must successfully complete all courses for which my Canada Student Financial Assistance Program funding was issued or my eligibility for student financial assistance in future years of part-time studies will be affected.
\n\t- I will immediately notify the financial aid office of any changes to the information initially submitted by myself or my spouse/common-law partner. This includes my or my spouse/common-law partner's financial information (including income), changes to address, academic status, marital status, number of dependents, or any other information captured on the application form.
\n\t- I consent to the exchange of information between StudentAid BC, the post-secondary institution and/or other appropriate financial aid office about my academic standing, awards, program of study, course load, attendance, living arrangements, marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of this application for a Canada Student Loans and Grants for part-time studies. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, related documents, and the eventual repayment of my loan awards, whether defaulted or not and any other money repayable, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, educational institutions, employers, credit bureaus, credit reporting agencies, indigenous organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education and Child Care, BC Public Service Agency, RoadSafety BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Hydro, BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafeBC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I submit this Application to StudentAid BC.
\n\t- I have not applied nor will I apply to or receive government funded student loans, grants or bursaries from another province or territory or government funded loans outside of Canada during the study period stated in this application.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165, and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for research, statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or 1-778-309-4621 from outside North America.
\n",
+ "html": "I am applying for funding to assist with my education under one or all of the following programs: British Columbia Access Grant for Part-Time Studies, Canada Student Loan for Part-time Students, Canada Student Grant for Students with Disabilities, the B.C. Supplemental Bursary for Students with Disabilities, Canada Student Grant for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependents.
\n\nI. I understand that:
\n\n\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- It is my responsibility to make sure the information on this application, and/or all the documents forming part of it are accurate.
\n\t- All information is subject to verification and review.
\n\t- If I do not provide complete, accurate information or if I obtain or attempt to access financial assistance by fraudulent means, I may be denied any further federal or provincial student financial assistance, including full- and part-time Canada Student Loans and Grants, now or in the future.
\n\t- If I receive money (loan or grant) and then it is discovered that this application, or documents forming a part of it, are not accurate, I will be required to repay all or part of the money, with interest. I will be required to do this if my spouse/common-law partner, post-secondary institution, StudentAid BC or I made the mistake.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that all information is complete and accurate and I have not altered or added to any of the StudentAid BC application and/or questions;
\n\t- I will use the money I receive to pay my academic fees first.
\n\t- None of the courses used to meet the minimum 20 per cent course load requirements are repeats/duplicates of courses for which I previously received credits.
\n\t- I must successfully complete all courses for which my Canada Student Financial Assistance Program funding was issued or my eligibility for student financial assistance in future years of part-time studies will be affected.
\n\t- I will immediately notify the financial aid office of any changes to the information initially submitted by myself or my spouse/common-law partner. This includes my or my spouse/common-law partner's financial information (including income), changes to address, academic status, marital status, number of dependents, or any other information captured on the application form.
\n\t- I consent to the exchange of information between StudentAid BC, the post-secondary institution and/or other appropriate financial aid office about my academic standing, awards, program of study, course load, attendance, living arrangements, marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of this application for a Canada Student Loans and Grants for part-time studies. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, related documents, and the eventual repayment of my loan awards, whether defaulted or not and any other money repayable, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, educational institutions, employers, credit bureaus, credit reporting agencies, indigenous organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education and Child Care, BC Public Service Agency, RoadSafety BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Hydro, BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafeBC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I submit this Application to StudentAid BC.
\n\t- I have not applied nor will I apply to or receive government funded student loans, grants or bursaries from another province or territory or government funded loans outside of Canada during the study period stated in this application.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165, and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for research, statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or 1-778-309-4621 from outside North America.
\n",
"type": "content",
"tags": [],
"conditional": {
diff --git a/sources/packages/forms/src/form-definitions/sfaa2024-25.json b/sources/packages/forms/src/form-definitions/sfaa2024-25.json
index 8bc65bdccc..c60beffc6f 100644
--- a/sources/packages/forms/src/form-definitions/sfaa2024-25.json
+++ b/sources/packages/forms/src/form-definitions/sfaa2024-25.json
@@ -3807,8 +3807,7 @@
"calculateValue": "value = \"studentApplicationException\";",
"lockKey": true,
"customConditional": "show = data.studyEndDateBeforeSixWeeksFromToday || data.selectedStudyEndDateBeforeSixWeeksFromToday;",
- "calculateServer": true,
- "isNew": false
+ "calculateServer": true
}
],
"placeholder": "",
@@ -5408,8 +5407,7 @@
"properties": {},
"lockKey": true,
"calculateServer": true,
- "calculateValue": "/**\r\n * Validates if the date provided is before six weeks from today.\r\n *\r\n * The same validation exists on calculating selectedStudyEndDateBeforeSixWeeksFromToday,\r\n * other student application forms, program information request form\r\n * and also on the server side.\r\n *\r\n * When there is an update to this logic make sure to update in all the above.\r\n *\r\n */\r\n\r\n// If program/study period not listed is selected, validate the study end date to be after given days before six weeks from today.\r\nvalue = !!data.studyendDate && moment(data.studyendDate).isBefore(moment().add(6, 'week'));",
- "isNew": false
+ "calculateValue": "/**\r\n * Validates if the date provided is before six weeks from today.\r\n *\r\n * The same validation exists on calculating selectedStudyEndDateBeforeSixWeeksFromToday,\r\n * other student application forms, program information request form\r\n * and also on the server side.\r\n *\r\n * When there is an update to this logic make sure to update in all the above.\r\n *\r\n */\r\n\r\n// If program/study period not listed is selected, validate the study end date to be after given days before six weeks from today.\r\nvalue = !!data.studyendDate && moment(data.studyendDate).isBefore(moment().add(6, 'week'));"
},
{
"input": true,
@@ -22518,7 +22516,7 @@
"attr": ""
}
],
- "content": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the Ministry of Post Secondary and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application.\nThe information will be relevant to, and used solely for the purpose of determining and verifying my information and for my spouse’s eligibility for and entitlement to the following programs: Canada Student Grant for students with Permanent Disabilities, the BC Supplemental Bursary for Students with a Permanent Disability, Canada Student Grant for Part-time Students, Canada Student Loan for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependants under the Canada Student Financial Assistance Act.\n\nThis information will not be disclosed to any other person or organization without my prior approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.",
+ "content": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the Ministry of Post-Secondary Education and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application.\nThe information will be relevant to, and used solely for the purpose of determining and verifying my eligibility for and entitlement to the following programs: Canada Student Grant for students with Permanent Disabilities, the BC Supplemental Bursary for Students with a Permanent Disability, Canada Student Grant for Part-time Students, Canada Student Loan for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependants under the Canada Student Financial Assistance Act.\n\nThis information will not be disclosed to any other person or organization without my prior approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.",
"type": "htmlelement",
"hideLabel": true,
"tableView": false,
@@ -22560,7 +22558,7 @@
"unique": false
},
"conditional": {
- "show": null,
+ "show": "",
"when": null,
"eq": ""
},
@@ -22580,7 +22578,8 @@
"tag": "p",
"id": "e12bspp",
"addons": [],
- "className": ""
+ "className": "",
+ "tags": []
}
],
"id": "eo4yj69"
@@ -23560,11 +23559,6 @@
"tableView": false,
"modalEdit": false,
"values": [
- {
- "label": "COVID-19",
- "value": "covid19",
- "shortcut": ""
- },
{
"label": "Medical illness or injury",
"value": "medicalIllnessOrInjury",
@@ -32148,7 +32142,7 @@
{
"key": "declarationsPanelContentPartTime2",
"input": false,
- "html": "I am applying for funding to assist with my education under one or all of the following programs: British Columbia Access Grant for Part-Time Studies, Canada Student Loan for Part-time Students, Canada Student Grant for Students with Disabilities, the B.C. Supplemental Bursary for Students with Disabilities, Canada Student Grant for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependents.
\n\nI. I understand that:
\n\n\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- It is my responsibility to make sure the information on this application, and/or all the documents forming part of it are accurate.
\n\t- All information is subject to audit and verification.
\n\t- If I do not provide complete, accurate information or if I obtain or attempt to access financial assistance by fraudulent means, I may be denied any further federal or provincial student financial assistance, including full- and part-time Canada Student Loans and Grants, now or in the future.
\n\t- If I receive money (loan or grant) and then it is discovered that this application, or documents forming a part of it, are not accurate, I will be required to repay all or part of the money, with interest. I will be required to do this if my spouse/common-law partner, post-secondary institution, StudentAid BC or I made the mistake.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that all information is complete and accurate and I have not altered or added to any of the StudentAid BC application and/or questions;
\n\t- I will use the money I receive to pay my academic fees first.
\n\t- None of the courses used to meet the minimum 20 per cent course load requirements are repeats/duplicates of courses for which I previously received credits.
\n\t- I must successfully complete all courses for which my Canada Student Financial Assistance Program funding was issued or my eligibility for student financial assistance in future years of part-time studies will be affected.
\n\t- I will immediately notify the financial aid office of any changes to the information initially submitted by myself or my spouse/common-law partner. This includes my or my spouse/common-law partner's financial information (including income), changes to address, academic status, marital status, number of dependents, or any other information captured on the application form.
\n\t- I consent to the exchange of information between StudentAid BC, the post-secondary institution and/or other appropriate financial aid office about my academic standing, awards, program of study, course load, attendance, living arrangements, marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of this application for a Canada Student Loans and Grants for part-time studies. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, related documents, and the eventual repayment of my loan awards, whether defaulted or not and any other money repayable, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, educational institutions, employers, credit bureaus, credit reporting agencies, indigenous organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education and Child Care, BC Public Service Agency, RoadSafety BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Hydro, BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafeBC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I submit this Application to StudentAid BC.
\n\t- I have not applied nor will I apply to or receive government funded student loans, grants or bursaries from another province or territory or government funded loans outside of Canada during the study period stated in this application.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165, and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for research, statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or 1-778-309-4621 from outside North America.
\n",
+ "html": "I am applying for funding to assist with my education under one or all of the following programs: British Columbia Access Grant for Part-Time Studies, Canada Student Loan for Part-time Students, Canada Student Grant for Students with Disabilities, the B.C. Supplemental Bursary for Students with Disabilities, Canada Student Grant for Part-time Studies, and if eligible, Canada Student Grant for Part-time Students with Dependents.
\n\nI. I understand that:
\n\n\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- It is my responsibility to make sure the information on this application, and/or all the documents forming part of it are accurate.
\n\t- All information is subject to verification and review.
\n\t- If I do not provide complete, accurate information or if I obtain or attempt to access financial assistance by fraudulent means, I may be denied any further federal or provincial student financial assistance, including full- and part-time Canada Student Loans and Grants, now or in the future.
\n\t- If I receive money (loan or grant) and then it is discovered that this application, or documents forming a part of it, are not accurate, I will be required to repay all or part of the money, with interest. I will be required to do this if my spouse/common-law partner, post-secondary institution, StudentAid BC or I made the mistake.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that all information is complete and accurate and I have not altered or added to any of the StudentAid BC application and/or questions;
\n\t- I will use the money I receive to pay my academic fees first.
\n\t- None of the courses used to meet the minimum 20 per cent course load requirements are repeats/duplicates of courses for which I previously received credits.
\n\t- I must successfully complete all courses for which my Canada Student Financial Assistance Program funding was issued or my eligibility for student financial assistance in future years of part-time studies will be affected.
\n\t- I will immediately notify the financial aid office of any changes to the information initially submitted by myself or my spouse/common-law partner. This includes my or my spouse/common-law partner's financial information (including income), changes to address, academic status, marital status, number of dependents, or any other information captured on the application form.
\n\t- I consent to the exchange of information between StudentAid BC, the post-secondary institution and/or other appropriate financial aid office about my academic standing, awards, program of study, course load, attendance, living arrangements, marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of this application for a Canada Student Loans and Grants for part-time studies. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, related documents, and the eventual repayment of my loan awards, whether defaulted or not and any other money repayable, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, educational institutions, employers, credit bureaus, credit reporting agencies, indigenous organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education and Child Care, BC Public Service Agency, RoadSafety BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Hydro, BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafeBC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I submit this Application to StudentAid BC.
\n\t- I have not applied nor will I apply to or receive government funded student loans, grants or bursaries from another province or territory or government funded loans outside of Canada during the study period stated in this application.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165, and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for research, statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or 1-778-309-4621 from outside North America.
\n",
"type": "content",
"tags": [],
"conditional": {
diff --git a/sources/packages/forms/src/form-definitions/studentfinancialinformationappeal.json b/sources/packages/forms/src/form-definitions/studentfinancialinformationappeal.json
index 5f425c4e7e..627a49d78e 100644
--- a/sources/packages/forms/src/form-definitions/studentfinancialinformationappeal.json
+++ b/sources/packages/forms/src/form-definitions/studentfinancialinformationappeal.json
@@ -772,11 +772,6 @@
"tableView": false,
"modalEdit": false,
"values": [
- {
- "label": "COVID-19",
- "value": "covid19",
- "shortcut": ""
- },
{
"label": "Medical illness or injury",
"value": "medicalIllnessOrInjury",
diff --git a/sources/packages/forms/src/form-definitions/studentprofile.json b/sources/packages/forms/src/form-definitions/studentprofile.json
index 65bd912d91..9c06083970 100644
--- a/sources/packages/forms/src/form-definitions/studentprofile.json
+++ b/sources/packages/forms/src/form-definitions/studentprofile.json
@@ -3560,7 +3560,7 @@
"tableView": true,
"modalEdit": false,
"multiple": false,
- "defaultValue": "I understand that clicking 'agree' means consenting to the following:
Collection, use and disclosure of personal information
(1) The information included in this form is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165. The information you provide will be used in confirming your identity. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Advanced Education and Skills Training, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America. This consent takes effect when I click 'I agree'.
(2) I consent to the disclosure of my Social Insurance Number, name, date of birth and gender, for verification against information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification as an applicant to student financial assistance. This consent takes effect when I click 'I agree'.
Updates to personal information
(3) I acknowledge that I am responsible for ensuring that my personal profile information is kept up to date.
(4) I will update my personal profile information where there is a change to my personal information that I can update myself, such as an address change.
(5) I will request a change from Employment and Social Development Canada, ServiceBC or ICBC, as applicable, when there is a change to my personal information that I cannot update myself within the StudentAid BC portal, such as a name change.
(6) I acknowledge that I may be asked to provide documentation to the Ministry of Post-Secondary Education and Future Skills its contractors, or authorized third party administrators, to support changes to information contained within my personal profile, such as a name change.
",
+ "defaultValue": "I understand that clicking 'agree' means consenting to the following:
Collection, use and disclosure of personal information
(1) The information included in this form is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165. The information you provide will be used in confirming your identity. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America. This consent takes effect when I click 'I agree'.
(2) I consent to the disclosure of my Social Insurance Number, name, date of birth and gender, for verification against information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification as an applicant to student financial assistance. This consent takes effect when I click 'I agree'.
Updates to personal information
(3) I acknowledge that I am responsible for ensuring that my personal profile information is kept up to date.
(4) I will update my personal profile information where there is a change to my personal information that I can update myself, such as an address change.
(5) I will request a change from Employment and Social Development Canada, ServiceBC or ICBC, as applicable, when there is a change to my personal information that I cannot update myself within the StudentAid BC portal, such as a name change.
(6) I acknowledge that I may be asked to provide documentation to the Ministry of Post-Secondary Education and Future Skills its contractors, or authorized third party administrators, to support changes to information contained within my personal profile, such as a name change.
",
"persistent": true,
"inputFormat": "html",
"protected": false,
@@ -3597,7 +3597,7 @@
"tags": [],
"properties": {},
"conditional": {
- "show": null,
+ "show": "",
"when": null,
"eq": "",
"json": ""
@@ -3763,14 +3763,14 @@
"labelWidth": "",
"labelMargin": "",
"tag": "p",
- "className": "text-muted text-center",
+ "className": "text-muted text-full-justify",
"attrs": [
{
"attr": "",
"value": ""
}
],
- "content": "Collection and Use of Information. The information included in this form is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165. Upon pressing the “Submit” button you are confirming that you have reviewed this statement. The information you provide will be used in confirming your identity. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Post Secondary and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America.",
+ "content": "Collection and Use of Information. The information included in this form is collected under ss. 26(c) and 26(e) of the Freedom of Information and Protection of Privacy Act, R.S.B.C. 1996, c. 165. Upon pressing the “Submit” button you are confirming that you have reviewed this statement. The information you provide will be used in confirming your identity. If you have any questions about the collection and use of this information, contact the Executive Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America.",
"refreshOnChange": false,
"customClass": "",
"hidden": false,
@@ -3779,7 +3779,7 @@
"tags": [],
"properties": {},
"conditional": {
- "show": null,
+ "show": "",
"when": null,
"eq": "",
"json": ""
diff --git a/sources/packages/forms/src/form-definitions/supportingusersparent2022-2023.json b/sources/packages/forms/src/form-definitions/supportingusersparent2022-2023.json
index 4021c74471..64103d16a5 100644
--- a/sources/packages/forms/src/form-definitions/supportingusersparent2022-2023.json
+++ b/sources/packages/forms/src/form-definitions/supportingusersparent2022-2023.json
@@ -3811,7 +3811,7 @@
"id": "elbt2rr"
},
{
- "html": "I. I. I/we understand that:
\n\n\n\t- The student will have access to information provided in this appendix;
\n\t- The student's school will have access to information provided in this appendix;
\n\t- The information in this appendix is subject to audit, investigation and verification as defined in the current program year's StudentAid BC Policy Manual
\n
\n\nII. II. I/we understand that signing this declaration means:
\n\n\n\t- I declare that the information I have given in this appendix is correct and complete and that I have not altered or added to any of the pre-printed application and/or appendix questions.
\n\t- I authorize the student to notify StudentAid BC as soon as practical of any change in my income and/or assets, as defined in the current program year's StudentAid BC Policy Manual.
\n\t- For the purposes of verifying the accuracy of the personal information provided by me in this appendix, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post Secondary and Future Skills, the BC Ministry of Finance, the National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, lenders, educational institutions, financial aid offices, employers, credit bureaus, credit reporting agencies, Aboriginal Organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education, BC Public Service Agency, RoadSafe BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafe BC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I make the first submission of this Appendix to StudentAid BC, regardless of whether this Appendix is in electronic or written format.
\n
\n",
+ "html": "I. I. I/we understand that:
\n\n\n\t- The student will have access to information provided in this appendix;
\n\t- The student's school will have access to information provided in this appendix;
\n\t- The information in this appendix is subject to audit, investigation and verification as defined in the current program year's StudentAid BC Policy Manual
\n
\n\nII. II. I/we understand that signing this declaration means:
\n\n\n\t- I declare that the information I have given in this appendix is correct and complete and that I have not altered or added to any of the pre-printed application and/or appendix questions.
\n\t- I authorize the student to notify StudentAid BC as soon as practical of any change in my income and/or assets, as defined in the current program year's StudentAid BC Policy Manual.
\n\t- For the purposes of verifying the accuracy of the personal information provided by me in this appendix, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, the National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, lenders, educational institutions, financial aid offices, employers, credit bureaus, credit reporting agencies, Aboriginal Organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education, BC Public Service Agency, RoadSafe BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafe BC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I make the first submission of this Appendix to StudentAid BC, regardless of whether this Appendix is in electronic or written format.
\n
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content",
@@ -4179,7 +4179,7 @@
"className": ""
},
{
- "html": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the BC Ministry of Post Secondary and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application. The information will be used solely for the purpose of verifying information on my StudentAid BC application forms and for the general administration and enforcement of StudentAid BC policy and the Canada Student Financial Assistance Act. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.
\n",
+ "html": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the BC Ministry of Post-Secondary Education and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application. The information will be used solely for the purpose of verifying information on my StudentAid BC application forms and for the general administration and enforcement of StudentAid BC policy and the Canada Student Financial Assistance Act. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content",
diff --git a/sources/packages/forms/src/form-definitions/supportingusersparent2024-2025.json b/sources/packages/forms/src/form-definitions/supportingusersparent2024-2025.json
index c0cba55579..42fb37f12a 100644
--- a/sources/packages/forms/src/form-definitions/supportingusersparent2024-2025.json
+++ b/sources/packages/forms/src/form-definitions/supportingusersparent2024-2025.json
@@ -3811,7 +3811,7 @@
"id": "elbt2rr"
},
{
- "html": "I. I. I/we understand that:
\n\n\n\t- The student will have access to information provided in this appendix;
\n\t- The student's school will have access to information provided in this appendix;
\n\t- The information in this appendix is subject to audit, investigation and verification as defined in the current program year's StudentAid BC Policy Manual
\n
\n\nII. II. I/we understand that signing this declaration means:
\n\n\n\t- I declare that the information I have given in this appendix is correct and complete and that I have not altered or added to any of the pre-printed application and/or appendix questions.
\n\t- I authorize the student to notify StudentAid BC as soon as practical of any change in my income and/or assets, as defined in the current program year's StudentAid BC Policy Manual.
\n\t- For the purposes of verifying the accuracy of the personal information provided by me in this appendix, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post Secondary and Future Skills, the BC Ministry of Finance, the National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, lenders, educational institutions, financial aid offices, employers, credit bureaus, credit reporting agencies, Aboriginal Organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education, BC Public Service Agency, RoadSafe BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafe BC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I make the first submission of this Appendix to StudentAid BC, regardless of whether this Appendix is in electronic or written format.
\n
\n",
+ "html": "I. I. I/we understand that:
\n\n\n\t- The student will have access to information provided in this appendix;
\n\t- The student's school will have access to information provided in this appendix;
\n\t- The information in this appendix is subject to audit, investigation and verification as defined in the current program year's StudentAid BC Policy Manual
\n
\n\nII. II. I/we understand that signing this declaration means:
\n\n\n\t- I declare that the information I have given in this appendix is correct and complete and that I have not altered or added to any of the pre-printed application and/or appendix questions.
\n\t- I authorize the student to notify StudentAid BC as soon as practical of any change in my income and/or assets, as defined in the current program year's StudentAid BC Policy Manual.
\n\t- For the purposes of verifying the accuracy of the personal information provided by me in this appendix, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, the National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, lenders, educational institutions, financial aid offices, employers, credit bureaus, credit reporting agencies, Aboriginal Organizations, federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education, BC Public Service Agency, RoadSafe BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafe BC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada, Canada Revenue Agency, Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I make the first submission of this Appendix to StudentAid BC, regardless of whether this Appendix is in electronic or written format.
\n
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content",
@@ -4179,7 +4179,7 @@
"className": ""
},
{
- "html": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the BC Ministry of Post Secondary and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application. The information will be used solely for the purpose of verifying information on my StudentAid BC application forms and for the general administration and enforcement of StudentAid BC policy and the Canada Student Financial Assistance Act. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.
\n",
+ "html": "For the purpose of verifying the data provided in this application for student assistance, I hereby consent to the release, by the Canada Revenue Agency, to the BC Ministry of Post-Secondary Education and Future Skills (or a person delegated by the ministry), of taxpayer information from any portion of my income tax records that pertains to information given by me on any StudentAid BC application. The information will be used solely for the purpose of verifying information on my StudentAid BC application forms and for the general administration and enforcement of StudentAid BC policy and the Canada Student Financial Assistance Act. This authorization is valid for the two taxation years prior to the year of signature of this consent, the year of signature of this consent and for any other subsequent consecutive taxation year for which assistance is requested.
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content",
diff --git a/sources/packages/forms/src/form-definitions/supportinguserspartner2022-2023.json b/sources/packages/forms/src/form-definitions/supportinguserspartner2022-2023.json
index 47a4524d5d..c06e45c471 100644
--- a/sources/packages/forms/src/form-definitions/supportinguserspartner2022-2023.json
+++ b/sources/packages/forms/src/form-definitions/supportinguserspartner2022-2023.json
@@ -1953,8 +1953,7 @@
"when": null,
"eq": ""
},
- "properties": {},
- "isNew": false
+ "properties": {}
},
{
"label": "Calculated Tax Year",
@@ -2022,8 +2021,7 @@
"addons": [],
"inputType": "hidden",
"id": "eug8z8f",
- "tags": [],
- "isNew": false
+ "tags": []
},
{
"label": "Program Year Start Date",
@@ -2296,8 +2294,7 @@
"addons": [],
"id": "eazbh7",
"inputType": "number",
- "tags": [],
- "isNew": false
+ "tags": []
},
{
"label": "Will you be employed full-time or part-time during your Partner's study period",
@@ -3571,7 +3568,7 @@
"id": "elh7yc6"
},
{
- "html": "I. I understand that:
\n\n\n\t- The student will have access to information provided in this appendix;
\n\t- The student’s school will have access to information provided in this appendix;
\n\t- The information in this appendix is subject to verification and investigation, as defined in the current program year’s StudentAid BC Policy Manual.
\n
\n\nII. I understand that signing the Declaration means:
\n\n\n\t- I declare that the information I have given is correct and complete and that I have not altered or added to any of the preprinted application and/or appendix questions;
\n\t- I authorize the student to notify StudentAid BC as soon as practical of any change in my total income as reported on line 15000 of my previous year’s T1 General Income Tax and Benefit Return and/or other“assessed resources”, as defined in the current program year’s StudentAid BC Policy Manual;
\n\t- For the purposes of verifying the accuracy of the personal information provided by me in this appendix, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post Secondary and Future Skills, the BC Ministry of Finance, the National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, lenders, educational institutions, financial aid offices, employers, credit bureaus, credit reporting agencies, Aboriginal Organizations, Federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education, BC Public Service Agency, RoadSafe BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafe BC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada , Canada Revenue Agency, and Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I make the first submission of this Appendix to StudentAid BC, regardless of whether this Appendix is in electronic or written format.
\n
\n",
+ "html": "I. I understand that:
\n\n\n\t- The student will have access to information provided in this appendix;
\n\t- The student’s school will have access to information provided in this appendix;
\n\t- The information in this appendix is subject to verification and investigation, as defined in the current program year’s StudentAid BC Policy Manual.
\n
\n\nII. I understand that signing the Declaration means:
\n\n\n\t- I declare that the information I have given is correct and complete and that I have not altered or added to any of the preprinted application and/or appendix questions;
\n\t- I authorize the student to notify StudentAid BC as soon as practical of any change in my total income as reported on line 15000 of my previous year’s T1 General Income Tax and Benefit Return and/or other“assessed resources”, as defined in the current program year’s StudentAid BC Policy Manual;
\n\t- For the purposes of verifying the accuracy of the personal information provided by me in this appendix, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, the National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, lenders, educational institutions, financial aid offices, employers, credit bureaus, credit reporting agencies, Aboriginal Organizations, Federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education, BC Public Service Agency, RoadSafe BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafe BC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada , Canada Revenue Agency, and Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I make the first submission of this Appendix to StudentAid BC, regardless of whether this Appendix is in electronic or written format.
\n
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content",
@@ -3881,7 +3878,7 @@
{
"key": "declarationContent2",
"input": false,
- "html": "I. I understand that:
\n\n\n\t- It is my responsibility to make sure the information on this application and/or all the documents related to it, are accurate.
\n\t- I will be asked to re-provide this information if the student edits and re-submits an incomplete application.
\n\t- I am responsible for alerting the student if any of this information changes. The student will be responsible for reporting those changes to my information once the application is complete.
\n\t- The student’s post-secondary institution will have access to information provided on this application form.
\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- All information is subject to audit and verification.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that the information I have given is correct and complete.
\n\t- I have authorized the student to immediately notify StudentAid BC of any increase in my income.
\n\t- I consent to the exchange of information between StudentAid BC and the post-secondary institution about my marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of my spouse/common-law partner's financial aid application. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, I consent to the collection, use and disclosure of my personal information between the Ministry Post-Secondary Education and Future Skills(or its agent) and the following agencies: financial institutions, Canadian Imperial Bank of Commerce, Royal Bank, Bank of Nova Scotia, post- secondary institutions, credit agencies, WorkSafe BC, other financial aid offices, Land Title and Survey Authority of BC, BC Registry Services, BC Ministry of Social Development and Poverty Reduction/ employment program for persons with disabilities (or a contracted agent of that Ministry), BC Ministry of Children and Family Development, BC Ministry of Attorney General, BC Ministry of Finance, National Student Loans Service Centre, Immigration, Refugees and Citizenship Canada, RoadSafe BC, Employment and Social Development Canada, Crown corporations, Aboriginal Organizations, federal, provincial, municipal ministries/departments/agencies. This consent takes effect when I sign this declaration.
\n\t- The terms and conditions of this part-time application Declaration apply to all associated documents, including the part-time reassessment form and appendix 8 of the StudentAid BC program.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under Sections 26c and 26e of the Freedom of Information and Protection of Privacy Act and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28 and StudentAid BC. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Director, StudentAid BC, Ministry of Advanced Education and Skills Training, PO Box 9173, Stn Prov Govt, Victoria, BC V8W 9H7, call 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America.
\n",
+ "html": "I. I understand that:
\n\n\n\t- It is my responsibility to make sure the information on this application and/or all the documents related to it, are accurate.
\n\t- I will be asked to re-provide this information if the student edits and re-submits an incomplete application.
\n\t- I am responsible for alerting the student if any of this information changes. The student will be responsible for reporting those changes to my information once the application is complete.
\n\t- The student’s post-secondary institution will have access to information provided on this application form.
\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- All information is subject to audit and verification.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that the information I have given is correct and complete.
\n\t- I have authorized the student to immediately notify StudentAid BC of any increase in my income.
\n\t- I consent to the exchange of information between StudentAid BC and the post-secondary institution about my marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of my spouse/common-law partner's financial aid application. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, I consent to the collection, use and disclosure of my personal information between the Ministry Post-Secondary Education and Future Skills(or its agent) and the following agencies: financial institutions, Canadian Imperial Bank of Commerce, Royal Bank, Bank of Nova Scotia, post- secondary institutions, credit agencies, WorkSafe BC, other financial aid offices, Land Title and Survey Authority of BC, BC Registry Services, BC Ministry of Social Development and Poverty Reduction/ employment program for persons with disabilities (or a contracted agent of that Ministry), BC Ministry of Children and Family Development, BC Ministry of Attorney General, BC Ministry of Finance, National Student Loans Service Centre, Immigration, Refugees and Citizenship Canada, RoadSafe BC, Employment and Social Development Canada, Crown corporations, Aboriginal Organizations, federal, provincial, municipal ministries/departments/agencies. This consent takes effect when I sign this declaration.
\n\t- The terms and conditions of this part-time application Declaration apply to all associated documents, including the part-time reassessment form and appendix 8 of the StudentAid BC program.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under Sections 26c and 26e of the Freedom of Information and Protection of Privacy Act and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28 and StudentAid BC. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria, BC V8W 9H7, call 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America.
\n",
"type": "content",
"tags": [],
"conditional": {
@@ -4119,7 +4116,7 @@
"className": ""
},
{
- "html": "I hereby consent to the disclosure of information from my income tax records, by the Canada Revenue Agency to an official of the Ministry of Post Secondary and Future Skills, that pertains to information provided on any Student Aid BC application. The information disclosed will be relevant to, and used solely for the purpose of, determining and verifying eligibility for student aid under the Canada Student Financial Assistance Act. The information disclosed by the Canada Revenue Agency to the Ministry of Post Secondary and Future Skills will be protected from unauthorized use or disclosure and will not be disclosed to any other person or organization without my approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, and the year of signature.
\n",
+ "html": "I hereby consent to the disclosure of information from my income tax records, by the Canada Revenue Agency to an official of the Ministry of Post-Secondary Education and Future Skills, that pertains to information provided on any StudentAid BC application. The information disclosed will be relevant to, and used solely for the purpose of, determining and verifying eligibility for student aid under the Canada Student Financial Assistance Act. The information disclosed by the Canada Revenue Agency to the Ministry of Post-Secondary Education and Future Skills will be protected from unauthorized use or disclosure and will not be disclosed to any other person or organization without my approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, and the year of signature.
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content",
diff --git a/sources/packages/forms/src/form-definitions/supportinguserspartner2024-2025.json b/sources/packages/forms/src/form-definitions/supportinguserspartner2024-2025.json
index acf8cbb750..409af447cb 100644
--- a/sources/packages/forms/src/form-definitions/supportinguserspartner2024-2025.json
+++ b/sources/packages/forms/src/form-definitions/supportinguserspartner2024-2025.json
@@ -3571,7 +3571,7 @@
"id": "elh7yc6"
},
{
- "html": "I. I understand that:
\n\n\n\t- The student will have access to information provided in this appendix;
\n\t- The student’s school will have access to information provided in this appendix;
\n\t- The information in this appendix is subject to verification and investigation, as defined in the current program year’s StudentAid BC Policy Manual.
\n
\n\nII. I understand that signing the Declaration means:
\n\n\n\t- I declare that the information I have given is correct and complete and that I have not altered or added to any of the preprinted application and/or appendix questions;
\n\t- I authorize the student to notify StudentAid BC as soon as practical of any change in my total income as reported on line 15000 of my previous year’s T1 General Income Tax and Benefit Return and/or other“assessed resources”, as defined in the current program year’s StudentAid BC Policy Manual;
\n\t- For the purposes of verifying the accuracy of the personal information provided by me in this appendix, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post Secondary and Future Skills, the BC Ministry of Finance, the National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, lenders, educational institutions, financial aid offices, employers, credit bureaus, credit reporting agencies, Aboriginal Organizations, Federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education, BC Public Service Agency, RoadSafe BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafe BC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada , Canada Revenue Agency, and Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I make the first submission of this Appendix to StudentAid BC, regardless of whether this Appendix is in electronic or written format.
\n
\n",
+ "html": "I. I understand that:
\n\n\n\t- The student will have access to information provided in this appendix;
\n\t- The student’s school will have access to information provided in this appendix;
\n\t- The information in this appendix is subject to verification and investigation, as defined in the current program year’s StudentAid BC Policy Manual.
\n
\n\nII. I understand that signing the Declaration means:
\n\n\n\t- I declare that the information I have given is correct and complete and that I have not altered or added to any of the preprinted application and/or appendix questions;
\n\t- I authorize the student to notify StudentAid BC as soon as practical of any change in my total income as reported on line 15000 of my previous year’s T1 General Income Tax and Benefit Return and/or other“assessed resources”, as defined in the current program year’s StudentAid BC Policy Manual;
\n\t- For the purposes of verifying the accuracy of the personal information provided by me in this appendix, I consent to the collection, use and disclosure of my personal information between the BC Ministry of Post-Secondary Education and Future Skills, the BC Ministry of Finance, the National Student Loans Service Centre, and any of their contractors, subcontractors or agents, each with each other, and with the following: financial institutions, lenders, educational institutions, financial aid offices, employers, credit bureaus, credit reporting agencies, Aboriginal Organizations, Federal and provincial Crown corporations, and federal, provincial, municipal ministries/departments/agencies, including but not limited to: BC Ministry of Social Development and Poverty Reduction, BC Ministry of Children and Family Development, BC Ministry of Health, BC Ministry of Attorney General, BC Ministry of Education, BC Public Service Agency, RoadSafe BC, Insurance Corporation of BC (and Service BC acting in the role of ICBC), BC Assessment Authority, Land Title and Survey Authority of BC, BC Registry Services, WorkSafe BC, BC Vital Statistics Agency, the Office of the Superintendent of Bankruptcy Canada, Employment and Social Development Canada , Canada Revenue Agency, and Immigration, Refugees and Citizenship Canada. This consent takes effect on the date that I make the first submission of this Appendix to StudentAid BC, regardless of whether this Appendix is in electronic or written format.
\n
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content",
@@ -3881,7 +3881,7 @@
{
"key": "declarationContent2",
"input": false,
- "html": "I. I understand that:
\n\n\n\t- It is my responsibility to make sure the information on this application and/or all the documents related to it, are accurate.
\n\t- I will be asked to re-provide this information if the student edits and re-submits an incomplete application.
\n\t- I am responsible for alerting the student if any of this information changes. The student will be responsible for reporting those changes to my information once the application is complete.
\n\t- The student’s post-secondary institution will have access to information provided on this application form.
\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- All information is subject to audit and verification.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that the information I have given is correct and complete.
\n\t- I have authorized the student to immediately notify StudentAid BC of any increase in my income.
\n\t- I consent to the exchange of information between StudentAid BC and the post-secondary institution about my marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of my spouse/common-law partner's financial aid application. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, I consent to the collection, use and disclosure of my personal information between the Ministry Post-Secondary Education and Future Skills(or its agent) and the following agencies: financial institutions, Canadian Imperial Bank of Commerce, Royal Bank, Bank of Nova Scotia, post- secondary institutions, credit agencies, WorkSafe BC, other financial aid offices, Land Title and Survey Authority of BC, BC Registry Services, BC Ministry of Social Development and Poverty Reduction/ employment program for persons with disabilities (or a contracted agent of that Ministry), BC Ministry of Children and Family Development, BC Ministry of Attorney General, BC Ministry of Finance, National Student Loans Service Centre, Immigration, Refugees and Citizenship Canada, RoadSafe BC, Employment and Social Development Canada, Crown corporations, Aboriginal Organizations, federal, provincial, municipal ministries/departments/agencies. This consent takes effect when I sign this declaration.
\n\t- The terms and conditions of this part-time application Declaration apply to all associated documents, including the part-time reassessment form and appendix 8 of the StudentAid BC program.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under Sections 26c and 26e of the Freedom of Information and Protection of Privacy Act and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28 and StudentAid BC. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Director, StudentAid BC, Ministry of Advanced Education and Skills Training, PO Box 9173, Stn Prov Govt, Victoria, BC V8W 9H7, call 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America.
\n",
+ "html": "I. I understand that:
\n\n\n\t- It is my responsibility to make sure the information on this application and/or all the documents related to it, are accurate.
\n\t- I will be asked to re-provide this information if the student edits and re-submits an incomplete application.
\n\t- I am responsible for alerting the student if any of this information changes. The student will be responsible for reporting those changes to my information once the application is complete.
\n\t- The student’s post-secondary institution will have access to information provided on this application form.
\n\t- It is against the law to make false or misleading statements on this application or all documents related to it.
\n\t- All information is subject to audit and verification.
\n
\n\nII. I understand that by signing my name on this application form means:
\n\n\n\t- I certify that the information I have given is correct and complete.
\n\t- I have authorized the student to immediately notify StudentAid BC of any increase in my income.
\n\t- I consent to the exchange of information between StudentAid BC and the post-secondary institution about my marital status and financial status. This consent takes effect when I sign this declaration.
\n\t- I consent to the verification of my Social Insurance Number, name, date of birth and gender, with information contained in Employment and Social Development Canada Social Insurance Registry. This information will be disclosed to Employment and Social Development Canada for the purpose of confirming the accuracy of my identification in the context of my spouse/common-law partner's financial aid application. This consent takes effect when I sign this declaration.
\n\t- For the purpose of verifying and/or investigating information pertaining to this application, I consent to the collection, use and disclosure of my personal information between the Ministry Post-Secondary Education and Future Skills(or its agent) and the following agencies: financial institutions, Canadian Imperial Bank of Commerce, Royal Bank, Bank of Nova Scotia, post- secondary institutions, credit agencies, WorkSafe BC, other financial aid offices, Land Title and Survey Authority of BC, BC Registry Services, BC Ministry of Social Development and Poverty Reduction/ employment program for persons with disabilities (or a contracted agent of that Ministry), BC Ministry of Children and Family Development, BC Ministry of Attorney General, BC Ministry of Finance, National Student Loans Service Centre, Immigration, Refugees and Citizenship Canada, RoadSafe BC, Employment and Social Development Canada, Crown corporations, Aboriginal Organizations, federal, provincial, municipal ministries/departments/agencies. This consent takes effect when I sign this declaration.
\n\t- The terms and conditions of this part-time application Declaration apply to all associated documents, including the part-time reassessment form and appendix 8 of the StudentAid BC program.
\n
\n\nCollection and use of information. The information included in this form and authorized above is collected under Sections 26c and 26e of the Freedom of Information and Protection of Privacy Act and under the authority of the Canada Student Financial Assistance Act, R.S.C. 1994, Chapter C-28 and StudentAid BC. The information provided will be used to determine eligibility for a benefit through StudentAid BC and for statistical and evaluation purposes. If you have any questions about the collection and use of this information, contact the Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria, BC V8W 9H7, call 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America.
\n",
"type": "content",
"tags": [],
"conditional": {
@@ -4119,7 +4119,7 @@
"className": ""
},
{
- "html": "I hereby consent to the disclosure of information from my income tax records, by the Canada Revenue Agency to an official of the Ministry of Post Secondary and Future Skills, that pertains to information provided on any Student Aid BC application. The information disclosed will be relevant to, and used solely for the purpose of, determining and verifying eligibility for student aid under the Canada Student Financial Assistance Act. The information disclosed by the Canada Revenue Agency to the Ministry of Post Secondary and Future Skills will be protected from unauthorized use or disclosure and will not be disclosed to any other person or organization without my approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, and the year of signature.
\n",
+ "html": "I hereby consent to the disclosure of information from my income tax records, by the Canada Revenue Agency to an official of the Ministry of Post-Secondary Education and Future Skills, that pertains to information provided on any StudentAid BC application. The information disclosed will be relevant to, and used solely for the purpose of, determining and verifying eligibility for student aid under the Canada Student Financial Assistance Act. The information disclosed by the Canada Revenue Agency to the Ministry of Post-Secondary Education and Future Skills will be protected from unauthorized use or disclosure and will not be disclosed to any other person or organization without my approval. This authorization is valid for the two taxation years prior to the year of signature of this consent, and the year of signature.
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content",
diff --git a/sources/packages/forms/src/form-definitions/uploadstudentdocuments.json b/sources/packages/forms/src/form-definitions/uploadstudentdocuments.json
index 96dfcdabeb..30d497ccff 100644
--- a/sources/packages/forms/src/form-definitions/uploadstudentdocuments.json
+++ b/sources/packages/forms/src/form-definitions/uploadstudentdocuments.json
@@ -1119,7 +1119,7 @@
"value": ""
}
],
- "content": "Collection, use and disclosure of information. Any information you submit is collected under Section 26(c) & (e) of the Freedom of Information and Protection of Privacy Act. The information provided will be collected, used and disclosed for the purposes for which it is provided. If it is submitted to assist in confirming your identification for student financial assitance, that is why it will be collected, used and disclosed. If it is submitted to support a student financial assistance application, that is why it will be collected, used and disclosed, and the submitted information will become part of that application and subject to the terms and conditions found in your signed StudentAid BC Declaration. If you have any questions about the collection, use and disclosure of this information, contact Director, StudentAid BC, Ministry of Post Secondary and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America.",
+ "content": "Collection, use and disclosure of information. Any information you submit is collected under Section 26(c) & (e) of the Freedom of Information and Protection of Privacy Act. The information provided will be collected, used and disclosed for the purposes for which it is provided. If it is submitted to assist in confirming your identification for student financial assistance, that is why it will be collected, used and disclosed. If it is submitted to support a student financial assistance application, that is why it will be collected, used and disclosed, and the submitted information will become part of that application and subject to the terms and conditions found in your signed StudentAid BC Declaration. If you have any questions about the collection, use and disclosure of this information, contact Director, StudentAid BC, Ministry of Post-Secondary Education and Future Skills, PO Box 9173, Stn Prov Govt, Victoria BC, V8W 9H7, telephone 1-800-561-1818 (toll-free in Canada/U.S.) or +1-778-309-4621 from outside North America.",
"refreshOnChange": false,
"customClass": "",
"hidden": false,
diff --git a/sources/packages/web/src/constants/message-constants.ts b/sources/packages/web/src/constants/message-constants.ts
index de997424b0..3bb72e2028 100644
--- a/sources/packages/web/src/constants/message-constants.ts
+++ b/sources/packages/web/src/constants/message-constants.ts
@@ -18,4 +18,5 @@ export const MINISTRY_SHORTNAME = "PSFS";
/**
* Ministry Fullname
*/
-export const MINISTRY_NAME = "Ministry of Post Secondary and Future Skills";
+export const MINISTRY_NAME =
+ "Ministry of Post-Secondary Education and Future Skills";
From fbb17a9623bcb88adaa10221871b3006605464f7 Mon Sep 17 00:00:00 2001
From: katrina-aot-git <165210668+katrina-aot-git@users.noreply.github.com>
Date: Tue, 8 Oct 2024 11:29:41 -0700
Subject: [PATCH 2/8] #3752 - Update activity page (#3773)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../studentaccountactivity.json | 574 +++++++++---------
1 file changed, 287 insertions(+), 287 deletions(-)
diff --git a/sources/packages/forms/src/form-definitions/studentaccountactivity.json b/sources/packages/forms/src/form-definitions/studentaccountactivity.json
index 24aa09c085..a0d2aec16c 100644
--- a/sources/packages/forms/src/form-definitions/studentaccountactivity.json
+++ b/sources/packages/forms/src/form-definitions/studentaccountactivity.json
@@ -1637,7 +1637,7 @@
"tableView": false,
"components": [
{
- "html": "According to the information on file, you have declared bankruptcy involving student loans. As your bankruptcy involves student loans, you are not eligible for funding through StudentAid BC and your application is currently restricted.
\n\nIf you have declared bankruptcy in which Canada student loan or British Columbia student loan funds were involved, you cease to be eligible for both federal and provincial assistance. You may be considered for further student financial assistance if federal and/or provincial authorities approve of the steps taken to meet rehabilitation criteria on your outstanding debt(s). For further information regarding rehabilitation with respect to Canada student loan funds, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer. For further information regarding rehabilitation with respect to BC student loan funds, please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "According to the information on file, you have declared bankruptcy involving student loans. As your bankruptcy involves student loans, you are not eligible for funding through StudentAid BC and your application is currently restricted.
\n\nIf you have declared bankruptcy in which Canada student loan or British Columbia student loan funds were involved, you cease to be eligible for both federal and provincial assistance. You may be considered for further student financial assistance if federal and/or provincial authorities approve of the steps taken to meet rehabilitation criteria on your outstanding debt(s). For further information regarding rehabilitation with respect to Canada student loan funds, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer. For further information regarding rehabilitation with respect to BC student loan funds, please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content47",
@@ -1786,7 +1786,7 @@
"tableView": false,
"components": [
{
- "html": "We have been advised that you completed your part-time program of study early. Therefore, the change in your study period end date has been recorded at StudentAid BC. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "We have been advised that you completed your part-time program of study early. Therefore, the change in your study period end date has been recorded at StudentAid BC. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content48",
@@ -1935,7 +1935,7 @@
"tableView": false,
"components": [
{
- "html": "Your account is restricted from future part-time funding due to poor scholastic standing. You are no longer eligible to receive student financial assistance. Students who have not successfully completed courses funded through student financial assistance may be reinstated to receive further part-time funding either by submitting a successful appeal or by successfully completing one semester funded through their own resources. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "Your account is restricted from future part-time funding due to poor scholastic standing. You are no longer eligible to receive student financial assistance. Students who have not successfully completed courses funded through student financial assistance may be reinstated to receive further part-time funding either by submitting a successful appeal or by successfully completing one semester funded through their own resources. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content49",
@@ -2084,7 +2084,7 @@
"tableView": false,
"components": [
{
- "html": "A review of your scholastic standing while receiving student financial assistance indicates that you have withdrawn on two occasions or have failed to successfully complete 68 weeks of funded post-secondary study. By policy, this disqualifies you from further funding and a restriction has been placed on your file.
\n\nAlthough you are not eligible for funding, you may apply to continue, or rehabilitate, your in-study payment-free status whenever you are enrolled in at least 60 per cent of a full-time course load of post-secondary study (40 per cent for students with a permanent disability, or a persistent or prolonged disability, who have been approved by StudentAid BC to study at the reduced course load) by submitting an in-study payment-free status application to the financial aid office at your school. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "A review of your scholastic standing while receiving student financial assistance indicates that you have withdrawn on two occasions or have failed to successfully complete 68 weeks of funded post-secondary study. By policy, this disqualifies you from further funding and a restriction has been placed on your file.
\n\nAlthough you are not eligible for funding, you may apply to continue, or rehabilitate, your in-study payment-free status whenever you are enrolled in at least 60 per cent of a full-time course load of post-secondary study (40 per cent for students with a permanent disability, or a persistent or prolonged disability, who have been approved by StudentAid BC to study at the reduced course load) by submitting an in-study payment-free status application to the financial aid office at your school. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content58",
@@ -2527,7 +2527,7 @@
"tableView": false,
"components": [
{
- "html": "Students enrolled in 'unclassified studies' may be eligible for a maximum of 52 weeks of funding through StudentAid BC. You have exceeded the maximum allowable funded weeks for unclassified studies. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "Students enrolled in 'unclassified studies' may be eligible for a maximum of 52 weeks of funding through StudentAid BC. You have exceeded the maximum allowable funded weeks for unclassified studies. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content52",
@@ -2827,7 +2827,7 @@
"tableView": false,
"components": [
{
- "html": "Our records indicate you are delinquent on your British Columbia student loan payments which disqualifies you for further funding through StudentAid BC. For information regarding your delinquency status, please contact your lender.
\nTo be considered for further funding through StudentAid BC, please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "Our records indicate you are delinquent on your British Columbia student loan payments which disqualifies you for further funding through StudentAid BC. For information regarding your delinquency status, please contact your lender.
\nTo be considered for further funding through StudentAid BC, please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content54",
@@ -2975,7 +2975,7 @@
"tableView": false,
"components": [
{
- "html": "Our records indicate you are delinquent on your British Columbia student loan payments which disqualifies you for further funding through StudentAid BC. For information regarding your delinquency status, please contact your lender.
\nTo be considered for further funding through StudentAid BC, please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "Our records indicate you are delinquent on your British Columbia student loan payments which disqualifies you for further funding through StudentAid BC. For information regarding your delinquency status, please contact your lender.
\nTo be considered for further funding through StudentAid BC, please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content55",
@@ -3123,7 +3123,7 @@
"tableView": false,
"components": [
{
- "html": "Our records indicate that your temporary Social Insurance Number (SIN) has either expired or is not valid for the entirety of your study period. For further information, please contact StudentAid BC at 1-800-561-1818 (within North America) or 250-387-6100 (outside North America).
\n",
+ "html": "Our records indicate that your temporary Social Insurance Number (SIN) has either expired or is not valid for the entirety of your study period. For further information, please contact StudentAid BC at 1-800-561-1818 (within North America) or 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content56",
@@ -3271,7 +3271,7 @@
"tableView": false,
"components": [
{
- "html": "Our records indicate that you have reached your B.C. Lifetime loan maximum, which disqualifies you for further provincial funding through StudentAid BC. For further information, please contact StudentAid BC at 1-800-561-1818 (within North America) or 250-387-6100 (outside North America).
\n",
+ "html": "Our records indicate that you have reached your B.C. Lifetime loan maximum, which disqualifies you for further provincial funding through StudentAid BC. For further information, please contact StudentAid BC at 1-800-561-1818 (within North America) or 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"labelWidth": "",
"labelMargin": "",
@@ -3400,7 +3400,7 @@
{
"key": "codeLGCYRestrictionPanelContent",
"input": false,
- "html": "Our records indicate you have a restriction on your account from a past student loan that is preventing your application from moving forward. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "Our records indicate you have a restriction on your account from a past student loan that is preventing your application from moving forward. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"type": "content",
"tags": [],
"conditional": {
@@ -3428,89 +3428,7 @@
"customClass": "collapsible"
},
{
- "label": "HTML",
- "labelWidth": "",
- "labelMargin": "",
- "tag": "h3",
- "className": "category-header-medium primary-color mt-5",
- "attrs": [
- {
- "attr": "",
- "value": ""
- }
- ],
- "content": "National Student Load Service Centre Restrictions",
- "refreshOnChange": false,
- "customClass": "",
- "hidden": false,
- "modalEdit": false,
- "key": "html10",
- "tags": [],
- "properties": {},
- "conditional": {
- "show": null,
- "when": null,
- "eq": "",
- "json": ""
- },
- "customConditional": "",
- "logic": [],
- "attributes": {},
- "overlay": {
- "style": "",
- "page": "",
- "left": "",
- "top": "",
- "width": "",
- "height": ""
- },
- "type": "htmlelement",
- "input": false,
- "tableView": false,
- "placeholder": "",
- "prefix": "",
- "suffix": "",
- "multiple": false,
- "defaultValue": null,
- "protected": false,
- "unique": false,
- "persistent": false,
- "clearOnHide": true,
- "refreshOn": "",
- "redrawOn": "",
- "dataGridLabel": false,
- "labelPosition": "top",
- "description": "",
- "errorLabel": "",
- "tooltip": "",
- "hideLabel": false,
- "tabindex": "",
- "disabled": false,
- "autofocus": false,
- "dbIndex": false,
- "customDefaultValue": "",
- "calculateValue": "",
- "calculateServer": false,
- "widget": null,
- "validateOn": "change",
- "validate": {
- "required": false,
- "custom": "",
- "customPrivate": false,
- "strictDateValidation": false,
- "multiple": false,
- "unique": false
- },
- "allowCalculateOverride": false,
- "encrypted": false,
- "showCharCount": false,
- "showWordCount": false,
- "allowMultipleMasks": false,
- "addons": [],
- "id": "ejuij"
- },
- {
- "title": "Code 4 - Nearing the lifetime maximum",
+ "title": "Code B6 - Bankruptcy",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -3518,10 +3436,9 @@
"customClass": "collapsible",
"collapsible": true,
"hidden": false,
- "hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "code4NearingTheLifetimeMaximum",
+ "key": "codeB6Bankruptcy",
"tags": [],
"properties": {},
"customConditional": "",
@@ -3549,48 +3466,27 @@
"tableView": false,
"components": [
{
- "html": "You are approaching your Canada-B.C. integrated student loan maximum lifetime number of weeks allowable for funding for your current level of study.
\n\nCanada-B.C. integrated student loan lifetime maximums are as follows:
\n\n340 weeks of study for loans and/or payment-free status for first time borrowers on August 1, 1995 or later;
\n400 weeks of study for student enrolled in a doctoral program;
\n520 weeks of study for loans and/or payment-free status for students who received assistance prior to August 1, 1995; and
\n520 weeks of study including loans/payment-free status, for students with a permanent disability, or a persistent or prolonged disability, providing the disability status has been approved by the Canada Student Financial Assistance Program.
\nIf you reach the lifetime maximum during your study period, your funding will be continued to the end of the study period in which you are enrolled. If you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer.
\n",
+ "html": "According to the information on file, you have declared bankruptcy involving student loans. As your bankruptcy involves student loans, you are not eligible for funding through StudentAid BC and your application is currently restricted.
\nYou should note the following:
\n\nRehabilitation Through StudentAid BC
\nIf you have declared bankruptcy in which Canada student loan or British Columbia student loan funds were involved, you cease to be eligible for both federal and provincial assistance. You may be considered for further student financial assistance if federal and/or provincial authorities approve of the steps taken to meet rehabilitation criteria on your outstanding debt(s).
\n\nIf you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer. For further information regarding rehabilitation with respect to BC student loan funds, please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
- "labelWidth": "",
- "labelMargin": "",
- "customClass": "",
"refreshOnChange": false,
- "hidden": false,
- "modalEdit": false,
- "key": "content1",
- "tags": [],
- "properties": {},
- "conditional": {
- "show": null,
- "when": null,
- "eq": "",
- "json": ""
- },
- "customConditional": "",
- "logic": [],
- "attributes": {},
- "overlay": {
- "style": "",
- "page": "",
- "left": "",
- "top": "",
- "width": "",
- "height": ""
- },
+ "key": "content9",
"type": "content",
"input": false,
"tableView": false,
"placeholder": "",
"prefix": "",
+ "customClass": "",
"suffix": "",
"multiple": false,
"defaultValue": null,
"protected": false,
"unique": false,
"persistent": true,
+ "hidden": false,
"clearOnHide": true,
"refreshOn": "",
"redrawOn": "",
+ "modalEdit": false,
"dataGridLabel": false,
"labelPosition": "top",
"description": "",
@@ -3605,6 +3501,7 @@
"calculateValue": "",
"calculateServer": false,
"widget": null,
+ "attributes": {},
"validateOn": "change",
"validate": {
"required": false,
@@ -3614,13 +3511,26 @@
"multiple": false,
"unique": false
},
+ "conditional": {
+ "show": null,
+ "when": null,
+ "eq": ""
+ },
+ "overlay": {
+ "style": "",
+ "left": "",
+ "top": "",
+ "width": "",
+ "height": ""
+ },
"allowCalculateOverride": false,
"encrypted": false,
"showCharCount": false,
"showWordCount": false,
+ "properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "e5wyj5a"
+ "id": "e54t04"
}
],
"collapsed": true,
@@ -3662,10 +3572,11 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "eqzzgm"
+ "id": "e6hyznp",
+ "hideLabel": false
},
{
- "title": "Code 5 - Reached the lifetime maximum",
+ "title": "Code E2 - Bankruptcy",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -3673,10 +3584,9 @@
"customClass": "collapsible",
"collapsible": true,
"hidden": false,
- "hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "code5Something",
+ "key": "codeE2Bankruptcy",
"tags": [],
"properties": {},
"customConditional": "",
@@ -3704,10 +3614,10 @@
"tableView": false,
"components": [
{
- "html": "You have exhausted the Canada-B.C. integrated student loan maximum lifetime number of weeks allowable for funding for your current level of study. We are unable to issue further assistance through StudentAid BC while this restriction is in effect.
\n\nCanada-B.C. integrated student loan lifetime maximums are as follows:
\n\n340 weeks of study for loans and/or payment-free status for first time borrowers on August 1, 1995 or later;
\n400 weeks of study for students enrolled in a doctoral program;
\n520 weeks of study for loans and/or payment-free status for students who received assistance prior to August 1, 1995; and
\n520 weeks of study including loans and/or payment-free status, for students with a permanent disability, or a persistent or prolonged disability, providing the disability status has been approved by the Canada Student Financial Assistance Program.
\nIf you reach the lifetime maximum during your study period, your funding will be continued to the end of the study period on your application. If you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer.
\n",
+ "html": "According to the information on file, you have declared bankruptcy involving student loans. As your bankruptcy involves student loans, you are not eligible for funding through StudentAid BC and your application is currently restricted.
\nYou should note the following:
\n\nRehabilitation Through StudentAid BC
\nIf you have declared bankruptcy in which Canada student loan or British Columbia student loan funds were involved, you cease to be eligible for both federal and provincial assistance. You may be considered for further student financial assistance if federal and/or provincial authorities approve of the steps taken to meet rehabilitation criteria on your outstanding debt(s).
\n\nFor further information regarding rehabilitation with respect to Canada student loan funds, please contact:
\nCanada Student Financial Assistance Program at 1-888-815-4514
\nFor further information regarding rehabilitation with respect to BC student loan funds, please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
- "key": "content2",
+ "key": "content13",
"type": "content",
"input": false,
"tableView": false,
@@ -3768,7 +3678,7 @@
"properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "ebyc02xh"
+ "id": "e7oiea"
}
],
"collapsed": true,
@@ -3810,10 +3720,93 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "evxk18i"
+ "id": "e6luxnn",
+ "hideLabel": false
},
{
- "title": "Code 6 - Nearing the lifetime maximum",
+ "label": "HTML",
+ "labelWidth": "",
+ "labelMargin": "",
+ "tag": "h3",
+ "className": "category-header-medium primary-color mt-5",
+ "attrs": [
+ {
+ "attr": "",
+ "value": ""
+ }
+ ],
+ "content": "National Student Loan Service Centre Restrictions",
+ "refreshOnChange": false,
+ "customClass": "",
+ "hidden": false,
+ "modalEdit": false,
+ "key": "html10",
+ "tags": [],
+ "properties": {},
+ "conditional": {
+ "show": "",
+ "when": null,
+ "eq": "",
+ "json": ""
+ },
+ "customConditional": "",
+ "logic": [],
+ "attributes": {},
+ "overlay": {
+ "style": "",
+ "page": "",
+ "left": "",
+ "top": "",
+ "width": "",
+ "height": ""
+ },
+ "type": "htmlelement",
+ "input": false,
+ "tableView": false,
+ "placeholder": "",
+ "prefix": "",
+ "suffix": "",
+ "multiple": false,
+ "defaultValue": null,
+ "protected": false,
+ "unique": false,
+ "persistent": false,
+ "clearOnHide": true,
+ "refreshOn": "",
+ "redrawOn": "",
+ "dataGridLabel": false,
+ "labelPosition": "top",
+ "description": "",
+ "errorLabel": "",
+ "tooltip": "",
+ "hideLabel": false,
+ "tabindex": "",
+ "disabled": false,
+ "autofocus": false,
+ "dbIndex": false,
+ "customDefaultValue": "",
+ "calculateValue": "",
+ "calculateServer": false,
+ "widget": null,
+ "validateOn": "change",
+ "validate": {
+ "required": false,
+ "custom": "",
+ "customPrivate": false,
+ "strictDateValidation": false,
+ "multiple": false,
+ "unique": false
+ },
+ "allowCalculateOverride": false,
+ "encrypted": false,
+ "showCharCount": false,
+ "showWordCount": false,
+ "allowMultipleMasks": false,
+ "addons": [],
+ "id": "ejuij"
+ },
+ {
+ "title": "Code 4 - Nearing the lifetime maximum",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -3824,7 +3817,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "code6",
+ "key": "code4NearingTheLifetimeMaximum",
"tags": [],
"properties": {},
"customConditional": "",
@@ -3854,25 +3847,46 @@
{
"html": "You are approaching your Canada-B.C. integrated student loan maximum lifetime number of weeks allowable for funding for your current level of study.
\n\nCanada-B.C. integrated student loan lifetime maximums are as follows:
\n\n340 weeks of study for loans and/or payment-free status for first time borrowers on August 1, 1995 or later;
\n400 weeks of study for student enrolled in a doctoral program;
\n520 weeks of study for loans and/or payment-free status for students who received assistance prior to August 1, 1995; and
\n520 weeks of study including loans/payment-free status, for students with a permanent disability, or a persistent or prolonged disability, providing the disability status has been approved by the Canada Student Financial Assistance Program.
\nIf you reach the lifetime maximum during your study period, your funding will be continued to the end of the study period in which you are enrolled. If you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer.
\n",
"label": "Content",
+ "labelWidth": "",
+ "labelMargin": "",
+ "customClass": "",
"refreshOnChange": false,
- "key": "content4",
+ "hidden": false,
+ "modalEdit": false,
+ "key": "content1",
+ "tags": [],
+ "properties": {},
+ "conditional": {
+ "show": null,
+ "when": null,
+ "eq": "",
+ "json": ""
+ },
+ "customConditional": "",
+ "logic": [],
+ "attributes": {},
+ "overlay": {
+ "style": "",
+ "page": "",
+ "left": "",
+ "top": "",
+ "width": "",
+ "height": ""
+ },
"type": "content",
"input": false,
"tableView": false,
"placeholder": "",
"prefix": "",
- "customClass": "",
"suffix": "",
"multiple": false,
"defaultValue": null,
"protected": false,
"unique": false,
"persistent": true,
- "hidden": false,
"clearOnHide": true,
"refreshOn": "",
"redrawOn": "",
- "modalEdit": false,
"dataGridLabel": false,
"labelPosition": "top",
"description": "",
@@ -3887,7 +3901,6 @@
"calculateValue": "",
"calculateServer": false,
"widget": null,
- "attributes": {},
"validateOn": "change",
"validate": {
"required": false,
@@ -3897,26 +3910,13 @@
"multiple": false,
"unique": false
},
- "conditional": {
- "show": null,
- "when": null,
- "eq": ""
- },
- "overlay": {
- "style": "",
- "left": "",
- "top": "",
- "width": "",
- "height": ""
- },
"allowCalculateOverride": false,
"encrypted": false,
"showCharCount": false,
"showWordCount": false,
- "properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "evwvd0n"
+ "id": "e5wyj5a"
}
],
"collapsed": true,
@@ -3958,10 +3958,10 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "evt8ggd"
+ "id": "eqzzgm"
},
{
- "title": "Code 7 - Reached the lifetime maximum",
+ "title": "Code 5 - Reached the lifetime maximum",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -3972,7 +3972,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "code7",
+ "key": "code5Something",
"tags": [],
"properties": {},
"customConditional": "",
@@ -4003,7 +4003,7 @@
"html": "You have exhausted the Canada-B.C. integrated student loan maximum lifetime number of weeks allowable for funding for your current level of study. We are unable to issue further assistance through StudentAid BC while this restriction is in effect.
\n\nCanada-B.C. integrated student loan lifetime maximums are as follows:
\n\n340 weeks of study for loans and/or payment-free status for first time borrowers on August 1, 1995 or later;
\n400 weeks of study for students enrolled in a doctoral program;
\n520 weeks of study for loans and/or payment-free status for students who received assistance prior to August 1, 1995; and
\n520 weeks of study including loans and/or payment-free status, for students with a permanent disability, or a persistent or prolonged disability, providing the disability status has been approved by the Canada Student Financial Assistance Program.
\nIf you reach the lifetime maximum during your study period, your funding will be continued to the end of the study period on your application. If you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer.
\n",
"label": "Content",
"refreshOnChange": false,
- "key": "content5",
+ "key": "content2",
"type": "content",
"input": false,
"tableView": false,
@@ -4064,7 +4064,7 @@
"properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "erbjxwo"
+ "id": "ebyc02xh"
}
],
"collapsed": true,
@@ -4106,10 +4106,10 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "eu8zayn"
+ "id": "evxk18i"
},
{
- "title": "Code 8 - Nearing the lifetime maximum",
+ "title": "Code 6 - Nearing the lifetime maximum",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -4120,7 +4120,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "code8NearingTheLifetimeMaximum",
+ "key": "code6",
"tags": [],
"properties": {},
"customConditional": "",
@@ -4151,7 +4151,7 @@
"html": "You are approaching your Canada-B.C. integrated student loan maximum lifetime number of weeks allowable for funding for your current level of study.
\n\nCanada-B.C. integrated student loan lifetime maximums are as follows:
\n\n340 weeks of study for loans and/or payment-free status for first time borrowers on August 1, 1995 or later;
\n400 weeks of study for student enrolled in a doctoral program;
\n520 weeks of study for loans and/or payment-free status for students who received assistance prior to August 1, 1995; and
\n520 weeks of study including loans/payment-free status, for students with a permanent disability, or a persistent or prolonged disability, providing the disability status has been approved by the Canada Student Financial Assistance Program.
\nIf you reach the lifetime maximum during your study period, your funding will be continued to the end of the study period in which you are enrolled. If you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer.
\n",
"label": "Content",
"refreshOnChange": false,
- "key": "content6",
+ "key": "content4",
"type": "content",
"input": false,
"tableView": false,
@@ -4212,7 +4212,7 @@
"properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "eetgp4q"
+ "id": "evwvd0n"
}
],
"collapsed": true,
@@ -4254,10 +4254,10 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "eiqzjy"
+ "id": "evt8ggd"
},
{
- "title": "Code 9 - Reached the lifetime maximum",
+ "title": "Code 7 - Reached the lifetime maximum",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -4268,7 +4268,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "code9StudentReachedTheLifetimeMaximum",
+ "key": "code7",
"tags": [],
"properties": {},
"customConditional": "",
@@ -4298,46 +4298,25 @@
{
"html": "You have exhausted the Canada-B.C. integrated student loan maximum lifetime number of weeks allowable for funding for your current level of study. We are unable to issue further assistance through StudentAid BC while this restriction is in effect.
\n\nCanada-B.C. integrated student loan lifetime maximums are as follows:
\n\n340 weeks of study for loans and/or payment-free status for first time borrowers on August 1, 1995 or later;
\n400 weeks of study for students enrolled in a doctoral program;
\n520 weeks of study for loans and/or payment-free status for students who received assistance prior to August 1, 1995; and
\n520 weeks of study including loans and/or payment-free status, for students with a permanent disability, or a persistent or prolonged disability, providing the disability status has been approved by the Canada Student Financial Assistance Program.
\nIf you reach the lifetime maximum during your study period, your funding will be continued to the end of the study period on your application. If you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer.
\n",
"label": "Content",
- "labelWidth": "",
- "labelMargin": "",
- "customClass": "",
"refreshOnChange": false,
- "hidden": false,
- "modalEdit": false,
- "key": "content7",
- "tags": [],
- "properties": {},
- "conditional": {
- "show": null,
- "when": null,
- "eq": "",
- "json": ""
- },
- "customConditional": "",
- "logic": [],
- "attributes": {},
- "overlay": {
- "style": "",
- "page": "",
- "left": "",
- "top": "",
- "width": "",
- "height": ""
- },
+ "key": "content5",
"type": "content",
"input": false,
"tableView": false,
"placeholder": "",
"prefix": "",
+ "customClass": "",
"suffix": "",
"multiple": false,
"defaultValue": null,
"protected": false,
"unique": false,
"persistent": true,
+ "hidden": false,
"clearOnHide": true,
"refreshOn": "",
"redrawOn": "",
+ "modalEdit": false,
"dataGridLabel": false,
"labelPosition": "top",
"description": "",
@@ -4352,6 +4331,7 @@
"calculateValue": "",
"calculateServer": false,
"widget": null,
+ "attributes": {},
"validateOn": "change",
"validate": {
"required": false,
@@ -4361,13 +4341,26 @@
"multiple": false,
"unique": false
},
+ "conditional": {
+ "show": null,
+ "when": null,
+ "eq": ""
+ },
+ "overlay": {
+ "style": "",
+ "left": "",
+ "top": "",
+ "width": "",
+ "height": ""
+ },
"allowCalculateOverride": false,
"encrypted": false,
"showCharCount": false,
"showWordCount": false,
+ "properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "e1fqxq"
+ "id": "erbjxwo"
}
],
"collapsed": true,
@@ -4409,10 +4402,10 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "eidhqm7"
+ "id": "eu8zayn"
},
{
- "title": "Code AV - Maximum for an aviation program",
+ "title": "Code 8 - Nearing the lifetime maximum",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -4423,7 +4416,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "codeAv",
+ "key": "code8NearingTheLifetimeMaximum",
"tags": [],
"properties": {},
"customConditional": "",
@@ -4451,10 +4444,10 @@
"tableView": false,
"components": [
{
- "html": "Your application for assistance through StudentAid BC has been denied. You have been issued your maximum entitlement to funding through StudentAid BC for aviation programs. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "You are approaching your Canada-B.C. integrated student loan maximum lifetime number of weeks allowable for funding for your current level of study.
\n\nCanada-B.C. integrated student loan lifetime maximums are as follows:
\n\n340 weeks of study for loans and/or payment-free status for first time borrowers on August 1, 1995 or later;
\n400 weeks of study for student enrolled in a doctoral program;
\n520 weeks of study for loans and/or payment-free status for students who received assistance prior to August 1, 1995; and
\n520 weeks of study including loans/payment-free status, for students with a permanent disability, or a persistent or prolonged disability, providing the disability status has been approved by the Canada Student Financial Assistance Program.
\nIf you reach the lifetime maximum during your study period, your funding will be continued to the end of the study period in which you are enrolled. If you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer.
\n",
"label": "Content",
"refreshOnChange": false,
- "key": "content8",
+ "key": "content6",
"type": "content",
"input": false,
"tableView": false,
@@ -4515,7 +4508,7 @@
"properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "ee65fr"
+ "id": "eetgp4q"
}
],
"collapsed": true,
@@ -4557,10 +4550,10 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "eaxmcrh"
+ "id": "eiqzjy"
},
{
- "title": "Code B6 - Bankruptcy",
+ "title": "Code 9 - Reached the lifetime maximum",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -4571,7 +4564,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "codeB6Bankruptcy",
+ "key": "code9StudentReachedTheLifetimeMaximum",
"tags": [],
"properties": {},
"customConditional": "",
@@ -4599,27 +4592,48 @@
"tableView": false,
"components": [
{
- "html": "According to the information on file, you have declared bankruptcy involving student loans. As your bankruptcy involves student loans, you are not eligible for funding through StudentAid BC and your application is currently restricted.
\nYou should note the following:
\n\nRehabilitation Through StudentAid BC
\nIf you have declared bankruptcy in which Canada student loan or British Columbia student loan funds were involved, you cease to be eligible for both federal and provincial assistance. You may be considered for further student financial assistance if federal and/or provincial authorities approve of the steps taken to meet rehabilitation criteria on your outstanding debt(s).
\n\nIf you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer. For further information regarding rehabilitation with respect to BC student loan funds, please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "You have exhausted the Canada-B.C. integrated student loan maximum lifetime number of weeks allowable for funding for your current level of study. We are unable to issue further assistance through StudentAid BC while this restriction is in effect.
\n\nCanada-B.C. integrated student loan lifetime maximums are as follows:
\n\n340 weeks of study for loans and/or payment-free status for first time borrowers on August 1, 1995 or later;
\n400 weeks of study for students enrolled in a doctoral program;
\n520 weeks of study for loans and/or payment-free status for students who received assistance prior to August 1, 1995; and
\n520 weeks of study including loans and/or payment-free status, for students with a permanent disability, or a persistent or prolonged disability, providing the disability status has been approved by the Canada Student Financial Assistance Program.
\nIf you reach the lifetime maximum during your study period, your funding will be continued to the end of the study period on your application. If you have any questions, please contact the Canada Student Financial Assistance Program at 1-888-815-4514 to speak with a Case Review Officer.
\n",
"label": "Content",
+ "labelWidth": "",
+ "labelMargin": "",
+ "customClass": "",
"refreshOnChange": false,
- "key": "content9",
+ "hidden": false,
+ "modalEdit": false,
+ "key": "content7",
+ "tags": [],
+ "properties": {},
+ "conditional": {
+ "show": null,
+ "when": null,
+ "eq": "",
+ "json": ""
+ },
+ "customConditional": "",
+ "logic": [],
+ "attributes": {},
+ "overlay": {
+ "style": "",
+ "page": "",
+ "left": "",
+ "top": "",
+ "width": "",
+ "height": ""
+ },
"type": "content",
"input": false,
"tableView": false,
"placeholder": "",
"prefix": "",
- "customClass": "",
"suffix": "",
"multiple": false,
"defaultValue": null,
"protected": false,
"unique": false,
"persistent": true,
- "hidden": false,
"clearOnHide": true,
"refreshOn": "",
"redrawOn": "",
- "modalEdit": false,
"dataGridLabel": false,
"labelPosition": "top",
"description": "",
@@ -4634,7 +4648,6 @@
"calculateValue": "",
"calculateServer": false,
"widget": null,
- "attributes": {},
"validateOn": "change",
"validate": {
"required": false,
@@ -4644,26 +4657,13 @@
"multiple": false,
"unique": false
},
- "conditional": {
- "show": null,
- "when": null,
- "eq": ""
- },
- "overlay": {
- "style": "",
- "left": "",
- "top": "",
- "width": "",
- "height": ""
- },
"allowCalculateOverride": false,
"encrypted": false,
"showCharCount": false,
"showWordCount": false,
- "properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "e54t04"
+ "id": "e1fqxq"
}
],
"collapsed": true,
@@ -4705,10 +4705,10 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "e6hyznp"
+ "id": "eidhqm7"
},
{
- "title": "Code BF - Risk guaranteed portfolios frozen",
+ "title": "Code AV - Maximum for an aviation program",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -4719,7 +4719,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "codeBfRiskGuaranteedPortfoliosFrozen",
+ "key": "codeAv",
"tags": [],
"properties": {},
"customConditional": "",
@@ -4747,48 +4747,27 @@
"tableView": false,
"components": [
{
- "html": "A restriction has been placed on your file by officials of the Canada Student Financial Assistance Program which disqualifies you from receiving further funding through StudentAid BC. For information regarding this restriction and possible resolution you will need to contact the Canada Student Financial Assistance Program at 1-888-815-4514 and ask to be transferred to the Case Review Unit.
\n",
+ "html": "Your application for assistance through StudentAid BC has been denied. You have been issued your maximum entitlement to funding through StudentAid BC for aviation programs. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
- "labelWidth": "",
- "labelMargin": "",
- "customClass": "",
"refreshOnChange": false,
- "hidden": false,
- "modalEdit": false,
- "key": "content10",
- "tags": [],
- "properties": {},
- "conditional": {
- "show": null,
- "when": null,
- "eq": "",
- "json": ""
- },
- "customConditional": "",
- "logic": [],
- "attributes": {},
- "overlay": {
- "style": "",
- "page": "",
- "left": "",
- "top": "",
- "width": "",
- "height": ""
- },
+ "key": "content8",
"type": "content",
"input": false,
"tableView": false,
"placeholder": "",
"prefix": "",
+ "customClass": "",
"suffix": "",
"multiple": false,
"defaultValue": null,
"protected": false,
"unique": false,
"persistent": true,
+ "hidden": false,
"clearOnHide": true,
"refreshOn": "",
"redrawOn": "",
+ "modalEdit": false,
"dataGridLabel": false,
"labelPosition": "top",
"description": "",
@@ -4803,6 +4782,7 @@
"calculateValue": "",
"calculateServer": false,
"widget": null,
+ "attributes": {},
"validateOn": "change",
"validate": {
"required": false,
@@ -4812,13 +4792,26 @@
"multiple": false,
"unique": false
},
+ "conditional": {
+ "show": null,
+ "when": null,
+ "eq": ""
+ },
+ "overlay": {
+ "style": "",
+ "left": "",
+ "top": "",
+ "width": "",
+ "height": ""
+ },
"allowCalculateOverride": false,
"encrypted": false,
"showCharCount": false,
"showWordCount": false,
+ "properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "e9vc6ql"
+ "id": "ee65fr"
}
],
"collapsed": true,
@@ -4860,10 +4853,10 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "e3l2cmb"
+ "id": "eaxmcrh"
},
{
- "title": "Code C - Restriction on file",
+ "title": "Code BF - Risk guaranteed portfolios frozen",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -4874,7 +4867,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "codeCRestrictionOnFile",
+ "key": "codeBfRiskGuaranteedPortfoliosFrozen",
"tags": [],
"properties": {},
"customConditional": "",
@@ -4910,7 +4903,7 @@
"refreshOnChange": false,
"hidden": false,
"modalEdit": false,
- "key": "content11",
+ "key": "content10",
"tags": [],
"properties": {},
"conditional": {
@@ -4973,7 +4966,7 @@
"showWordCount": false,
"allowMultipleMasks": false,
"addons": [],
- "id": "ea2pixe"
+ "id": "e9vc6ql"
}
],
"collapsed": true,
@@ -5015,10 +5008,10 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "emxlf49"
+ "id": "e3l2cmb"
},
{
- "title": "Code TD - Account closed",
+ "title": "Code C - Restriction on file",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -5029,7 +5022,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "codeTdAccountClosed",
+ "key": "codeCRestrictionOnFile",
"tags": [],
"properties": {},
"customConditional": "",
@@ -5059,25 +5052,46 @@
{
"html": "A restriction has been placed on your file by officials of the Canada Student Financial Assistance Program which disqualifies you from receiving further funding through StudentAid BC. For information regarding this restriction and possible resolution you will need to contact the Canada Student Financial Assistance Program at 1-888-815-4514 and ask to be transferred to the Case Review Unit.
\n",
"label": "Content",
+ "labelWidth": "",
+ "labelMargin": "",
+ "customClass": "",
"refreshOnChange": false,
- "key": "content12",
+ "hidden": false,
+ "modalEdit": false,
+ "key": "content11",
+ "tags": [],
+ "properties": {},
+ "conditional": {
+ "show": null,
+ "when": null,
+ "eq": "",
+ "json": ""
+ },
+ "customConditional": "",
+ "logic": [],
+ "attributes": {},
+ "overlay": {
+ "style": "",
+ "page": "",
+ "left": "",
+ "top": "",
+ "width": "",
+ "height": ""
+ },
"type": "content",
"input": false,
"tableView": false,
"placeholder": "",
"prefix": "",
- "customClass": "",
"suffix": "",
"multiple": false,
"defaultValue": null,
"protected": false,
"unique": false,
"persistent": true,
- "hidden": false,
"clearOnHide": true,
"refreshOn": "",
"redrawOn": "",
- "modalEdit": false,
"dataGridLabel": false,
"labelPosition": "top",
"description": "",
@@ -5092,7 +5106,6 @@
"calculateValue": "",
"calculateServer": false,
"widget": null,
- "attributes": {},
"validateOn": "change",
"validate": {
"required": false,
@@ -5102,26 +5115,13 @@
"multiple": false,
"unique": false
},
- "conditional": {
- "show": null,
- "when": null,
- "eq": ""
- },
- "overlay": {
- "style": "",
- "left": "",
- "top": "",
- "width": "",
- "height": ""
- },
"allowCalculateOverride": false,
"encrypted": false,
"showCharCount": false,
"showWordCount": false,
- "properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "ega288d"
+ "id": "ea2pixe"
}
],
"collapsed": true,
@@ -5163,10 +5163,10 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "emb2yf5"
+ "id": "emxlf49"
},
{
- "title": "Code E2 - Bankruptcy",
+ "title": "Code TD - Account closed",
"labelWidth": "",
"labelMargin": "",
"theme": "default",
@@ -5177,7 +5177,7 @@
"hideLabel": false,
"disabled": false,
"modalEdit": false,
- "key": "codeE2Bankruptcy",
+ "key": "codeTdAccountClosed",
"tags": [],
"properties": {},
"customConditional": "",
@@ -5205,10 +5205,10 @@
"tableView": false,
"components": [
{
- "html": "According to the information on file, you have declared bankruptcy involving student loans. As your bankruptcy involves student loans, you are not eligible for funding through StudentAid BC and your application is currently restricted.
\nYou should note the following:
\n\nRehabilitation Through StudentAid BC
\nIf you have declared bankruptcy in which Canada student loan or British Columbia student loan funds were involved, you cease to be eligible for both federal and provincial assistance. You may be considered for further student financial assistance if federal and/or provincial authorities approve of the steps taken to meet rehabilitation criteria on your outstanding debt(s).
\n\nFor further information regarding rehabilitation with respect to Canada student loan funds, please contact:
\nCanada Student Financial Assistance Program at 1-888-815-4514
\nFor further information regarding rehabilitation with respect to BC student loan funds, please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "A restriction has been placed on your file by officials of the Canada Student Financial Assistance Program which disqualifies you from receiving further funding through StudentAid BC. For information regarding this restriction and possible resolution you will need to contact the Canada Student Financial Assistance Program at 1-888-815-4514 and ask to be transferred to the Case Review Unit.
\n",
"label": "Content",
"refreshOnChange": false,
- "key": "content13",
+ "key": "content12",
"type": "content",
"input": false,
"tableView": false,
@@ -5269,7 +5269,7 @@
"properties": {},
"allowMultipleMasks": false,
"addons": [],
- "id": "e7oiea"
+ "id": "ega288d"
}
],
"collapsed": true,
@@ -5311,7 +5311,7 @@
"addons": [],
"tree": false,
"lazyLoad": false,
- "id": "e6luxnn"
+ "id": "emb2yf5"
},
{
"title": "Code FC - Failed credit check ",
@@ -5964,7 +5964,7 @@
"tableView": false,
"components": [
{
- "html": "According to the information on file, you have declared bankruptcy involving student loans. As your bankruptcy involves student loans, you are not eligible for funding through StudentAid BC and your application is currently restricted.
\nYou should note the following:
\n\nRehabilitation Through StudentAid BC
\nIf you have declared bankruptcy in which Canada student loan or British Columbia student loan funds were involved, you cease to be eligible for both federal and provincial assistance. You may be considered for further student financial assistance if federal and/or provincial authorities approve of the steps taken to meet rehabilitation criteria on your outstanding debt(s).
\n\nFor further information regarding rehabilitation with respect to Canada student loan funds, please contact Canada Student Financial Assistance Program at 1-888-815-4514. For further information regarding rehabilitation with respect to BC student loan funds, please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "According to the information on file, you have declared bankruptcy involving student loans. As your bankruptcy involves student loans, you are not eligible for funding through StudentAid BC and your application is currently restricted.
\nYou should note the following:
\n\nRehabilitation Through StudentAid BC
\nIf you have declared bankruptcy in which Canada student loan or British Columbia student loan funds were involved, you cease to be eligible for both federal and provincial assistance. You may be considered for further student financial assistance if federal and/or provincial authorities approve of the steps taken to meet rehabilitation criteria on your outstanding debt(s).
\n\nFor further information regarding rehabilitation with respect to Canada student loan funds, please contact Canada Student Financial Assistance Program at 1-888-815-4514. For further information regarding rehabilitation with respect to BC student loan funds, please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content18",
@@ -7340,7 +7340,7 @@
"tableView": false,
"components": [
{
- "html": "As you have been advised per previous correspondence, you have exhausted the BC student loans (BCSL) maximum number weeks of funding. There is no appeal process for obtaining further BC funding through StudentAid BC, after reaching the maximum number of weeks. You may still be eligible for funding or in-study payment-free status under the Canada Student Financial Assistance Program. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "As you have been advised per previous correspondence, you have exhausted the BC student loans (BCSL) maximum number weeks of funding. There is no appeal process for obtaining further BC funding through StudentAid BC, after reaching the maximum number of weeks. You may still be eligible for funding or in-study payment-free status under the Canada Student Financial Assistance Program. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content27",
@@ -7489,7 +7489,7 @@
"tableView": false,
"components": [
{
- "html": "You are approaching your BC student loans (BCSL) maximum number of weeks of funding. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "You are approaching your BC student loans (BCSL) maximum number of weeks of funding. For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"refreshOnChange": false,
"key": "content28",
@@ -9666,7 +9666,7 @@
"tableView": false,
"components": [
{
- "html": "As you have been advised per previous correspondence, you have exhausted the BC student loans (BCSL) maximum number weeks of funding for student with a permanent disability. . For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 250-387-6100 (outside North America).
\n",
+ "html": "As you have been advised per previous correspondence, you have exhausted the BC student loans (BCSL) maximum number weeks of funding for student with a permanent disability. . For further information please contact StudentAid BC at 1-800-561-1818 (within North America) 1-778-309-4621 (outside North America).
\n",
"label": "Content",
"labelWidth": "",
"labelMargin": "",
From 0464a84b84c9917e8df7d2d73581db86b0a421a5 Mon Sep 17 00:00:00 2001
From: Bidyashish
Date: Tue, 8 Oct 2024 11:36:58 -0700
Subject: [PATCH 3/8] #2979 - Email notification - PD/PPD Student reminder
email 8 weeks before end date Part 2 (#3759)
**AC**
- [X] Select all student applications where
- Offerings end date within 8 weeks.
- Applications with current disbursement pending.
- Application not archived.
- Remove assessments where a notification was already sent.
- With the PD/PPD mismatch using the same logic from
[validate-disbursement-base.ts](https://github.com/bcgov/SIMS/blob/main/sources/packages/backend/libs/integrations/src/services/disbursement-schedule/e-cert-processing-steps/validate-disbursement-base.ts#L44).
- [X] Save the assessment ID as metadata and ensure the email will be
sent once.
- [x] E2E Tests suite added, E2E tests will be added in Part 3 PR
- [] Ensure the email will be sent once for the same assessment.
- [] Ensure the email will be sent again for different assessments for
the same application.
![image](https://github.com/user-attachments/assets/6e2c5ec4-8cd4-4f53-a7a8-60ae60a756dd)
Migrations Revert Demo:
![image](https://github.com/user-attachments/assets/6b1d1239-e818-468d-8352-ebe25e32401e)
Sample Email
![image](https://github.com/user-attachments/assets/ad743e58-3284-4c02-81ff-1184ab862685)
Underlying SQL for TypeOrm
```
SELECT "application"."application_number" AS "application_application_number",
"application"."id" AS "application_id",
"student_assessments"."id" AS "student_assessments_id",
"students"."disability_status" AS "students_disability_status",
"students"."id" AS "students_id",
"users"."id" AS "users_id",
"users"."email" AS "users_email",
"users"."first_name" AS "users_first_name",
"users"."last_name" AS "users_last_name"
FROM "sims"."applications" "application"
INNER JOIN "sims"."student_assessments" "student_assessments"
ON "student_assessments"."id" = "application"."current_assessment_id"
INNER JOIN "sims"."students" "students" ON "students"."id" = "application"."student_id"
INNER JOIN "sims"."users" "users" ON "users"."id" = "students"."user_id"
INNER JOIN "sims"."education_programs_offerings" "epo" ON "epo"."id" = "student_assessments"."offering_id"
INNER JOIN "sims"."disbursement_schedules" "ds" ON "ds"."student_assessment_id" = "student_assessments"."id"
WHERE "epo"."study_end_date" >= '2024-11-28T21:37:26.764Z'
AND "students"."disability_status" NOT IN ('PD', 'PPD')
AND json_extract_path_text(student_assessments.workflow_data::json, 'calculatedData', 'pdppdStatus') = 'true'
AND "application"."is_archived" = false
AND "ds"."disbursement_schedule_status" = 'Pending'
AND NOT EXISTS ((SELECT 1
FROM "sims"."notifications" "n"
WHERE "n"."notification_message_id" = 30
AND json_extract_path_text(n.metadata::json, 'assessmentId') =
CAST("student_assessments"."id" AS TEXT)))
AND NOT EXISTS ((SELECT 1
FROM "sims"."disbursement_schedules" "ds2"
WHERE "ds2"."student_assessment_id" = "student_assessments"."id"
AND "ds2"."disbursement_date" < "ds"."disbursement_date"))
```
---
...StudentNotificationPdPpdStudentReminder.ts | 24 ++++
...t-notification-pd-ppd-student-reminder.sql | 8 ++
...t-notification-pd-ppd-student-reminder.sql | 4 +
...cation-notifications.scheduler.e2e-spec.ts | 114 ++++++++++++++++++
...ent-application-notifications.scheduler.ts | 35 +++++-
.../application/application.service.ts | 82 +++++++++++++
.../notification-actions.service.ts | 37 ++++++
.../notification/notification.model.ts | 9 ++
.../entities/notification-metadata.type.ts | 1 +
.../src/entities/notification.model.ts | 4 +
.../src/system-configurations-constants.ts | 5 +
11 files changed, 320 insertions(+), 3 deletions(-)
create mode 100644 sources/packages/backend/apps/db-migrations/src/migrations/1727890225038-InsertStudentNotificationPdPpdStudentReminder.ts
create mode 100644 sources/packages/backend/apps/db-migrations/src/sql/NotificationMessages/Insert-student-notification-pd-ppd-student-reminder.sql
create mode 100644 sources/packages/backend/apps/db-migrations/src/sql/NotificationMessages/Rollback-Insert-student-notification-pd-ppd-student-reminder.sql
create mode 100644 sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts
diff --git a/sources/packages/backend/apps/db-migrations/src/migrations/1727890225038-InsertStudentNotificationPdPpdStudentReminder.ts b/sources/packages/backend/apps/db-migrations/src/migrations/1727890225038-InsertStudentNotificationPdPpdStudentReminder.ts
new file mode 100644
index 0000000000..c41f53eabc
--- /dev/null
+++ b/sources/packages/backend/apps/db-migrations/src/migrations/1727890225038-InsertStudentNotificationPdPpdStudentReminder.ts
@@ -0,0 +1,24 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+import { getSQLFileData } from "../utilities/sqlLoader";
+
+export class InsertStudentNotificationPdPpdStudentReminder1727890225038
+ implements MigrationInterface
+{
+ public async up(queryRunner: QueryRunner): Promise {
+ await queryRunner.query(
+ getSQLFileData(
+ "Insert-student-notification-pd-ppd-student-reminder.sql",
+ "NotificationMessages",
+ ),
+ );
+ }
+
+ public async down(queryRunner: QueryRunner): Promise {
+ await queryRunner.query(
+ getSQLFileData(
+ "Rollback-insert-student-notification-pd-ppd-student-reminder.sql",
+ "NotificationMessages",
+ ),
+ );
+ }
+}
diff --git a/sources/packages/backend/apps/db-migrations/src/sql/NotificationMessages/Insert-student-notification-pd-ppd-student-reminder.sql b/sources/packages/backend/apps/db-migrations/src/sql/NotificationMessages/Insert-student-notification-pd-ppd-student-reminder.sql
new file mode 100644
index 0000000000..d451672acf
--- /dev/null
+++ b/sources/packages/backend/apps/db-migrations/src/sql/NotificationMessages/Insert-student-notification-pd-ppd-student-reminder.sql
@@ -0,0 +1,8 @@
+INSERT INTO
+ sims.notification_messages(id, description, template_id)
+VALUES
+ (
+ 30,
+ 'Student application notification for PD/PPD reminder email 8 weeks before end date.',
+ '7faea39f-cf8e-41ee-af02-c4790cac5b26'
+ );
\ No newline at end of file
diff --git a/sources/packages/backend/apps/db-migrations/src/sql/NotificationMessages/Rollback-Insert-student-notification-pd-ppd-student-reminder.sql b/sources/packages/backend/apps/db-migrations/src/sql/NotificationMessages/Rollback-Insert-student-notification-pd-ppd-student-reminder.sql
new file mode 100644
index 0000000000..c3b10468f4
--- /dev/null
+++ b/sources/packages/backend/apps/db-migrations/src/sql/NotificationMessages/Rollback-Insert-student-notification-pd-ppd-student-reminder.sql
@@ -0,0 +1,4 @@
+DELETE FROM
+ sims.notification_messages
+WHERE
+ ID = 30;
\ No newline at end of file
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts
new file mode 100644
index 0000000000..05f2cfc3be
--- /dev/null
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts
@@ -0,0 +1,114 @@
+import { createMock } from "@golevelup/ts-jest";
+import { INestApplication } from "@nestjs/common";
+import { QueueNames } from "@sims/utilities";
+import {
+ createTestingAppModule,
+ describeProcessorRootTest,
+} from "../../../../../test/helpers";
+import {
+ E2EDataSources,
+ createE2EDataSources,
+ saveFakeApplicationDisbursements,
+ saveFakeStudent,
+} from "@sims/test-utils";
+import { Job } from "bull";
+import {
+ ApplicationStatus,
+ DisabilityStatus,
+ DisbursementScheduleStatus,
+ NotificationMessageType,
+ WorkflowData,
+} from "@sims/sims-db";
+import { IsNull, Not } from "typeorm";
+import { StudentApplicationNotificationsScheduler } from "../../student-application-notifications/student-application-notifications.scheduler";
+
+describe(
+ describeProcessorRootTest(QueueNames.StudentApplicationNotifications),
+ () => {
+ let app: INestApplication;
+ let processor: StudentApplicationNotificationsScheduler;
+ let db: E2EDataSources;
+
+ beforeAll(async () => {
+ // Setup the app and data sources.
+ const { nestApplication, dataSource } = await createTestingAppModule();
+ app = nestApplication;
+ db = createE2EDataSources(dataSource);
+ // Processor under test.
+ processor = app.get(StudentApplicationNotificationsScheduler);
+ });
+
+ beforeEach(async () => {
+ // Cancel all applications to ensure tha existing data will not affect these tests.
+ await db.application.update(
+ { applicationStatus: Not(ApplicationStatus.Cancelled) },
+ { applicationStatus: ApplicationStatus.Cancelled },
+ );
+ });
+
+ it(
+ "Should generate a notification for PD/PPD student mismatch close to the offering end date " +
+ "when the application is completed and at least one disbursement is pending and there is a PD/PPD mismatch.",
+ async () => {
+ // Arrange
+ // Create a student with a non-approved disability.
+ const student = await saveFakeStudent(db.dataSource, undefined, {
+ initialValue: { disabilityStatus: DisabilityStatus.Requested },
+ });
+ // Create an application with the disability as true.
+ const application = await saveFakeApplicationDisbursements(
+ db.dataSource,
+ { student },
+ {
+ applicationStatus: ApplicationStatus.Completed,
+ currentAssessmentInitialValues: {
+ workflowData: {
+ calculatedData: {
+ pdppdStatus: true,
+ },
+ } as WorkflowData,
+ },
+ createSecondDisbursement: true,
+ firstDisbursementInitialValues: {
+ disbursementScheduleStatus: DisbursementScheduleStatus.Sent,
+ },
+ secondDisbursementInitialValues: {
+ disbursementScheduleStatus: DisbursementScheduleStatus.Pending,
+ },
+ },
+ );
+ // Queued job.
+ const job = createMock>();
+
+ // Act
+ await processor.studentApplicationNotifications(job);
+
+ // Assert
+ const notification = await db.notification.findOne({
+ select: {
+ id: true,
+ messagePayload: true,
+ },
+ relations: { notificationMessage: true },
+ where: {
+ notificationMessage: {
+ id: NotificationMessageType.StudentPDPPDApplicationNotification,
+ },
+ dateSent: IsNull(),
+ user: { id: student.user.id },
+ },
+ });
+ expect(notification).toBeDefined();
+ expect(notification.messagePayload).toStrictEqual({
+ email_address: application.student.user.email,
+ template_id: "7faea39f-cf8e-41ee-af02-c4790cac5b26",
+ personalisation: {
+ lastName: application.student.user.lastName,
+ givenNames: application.student.user.firstName,
+ applicationNumber: application.applicationNumber,
+ },
+ });
+ },
+ );
+ },
+);
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/student-application-notifications.scheduler.ts b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/student-application-notifications.scheduler.ts
index 72b00d0450..82ce09331e 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/student-application-notifications.scheduler.ts
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/student-application-notifications.scheduler.ts
@@ -13,7 +13,8 @@ import {
} from "../../../utilities";
import { QueueNames } from "@sims/utilities";
import { ApplicationService } from "../../../services";
-import { NotificationService } from "@sims/services/notifications";
+import { StudentPDPPDNotification } from "@sims/services/notifications";
+import { NotificationActionsService } from "@sims/services";
@Processor(QueueNames.StudentApplicationNotifications)
export class StudentApplicationNotificationsScheduler extends BaseScheduler {
@@ -22,7 +23,7 @@ export class StudentApplicationNotificationsScheduler extends BaseScheduler,
queueService: QueueService,
private readonly applicationService: ApplicationService,
- private readonly notificationService: NotificationService,
+ private readonly notificationActionsService: NotificationActionsService,
) {
super(schedulerQueue, queueService);
}
@@ -39,7 +40,35 @@ export class StudentApplicationNotificationsScheduler extends BaseScheduler(
+ (application) => ({
+ userId: application.student.user.id,
+ givenNames: application.student.user.firstName,
+ lastName: application.student.user.lastName,
+ email: application.student.user.email,
+ applicationNumber: application.applicationNumber,
+ assessmentId: application.currentAssessment.id,
+ }),
+ );
+
+ await this.notificationActionsService.saveStudentApplicationPDPPDNotification(
+ notifications,
+ );
+
+ if (eligibleApplications.length) {
+ processSummary.info(
+ `PD/PPD mismatch assessments that generated notifications: ${eligibleApplications
+ .map((app) => app.currentAssessment.id)
+ .join(", ")}`,
+ );
+ } else {
+ processSummary.info(
+ `No assessments found to generate PD/PPD mismatch notifications.`,
+ );
+ }
return getSuccessMessageWithAttentionCheck(
["Process finalized with success."],
diff --git a/sources/packages/backend/apps/queue-consumers/src/services/application/application.service.ts b/sources/packages/backend/apps/queue-consumers/src/services/application/application.service.ts
index ffdc95a436..0e53c158ed 100644
--- a/sources/packages/backend/apps/queue-consumers/src/services/application/application.service.ts
+++ b/sources/packages/backend/apps/queue-consumers/src/services/application/application.service.ts
@@ -6,9 +6,15 @@ import {
User,
StudentAssessment,
StudentAssessmentStatus,
+ DisabilityStatus,
+ DisbursementScheduleStatus,
+ NotificationMessageType,
+ Notification,
+ DisbursementSchedule,
} from "@sims/sims-db";
import { ConfigService } from "@sims/utilities/config";
import { InjectRepository } from "@nestjs/typeorm";
+import { addDays, DISABILITY_NOTIFICATION_DAYS_LIMIT } from "@sims/utilities";
@Injectable()
export class ApplicationService {
@@ -18,6 +24,10 @@ export class ApplicationService {
private readonly applicationRepo: Repository,
@InjectRepository(StudentAssessment)
private readonly studentAssessmentRepo: Repository,
+ @InjectRepository(Notification)
+ private readonly notificationRepo: Repository,
+ @InjectRepository(DisbursementSchedule)
+ private readonly disbursementScheduleRepo: Repository,
) {}
/**
@@ -153,4 +163,76 @@ export class ApplicationService {
.getMany()
);
}
+
+ /**
+ * Retrieves applications eligible for a specific notification (likely related to disability status and PD/PPD status).
+ * This method applies several criteria to filter eligible applications:
+ * - Study end date is at least 8 weeks in the future
+ * - Student's disability status is not 'PD' or 'PPD'
+ * - The assessment's workflow data indicates a positive PD/PPD status
+ * - The application is not archived
+ * - There's a pending disbursement schedule
+ * - No notification of this type (messageId 30) has been sent for this assessment
+ * @returns An array of eligible applications with relevant details for notification.
+ */
+ async getApplicationWithPDPPStatusMismatch(): Promise {
+ const disabilityNotificationDateLimit = addDays(
+ DISABILITY_NOTIFICATION_DAYS_LIMIT,
+ );
+ // Sub query to defined if a notification was already sent to the current assessment.
+ const notificationExistsQuery = this.notificationRepo
+ .createQueryBuilder("notification")
+ .select("1")
+ .where("notification.notificationMessage.id = :messageId")
+ .andWhere(
+ "notification.metadata->>'assessmentId' = currentAssessment.id :: text",
+ )
+ .getQuery();
+ // Sub query to defined if there is at least on disbursement pending to be sent.
+ const pendingDisbursementExistsQuery = this.disbursementScheduleRepo
+ .createQueryBuilder("disbursement")
+ .select("1")
+ .where("disbursement.studentAssessment.id = currentAssessment.id")
+ .andWhere(
+ "disbursement.disbursementScheduleStatus = :disbursementScheduleStatusPending",
+ )
+ .getQuery();
+ return this.applicationRepo
+ .createQueryBuilder("application")
+ .select([
+ "application.id",
+ "application.applicationNumber",
+ "student.id",
+ "user.id",
+ "user.firstName",
+ "user.lastName",
+ "user.email",
+ "currentAssessment.id",
+ ])
+ .innerJoin("application.currentAssessment", "currentAssessment")
+ .innerJoin("application.student", "student")
+ .innerJoin("student.user", "user")
+ .innerJoin("currentAssessment.offering", "offering")
+ .where("application.applicationStatus = :applicationStatus", {
+ applicationStatus: ApplicationStatus.Completed,
+ })
+ .andWhere("offering.studyEndDate <= :disabilityNotificationDateLimit", {
+ disabilityNotificationDateLimit,
+ })
+ .andWhere("student.disabilityStatus NOT IN (:pdStatus, :ppdStatus)", {
+ pdStatus: DisabilityStatus.PD,
+ ppdStatus: DisabilityStatus.PPD,
+ })
+ .andWhere(
+ 'currentAssessment.workflow_data @> \'{ "calculatedData": { "pdppdStatus": true}}\'',
+ )
+ .andWhere("application.isArchived = false")
+ .andWhere(`EXISTS (${pendingDisbursementExistsQuery})`)
+ .andWhere(`NOT EXISTS (${notificationExistsQuery})`)
+ .setParameters({
+ messageId: NotificationMessageType.StudentPDPPDApplicationNotification,
+ disbursementScheduleStatusPending: DisbursementScheduleStatus.Pending,
+ })
+ .getMany();
+ }
}
diff --git a/sources/packages/backend/libs/services/src/notifications/notification/notification-actions.service.ts b/sources/packages/backend/libs/services/src/notifications/notification/notification-actions.service.ts
index ba470a4684..3c22a05220 100644
--- a/sources/packages/backend/libs/services/src/notifications/notification/notification-actions.service.ts
+++ b/sources/packages/backend/libs/services/src/notifications/notification/notification-actions.service.ts
@@ -31,6 +31,7 @@ import {
ECertFeedbackFileErrorNotification,
DailyDisbursementReportProcessingNotification,
SupportingUserInformationNotification,
+ StudentPDPPDNotification,
} from "..";
import { NotificationService } from "./notification.service";
import { InjectLogger, LoggerService } from "@sims/utilities/logger";
@@ -1258,6 +1259,42 @@ export class NotificationActionsService {
return { templateId, emailContacts };
}
+ /**
+ * Creates student application notification for student for PDPPD assessment.
+ * @param notifications notification details array.
+ * @param entityManager entity manager to execute in transaction.
+ */
+ async saveStudentApplicationPDPPDNotification(
+ notifications: StudentPDPPDNotification[],
+ entityManager?: EntityManager,
+ ): Promise {
+ const auditUser = this.systemUsersService.systemUser;
+ const { templateId } =
+ await this.notificationMessageService.getNotificationMessageDetails(
+ NotificationMessageType.StudentPDPPDApplicationNotification,
+ );
+ const notificationsToSend = notifications.map((notification) => ({
+ userId: notification.userId,
+ messageType: NotificationMessageType.StudentPDPPDApplicationNotification,
+ messagePayload: {
+ email_address: notification.email,
+ template_id: templateId,
+ personalisation: {
+ givenNames: notification.givenNames ?? "",
+ lastName: notification.lastName,
+ applicationNumber: notification.applicationNumber,
+ },
+ },
+ metadata: { assessmentId: notification.assessmentId },
+ }));
+ // Save notifications to be sent to the students into the notification table.
+ await this.notificationService.saveNotifications(
+ notificationsToSend,
+ auditUser.id,
+ { entityManager },
+ );
+ }
+
@InjectLogger()
logger: LoggerService;
}
diff --git a/sources/packages/backend/libs/services/src/notifications/notification/notification.model.ts b/sources/packages/backend/libs/services/src/notifications/notification/notification.model.ts
index d4ee9f6f1a..f069a30968 100644
--- a/sources/packages/backend/libs/services/src/notifications/notification/notification.model.ts
+++ b/sources/packages/backend/libs/services/src/notifications/notification/notification.model.ts
@@ -186,3 +186,12 @@ export interface SupportingUserInformationNotification {
userId: number;
supportingUserType: NotificationSupportingUserType;
}
+
+export interface StudentPDPPDNotification {
+ userId: number;
+ assessmentId: number;
+ givenNames: string;
+ lastName: string;
+ email: string;
+ applicationNumber: string;
+}
diff --git a/sources/packages/backend/libs/sims-db/src/entities/notification-metadata.type.ts b/sources/packages/backend/libs/sims-db/src/entities/notification-metadata.type.ts
index 94d7e7a66b..5427e11a23 100644
--- a/sources/packages/backend/libs/sims-db/src/entities/notification-metadata.type.ts
+++ b/sources/packages/backend/libs/sims-db/src/entities/notification-metadata.type.ts
@@ -4,4 +4,5 @@
export interface NotificationMetadata {
disbursementId?: number;
applicationNumber?: string;
+ assessmentId?: number;
}
diff --git a/sources/packages/backend/libs/sims-db/src/entities/notification.model.ts b/sources/packages/backend/libs/sims-db/src/entities/notification.model.ts
index 93ecf6d565..ddc0a720a5 100644
--- a/sources/packages/backend/libs/sims-db/src/entities/notification.model.ts
+++ b/sources/packages/backend/libs/sims-db/src/entities/notification.model.ts
@@ -213,4 +213,8 @@ export enum NotificationMessageType {
* Supporting User Information Notification.
*/
SupportingUserInformationNotification = 29,
+ /**
+ * Student PD PPD Application Notification.
+ */
+ StudentPDPPDApplicationNotification = 30,
}
diff --git a/sources/packages/backend/libs/utilities/src/system-configurations-constants.ts b/sources/packages/backend/libs/utilities/src/system-configurations-constants.ts
index 5c16263c18..042464d58f 100644
--- a/sources/packages/backend/libs/utilities/src/system-configurations-constants.ts
+++ b/sources/packages/backend/libs/utilities/src/system-configurations-constants.ts
@@ -59,3 +59,8 @@ export const COE_WINDOW = 21;
export const COE_DENIED_REASON_OTHER_ID = 1;
export const UTF8_BYTE_ORDER_MARK = [239, 187, 191];
+
+/**
+ * Number of days from the end date of the offering to send the PD/PPD notification.
+ */
+export const DISABILITY_NOTIFICATION_DAYS_LIMIT = 56;
From 411d242f76611b392bd14137fbd5bdf20bdfe9f8 Mon Sep 17 00:00:00 2001
From: Gurumoorthy Mohan
Date: Tue, 8 Oct 2024 15:52:45 -0600
Subject: [PATCH 4/8] #2568 - Minimum validation for the date entered on
scholastic standing creation (#3766)
- [x] Added validation in the formio "Report Scholastic Standing Change"
on the date parameters for Scholastic Standings when they are created
- [x] API validation is also changed with respect to the formio
validation, so the logic which fetches the study start and end date has
been included and the service is moved with respect to it, without
making additional calls.
- [x] The archived check for the list of applications shown in the
'Available to Report ' tab is already implemented.
- [x] E2E test cases where expanded and included for the scholastic
standing related to date like School Transfer, Student Withdrawal and
Student completed early with the dates between the study start , end
period and current date.
- [x] Added E2E test cases for the list that shows active applications
in Report a Change 'Available to Report' tab.
---------
Co-authored-by: guru-aot
---
...ntroller.getActiveApplications.e2e-spec.ts | 157 ++++++
.../models/application.dto.ts | 4 +-
...troller.saveScholasticStanding.e2e-spec.ts | 484 +++++++++++++++++-
.../student-scholastic-standings.dto.ts | 2 +
...astic-standings.institutions.controller.ts | 76 +--
.../application/application.service.ts | 7 +
.../student-scholastic-standings.service.ts | 79 +--
...est-token-helpers.getAESTToken.e2e-spec.ts | 18 -
.../test-utils/src/factories/application.ts | 4 +
.../reportscholasticstandingchange.json | 132 ++++-
.../src/services/ScholasticStandingService.ts | 2 +
.../http/dto/InstitutionLocation.dto.ts | 2 +
.../ActiveApplicationReportAChange.vue | 2 +
13 files changed, 795 insertions(+), 174 deletions(-)
create mode 100644 sources/packages/backend/apps/api/src/route-controllers/institution-locations/_tests_/e2e/institution-location.institutions.controller.getActiveApplications.e2e-spec.ts
delete mode 100644 sources/packages/backend/apps/api/src/testHelpers/auth/_tests_/e2e/aest-token-helpers.getAESTToken.e2e-spec.ts
diff --git a/sources/packages/backend/apps/api/src/route-controllers/institution-locations/_tests_/e2e/institution-location.institutions.controller.getActiveApplications.e2e-spec.ts b/sources/packages/backend/apps/api/src/route-controllers/institution-locations/_tests_/e2e/institution-location.institutions.controller.getActiveApplications.e2e-spec.ts
new file mode 100644
index 0000000000..11153f7ffa
--- /dev/null
+++ b/sources/packages/backend/apps/api/src/route-controllers/institution-locations/_tests_/e2e/institution-location.institutions.controller.getActiveApplications.e2e-spec.ts
@@ -0,0 +1,157 @@
+import { HttpStatus, INestApplication } from "@nestjs/common";
+import * as request from "supertest";
+import {
+ authorizeUserTokenForLocation,
+ BEARER_AUTH_TYPE,
+ createTestingAppModule,
+ getAuthRelatedEntities,
+ getInstitutionToken,
+ InstitutionTokenTypes,
+} from "../../../../testHelpers";
+import {
+ E2EDataSources,
+ createE2EDataSources,
+ createFakeInstitutionLocation,
+ saveFakeApplication,
+} from "@sims/test-utils";
+import { ApplicationStatus, InstitutionLocation } from "@sims/sims-db";
+import { getUserFullName } from "../../../../utilities";
+import { ApplicationScholasticStandingStatus } from "../../../../services/application/application.models";
+
+describe("InstitutionLocationInstitutionsController(e2e)-getActiveApplications", () => {
+ let app: INestApplication;
+ let db: E2EDataSources;
+ let collegeFLocation: InstitutionLocation;
+ let collegeDLocation: InstitutionLocation;
+
+ beforeAll(async () => {
+ const { nestApplication, dataSource } = await createTestingAppModule();
+ app = nestApplication;
+ db = createE2EDataSources(dataSource);
+ // College F.
+ const { institution: collegeF } = await getAuthRelatedEntities(
+ db.dataSource,
+ InstitutionTokenTypes.CollegeFUser,
+ );
+ collegeFLocation = createFakeInstitutionLocation({
+ institution: collegeF,
+ });
+ await authorizeUserTokenForLocation(
+ db.dataSource,
+ InstitutionTokenTypes.CollegeFUser,
+ collegeFLocation,
+ );
+ // College D.
+ const { institution: collegeD } = await getAuthRelatedEntities(
+ db.dataSource,
+ InstitutionTokenTypes.CollegeDUser,
+ );
+ collegeDLocation = createFakeInstitutionLocation({
+ institution: collegeD,
+ });
+ await authorizeUserTokenForLocation(
+ db.dataSource,
+ InstitutionTokenTypes.CollegeDUser,
+ collegeDLocation,
+ );
+ });
+
+ it("Should get the list of all applications which are not archived when requested for not archived application in Report a Change", async () => {
+ // Arrange
+ const completedApplication = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ { applicationStatus: ApplicationStatus.Completed },
+ );
+
+ await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ { isArchived: true, applicationStatus: ApplicationStatus.Completed },
+ );
+
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeFUser,
+ );
+ const endpoint = `/institutions/location/${collegeFLocation.id}/active-applications?archived=false&page=0&pageLimit=10&sortField=applicationNumber&sortOrder=ASC`;
+
+ // Act/Assert
+ await request(app.getHttpServer())
+ .get(endpoint)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.OK)
+ .expect({
+ count: 1,
+ results: [
+ {
+ applicationId: completedApplication.id,
+ applicationNumber: completedApplication.applicationNumber,
+ applicationScholasticStandingStatus:
+ ApplicationScholasticStandingStatus.Available,
+ fullName: getUserFullName(completedApplication.student.user),
+ studyEndPeriod:
+ completedApplication.currentAssessment.offering.studyEndDate,
+ studyStartPeriod:
+ completedApplication.currentAssessment.offering.studyStartDate,
+ },
+ ],
+ });
+ });
+
+ it("Should get the list of all applications which are archived when requested for archived applications in Report a Change", async () => {
+ // Arrange
+ const archivedApplication = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeDLocation,
+ },
+
+ { isArchived: true, applicationStatus: ApplicationStatus.Completed },
+ );
+
+ await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeDLocation,
+ },
+ { applicationStatus: ApplicationStatus.Completed },
+ );
+
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeDUser,
+ );
+ const endpoint = `/institutions/location/${collegeDLocation.id}/active-applications?archived=true&page=0&pageLimit=10&sortField=applicationNumber&sortOrder=ASC`;
+
+ // Act/Assert
+ await request(app.getHttpServer())
+ .get(endpoint)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.OK)
+ .expect({
+ count: 1,
+ results: [
+ {
+ applicationId: archivedApplication.id,
+ applicationNumber: archivedApplication.applicationNumber,
+ applicationScholasticStandingStatus:
+ ApplicationScholasticStandingStatus.Unavailable,
+ fullName: getUserFullName(archivedApplication.student.user),
+ studyEndPeriod:
+ archivedApplication.currentAssessment.offering.studyEndDate,
+ studyStartPeriod:
+ archivedApplication.currentAssessment.offering.studyStartDate,
+ },
+ ],
+ });
+ });
+
+ afterAll(async () => {
+ await app?.close();
+ });
+});
diff --git a/sources/packages/backend/apps/api/src/route-controllers/institution-locations/models/application.dto.ts b/sources/packages/backend/apps/api/src/route-controllers/institution-locations/models/application.dto.ts
index c20ffc7c54..350521001a 100644
--- a/sources/packages/backend/apps/api/src/route-controllers/institution-locations/models/application.dto.ts
+++ b/sources/packages/backend/apps/api/src/route-controllers/institution-locations/models/application.dto.ts
@@ -70,8 +70,8 @@ export const transformToActiveApplicationDataAPIOutDTO = (
applicationStatus: application.applicationStatus,
applicationNumber: application.applicationNumber,
applicationOfferingIntensity: offering.offeringIntensity,
- applicationOfferingStartDate: getISODateOnlyString(offering.studyStartDate),
- applicationOfferingEndDate: getISODateOnlyString(offering.studyEndDate),
+ applicationOfferingStartDate: offering.studyStartDate,
+ applicationOfferingEndDate: offering.studyEndDate,
applicationLocationName: offering.institutionLocation.name,
applicationStudentName: getUserFullName(application.student.user),
applicationOfferingName: offering.name,
diff --git a/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/_tests_/e2e/student-scholastic-standings.institutions.controller.saveScholasticStanding.e2e-spec.ts b/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/_tests_/e2e/student-scholastic-standings.institutions.controller.saveScholasticStanding.e2e-spec.ts
index 2851273cc5..f6c55c2c26 100644
--- a/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/_tests_/e2e/student-scholastic-standings.institutions.controller.saveScholasticStanding.e2e-spec.ts
+++ b/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/_tests_/e2e/student-scholastic-standings.institutions.controller.saveScholasticStanding.e2e-spec.ts
@@ -29,13 +29,12 @@ import {
APPLICATION_NOT_FOUND,
FormNames,
FormService,
- INVALID_OPERATION_IN_THE_CURRENT_STATUS,
} from "../../../../services";
-import { APPLICATION_CHANGE_NOT_ELIGIBLE } from "../../../../constants";
import { ScholasticStandingAPIInDTO } from "../../models/student-scholastic-standings.dto";
-import { getISODateOnlyString } from "@sims/utilities";
+import { addToDateOnlyString, getISODateOnlyString } from "@sims/utilities";
import { AppInstitutionsModule } from "../../../../app.institutions.module";
import { TestingModule } from "@nestjs/testing";
+import { APPLICATION_CHANGE_NOT_ELIGIBLE } from "../../../../constants";
describe("StudentScholasticStandingsInstitutionsController(e2e)-saveScholasticStanding.", () => {
let app: INestApplication;
@@ -78,9 +77,13 @@ describe("StudentScholasticStandingsInstitutionsController(e2e)-saveScholasticSt
it("Should throw bad request exception error when the payload is invalid for formIO dryRun test.", async () => {
// Arrange
- const application = await saveFakeApplication(db.dataSource, {
- institutionLocation: collegeFLocation,
- });
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ { applicationStatus: ApplicationStatus.Completed },
+ );
const invalidPayload = {
data: {
booksAndSupplies: 1000,
@@ -125,17 +128,21 @@ describe("StudentScholasticStandingsInstitutionsController(e2e)-saveScholasticSt
.expect(HttpStatus.UNPROCESSABLE_ENTITY)
.expect({
message:
- "Application Not found or invalid current assessment or offering.",
+ "Application Not found or invalid current assessment or offering or application status.",
errorType: APPLICATION_NOT_FOUND,
});
});
- it("Should throw unprocessable entity exception error when the application change is not eligible.", async () => {
+ it("Should throw unprocessable entity exception error when the application change is Archived.", async () => {
// Arrange
- const application = await saveFakeApplication(db.dataSource, {
- institutionLocation: collegeFLocation,
- });
- application.isArchived = true;
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ { applicationStatus: ApplicationStatus.Completed, isArchived: true },
+ );
+
await db.application.save(application);
// Institution token.
const institutionUserToken = await getInstitutionToken(
@@ -180,8 +187,8 @@ describe("StudentScholasticStandingsInstitutionsController(e2e)-saveScholasticSt
.expect(HttpStatus.UNPROCESSABLE_ENTITY)
.expect({
message:
- "Cannot report a change for application with status other than completed.",
- errorType: INVALID_OPERATION_IN_THE_CURRENT_STATUS,
+ "Application Not found or invalid current assessment or offering or application status.",
+ errorType: APPLICATION_NOT_FOUND,
});
});
@@ -253,12 +260,83 @@ describe("StudentScholasticStandingsInstitutionsController(e2e)-saveScholasticSt
).toBe(createdScholasticStandingId);
});
- it("Should create a new scholastic standing for a part-time application when the institution user requests.", async () => {
+ it("Should create a new scholastic standing 'School transfer' for a part-time application when the institution user requests.", async () => {
// Arrange
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ {
+ offeringIntensity: OfferingIntensity.partTime,
+ applicationStatus: ApplicationStatus.Completed,
+ },
+ );
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeFUser,
+ );
+
mockFormioDryRun({
studentScholasticStandingChangeType:
- StudentScholasticStandingChangeType.StudentDidNotCompleteProgram,
+ StudentScholasticStandingChangeType.SchoolTransfer,
+ dateOfChange: application.currentAssessment.offering.studyStartDate,
});
+
+ const endpoint = `/institutions/scholastic-standing/location/${collegeFLocation.id}/application/${application.id}`;
+
+ // Act/Assert
+ let createdScholasticStandingId: number;
+ await request(app.getHttpServer())
+ .post(endpoint)
+ .send(payload)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.CREATED)
+ .expect((response) => {
+ createdScholasticStandingId = +response.body.id;
+ expect(response.body.id).toBeGreaterThan(0);
+ });
+
+ const studentScholasticStanding = await db.studentScholasticStanding.exists(
+ {
+ select: {
+ id: true,
+ },
+ relations: {
+ application: true,
+ },
+ where: {
+ id: createdScholasticStandingId,
+ application: { id: application.id },
+ },
+ },
+ );
+
+ expect(studentScholasticStanding).toBe(true);
+
+ const notifications = await db.notification.find({
+ select: {
+ id: true,
+ user: { id: true },
+ notificationMessage: { id: true },
+ },
+ relations: { user: true, notificationMessage: true },
+ where: { user: { id: application.student.user.id } },
+ order: { notificationMessage: { id: "ASC" } },
+ });
+ expect(notifications).toEqual([
+ {
+ id: expect.any(Number),
+ notificationMessage: {
+ id: NotificationMessageType.InstitutionReportsChange,
+ },
+ user: { id: application.student.user.id },
+ },
+ ]);
+ });
+
+ it("Should create a new scholastic standing 'Student withdrew from program' for a part-time application when the institution user requests.", async () => {
+ // Arrange
const application = await saveFakeApplication(
db.dataSource,
{
@@ -273,9 +351,17 @@ describe("StudentScholasticStandingsInstitutionsController(e2e)-saveScholasticSt
const institutionUserToken = await getInstitutionToken(
InstitutionTokenTypes.CollegeFUser,
);
+
+ mockFormioDryRun({
+ studentScholasticStandingChangeType:
+ StudentScholasticStandingChangeType.StudentWithdrewFromProgram,
+ dateOfWithdrawal: application.currentAssessment.offering.studyStartDate,
+ });
+
const endpoint = `/institutions/scholastic-standing/location/${collegeFLocation.id}/application/${application.id}`;
// Act/Assert
+ let createdScholasticStandingId: number;
await request(app.getHttpServer())
.post(endpoint)
.send(payload)
@@ -283,7 +369,26 @@ describe("StudentScholasticStandingsInstitutionsController(e2e)-saveScholasticSt
.expect(HttpStatus.CREATED)
.expect((response) => {
expect(response.body.id).toBeGreaterThan(0);
+ createdScholasticStandingId = +response.body.id;
});
+
+ const studentScholasticStanding = await db.studentScholasticStanding.exists(
+ {
+ select: {
+ id: true,
+ },
+ relations: {
+ application: true,
+ },
+ where: {
+ id: createdScholasticStandingId,
+ application: { id: application.id },
+ },
+ },
+ );
+
+ expect(studentScholasticStanding).toBe(true);
+
const restriction = await db.studentRestriction.find({
select: {
id: true,
@@ -341,30 +446,359 @@ describe("StudentScholasticStandingsInstitutionsController(e2e)-saveScholasticSt
]);
});
+ it("Should create a new scholastic standing 'Student completed program early' for a part-time application when the institution user requests.", async () => {
+ // Arrange
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ {
+ offeringIntensity: OfferingIntensity.partTime,
+ applicationStatus: ApplicationStatus.Completed,
+ },
+ );
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeFUser,
+ );
+
+ mockFormioDryRun({
+ studentScholasticStandingChangeType:
+ StudentScholasticStandingChangeType.StudentCompletedProgramEarly,
+ dateOfCompletion: application.currentAssessment.offering.studyStartDate,
+ });
+
+ const endpoint = `/institutions/scholastic-standing/location/${collegeFLocation.id}/application/${application.id}`;
+
+ // Act/Assert
+ let createdScholasticStandingId: number;
+ await request(app.getHttpServer())
+ .post(endpoint)
+ .send(payload)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.CREATED)
+ .expect((response) => {
+ expect(response.body.id).toBeGreaterThan(0);
+ createdScholasticStandingId = +response.body.id;
+ });
+
+ const studentScholasticStanding = await db.studentScholasticStanding.exists(
+ {
+ select: {
+ id: true,
+ },
+ relations: {
+ application: true,
+ },
+ where: {
+ id: createdScholasticStandingId,
+ application: { id: application.id },
+ },
+ },
+ );
+
+ expect(studentScholasticStanding).toBe(true);
+
+ const notifications = await db.notification.find({
+ select: {
+ id: true,
+ user: { id: true },
+ notificationMessage: { id: true },
+ },
+ relations: { user: true, notificationMessage: true },
+ where: { user: { id: application.student.user.id } },
+ order: { notificationMessage: { id: "ASC" } },
+ });
+ expect(notifications).toEqual([
+ {
+ id: expect.any(Number),
+ notificationMessage: {
+ id: NotificationMessageType.InstitutionReportsChange,
+ },
+ user: { id: application.student.user.id },
+ },
+ ]);
+ });
+
+ it("Should not create new scholastic standing 'School transfer' for a part-time application when date of change is not between study start date and end date.", async () => {
+ // Arrange
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ {
+ offeringIntensity: OfferingIntensity.partTime,
+ applicationStatus: ApplicationStatus.Completed,
+ },
+ );
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeFUser,
+ );
+ const endpoint = `/institutions/scholastic-standing/location/${collegeFLocation.id}/application/${application.id}`;
+
+ mockFormioDryRun({
+ validDryRun: false,
+ studentScholasticStandingChangeType:
+ StudentScholasticStandingChangeType.SchoolTransfer,
+ dateOfChange: addToDateOnlyString(
+ application.currentAssessment.offering.studyEndDate,
+ 1,
+ "day",
+ ),
+ });
+ // Act/Assert
+ await request(app.getHttpServer())
+ .post(endpoint)
+ .send(payload)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.BAD_REQUEST)
+ .expect({
+ statusCode: HttpStatus.BAD_REQUEST,
+ message: "Invalid submission.",
+ error: "Bad Request",
+ });
+ });
+
+ it("Should not create new scholastic standing 'Student withdrew from program' for a part-time application when date of withdrawal is not between study start date and end date.", async () => {
+ // Arrange
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ {
+ offeringIntensity: OfferingIntensity.partTime,
+ applicationStatus: ApplicationStatus.Completed,
+ },
+ );
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeFUser,
+ );
+ mockFormioDryRun({
+ validDryRun: false,
+ studentScholasticStandingChangeType:
+ StudentScholasticStandingChangeType.StudentWithdrewFromProgram,
+ dateOfWithdrawal: addToDateOnlyString(
+ application.currentAssessment.offering.studyEndDate,
+ 1,
+ "day",
+ ),
+ });
+ const endpoint = `/institutions/scholastic-standing/location/${collegeFLocation.id}/application/${application.id}`;
+
+ // Act/Assert
+ await request(app.getHttpServer())
+ .post(endpoint)
+ .send(payload)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.BAD_REQUEST)
+ .expect({
+ statusCode: HttpStatus.BAD_REQUEST,
+ message: "Invalid submission.",
+ error: "Bad Request",
+ });
+ });
+
+ it("Should not create new scholastic standing 'Student completed program early' for a part-time application when date of withdrawal is not between study start date and end date.", async () => {
+ // Arrange
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ {
+ offeringIntensity: OfferingIntensity.partTime,
+ applicationStatus: ApplicationStatus.Completed,
+ },
+ );
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeFUser,
+ );
+ mockFormioDryRun({
+ validDryRun: false,
+ studentScholasticStandingChangeType:
+ StudentScholasticStandingChangeType.StudentCompletedProgramEarly,
+ dateOfCompletion: addToDateOnlyString(
+ application.currentAssessment.offering.studyEndDate,
+ 1,
+ "day",
+ ),
+ });
+ const endpoint = `/institutions/scholastic-standing/location/${collegeFLocation.id}/application/${application.id}`;
+
+ // Act/Assert
+ await request(app.getHttpServer())
+ .post(endpoint)
+ .send(payload)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.BAD_REQUEST)
+ .expect({
+ statusCode: HttpStatus.BAD_REQUEST,
+ message: "Invalid submission.",
+ error: "Bad Request",
+ });
+ });
+
+ it("Should not create new scholastic standing 'School transfer' for a part-time application when date of change is greater than current date.", async () => {
+ // Arrange
+ mockFormioDryRun({
+ validDryRun: false,
+ studentScholasticStandingChangeType:
+ StudentScholasticStandingChangeType.SchoolTransfer,
+ dateOfChange: addToDateOnlyString(new Date(), 1, "day"),
+ });
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ {
+ offeringIntensity: OfferingIntensity.partTime,
+ applicationStatus: ApplicationStatus.Completed,
+ },
+ );
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeFUser,
+ );
+ const endpoint = `/institutions/scholastic-standing/location/${collegeFLocation.id}/application/${application.id}`;
+
+ // Act/Assert
+ await request(app.getHttpServer())
+ .post(endpoint)
+ .send(payload)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.BAD_REQUEST)
+ .expect({
+ statusCode: HttpStatus.BAD_REQUEST,
+ message: "Invalid submission.",
+ error: "Bad Request",
+ });
+ });
+
+ it("Should not create new scholastic standing 'Student withdrew from program' for a part-time application when date of withdrawal is greater than current date.", async () => {
+ // Arrange
+ mockFormioDryRun({
+ validDryRun: false,
+ studentScholasticStandingChangeType:
+ StudentScholasticStandingChangeType.StudentWithdrewFromProgram,
+ dateOfWithdrawal: addToDateOnlyString(new Date(), 1, "day"),
+ });
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ {
+ offeringIntensity: OfferingIntensity.partTime,
+ applicationStatus: ApplicationStatus.Completed,
+ },
+ );
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeFUser,
+ );
+ const endpoint = `/institutions/scholastic-standing/location/${collegeFLocation.id}/application/${application.id}`;
+
+ // Act/Assert
+ await request(app.getHttpServer())
+ .post(endpoint)
+ .send(payload)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.BAD_REQUEST)
+ .expect({
+ statusCode: HttpStatus.BAD_REQUEST,
+ message: "Invalid submission.",
+ error: "Bad Request",
+ });
+ });
+
+ it("Should not create new scholastic standing 'Student completed program early' for a part-time application when date of withdrawal is greater than current date.", async () => {
+ // Arrange
+ mockFormioDryRun({
+ validDryRun: false,
+ studentScholasticStandingChangeType:
+ StudentScholasticStandingChangeType.StudentCompletedProgramEarly,
+ dateOfCompletion: addToDateOnlyString(new Date(), 1, "day"),
+ });
+ const application = await saveFakeApplication(
+ db.dataSource,
+ {
+ institutionLocation: collegeFLocation,
+ },
+ {
+ offeringIntensity: OfferingIntensity.partTime,
+ applicationStatus: ApplicationStatus.Completed,
+ },
+ );
+ // Institution token.
+ const institutionUserToken = await getInstitutionToken(
+ InstitutionTokenTypes.CollegeFUser,
+ );
+ const endpoint = `/institutions/scholastic-standing/location/${collegeFLocation.id}/application/${application.id}`;
+
+ // Act/Assert
+ await request(app.getHttpServer())
+ .post(endpoint)
+ .send(payload)
+ .auth(institutionUserToken, BEARER_AUTH_TYPE)
+ .expect(HttpStatus.BAD_REQUEST)
+ .expect({
+ statusCode: HttpStatus.BAD_REQUEST,
+ message: "Invalid submission.",
+ error: "Bad Request",
+ });
+ });
+
/**
* Centralized method to handle the form.io mock.
* @param options method options:
* - `validDryRun`: boolean false indicates that the form mock resolved value is invalid. Default value is true.
* - `studentScholasticStandingChangeType`: Student scholastic standing change type to be added in combination with SchoolTransfer scholastic standing type .
+ * - `dateOfChange`: Date of change used during the School Transfer scholastic standing.
+ * - `dateOfCompletion`: Date of change used during the Student completed program early scholastic standing.
+ * - `dateOfWithdrawal`: Date of change used during the Student withdrew from program scholastic standing.
*/
+ //TODO - When formio container is available, remove the mock.
function mockFormioDryRun(options?: {
validDryRun?: boolean;
studentScholasticStandingChangeType?: StudentScholasticStandingChangeType;
+ dateOfChange?: string;
+ dateOfCompletion?: string;
+ dateOfWithdrawal?: string;
}): void {
const validDryRun = options?.validDryRun ?? true;
+ const scholasticStandingChangeType =
+ options?.studentScholasticStandingChangeType ??
+ StudentScholasticStandingChangeType.SchoolTransfer;
payload = {
- data: {
- dateOfChange: getISODateOnlyString(new Date()),
- scholasticStandingChangeType:
- options?.studentScholasticStandingChangeType
- ? options.studentScholasticStandingChangeType
- : StudentScholasticStandingChangeType.SchoolTransfer,
- },
- };
+ data: { scholasticStandingChangeType },
+ } as ScholasticStandingAPIInDTO;
+ const fallbackDate = getISODateOnlyString(new Date());
+
+ switch (scholasticStandingChangeType) {
+ case StudentScholasticStandingChangeType.StudentCompletedProgramEarly:
+ payload.data.dateOfCompletion =
+ options?.dateOfCompletion ?? fallbackDate;
+ break;
+ case StudentScholasticStandingChangeType.StudentWithdrewFromProgram:
+ payload.data.dateOfWithdrawal =
+ options?.dateOfWithdrawal ?? fallbackDate;
+ break;
+ case StudentScholasticStandingChangeType.SchoolTransfer:
+ payload.data.dateOfChange = options?.dateOfChange ?? fallbackDate;
+ break;
+ }
+
formService.dryRunSubmission = jest.fn().mockResolvedValue({
valid: validDryRun,
formName: FormNames.ReportScholasticStandingChange,
- data: { data: payload.data },
+ data: payload,
});
}
});
diff --git a/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/models/student-scholastic-standings.dto.ts b/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/models/student-scholastic-standings.dto.ts
index 881ea6a0a2..3eca520976 100644
--- a/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/models/student-scholastic-standings.dto.ts
+++ b/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/models/student-scholastic-standings.dto.ts
@@ -18,6 +18,8 @@ export class ScholasticStandingData {
numberOfUnsuccessfulWeeks?: number;
dateOfWithdrawal?: string;
scholasticStandingChangeType: StudentScholasticStandingChangeType;
+ studyStartDate: string;
+ studyEndDate: string;
}
/**
diff --git a/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/student-scholastic-standings.institutions.controller.ts b/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/student-scholastic-standings.institutions.controller.ts
index fb836d4e9c..3b41388f43 100644
--- a/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/student-scholastic-standings.institutions.controller.ts
+++ b/sources/packages/backend/apps/api/src/route-controllers/student-scholastic-standings/student-scholastic-standings.institutions.controller.ts
@@ -31,13 +31,12 @@ import {
} from "../../auth/decorators";
import {
APPLICATION_NOT_FOUND,
- ASSESSMENT_ALREADY_IN_PROGRESS,
ApplicationWithdrawalImportTextService,
ApplicationBulkWithdrawalImportValidationService,
FormService,
- INVALID_OPERATION_IN_THE_CURRENT_STATUS,
StudentScholasticStandingsService,
BulkWithdrawalFileData,
+ ApplicationService,
} from "../../services";
import { ApiProcessError, ClientTypeBaseRoute } from "../../types";
import { CustomNamedError } from "@sims/utilities";
@@ -76,6 +75,7 @@ export class ScholasticStandingInstitutionsController extends BaseController {
constructor(
private readonly formService: FormService,
private readonly studentScholasticStandingsService: StudentScholasticStandingsService,
+ private readonly applicationService: ApplicationService,
private readonly scholasticStandingControllerService: ScholasticStandingControllerService,
private readonly applicationWithdrawalImportTextService: ApplicationWithdrawalImportTextService,
private readonly applicationWithdrawalImportValidationService: ApplicationBulkWithdrawalImportValidationService,
@@ -104,40 +104,48 @@ export class ScholasticStandingInstitutionsController extends BaseController {
@Body() payload: ScholasticStandingAPIInDTO,
@UserToken() userToken: IInstitutionUserToken,
): Promise {
- try {
- const submissionResult =
- await this.formService.dryRunSubmission(
- FormNames.ReportScholasticStandingChange,
- payload.data,
- );
+ const application = await this.applicationService.getActiveApplication(
+ applicationId,
+ locationId,
+ );
+ if (!application) {
+ throw new UnprocessableEntityException(
+ new ApiProcessError(
+ "Application Not found or invalid current assessment or offering or application status.",
+ APPLICATION_NOT_FOUND,
+ ),
+ );
+ }
- if (!submissionResult.valid) {
- throw new BadRequestException("Invalid submission.");
- }
- const newStudentScholasticStanding =
- await this.studentScholasticStandingsService.processScholasticStanding(
- locationId,
- applicationId,
- userToken.userId,
- submissionResult.data.data,
- );
- return { id: newStudentScholasticStanding.id };
- } catch (error: unknown) {
- if (error instanceof CustomNamedError) {
- switch (error.name) {
- case APPLICATION_NOT_FOUND:
- case INVALID_OPERATION_IN_THE_CURRENT_STATUS:
- case ASSESSMENT_ALREADY_IN_PROGRESS:
- case APPLICATION_CHANGE_NOT_ELIGIBLE:
- throw new UnprocessableEntityException(
- new ApiProcessError(error.message, error.name),
- );
- default:
- throw error;
- }
- }
- throw error;
+ if (application.isArchived) {
+ throw new UnprocessableEntityException(
+ new ApiProcessError(
+ "This application is no longer eligible to request changes.",
+ APPLICATION_CHANGE_NOT_ELIGIBLE,
+ ),
+ );
+ }
+
+ payload.data.studyStartDate =
+ application.currentAssessment.offering.studyStartDate;
+ payload.data.studyEndDate =
+ application.currentAssessment.offering.studyEndDate;
+ const submissionResult =
+ await this.formService.dryRunSubmission(
+ FormNames.ReportScholasticStandingChange,
+ payload.data,
+ );
+
+ if (!submissionResult.valid) {
+ throw new BadRequestException("Invalid submission.");
}
+ const newStudentScholasticStanding =
+ await this.studentScholasticStandingsService.saveScholasticStandingCreateReassessment(
+ userToken.userId,
+ application,
+ submissionResult.data.data,
+ );
+ return { id: newStudentScholasticStanding.id };
}
/**
diff --git a/sources/packages/backend/apps/api/src/services/application/application.service.ts b/sources/packages/backend/apps/api/src/services/application/application.service.ts
index a1daaa3565..75972ae4a0 100644
--- a/sources/packages/backend/apps/api/src/services/application/application.service.ts
+++ b/sources/packages/backend/apps/api/src/services/application/application.service.ts
@@ -1214,9 +1214,12 @@ export class ApplicationService extends RecordDataModelService {
return this.repo
.createQueryBuilder("application")
.select([
+ "application.id",
"application.applicationStatus",
"application.applicationNumber",
+ "application.isArchived",
"currentAssessment.id",
+ "offering.id",
"offering.offeringIntensity",
"offering.studyStartDate",
"offering.studyEndDate",
@@ -1225,8 +1228,11 @@ export class ApplicationService extends RecordDataModelService {
"location.name",
"offering.name",
"student",
+ "user.id",
"user.firstName",
"user.lastName",
+ "user.email",
+ "studentAppeal.id",
"educationProgram.credentialType",
"educationProgram.deliveredOnline",
"educationProgram.deliveredOnSite",
@@ -1239,6 +1245,7 @@ export class ApplicationService extends RecordDataModelService {
])
.innerJoin("application.currentAssessment", "currentAssessment")
.innerJoin("currentAssessment.offering", "offering")
+ .leftJoin("currentAssessment.studentAppeal", "studentAppeal")
.innerJoin("offering.educationProgram", "educationProgram")
.innerJoin("offering.institutionLocation", "location")
.innerJoin("application.student", "student")
diff --git a/sources/packages/backend/apps/api/src/services/student-scholastic-standings/student-scholastic-standings.service.ts b/sources/packages/backend/apps/api/src/services/student-scholastic-standings/student-scholastic-standings.service.ts
index 1f5ffa3d2f..c15cc51b0a 100644
--- a/sources/packages/backend/apps/api/src/services/student-scholastic-standings/student-scholastic-standings.service.ts
+++ b/sources/packages/backend/apps/api/src/services/student-scholastic-standings/student-scholastic-standings.service.ts
@@ -4,7 +4,6 @@ import {
RecordDataModelService,
StudentScholasticStanding,
Application,
- ApplicationStatus,
AssessmentTriggerType,
EducationProgramOffering,
OfferingIntensity,
@@ -15,17 +14,11 @@ import {
StudentScholasticStandingChangeType,
StudentAppeal,
} from "@sims/sims-db";
-import { CustomNamedError } from "@sims/utilities";
-import {
- APPLICATION_NOT_FOUND,
- INVALID_OPERATION_IN_THE_CURRENT_STATUS,
-} from "../application/application.service";
import {
ScholasticStanding,
ScholasticStandingSummary,
} from "./student-scholastic-standings.models";
import { StudentRestrictionService } from "../restriction/student-restriction.service";
-import { APPLICATION_CHANGE_NOT_ELIGIBLE } from "../../constants";
import {
PART_TIME_SCHOLASTIC_STANDING_RESTRICTIONS,
SCHOLASTIC_STANDING_MINIMUM_UNSUCCESSFUL_WEEKS,
@@ -42,7 +35,6 @@ import { EducationProgramOfferingService } from "../education-program-offering/e
*/
@Injectable()
export class StudentScholasticStandingsService extends RecordDataModelService {
- private readonly applicationRepo: Repository;
private readonly offeringRepo: Repository;
constructor(
@@ -52,78 +44,9 @@ export class StudentScholasticStandingsService extends RecordDataModelService {
- const application = await this.applicationRepo
- .createQueryBuilder("application")
- .select([
- "application",
- "currentAssessment.id",
- "offering.id",
- "student.id",
- "user.id",
- "user.firstName",
- "user.lastName",
- "user.email",
- "studentAppeal.id",
- ])
- .innerJoin("application.currentAssessment", "currentAssessment")
- .innerJoin("currentAssessment.offering", "offering")
- .leftJoin("currentAssessment.studentAppeal", "studentAppeal")
- .innerJoin("application.location", "location")
- .innerJoin("application.student", "student")
- .innerJoin("student.user", "user")
- .where("application.id = :applicationId", { applicationId })
- .andWhere("location.id = :locationId", { locationId })
- .getOne();
-
- if (!application) {
- throw new CustomNamedError(
- "Application Not found or invalid current assessment or offering.",
- APPLICATION_NOT_FOUND,
- );
- }
-
- if (application.isArchived) {
- throw new CustomNamedError(
- "This application is no longer eligible to request changes.",
- APPLICATION_CHANGE_NOT_ELIGIBLE,
- );
- }
-
- if (application.applicationStatus !== ApplicationStatus.Completed) {
- throw new CustomNamedError(
- "Cannot report a change for application with status other than completed.",
- INVALID_OPERATION_IN_THE_CURRENT_STATUS,
- );
- }
-
- // Save scholastic standing and create reassessment.
- return this.saveScholasticStandingCreateReassessment(
- auditUserId,
- application,
- scholasticStandingData,
- );
- }
-
/**
* Save scholastic standing and create new assessment
* for an application.
@@ -163,7 +86,7 @@ export class StudentScholasticStandingsService extends RecordDataModelService {
- it("Should have all roles when ministry user is a business administrator.", async () => {
- // Act
- const token = await getAESTToken(AESTGroups.BusinessAdministrators);
- const decodedToken = jwtService.decode(token) as IUserToken;
- decodedToken.resource_access.aest.roles.sort((a, b) => a.localeCompare(b));
- const allAESTRoles = Object.values(Role).sort((a, b) => a.localeCompare(b));
-
- // Assert
- expect(decodedToken.resource_access.aest.roles).toEqual(allAESTRoles);
- });
-});
diff --git a/sources/packages/backend/libs/test-utils/src/factories/application.ts b/sources/packages/backend/libs/test-utils/src/factories/application.ts
index a6adcd9f1a..8fd83fd137 100644
--- a/sources/packages/backend/libs/test-utils/src/factories/application.ts
+++ b/sources/packages/backend/libs/test-utils/src/factories/application.ts
@@ -66,6 +66,7 @@ export function createFakeApplication(
application.applicationException = relations?.applicationException;
application.location = relations?.location ?? createFakeInstitutionLocation();
application.pirStatus = options?.initialValue?.pirStatus;
+ application.isArchived = options?.initialValue?.isArchived;
return application;
}
@@ -241,6 +242,7 @@ export async function saveFakeApplicationDisbursements(
* - `offeringIntensity` if provided sets the offering intensity for the created fakeApplication, otherwise sets it to fulltime by default.
* - `applicationData` related application data.
* - `pirStatus` program info status.
+ * - `isArchived` archived status.
* - `currentAssessmentInitialValues` initial values related to the current assessment.
* - `offeringInitialValues` initial values related to the offering for the original assessment.
* @returns the created application.
@@ -260,6 +262,7 @@ export async function saveFakeApplication(
offeringIntensity?: OfferingIntensity;
applicationData?: ApplicationData;
pirStatus?: ProgramInfoStatus;
+ isArchived?: boolean;
currentAssessmentInitialValues?: Partial;
offeringInitialValues?: Partial;
},
@@ -292,6 +295,7 @@ export async function saveFakeApplication(
initialValue: {
data: options?.applicationData,
pirStatus: options?.pirStatus,
+ isArchived: options?.isArchived ? options?.isArchived : false,
},
},
);
diff --git a/sources/packages/forms/src/form-definitions/reportscholasticstandingchange.json b/sources/packages/forms/src/form-definitions/reportscholasticstandingchange.json
index 0bd43a79de..c8ab92e9d2 100644
--- a/sources/packages/forms/src/form-definitions/reportscholasticstandingchange.json
+++ b/sources/packages/forms/src/form-definitions/reportscholasticstandingchange.json
@@ -8,6 +8,44 @@
"common"
],
"components": [
+ {
+ "input": true,
+ "tableView": true,
+ "key": "studyStartDate",
+ "label": "Study Start Date",
+ "protected": false,
+ "unique": false,
+ "persistent": true,
+ "type": "hidden",
+ "tags": [],
+ "conditional": {
+ "show": "",
+ "when": null,
+ "eq": ""
+ },
+ "properties": {},
+ "lockKey": true,
+ "isNew": false
+ },
+ {
+ "input": true,
+ "tableView": true,
+ "key": "studyEndDate",
+ "label": "Study End Date",
+ "protected": false,
+ "unique": false,
+ "persistent": true,
+ "type": "hidden",
+ "tags": [],
+ "conditional": {
+ "show": "",
+ "when": null,
+ "eq": ""
+ },
+ "properties": {},
+ "lockKey": true,
+ "isNew": false
+ },
{
"label": "Offering Intensity (Part Time or Full Time) - Used to define custom labels",
"key": "applicationOfferingIntensity",
@@ -43,7 +81,8 @@
"when": null,
"eq": ""
},
- "properties": {}
+ "properties": {},
+ "isNew": false
},
{
"label": "Student Name",
@@ -532,7 +571,14 @@
"hideOnChildrenHidden": false,
"hideLabel": true,
"tag": "p",
- "className": ""
+ "className": "",
+ "tags": [],
+ "conditional": {
+ "show": "",
+ "when": null,
+ "eq": ""
+ },
+ "properties": {}
}
],
"width": 6,
@@ -1032,7 +1078,15 @@
"fieldSet": false,
"persistent": true,
"hidden": false,
- "clearOnHide": true
+ "clearOnHide": true,
+ "labelPosition": "top",
+ "tags": [],
+ "conditional": {
+ "show": "",
+ "when": null,
+ "eq": ""
+ },
+ "properties": {}
},
{
"title": "Student is transferring to a different institution or campus - Panel",
@@ -1076,7 +1130,8 @@
},
"tableView": true,
"validate": {
- "required": true
+ "required": true,
+ "custom": "const isDateValid= moment(input).isSameOrBefore(new Date()) &&\n moment(input).isSameOrAfter(data.studyStartDate) &&\n moment(input).isSameOrBefore(data.studyEndDate);\nvalid = isDateValid ? true : 'Date cannot be future-dated and must be during the study period.';"
},
"key": "dateOfChange",
"attributes": {
@@ -1098,10 +1153,14 @@
"clearOnHide": true,
"spellcheck": true,
"conditional": {
- "show": null,
+ "show": "",
"when": null,
"eq": ""
- }
+ },
+ "labelPosition": "top",
+ "inputFormat": "plain",
+ "tags": [],
+ "properties": {}
}
],
"width": 6,
@@ -1126,13 +1185,23 @@
"input": false,
"tableView": false,
"hideLabel": true,
- "clearOnHide": false
+ "clearOnHide": false,
+ "tags": [],
+ "conditional": {
+ "show": "",
+ "when": null,
+ "eq": ""
+ },
+ "properties": {}
}
],
"lockKey": true,
"hideLabel": true,
"clearOnHide": false,
- "theme": "default"
+ "theme": "default",
+ "breadcrumb": "default",
+ "tags": [],
+ "properties": {}
},
{
"title": "Student completed funded study period offering early - Panel",
@@ -1176,7 +1245,8 @@
},
"tableView": true,
"validate": {
- "required": true
+ "required": true,
+ "custom": "const isDateValid= moment(input).isSameOrBefore(new Date()) &&\n moment(input).isSameOrAfter(data.studyStartDate) &&\n moment(input).isSameOrBefore(data.studyEndDate);\nvalid = isDateValid ? true : 'Date cannot be future-dated and must be during the study period.';"
},
"key": "dateOfCompletion",
"attributes": {
@@ -1198,10 +1268,14 @@
"clearOnHide": true,
"spellcheck": true,
"conditional": {
- "show": null,
+ "show": "",
"when": null,
"eq": ""
- }
+ },
+ "labelPosition": "top",
+ "inputFormat": "plain",
+ "tags": [],
+ "properties": {}
}
],
"width": 6,
@@ -1333,7 +1407,10 @@
"show": null,
"when": null,
"eq": ""
- }
+ },
+ "labelPosition": "top",
+ "tags": [],
+ "properties": {}
}
],
"width": 6,
@@ -1393,7 +1470,14 @@
"input": false,
"tableView": false,
"hideLabel": true,
- "clearOnHide": false
+ "clearOnHide": false,
+ "tags": [],
+ "conditional": {
+ "show": "",
+ "when": null,
+ "eq": ""
+ },
+ "properties": {}
},
{
"label": "Columns",
@@ -1550,7 +1634,16 @@
"protected": false,
"persistent": true,
"hidden": false,
- "clearOnHide": true
+ "clearOnHide": true,
+ "labelPosition": "top",
+ "tags": [],
+ "conditional": {
+ "show": "",
+ "when": null,
+ "eq": ""
+ },
+ "properties": {},
+ "isNew": false
}
],
"width": 6,
@@ -1698,7 +1791,8 @@
},
"tableView": true,
"validate": {
- "required": true
+ "required": true,
+ "custom": "const isDateValid= moment(input).isSameOrBefore(new Date()) &&\n moment(input).isSameOrAfter(data.studyStartDate) &&\n moment(input).isSameOrBefore(data.studyEndDate);\nvalid = isDateValid ? true : 'Date cannot be future-dated and must be during the study period.';"
},
"key": "dateOfWithdrawal",
"attributes": {
@@ -1720,10 +1814,14 @@
"clearOnHide": true,
"spellcheck": true,
"conditional": {
- "show": null,
+ "show": "",
"when": null,
"eq": ""
- }
+ },
+ "labelPosition": "top",
+ "inputFormat": "plain",
+ "tags": [],
+ "properties": {}
}
],
"width": 6,
diff --git a/sources/packages/web/src/services/ScholasticStandingService.ts b/sources/packages/web/src/services/ScholasticStandingService.ts
index 6c9dc6eb1a..6592f56f8a 100644
--- a/sources/packages/web/src/services/ScholasticStandingService.ts
+++ b/sources/packages/web/src/services/ScholasticStandingService.ts
@@ -48,6 +48,8 @@ export class ScholasticStandingService {
applicationOfferingEndDate: dateOnlyLongString(
applicationDetails.applicationOfferingEndDate,
),
+ studyStartDate: applicationDetails.applicationOfferingStartDate,
+ studyEndDate: applicationDetails.applicationOfferingEndDate,
applicationOfferingStudyBreak:
applicationDetails.applicationOfferingStudyBreak?.map((studyBreak) => ({
breakStartDate: dateOnlyLongString(studyBreak.breakStartDate),
diff --git a/sources/packages/web/src/services/http/dto/InstitutionLocation.dto.ts b/sources/packages/web/src/services/http/dto/InstitutionLocation.dto.ts
index d874e2c38e..5b5f2434b6 100644
--- a/sources/packages/web/src/services/http/dto/InstitutionLocation.dto.ts
+++ b/sources/packages/web/src/services/http/dto/InstitutionLocation.dto.ts
@@ -112,6 +112,8 @@ export interface ActiveApplicationDataAPIOutDTO {
applicationOfferingIntensity: string;
applicationOfferingStartDate: string;
applicationOfferingEndDate: string;
+ studyStartDate?: string;
+ studyEndDate?: string;
applicationStudentName: string;
applicationNumber: string;
applicationLocationName: string;
diff --git a/sources/packages/web/src/views/institution/locations/active-applications/ActiveApplicationReportAChange.vue b/sources/packages/web/src/views/institution/locations/active-applications/ActiveApplicationReportAChange.vue
index bed3ee43eb..f8ce44abd1 100644
--- a/sources/packages/web/src/views/institution/locations/active-applications/ActiveApplicationReportAChange.vue
+++ b/sources/packages/web/src/views/institution/locations/active-applications/ActiveApplicationReportAChange.vue
@@ -68,6 +68,8 @@ export default defineComponent({
applicationOfferingEndDate: dateOnlyLongString(
applicationDetails.applicationOfferingEndDate,
),
+ studyStartDate: applicationDetails.applicationOfferingStartDate,
+ studyEndDate: applicationDetails.applicationOfferingEndDate,
applicationOfferingStudyBreak:
applicationDetails.applicationOfferingStudyBreak?.map(
(studyBreak) => ({
From 5f8e6d68f75439662dca84b4ed834fbf443a2fdf Mon Sep 17 00:00:00 2001
From: Andrew Boni Signori
<61259237+andrewsignori-aot@users.noreply.github.com>
Date: Tue, 8 Oct 2024 16:35:56 -0700
Subject: [PATCH 5/8] #3623 - SFAS-SIMS Bridge File - Update layout and Insert
PT MSFAA info (#3775)
- Created the new MSFAA columns.
- Used the same DB type already in place for the existing full-time
MSFAA.
- Updated the entity model to reflect the DB type.
- Adjusted an E2E file to one individual with part-time data.
### Rollback
![image](https://github.com/user-attachments/assets/5ff95ca2-cfd2-4ed5-b51c-7240c577a78f)
---
...66-SFAStoSIMSBridgePartTimeMSFAAColumns.ts | 21 +++++++++++++++++++
.../Add-part-time-msfaa-columns.sql | 10 +++++++++
.../Rollback-add-part-time-msfaa-columns.sql | 3 +++
.../SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt | 4 ++--
.../sfas-integration.scheduler.e2e-spec.ts | 12 +++++++++--
.../services/sfas/sfas-individual.service.ts | 7 ++++++-
.../sfas-files/sfas-individual-record.ts | 12 +++++++++++
.../src/entities/sfas-individual.model.ts | 19 ++++++++++++++++-
8 files changed, 82 insertions(+), 6 deletions(-)
create mode 100644 sources/packages/backend/apps/db-migrations/src/migrations/1728416893266-SFAStoSIMSBridgePartTimeMSFAAColumns.ts
create mode 100644 sources/packages/backend/apps/db-migrations/src/sql/SFASIndividuals/Add-part-time-msfaa-columns.sql
create mode 100644 sources/packages/backend/apps/db-migrations/src/sql/SFASIndividuals/Rollback-add-part-time-msfaa-columns.sql
diff --git a/sources/packages/backend/apps/db-migrations/src/migrations/1728416893266-SFAStoSIMSBridgePartTimeMSFAAColumns.ts b/sources/packages/backend/apps/db-migrations/src/migrations/1728416893266-SFAStoSIMSBridgePartTimeMSFAAColumns.ts
new file mode 100644
index 0000000000..ee2c7f41d1
--- /dev/null
+++ b/sources/packages/backend/apps/db-migrations/src/migrations/1728416893266-SFAStoSIMSBridgePartTimeMSFAAColumns.ts
@@ -0,0 +1,21 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+import { getSQLFileData } from "../utilities/sqlLoader";
+
+export class SFAStoSIMSBridgePartTimeMSFAAColumns1728416893266
+ implements MigrationInterface
+{
+ public async up(queryRunner: QueryRunner): Promise {
+ await queryRunner.query(
+ getSQLFileData("Add-part-time-msfaa-columns.sql", "SFASIndividuals"),
+ );
+ }
+
+ public async down(queryRunner: QueryRunner): Promise {
+ await queryRunner.query(
+ getSQLFileData(
+ "Rollback-add-part-time-msfaa-columns.sql",
+ "SFASIndividuals",
+ ),
+ );
+ }
+}
diff --git a/sources/packages/backend/apps/db-migrations/src/sql/SFASIndividuals/Add-part-time-msfaa-columns.sql b/sources/packages/backend/apps/db-migrations/src/sql/SFASIndividuals/Add-part-time-msfaa-columns.sql
new file mode 100644
index 0000000000..978526f5ab
--- /dev/null
+++ b/sources/packages/backend/apps/db-migrations/src/sql/SFASIndividuals/Add-part-time-msfaa-columns.sql
@@ -0,0 +1,10 @@
+ALTER TABLE
+ sims.sfas_individuals
+ADD
+ COLUMN part_time_msfaa_number CHAR(10),
+ADD
+ COLUMN part_time_msfaa_effective_date DATE;
+
+COMMENT ON COLUMN sims.sfas_individuals.part_time_msfaa_number IS 'The most recent Part-time Master Student Loan Agreement Number (agreement_num.sail_msfaa_numbers).';
+
+COMMENT ON COLUMN sims.sfas_individuals.part_time_msfaa_effective_date IS 'The most recent Part-time Master Student Loan Agreement effective date (effective_date.sail_msfaa_numbers).';
\ No newline at end of file
diff --git a/sources/packages/backend/apps/db-migrations/src/sql/SFASIndividuals/Rollback-add-part-time-msfaa-columns.sql b/sources/packages/backend/apps/db-migrations/src/sql/SFASIndividuals/Rollback-add-part-time-msfaa-columns.sql
new file mode 100644
index 0000000000..07199d76f9
--- /dev/null
+++ b/sources/packages/backend/apps/db-migrations/src/sql/SFASIndividuals/Rollback-add-part-time-msfaa-columns.sql
@@ -0,0 +1,3 @@
+ALTER TABLE
+ sims.sfas_individuals DROP COLUMN part_time_msfaa_number,
+ DROP COLUMN part_time_msfaa_effective_date;
\ No newline at end of file
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt
index e77fcda226..42660a85cb 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt
@@ -1,5 +1,5 @@
100AESTSFAS TO SIMS BRIDGE 20240709110630
2000000083540000000000083540GIORGIO GIOVANNI 19660721121380174Y19660721Y1967072298765432102024071276543210010000005000000000500000007560500000756050000007413000000741300000074130000007413000000000020000000017
-2000000083541000000000083541GIORGIO GIOVANNI 19491116108796293N N 98765432112024071376543220020000005000000000500000011040000001104000000110400000011040000001104000000110400000000000020000000002
-2000000083542000000000083542GIORGIO GIOVANNI 19700702122886591 00000000000000000000000000000000000000000000000000000000000000000000000000000000011039000000000000000000000000000000000000000000
+2000000083541000000000083541GIORGIO GIOVANNI 19491116108796293N N 98765432112024071376543220020000005000000000500000011040000001104000000110400000011040000001104000000110400000000000020000000002123456789020241231
+2000000083542000000000083542GIORGIO GIOVANNI 19700702122886591 00000000000000000000000000000000000000000000000000000000000000000000000000000000011039000000000000000000000000000000000000000000
999000048090000009580094900
\ No newline at end of file
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-integration.scheduler.e2e-spec.ts b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-integration.scheduler.e2e-spec.ts
index 6978832f8a..04624e3105 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-integration.scheduler.e2e-spec.ts
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-integration.scheduler.e2e-spec.ts
@@ -330,6 +330,8 @@ describe(describeProcessorRootTest(QueueNames.SFASIntegration), () => {
grantOveraward: true,
withdrawals: true,
unsuccessfulCompletion: true,
+ partTimeMSFAANumber: true,
+ partTimeMSFAAEffectiveDate: true,
},
where: {
id: In([83540, 83541, 83542]),
@@ -348,7 +350,7 @@ describe(describeProcessorRootTest(QueueNames.SFASIntegration), () => {
pdStatus: true,
ppdStatus: true,
ppdStatusDate: "1967-07-22",
- msfaaNumber: 9876543210,
+ msfaaNumber: "9876543210",
msfaaSignedDate: "2024-07-12",
neb: 5000,
bcgg: 5000,
@@ -360,6 +362,8 @@ describe(describeProcessorRootTest(QueueNames.SFASIntegration), () => {
grantOveraward: 741.3,
withdrawals: 2,
unsuccessfulCompletion: 17,
+ partTimeMSFAANumber: null,
+ partTimeMSFAAEffectiveDate: null,
});
expect(secondSFASIndividual).toEqual({
id: 83541,
@@ -370,7 +374,7 @@ describe(describeProcessorRootTest(QueueNames.SFASIntegration), () => {
pdStatus: false,
ppdStatus: false,
ppdStatusDate: null,
- msfaaNumber: 9876543211,
+ msfaaNumber: "9876543211",
msfaaSignedDate: "2024-07-13",
neb: 5000,
bcgg: 5000,
@@ -382,6 +386,8 @@ describe(describeProcessorRootTest(QueueNames.SFASIntegration), () => {
grantOveraward: 11040,
withdrawals: 2,
unsuccessfulCompletion: 2,
+ partTimeMSFAANumber: "1234567890",
+ partTimeMSFAAEffectiveDate: "2024-12-31",
});
expect(thirdSFASIndividual).toEqual({
id: 83542,
@@ -404,6 +410,8 @@ describe(describeProcessorRootTest(QueueNames.SFASIntegration), () => {
grantOveraward: 0,
withdrawals: null,
unsuccessfulCompletion: 0,
+ partTimeMSFAANumber: null,
+ partTimeMSFAAEffectiveDate: null,
});
},
);
diff --git a/sources/packages/backend/libs/integrations/src/services/sfas/sfas-individual.service.ts b/sources/packages/backend/libs/integrations/src/services/sfas/sfas-individual.service.ts
index b096cb00c4..e02429c7d5 100644
--- a/sources/packages/backend/libs/integrations/src/services/sfas/sfas-individual.service.ts
+++ b/sources/packages/backend/libs/integrations/src/services/sfas/sfas-individual.service.ts
@@ -72,7 +72,7 @@ export class SFASIndividualService
individual.ppdStatusDate = getISODateOnlyString(
sfasIndividual.ppdStatusDate,
);
- individual.msfaaNumber = sfasIndividual.msfaaNumber;
+ individual.msfaaNumber = sfasIndividual.msfaaNumber?.toString();
individual.msfaaSignedDate = getISODateOnlyString(
sfasIndividual.msfaaSignedDate,
);
@@ -87,6 +87,11 @@ export class SFASIndividualService
individual.withdrawals = sfasIndividual.withdrawals;
individual.unsuccessfulCompletion = sfasIndividual.unsuccessfulCompletion;
individual.extractedAt = getUTC(extractedDate);
+ individual.partTimeMSFAANumber =
+ sfasIndividual.partTimeMSFAANumber?.toString();
+ individual.partTimeMSFAAEffectiveDate = getISODateOnlyString(
+ sfasIndividual.partTimeMSFAAEffectiveDate,
+ );
await this.repo.save(individual, { reload: false, transaction: false });
}
diff --git a/sources/packages/backend/libs/integrations/src/sfas-integration/sfas-files/sfas-individual-record.ts b/sources/packages/backend/libs/integrations/src/sfas-integration/sfas-files/sfas-individual-record.ts
index b9cedd58e1..e74d3e0fae 100644
--- a/sources/packages/backend/libs/integrations/src/sfas-integration/sfas-files/sfas-individual-record.ts
+++ b/sources/packages/backend/libs/integrations/src/sfas-integration/sfas-files/sfas-individual-record.ts
@@ -169,4 +169,16 @@ export class SFASIndividualRecord extends SFASRecordIdentification {
get unsuccessfulCompletion(): number {
return +this.line.substring(221, 231);
}
+ /**
+ * The most recent Part-time Master Student Loan Agreement Number (agreement_num.sail_msfaa_numbers).
+ */
+ get partTimeMSFAANumber(): number | null {
+ return +this.line.substring(231, 241) || null;
+ }
+ /**
+ * The most recent Part-time Master Student Loan Agreement effective date (effective_date.sail_msfaa_numbers).
+ */
+ get partTimeMSFAAEffectiveDate(): Date | null {
+ return parseDate(this.line.substring(241, 249));
+ }
}
diff --git a/sources/packages/backend/libs/sims-db/src/entities/sfas-individual.model.ts b/sources/packages/backend/libs/sims-db/src/entities/sfas-individual.model.ts
index 70f56d572a..f072197d62 100644
--- a/sources/packages/backend/libs/sims-db/src/entities/sfas-individual.model.ts
+++ b/sources/packages/backend/libs/sims-db/src/entities/sfas-individual.model.ts
@@ -78,7 +78,7 @@ export class SFASIndividual extends BaseModel {
name: "msfaa_number",
nullable: true,
})
- msfaaNumber?: number;
+ msfaaNumber?: string;
/**
* The most recent, active Master Student Loan Agreement signed date (loan_agreement_request.loan_agreement_signed_dte).
*/
@@ -194,4 +194,21 @@ export class SFASIndividual extends BaseModel {
nullable: false,
})
extractedAt: Date;
+ /**
+ * The most recent Part-time Master Student Loan Agreement Number (agreement_num.sail_msfaa_numbers).
+ */
+ @Column({
+ name: "part_time_msfaa_number",
+ nullable: true,
+ })
+ partTimeMSFAANumber?: string;
+ /**
+ * The most recent Part-time Master Student Loan Agreement effective date (effective_date.sail_msfaa_numbers).
+ */
+ @Column({
+ name: "part_time_msfaa_effective_date",
+ type: "date",
+ nullable: true,
+ })
+ partTimeMSFAAEffectiveDate?: string;
}
From d228a55f2f5c36c39bc4c4438df975067703a9b8 Mon Sep 17 00:00:00 2001
From: Bidyashish
Date: Wed, 9 Oct 2024 10:21:23 -0700
Subject: [PATCH 6/8] #2979 - Email notification - PD/PPD Student reminder
email 8 weeks before end date Part 3 (#3778)
- [x] E2E Tests
- [x] Ensure the email will be sent once for the same assessment.
- [x] Ensure the email will be sent again for different assessments for
the same application.
---
...cation-notifications.scheduler.e2e-spec.ts | 191 +++++++++++++++++-
1 file changed, 187 insertions(+), 4 deletions(-)
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts
index 05f2cfc3be..f5e7395b31 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts
@@ -1,21 +1,25 @@
-import { createMock } from "@golevelup/ts-jest";
import { INestApplication } from "@nestjs/common";
import { QueueNames } from "@sims/utilities";
import {
createTestingAppModule,
describeProcessorRootTest,
+ mockBullJob,
} from "../../../../../test/helpers";
import {
E2EDataSources,
createE2EDataSources,
+ createFakeDisbursementSchedule,
+ createFakeNotification,
+ createFakeStudentAssessment,
saveFakeApplicationDisbursements,
saveFakeStudent,
} from "@sims/test-utils";
-import { Job } from "bull";
import {
ApplicationStatus,
+ AssessmentTriggerType,
DisabilityStatus,
DisbursementScheduleStatus,
+ NotificationMessage,
NotificationMessageType,
WorkflowData,
} from "@sims/sims-db";
@@ -77,13 +81,19 @@ describe(
},
},
);
+
// Queued job.
- const job = createMock>();
+ const mockedJob = mockBullJob();
// Act
- await processor.studentApplicationNotifications(job);
+ await processor.studentApplicationNotifications(mockedJob.job);
// Assert
+ expect(
+ mockedJob.containLogMessages([
+ `PD/PPD mismatch assessments that generated notifications: ${application.currentAssessment.id}`,
+ ]),
+ ).toBe(true);
const notification = await db.notification.findOne({
select: {
id: true,
@@ -110,5 +120,178 @@ describe(
});
},
);
+
+ it(
+ "Should not generate a notification for PD/PPD student mismatch close to the offering end date " +
+ "when the application is completed and email will be sent once for the same assessment.",
+ async () => {
+ // Arrange
+ // Create a student with a non-approved disability.
+ const student = await saveFakeStudent(db.dataSource, undefined, {
+ initialValue: { disabilityStatus: DisabilityStatus.Requested },
+ });
+ // Create an application with the disability as true.
+ const application = await saveFakeApplicationDisbursements(
+ db.dataSource,
+ { student },
+ {
+ applicationStatus: ApplicationStatus.Completed,
+ currentAssessmentInitialValues: {
+ workflowData: {
+ calculatedData: {
+ pdppdStatus: true,
+ },
+ } as WorkflowData,
+ },
+ firstDisbursementInitialValues: {
+ disbursementScheduleStatus: DisbursementScheduleStatus.Pending,
+ },
+ },
+ );
+
+ const studentNotification = createFakeNotification(
+ {
+ user: student.user,
+ notificationMessage: {
+ id: NotificationMessageType.StudentPDPPDApplicationNotification,
+ } as NotificationMessage,
+ },
+ {
+ initialValue: {
+ dateSent: new Date(),
+ metadata: {
+ assessmentId: application.currentAssessment.id,
+ },
+ },
+ },
+ );
+
+ await db.notification.save(studentNotification);
+
+ // Queued job.
+ const mockedJob = mockBullJob();
+
+ // Act
+ await processor.studentApplicationNotifications(mockedJob.job);
+
+ // Assert
+ expect(
+ mockedJob.containLogMessages([
+ "No assessments found to generate PD/PPD mismatch notifications.",
+ ]),
+ ).toBe(true);
+ const notificationExists = await db.notification.exists({
+ relations: { notificationMessage: true },
+ where: {
+ notificationMessage: {
+ id: NotificationMessageType.StudentPDPPDApplicationNotification,
+ },
+ metadata: { assessmentId: application.currentAssessment.id },
+ user: { id: student.user.id },
+ dateSent: IsNull(),
+ },
+ });
+ expect(notificationExists).toBe(false);
+ },
+ );
+
+ it(
+ "Should generate a notification for PD/PPD student mismatch close to the offering end date " +
+ "when the application is completed and email will be sent again for different assessments for the same application.",
+ async () => {
+ // Arrange
+ // Create a student with a non-approved disability.
+ const student = await saveFakeStudent(db.dataSource, undefined, {
+ initialValue: { disabilityStatus: DisabilityStatus.Requested },
+ });
+ // Create an application with the disability as true.
+ const application = await saveFakeApplicationDisbursements(
+ db.dataSource,
+ { student },
+ {
+ applicationStatus: ApplicationStatus.Completed,
+ currentAssessmentInitialValues: {
+ workflowData: {
+ calculatedData: {
+ pdppdStatus: true,
+ },
+ } as WorkflowData,
+ },
+ firstDisbursementInitialValues: {
+ disbursementScheduleStatus: DisbursementScheduleStatus.Pending,
+ },
+ },
+ );
+
+ const studentNotification = createFakeNotification(
+ {
+ user: student.user,
+ notificationMessage: {
+ id: NotificationMessageType.StudentPDPPDApplicationNotification,
+ } as NotificationMessage,
+ },
+ {
+ initialValue: {
+ dateSent: new Date(),
+ metadata: {
+ assessmentId: application.currentAssessment.id,
+ },
+ },
+ },
+ );
+
+ await db.notification.save(studentNotification);
+
+ // Create a new assessment for the same application.
+ application.currentAssessment = createFakeStudentAssessment(
+ {
+ auditUser: application.student.user,
+ application: application,
+ offering: application.currentAssessment.offering,
+ },
+ {
+ initialValue: {
+ triggerType: AssessmentTriggerType.ManualReassessment,
+ workflowData: {
+ calculatedData: {
+ pdppdStatus: true,
+ },
+ } as WorkflowData,
+ },
+ },
+ );
+ await db.application.save(application);
+
+ const newAssessmentDisbursement = createFakeDisbursementSchedule({
+ studentAssessment: application.currentAssessment,
+ });
+ await db.disbursementSchedule.save(newAssessmentDisbursement);
+
+ // Queued job.
+ const mockedJob = mockBullJob();
+
+ // Act
+ await processor.studentApplicationNotifications(mockedJob.job);
+
+ // Assert
+ expect(
+ mockedJob.containLogMessages([
+ `PD/PPD mismatch assessments that generated notifications: ${application.currentAssessment.id}`,
+ ]),
+ ).toBe(true);
+ const notificationExists = await db.notification.exists({
+ relations: { notificationMessage: true },
+ where: {
+ notificationMessage: {
+ id: NotificationMessageType.StudentPDPPDApplicationNotification,
+ },
+ metadata: { assessmentId: application.currentAssessment.id },
+ user: { id: student.user.id },
+ dateSent: IsNull(),
+ },
+ });
+ expect(notificationExists).toBe(true);
+ },
+ );
},
);
From 9272dcd4df73a5ac9a3f44ad59c491a5df01e854 Mon Sep 17 00:00:00 2001
From: Bidyashish
Date: Wed, 9 Oct 2024 12:47:06 -0700
Subject: [PATCH 7/8] #2979 - Email notification - PD/PPD Student reminder
email 8 weeks before end date Hotfix (#3782)
Hot Fix for Application Status in Assessment.
- [X] Select all student applications where
- Offerings end date within 8 weeks.
- Applications with current disbursement pending.
- Application not archived.
- Remove assessments where a notification was already sent.
- With the PD/PPD mismatch
- Application Status is in Assessment and Completed
- [x] E2E Tests suite added, E2E tests will be added in Part 3 PR
- [x] Ensure the email will be sent once for the same assessment.
- [x] Ensure the email will be sent again for different assessments for
the same application.
---
...ent-application-notifications.scheduler.e2e-spec.ts | 8 ++++----
.../src/services/application/application.service.ts | 10 +++++++---
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts
index f5e7395b31..c41f327438 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/student-application-notifications/_tests_/student-application-notifications.scheduler.e2e-spec.ts
@@ -52,7 +52,7 @@ describe(
it(
"Should generate a notification for PD/PPD student mismatch close to the offering end date " +
- "when the application is completed and at least one disbursement is pending and there is a PD/PPD mismatch.",
+ "when the application is Assessment/Completed and at least one disbursement is pending and there is a PD/PPD mismatch.",
async () => {
// Arrange
// Create a student with a non-approved disability.
@@ -64,7 +64,7 @@ describe(
db.dataSource,
{ student },
{
- applicationStatus: ApplicationStatus.Completed,
+ applicationStatus: ApplicationStatus.Assessment,
currentAssessmentInitialValues: {
workflowData: {
calculatedData: {
@@ -123,7 +123,7 @@ describe(
it(
"Should not generate a notification for PD/PPD student mismatch close to the offering end date " +
- "when the application is completed and email will be sent once for the same assessment.",
+ "when the application is Assessment/Completed and email will be sent once for the same assessment.",
async () => {
// Arrange
// Create a student with a non-approved disability.
@@ -197,7 +197,7 @@ describe(
it(
"Should generate a notification for PD/PPD student mismatch close to the offering end date " +
- "when the application is completed and email will be sent again for different assessments for the same application.",
+ "when the application is Assessment/Completed and email will be sent again for different assessments for the same application.",
async () => {
// Arrange
// Create a student with a non-approved disability.
diff --git a/sources/packages/backend/apps/queue-consumers/src/services/application/application.service.ts b/sources/packages/backend/apps/queue-consumers/src/services/application/application.service.ts
index 0e53c158ed..12f48b9bc5 100644
--- a/sources/packages/backend/apps/queue-consumers/src/services/application/application.service.ts
+++ b/sources/packages/backend/apps/queue-consumers/src/services/application/application.service.ts
@@ -213,9 +213,13 @@ export class ApplicationService {
.innerJoin("application.student", "student")
.innerJoin("student.user", "user")
.innerJoin("currentAssessment.offering", "offering")
- .where("application.applicationStatus = :applicationStatus", {
- applicationStatus: ApplicationStatus.Completed,
- })
+ .where(
+ "application.applicationStatus IN (:applicationStatusCompleted, :applicationStatusAssessment)",
+ {
+ applicationStatusCompleted: ApplicationStatus.Completed,
+ applicationStatusAssessment: ApplicationStatus.Assessment,
+ },
+ )
.andWhere("offering.studyEndDate <= :disabilityNotificationDateLimit", {
disabilityNotificationDateLimit,
})
From aaf018b46987899fb395401f42659edda1feb860 Mon Sep 17 00:00:00 2001
From: Andrew Boni Signori
<61259237+andrewsignori-aot@users.noreply.github.com>
Date: Wed, 9 Oct 2024 15:53:25 -0700
Subject: [PATCH 8/8] #3623 - SFAS-SIMS Bridge File - Adjusted E2E Sample Files
(#3783)
Adjusted SFAS sample files, removing duplicated identifiers, and fixed
E2E tests.
---
.../SFAS-TO-SIMS-2024MAR07-ALL-RESTRICTIONS.txt | 2 +-
.../SFAS-TO-SIMS-2024MAR07-LEGACY-RESTRICTIONS.txt | 2 +-
...IVIDUAL-RECORDS-INCONSISTENT-WITH-DATA-IMPORT.txt | 6 +++---
.../SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt | 6 +++---
.../_tests_/sfas-integration.scheduler.e2e-spec.ts | 12 ++++++------
5 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-2024MAR07-ALL-RESTRICTIONS.txt b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-2024MAR07-ALL-RESTRICTIONS.txt
index bc8c78ca34..ac81b50a03 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-2024MAR07-ALL-RESTRICTIONS.txt
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-2024MAR07-ALL-RESTRICTIONS.txt
@@ -1,5 +1,5 @@
100AESTSFAS TO SIMS BRIDGE 20211119142437
-2001010101010XXXXXXXX4970 FOUR 4970 19980324428062400 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2001010101010JOHN FOUR 19980324428062400 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
40010101010100964351111TREE20180927
40010101010100964351112AF1 20180927
40010101010100964351113B6B 20180927
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-2024MAR07-LEGACY-RESTRICTIONS.txt b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-2024MAR07-LEGACY-RESTRICTIONS.txt
index c6720acdcd..b50ca3efec 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-2024MAR07-LEGACY-RESTRICTIONS.txt
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-2024MAR07-LEGACY-RESTRICTIONS.txt
@@ -1,5 +1,5 @@
100AESTSFAS TO SIMS BRIDGE 20211119142437
-2001010101010XXXXXXXX4970 FOUR 4970 19980324900041310 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+2001010101010JOHN FOUR 19980324900041310 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
40010101010100964351111TREE20180927
40010101010100964351115CROW20180928
999000011431002573803010624
\ No newline at end of file
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-INVALID-INDIVIDUAL-RECORDS-INCONSISTENT-WITH-DATA-IMPORT.txt b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-INVALID-INDIVIDUAL-RECORDS-INCONSISTENT-WITH-DATA-IMPORT.txt
index 836855f9f4..9f42e314be 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-INVALID-INDIVIDUAL-RECORDS-INCONSISTENT-WITH-DATA-IMPORT.txt
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-INVALID-INDIVIDUAL-RECORDS-INCONSISTENT-WITH-DATA-IMPORT.txt
@@ -1,5 +1,5 @@
100AESTSFAS TO SIMS BRIDGE 20240709110630
-2000000075085000000000075085GIORGIO GIOVANNI 19551002112383310 00000000000000000000000000000000000000000000000000000000000133610000000000000000000000000000000000000000000000000000000000000000
-2000000075086000000000075086GIORGIO GIOVANNI 19720405725732813 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004140000000000000000000
-2000000075087000000000075087GIORGIO GIOVANNI 19720405725732812 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000414000000000-0000000000
+2000000075085GIORGIO GIOVANNI 19551002112383310 00000000000000000000000000000000000000000000000000000000000133610000000000000000000000000000000000000000000000000000000000000000
+2000000075086GIORGIO GIOVANNI 19720405725732813 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004140000000000000000000
+2000000075087GIORGIO GIOVANNI 19720405725732812 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000414000000000-0000000000
999000048090000009580094900
\ No newline at end of file
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt
index 42660a85cb..534a9c6d9a 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-files/SFAS-TO-SIMS-VALID-INDIVIDUAL-RECORDS.txt
@@ -1,5 +1,5 @@
100AESTSFAS TO SIMS BRIDGE 20240709110630
-2000000083540000000000083540GIORGIO GIOVANNI 19660721121380174Y19660721Y1967072298765432102024071276543210010000005000000000500000007560500000756050000007413000000741300000074130000007413000000000020000000017
-2000000083541000000000083541GIORGIO GIOVANNI 19491116108796293N N 98765432112024071376543220020000005000000000500000011040000001104000000110400000011040000001104000000110400000000000020000000002123456789020241231
-2000000083542000000000083542GIORGIO GIOVANNI 19700702122886591 00000000000000000000000000000000000000000000000000000000000000000000000000000000011039000000000000000000000000000000000000000000
+2000000083540GIORGIO GIOVANNI 19660721121380174Y19660721Y1967072298765432102024071276543210010000005000000000500000007560500000756050000007413000000741300000074130000007413000000000020000000017
+2000000083541GIORGIO GIOVANNI 19491116108796293N N 98765432112024071376543220020000005000000000500000011040000001104000000110400000011040000001104000000110400000000000020000000002123456789020241231
+2000000083542GIORGIO GIOVANNI 19700702122886591 00000000000000000000000000000000000000000000000000000000000000000000000000000000011039000000000000000000000000000000000000000000
999000048090000009580094900
\ No newline at end of file
diff --git a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-integration.scheduler.e2e-spec.ts b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-integration.scheduler.e2e-spec.ts
index 04624e3105..e1f538c916 100644
--- a/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-integration.scheduler.e2e-spec.ts
+++ b/sources/packages/backend/apps/queue-consumers/src/processors/schedulers/sfas-integration/_tests_/sfas-integration.scheduler.e2e-spec.ts
@@ -343,8 +343,8 @@ describe(describeProcessorRootTest(QueueNames.SFASIntegration), () => {
sfasIndividualRecords;
expect(firstSFASIndividual).toEqual({
id: 83540,
- firstName: "000000000083540 GIOVANNI",
- lastName: "GIORGIO",
+ firstName: "GIORGIO",
+ lastName: "GIOVANNI",
birthDate: "1966-07-21",
sin: "121380174",
pdStatus: true,
@@ -367,8 +367,8 @@ describe(describeProcessorRootTest(QueueNames.SFASIntegration), () => {
});
expect(secondSFASIndividual).toEqual({
id: 83541,
- firstName: "000000000083541 GIOVANNI",
- lastName: "GIORGIO",
+ firstName: "GIORGIO",
+ lastName: "GIOVANNI",
birthDate: "1949-11-16",
sin: "108796293",
pdStatus: false,
@@ -391,8 +391,8 @@ describe(describeProcessorRootTest(QueueNames.SFASIntegration), () => {
});
expect(thirdSFASIndividual).toEqual({
id: 83542,
- firstName: "000000000083542 GIOVANNI",
- lastName: "GIORGIO",
+ firstName: "GIORGIO",
+ lastName: "GIOVANNI",
birthDate: "1970-07-02",
sin: "122886591",
pdStatus: null,