1. Calendar Functions - Complete
| Calendar Functions | Not started |
1.0 Calculate field Values for Calendar Tables |
| Purpose | After the user enters vacation days, and configures start dated, PEMS calculates the number of days in a term. | |
| Trigger | Recalculate anytime there is a change to any records used to make these |
|
| Conditions | Initial configuration was completed. | |
| Sequence |
These functions may be run anytime there is a new school term record. need some way to limit how many times this is recalculated. |
|
| Step 1 |
For each new School Term record, calculate the number of calendar days between the start and end dates, excluding the days specified in the associated Term Label record. Enter result in School Term |
|
| Step 2 | For each School Term, count the number of associated Vacation Days records with status = activated. | |
| Step 3 | Calculate School Term school days by subtracting the number of vacation days found above from the school days, enter as School Term calendar days | |
| Step 4 | Academic Year school days is the sum of the |
|
| Step 5 | Academic Year calendar days is the sum of the |
|
| END |
| Calendar Functions | Not started |
1.1 Automatically Create Academic Years Past and Future |
| Purpose | Automate creating new academic future academic records when the user-defined promotion date has been reached. |
|
| Trigger | Promotion Date (school configuration) |
|
| Conditions | Initial configuration was completed. | |
| Sequence | This function must run before more school terms can be created. | |
| Step 1 | Find |
|
| Step 2 | Create one more academic year record | |
| Step 3 |
Set field values: Sequence = last record sequence + 1 Start year = last record start year + 1 End year = last record end year + 1 Academic year name - concatenate start year - end year start date = last record start date + 1 year end date = last record end date + 1 year. set status = future |
|
| END |
| Calendar Functions | Not started |
1.2 Automatically Update Status of Academic Years. |
| Purpose | Academic 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. | |
| Trigger | Managed by the Promotion WorkFlow | |
| Conditions | There can be only one current year. | |
| Sequence | This step is best triggered after the next future record has been made and in accordance with the PROMOTION workflow. | |
| Step 1 | Set previous current academic year status to 'past' | |
| Step 2 | Set next year, based on ordinate to current. | |
| END |
| Calendar Functions | Not started |
1.3 Automatically Create School Term Records |
| Purpose | Automate student term records creation as new academic years are added. | |
| Trigger | When a new |
|
| Conditions | ||
| Sequence | This step is best triggered after the creation of a new academic year record. |
|
| Step 1 | Find the first term label record with Flag = official start term. | |
| Step 2 | Create a new school term record | |
| Step 3 |
Set Term Start Year and Start Date Academic year: start date => term: start date Academic year start year => term: start year |
|
| calculate estimated dates, terms may run over an calendar year | Step 4 |
Calculate Term End Year, Term End Date If Term Label "End in same year" = true then: Term End Year = term: start year Term End Date = Term: start year; Term label:end month: Term Label End day If Term label "End in same year" = False then: Term End Year = term: start year + 1 Term End Date = Term: end year; Term label:end month: Term Label End day |
| Step 4 |
Set other term field values: Name - concatenate term label name and term: start year status = future term label => related term label record academic year => related academic year record term label flag => term flag |
|
| Step 5 | If term label: flag not equal to "official end term" then go to the next term label record, increase term label: sequence by one. | |
| Ste |
Set Term Start Year and Start Date If Else term start year = previous term (ordinate -1) end year + 1 |
|
| Step 6 | Continue to |
|
| Step 7 | Set other term fields per step 4 | |
| END | Review 1.3 Use Case Test |
Use Case Test 1.3 3 Automatically Create School Term Records
Classic Semesters I |
||||||||
| Term Label Start Month | Term Label End Month | Term Label Flag | Term Label End in Same Year | School Term start year | School Term end year | |||
| Academic Year | 9-2023 | 5-2024 | ||||||
| Fall | 9 | 1 | Official Start Term | false | flag = official start term start year so start year = academic start year = 2023 | pass | "end in same year" = false so term end year = term start year + 1 = 2024 | pass |
| Spring | 1 | 5 | Official End Term | true | previous term label record (sequence -1) end month </= term label start month, so term start year = previous term (ordinate -1) end year = 2024 | pass | "end in same year = true so term end year = term start year = 2024 | pass |
| Summer | 6 | 8 | true | previous term label record (sequence -1) end month </= term label start month, so term start year = previous term (ordinate -1) end year = 2024 | pass | "end in same year = true so term end year = term start year = 2024 | pass | |
Classic Semesters II |
||||||||
| Academic Year | 8-2023 | 5-2024 | ||||||
| Fall | 8 | 12 | Official Start Term | true | flag = official start term start year so start year = academic start year = 2023 | pass | "end in same year" = true so term end year = term start year = 2023 | pass |
| Spring | 12 | 5 | Official End Term | false | previous term label record (sequence -1) end month </= term label start month, so term start year = previous term (ordinate -1) end year = 2023 | pass | "end in same year" = false so term end year = start year + 1 = 2024 | pass |
| Summer | 6 | 7 | true | previous term label record (sequence -1) end month </= term label start month, so term start year = previous term (ordinate -1) end year = 2024 | "end in same year" = true so term end year = start year = 2023 | pass | ||
Classic
|
||||||||
| Academic Year | 8-2023 | 5-2024 | ||||||
| Fall | 8 | 12 | Official Start Term | true | flag = official start term start year so start year = academic start year = 2023 | pass | "end in same year" = true so term end year = term start year = 2023 | pass |
| Spring | 1 | 5 | true | previous term label record (sequence -1) end month NOT </= term label start month, so term start year = |
pass | "end in same year" = true so term end year = term start year = 2024 | pass | |
| Summer | 6 | 8 | Official End Term | true | previous term label record (sequence -1) end month </= term label start month, so term start year = previous term (ordinate -1) end year = 2024 | pass | "end in same year" = true so term end year = term start year = 2024 | pass |
| Calendar Functions | Not started |
1.4 Automatically Calculate Vacation Days In Terms and Academic Years |
| Purpose | Academic 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. | |
| Trigger | Managed by the Promotion WorkFlow | |
| Conditions | There can be only one current year. | |
| Sequence | This step is best triggered after the next future record has been made and in accordance with the PROMOTION workflow. | |
| Step 1 | Set previous current academic year status to 'past' | |
| Step 2 | Set next year, based on ordinate to current. | |
| END |