Skip to main content

2. Student Record Intake Functions

Student Fields Not started

2.0 Set Intake Value Defaults - COMPLETED


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

Creating student logins will be done in a separate step after student record created.

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 start 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 when the student record is created.
  Step 1

Student remaining years =  School Configuration highest_grade_level - Student current start 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 of start year based on start and end dates.

Step 3 Add Student remaining years to start year 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.

Find the grad year end date.


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.

Use grad year end date, calendar functions will update the year end date based on the school term associated end date when there is a change.

END

Student Fields Not started

2.3 Find and Enter Student's School Start Term - COMPLETED


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 ordinate of the 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. (Then quit logic)

Else:

Find the start year's child School Term record.


Step 3

Find the ordinate of the School Term linked to the Student("ordinate start")

Based on the related  Term Label flag, flag = official end, find the ordinate of the last school term in the academic start year.


Step 4

Find the ordinate of the School Term record in the same Academic Year = same as Student school start term and has a linked Term Label record with flag = official end term. ("ordinate end")

Enrollment year terms = end year ordinate - ordinate of school start term + 1


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
 
Introduces a Restriction

This method assumes that there are no interim terms that are optional, that the optional terms are either at the beginning or end of an official academic year. 

There is one use case  where this assumption will fail, the 'intersession' where students can optionally enroll in a short period between terms, usually over the Christmas holiday to make up work that was not completed.

We will not design for intersession, and only allow optional terms to be before or after the standard academic year. This use case is not very common.

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 in 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 grade 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

DONE

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