2. Student Record Intake Functions - Updated
| Student Fields | Not started |
2.0 Set Intake Value Defaults |
| Purpose | Based on the student start grade level, enter the student's current grade level. | |
| Trigger | Runs only one time, when the student record is first entered, never updated. | |
| Conditions | requisite fields are not empty. | |
| Sequence | This function runs after the student record is created. | |
| Step 1 |
Set Student current grade level equal to Student start grade. |
|
| Step 2 |
Set Student promotion equal to "promote". |
|
| Step 3 |
Set Student status equal to "planned". |
|
| Step 4 |
Set Student cohort = linked homeroom record |
|
| END |
| Student Fields | Not started |
2.1 Enter Student's Grade Span and School |
| Purpose | Reduce data entry by automatically finding the student grade span based on current grade level. | |
| Trigger | When new student record is entered or when the student's current grade level changes. | |
| Conditions | requisite fields are not empty. | |
| Sequence | This function runs after the student record is created. | |
| Step 1 |
Find the Grade Span with start grade greater than or equal to the Student current grade level AND Grade Span with end grade after of equal to the Student current: grade span start grade ≤ student start grade ≤ grade span end grade |
|
| Step 2 |
Associate the Grade Span record found above to the Student record with the Student grade span field. |
|
| Step 3 |
Find the School record associated to the Grade Span record found above and associate to the Student record with the Student school field. |
|
| END |
| Student Fields | Not started |
2.2 Calculate Graduation Date and Remaining Years |
| Purpose | By finding the last day of school and how many years left in the school, PEMS helps admins estimate future enrollment. | |
| Trigger | When a new student record is entered and every time a student completes a year. If a student 'skips' a grade level then their future date will change. | |
| Conditions | requisite fields are not empty. | |
| Sequence | This function runs after the student record is created. | |
| Step 1 |
Student remaining years = School Configuration highest_grade_level - Student current grade level. note: remaining years does not include the student's enrollment year/current year |
|
| Step 2 | Find the current (status = current) Academic Year sequence. | |
| Step 3 | Add Student remaining years to current (status = current) Academic Year sequence. | |
| Step 4 | Find the Academic year with the sequence value found above, this is the graduating academic year. There is no field for the graduating academic year. | |
| Step 5 | Find the last School term associated with the Academic year found above. The last School term has an associated Term Label record with flag = official end term. | |
| Step 6 | The end date of the last School term of the graduating academic year is the Student graduation date. | |
| END |
| Student Fields | Not started |
2.3 Find and Enter Student's School Start Term |
| Purpose | Based on the student start date, auto-enter the student start term, the purpose is to reduce data entry for the user. | |
| Trigger | When new student record is entered or when the student start date changes. This function only runs if the student status = planned. | |
| Conditions | requisite fields are not empty. | |
| Sequence | This function runs after the student record is created and only once on student intake. | |
| Step 1 |
Find the School Term with start date before or equal to the Student start date AND School Term with end date after or equal to the Student start date: school term start date ≤ student start date ≤ school term end date |
|
| Step 2 |
Associate the School Term record to the Student record with the School Start term field. |
|
| END |
| Student Fields | Not started |
2.4 Calculate Enrollment Year Terms |
| Purpose | Students transfer in and out of schools at various times and frequently in the middle of school terms. Many student's do not complete all the terms in their first year enrolled in the term. Based on the student's start date, calculate how many terms the student attends in their first year attending the school. | |
| Trigger | When new student record is entered or when the student start date changes. This function only runs if the student status = planned. | |
| Conditions | requisite fields are not empty. | |
| Sequence | After function 2.23 runs and only once on student intake. | |
| Step 1 |
Find the School Term linked to the Student from the school start term field, found in function 2.3 above. |
|
| Step 2 |
If the Term Label record linked to the School Term has Term Label flag = official end term, then Student Enrollment year terms = 1. Else: |
|
| Step 3 |
Find the ordinate of the School Term linked to the Student. ("ordinate start") |
|
| Step 4 |
Find the ordinate of the School Term record with Academic Year = same as Student school start term and has a linked Term Label record with flag = official end term. ("ordinate end") |
|
| Step 5 |
Find remaining terms. Subtract the sequence the student schools start term from the school term record found above, the official end term, then add 1: remaining terms = ("ordinate end") - ("ordinate start") + 1 |
|
| END |
Use Case Test 2.4 Calculate Enrollment Year Terms*
| School term | Ordinate school term | Term Label | Flag | Academic Year | Logic | |
| Student enrolled in fall | Fall 2023 | 23 | Fall | Official Start | 2023-2024 |
'ordinate start' = 23, flag is not official end term so find the correct record.
|
| Spring 2024 | 24 | Spring | Official End Term | 2023-2024 | end term for same academic year, so 'ordinate end' = 24 | |
| Enrollment year terms: | 24 - 23 + 1 = 2 | |||||
|
|
||||||
| Fall 2023 | 23 | Fall | Official Start | 2023-2024 |
|
|
| Student enrolled in spring | Spring 2024 | 24 | Spring | Official End Term | 2023-2024 |
"ordinate start" = 24 flag = official end term |
| Enrollment year terms: | 1 | |||||
| Student enrolled in summer | Summer 2024 | 25 | Summer | Interim | 2024-2025 | "ordinate start" = 25 |
| Fall 2023 | 26 | Fall | Official Start | 2024-2025 | flag is not official end year, record not found | |
| Spring 2024 | 27 | Spring | Official End Term | 2024-2025 | flag is equal to official end term for same academic year, so 'ordinate end' = 27 | |
| Enrollment year terms: | 27 - 25 + 1 = 23 | |||||
*note: there is a logic problem if there is an optional term 'sandwiched' between the official end and start terms that the student chooses to not attend, this will change the number of enrollment year terms. Do not allow optional terms in between required terms in the same academic year. A required academic year must be continuous.
| Student Fields | Not started |
2.5 Calculate Remaining Terms in Enrollment Grade Span |
| Purpose | Calculate the remaining terms in the grade span. This is used for assigning plans. Plans can not be assigned that require more terms than remaining n the grade span. | |
| Trigger |
When new student record is entered and only once on student intake. note: this field is updated in the advancement workflow, but it will use very different logic than this initial value |
|
| Conditions | requisite fields are not empty. | |
| Sequence | This function runs after 2.4, find enrollment year terms. | |
| Step 1 |
Find the remaining academic years in the grad span: Subtract Student current grade level from Grade Span End grade: Grade Span End grade - Student current grade |
|
| Step 2 |
If the value above is zero then set remaining terms = enrollment year terms. Else: |
|
| Step 3 |
Find required_terms_year in the School Configuration NOTE: NEED TO ADD THIS FIELD TO CONFIGURATION PAGE |
|
| Step 4 |
Multiply number of required terms times the number of remaining years in the grade span required_terms_year X (Grade Span End grade - Student current grade) |
|
| Step 5 |
Add Student Enrollment year terms to above: Student Enrollment year terms + required_terms_year X (Grade Span End grade - Student current grade) |
|
| END |