Skip to main content

Create Set of School Terms - Updated!

Purpose

For every academic year, there needs to be a user-specified number of term records, so when a new academic year record is added, the program should automatically create the associated term records for that year.  The program knows how many term records to make, and how they should be configured from the records in the term label table.  

Term Labels

The user adds one “term label” record to represent each term in a general school year.  The number of records in the term label table equals the number of terms in a year. There are start days and start months fields in the term label records, but there are no actual years since the term label is general in nature and applies to any year. The Terms records are created using the infromation in the term label records.

Term labels records can not be associated with a year since, so there can not be a date field in the term label records.

The term label sequence shows the order of the terms as the academic year progresses.

Terms (or School Terms)

Terms are a list of actual terms the school is/was/will be in operation.  They have a start date and an end date, and are associated with an Academic Year and a term label.  

The term sequence, the ordinate field,  continues from 1, the very first term in the system, continuously through all terms of operation.  These will follow the term start dates as the start dates will also indicate the order of the terms.

Setting the default term start and end dates

Information in the term label record and the academic years are used to set the default term start and end dates. The use may manually adjust these dates year to year, as the same date may fall on a Monday one year but a Tuesday the next year.  Setting the default term dates helps the user to pick an appropriate date for each term.

While th term record must contain the actual start and end dates, the term label record only contains a general start day and start month.  Academic Years generally cross over a calendar year, so the actual year of the term is difficult to figure out.

For this reason the following two fields are added to the Term label record:

Add the menu select fields "Start Year" & "End Year" to the term label table

For each of the fields ablove, menu options are the same:  Academic Start Year, Academic End Year

The user selects academic start year if the term begins in the same year as the academic start year or selects academic end year if the term starts in the same year as the academic end year.  The same applies to the end year.


 
Create (School) Terms

Based on the information in the Term Label table, Terms are automatically made for each academic year added to the school.  The term label records contain the sequence of terms, the names of terms, and the number of records indicated the total number terms.

For every new academic year record, PEMS makes a number of term records equal to the number of Term Label records and updates the ordinate of the terms to match the sequence of the term label records.

Make a new set of term records when an academic year is created

Key trigger is the creation of a new academic year record.

Create a term record and associate it to the academic year record and onethe term label record, continue until one new term record is made for each active term label record inwith flag = official start and status = active.  If no record is found, stop.

Set the database.(school) term ordinate to maximum term ordinate value + 1

If the term label start year field is set to 'academic start year' then use the academic year's start year field for the term start year.   If the term label start year field is set to 'academic end year' then use the academic year's end year field for the term end year. 

If the term label end year field is set to 'academic start year' then use the academic year's start year field for the term end year.   If the term label end year field is set to 'academic end year' then use the academic year's end year field for the term end year. 

Calculate the term record's start date from the  term label record “start day” and term label record “start month” and the academicstart year record.found above. 

Calculate the term record's end date from the  term label record “end day” and term label record “end month” and the academicend year record.found above.

Calendar days  - TBD

School days - TBD

Term Name = concatenate Term Label name and Term Start Year.

Set the Term FagFlag = Term Label Flag .

Set the term status = futurethe asstatus of the defaultassociated value.academic year. Ifnote: if the academicuser yeartiggers statusthis =automation past,mid thenyear, all terms will be set to current, regarless of actual status, the user will need to manually update thethem.

Find the next active term

label

Algorithmsrecord -with Howsequence equal to identify the correct calendar year:

Because the academic year record may or may  not span two calendar year, finding the start year and end year of each term is more complicated. Use the following logic.

  • If the Term Label “Start Month” is less than the Term Label “End Month” then the term starts and ends in the same calendar year.
  • If the Term Label “End Month”  is less than the Term Label “Start Month” then the term crosses over the new year.
  • Term Label records are sequenced  by the Term Label “Sequence” field. If the previouslast term label record (sequence + 1. If there are no records that meet this criteria, add 1 to the earliersequence term)value. has  Repeat.

    If the term label record flag value is "Offical End" and status = "active", then this is the last term record to be made.  

    Note: Add an startadditional monthexit greatercriteria thanas a back-up in case this loop goes on for ever, for example, if the startuser monthdid ofnot configure the next term label,label thenrecords both terms begin in the same calendar year.properly.