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
|
| 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
|
| 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 |
|
| Conditions | ||
| Sequence | This function |
|
| Step 1 | Student remaining years = School Configuration highest_grade_level - Student current grade level. note: remaining years does not include the student's |
|
| Step 2 | ||
| 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 |
|
| END |
Introduction
Student TableFieldsDescriptionNot started RemainingYears2.3
Theremaining yearsfield indicates how many years the student has left before leaving the school's highest grade level. This information is useful for financial forecasting. Remaining years is continually updated everytime the student completes a year.PEMS find the maximum value of grade level in the system = highest_grade_level.Note: the calculation below does not include the academic year in progress.remaining_years = highest_grade_level - current_grade_levelGraduation DateThegraduation dateis the end date of the last academic year the student will attend the schoolremaining_years = highest_grade_level - current_grade_level (same as above)sequence of last academic year = sequence of current academic year + remaining_yearsgraduation date = end date of last academic year (as found by the sequence above)
Student'sNote: In subsequent versions, there will be a manual override on remaining yearFind andgraduationEnterdate.
SchoolStudent FirstStart TermThestudentfirsttermisPurpose a field in the student table that has the name of theschool termthe student first attended the school. There is no parent/child relationship between terms and students because students are linked to student terms, which are linked to school terms. So this field is just a text field.Based on the student's start date, PEMS finds corresponding school term, and enters the name of the term in the Student First Term field.The start date of the school term is equal to or beforethe student startdatedate, ANDauto-enter theend date of the term is equal to or after the start_date
entry for the user.student's first term: find the school term such that: school term start date >/=student startdateterm, theAND school term end datepurpose is=/>to reduce dataTrigger When new student start dateNote: The start termrecord isconstantlyenteredrecacluatedoruntillwhen the student start datepasses.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, PEMS calculatescalculate how many terms the student attends in their first year attending the school.Basedonstudent'sstartTrigger date,When PEMSnewfindsstudentthe corresponding school term, thisrecord isthe described above.There is a term label record associated to this first school term, we will use the sequence of the related term label record. The seuqence of the term label record tells us if the student joined in the first, secondentered orthird, etc. termFind the student's first school term based on student start date (same step as above)Find the sequence of the term label record associated to the school term found above, this will be called "sequence of term label of start term"Count the total number of term label records that are marked "required", this will be called "required terms"enrollment year terms = "required terms" - "sequence of term label of start term" + 1Note: The enrollment year terms are constantly recacluated untillwhen the student start datepasses.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 Total*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
TheEnrollmenttotalGrade SpanPurpose Calculate the remaining terms in the grade span. This is used for assigning plans. Plans can not be caculatedassignedunlessthat require more terms than remaining n thenumbergradeofspan.termsTrigger When new student record is entered and only once on student intake.
note: this field is updated in the
enrollmentadvancementyear has been calculated.Total remaining terms = (enrollment year terms) + (remaining academic years) x (required terms)The calculation above give us theinitalremaning terms,workflow, but itwouldwillonlyuseupdateverywhenadifferentfulllogicacademicthan this initial valueConditions requisite fields are not empty. Sequence This function runs after 2.4, find enrollment year isterms.completedandStep 1 Find the remaining academic years
is re-calculated. Soin theexpressiongrad span: Subtract Student current grade level from Grade Span End grade:Grade Span End grade - Student current grade
Step 2 If the value above
willisnotzeroshowthenthatsettheremainingstudenttermscompleted=aenrollmentfallyeartermterms.Else:
Step 3 Find required_terms_year in the
middleSchool ConfigurationNOTE: NEED TO ADD THIS FIELD TO CONFIGURATION PAGE
Step 4 Multiply number of
the year.When a student has completed arequiredterm,termsa term should be subtracted fromtimes thevaluenumber oftotalremainingterms.yearsWe know when a student has completed a term byin theschoolgradecalendar. This is purely a calendar function since students complete terms even if they fail all their classes.When current date is > the current school term end date, then Total remaining terms (for all students) = Total remaining terms (for all students) - 1spanNote:required_terms_yearApplyXthis(GradecalculationSpanonlyEndforgradereuqired-terms,Studentwecurrentdograde)notwantStep 5 Add Student Enrollment year terms to
subtractabove:oneStudent
termEnrollmentforyearoptionstermsterms.+ required_terms_year X (Grade Span End grade - Student current grade)END The user should be able to override the values at any time.