Skip to main content

3. Create Student Term Records - Updated

Function Objectives

  • Make a new set of student term records for a new student until the end of the grade span.
  • Make a new set of student terms when a student progresses into a new grade span.
  • Make one student term record for every term the student is planning to attend in the associated grade span.

 

Information Required for this Function

From the student table, we know the following fields:

  • Student's school start term  - the school term the student starts in
  • Grade level - the students current grade level
  • Grade span - the planning horizon for that student based on their grade level
  • Grade span end grade - the end grade field from the associated grade span record

From the school term we know the following fields:

  • Ordinate - the sequence of school terms, adding 1 to the ordinate finds the next record in the sequence
  • Flag field - official end term is referenced from the associated term label record
  • Academic year records until the end of the grade span
  • School Term Records until the end of the grade span

Grade Spans

The student terms records are created from the point the student enters the school until the end of the student's assigned grade span. Grade spans are automatically updated when the student's grade level increased to land in a new grade span. When the student enters a new grade span, this function is run again.

For example,  If the student is promoted from grade 5 to grade 6, and grade 6 is in a different grade span (like US middle school) then this change will trigger that all the student term records will be created until the student has completed 8th grade.  The student terms for the next grade span (high school) will not be created until the student is promoted into the next grade span.


Student Term's Student Sequence

The student term student sequence stores the sequence of the records in the order the student will take them.  Student Sequence is a continuously increasing integer value from 1, the first term at the school, until the student has graduated from all available grade levels. 

For example, a student enters the fall term of kindergarten, the school has defined two required school terms. 13 years later, the student's last term (13x2 = 26) will have a student sequence of 26. 


Student Term at_grade

The student term must store the predicted grade level of the student for that specific term in the at_grade field. At first, the at_grade is the starting grade level of the student, after the end of the academic year, the student's at_grade will increase.

The at_grade is NOT the same information as the student's current grade level. Only in for the current term will the at_grade be the current grade level.


Optional and Required School terms

Schools may configure optional terms, for example a summer term that students may or may not take.  Student terms are made for both optional and required terms.

Student Term Name

The student term name captures the most relevant information, the school term label, the student information, and the grade the student was at during that term. Student Term name is default field value the user may not change.

Set the student term name to concatenate: Associated Term Name, Associated student initials, Student Code, “GL” grade level number (use at_grade value), example from Kassidy’s Record: Spring 2023 KKB14 GL3


Calendar FunctionsNot started

Discussion

1.2 Automatically Update Status of Academic Years.


PurposeAcademic Year records have a status of current, past, or future, update the status of the records automatically when the user-defined promotion date has been reached.

TriggerManaged by the Promotion WorkFlow

ConditionsThere can be only one current year.

SequenceThis step is best triggered after the next future record has been made and in accordance with the PROMOTION workflow.

Step 1Set previous current academic year status to 'past'

Step 2Set next year, based on ordinate to current.
END
 

 

For New Students

Key Trigger: New student record added to the student table.

Find the school term with the same name as that in the student start term field. Store the ordinate of the school term record. Note: From the student start date, the school start term has already been determined.

Create a student term record and set the student sequence to 1.

Associate the student term record with the school term record found above and the student

Set the at_grade field = student's current grade_level

Check the associated school term record's flag field, if the flag field value is "official end" then at_grade = previous value + 1

Check the new at_grade value. If the new at_grade value is greater than the student's grade_span's end grade, then stopnote: continue if the new at_grade value is equal to the end grade, this representst the last year of the grade span.

Find the next school term with ordinate = last school term ordinate + 1. 

Create a student term record and set student sequence = last student sequence + 1.  

Associate the student term record with the school term record found above and the student

Set the at_grade field in the student term record to the latest value 

Check the associated school term record's flag field, if the flag field value is "official end" then at_grade = previous value + 1

Check the new at_grade value. If the new at_grade value is greater than the student's grade_span's end grade, then stop.  Else repeat.

For Students being promoted into a new grade span

When a student is promoted from one grade span to another, PEMS will make the student term records associated with the new grade span.

Key Trigger: Student grade span has changed.  

Find the student's student term with the maximum student sequence, this is the last student term record created. Store the studen term record's student sequence. Store the ordindate of the associated school term record. 

Create a new student term record, set the student sequence the the maximum value (found above)+1 (create the next sequencial student term)

Associate the new student term record to the school term with ordinate equal to the stored value + 1. (the next sequential school term)

Set the at_grade field in the student term record to the student's current grade level

Check the associated school term record's flag field, if the flag field value is "official end" then at_grade = previous value + 1

Check the new at_grade value. If the new at_grade value is greater than the student's grade_span's end grade, then stop.  

Find the school term record with ordinate = last value + 1. Set the student sequence to last value + 1. Repeat until at_grade is greater than the student's new grade span end grade.


 

Trigger to increase the at_grade

When a student term is created, the record is associated to a school term, which ishas associatedbeen linked to athe term label record. If that term label record is flagged (flag field) as the official end term of the school year, the student's grade level will increase by one.  WithAt the completionend of the officialschool endyear, term,students theincrease studentin isgrade promoted,level, and so the at_grade value increases for the next student term. 

Determining the end of the grade span

A student is at the end of a grade span when their grade level is promoted to the next grade level that falls into the next grade span. The predicted grade level is stored in the student term at_grade field.  When the (at_grade field value + 1) is greater that the lastend grade level in the grade span, then the algoritymfunction doesends notand makeno thenew student termterms record.are created.

So if the student's predicted at_grade is greater than the end grade of the associated grade_span, then the student's predicted grade level exceeds the grade span, student term records do not need to be created for the next span.

Potential

 

ordinatefieldsoftheschooladdress exist

Start-date

change-until
3. Create Student Term RecordsNot started

3.1 Automatically Create Student Term Records for Errors

New

IfStudents the


Purpose After a new student has been added, create student term records do not increase sequentially by one, then program will not find the school term that the student term must be assoicated to.

If there is no term label desingated at the official end term, then the program does not know to increase the grade level and will never get tountil the end of the grade span

span.

Pre-existingStudents recordscan -not ifbe some students terms have already been created, for exampleenrolled in ourclasses dataunless migration,there thisare automationstudent willterm notrecords.


TriggerManaged by the factNew thatStudent someIntake recordsWork alreadyflow.

Conditions No required fields are empty.

SequenceThis function follows 2.0 functions during student intake work flow
Start with the start date has passed in time, the start date may be changed for incomming students.  The fields will recalculate the firstschool start term associated to the student in function 2Step 1Find the ordinate of the student record school start term ("previous ordinate")

Step 2Create a new student term record

Step 3Associate new  student term record to student record school start term

Step 4Associate new student term record to the student 

Step 5Set the student term record at_grade field = student record current grade_level

Step 6Set student term record student sequence = 1
Check if the term is the last term in yearStep 7

If the student record school start dateterm slipsflag into= official end term, then

if last term, then increase grade levelStep 8at_grade = previous at_grade + 1
Check if new grade level exceeds grade spanStep 9

If at_grade is greater than student record grade span end grade, then STOP

Else

increase the ordinate to find the next school term.termStep 10New ordinate = previous ordinate + 1
Find the next school termStep 11Find the school term record with the new ordinate from above - the next term record
repeatStep 12Create a new student term record

Step 13Associate new  Thestudent term record to school term record with the new ordinate (step 10)

Step 14Associate new student term record to the student 

Step 15Set the student term record at_grade field =  new at_grade (step 8)

Step 16Set student term record student sequence = previous student sequence +1
check in the new school term is the end of the yearStep 17

If the school term record with the new ordinate flag = official end grade then STOP

Else 

 Step 18Go to Step 8
END

theyterms forthepast,priortosothattheir
3. Create Student Term RecordsNot started

3.2 Automatically Create Student Term Records for recurring students


PurposeWhen a student has advanced to a new grade span, create student term records until the end of the grade span. Students can not be enrolled in classes unless there are student term records.

TriggerManaged by the advancement workflow

ConditionsNo required fields are empty. There must be at least one student term record already created - from function 3.1

SequenceAfter a student has been advanced to a new grade level, this is part of the advancement workflow
Check grade level matches associated grade span.Step 1

If student record current grade level is not equal to student record grade span start grade then STOP

Provide user an error that student terms willcan neednot be made for this grade span.

Else

Find the  last student term.Step 2Find the last student term record, the student term record with the maximum student sequence field value.
Check the at_gradeStep 3

If the at_grade field in the last student term record is greater than or equal to the student grade span start grade then STOP 

Provide user an error note that terms can not be re-orderedmade sequentially.for this grade span.


Future Problems

Else

For

high

Step 4set at_grade = student current grade level
Find the ordinate of the associated school students,term Step need5 Find madethe upordinate of the school term record associated to the last student term record found above.

Step 6Create a new student term record

Step 7Associate new  student term record to school term record

Step 8Associate new student term record to the student 

Step 9Set the student term record at_grade field to at_grade

Step 10Set student term record student sequence = sequence
Check if the term is the last term in yearStep 11

If the student record school start term flag = official end term, then

if last term, then increase grade levelStep 12at_grade = previous at_grade + 1
Check if new grade level exceeds grade spanStep 13

If at_grade is greater than student record grade span end grade, then STOP

Else

increase the ordinate to find the next school termStep 14New ordinate = previous ordinate + 1
increase the sequence for the transcriptnext recordsstudent (equivalentterm recordStep 15New sequence = sequence + 1
 Step 16Find the School term record with the new ordinate

Step 17Go to enrollmentStep records)6
END
 enrollment
reocrds will show these courses taken.  This function is not needed for K8 students.