# Calendar Module



# Academic Years Table

**[Academic Years](https://cs.studianova.org/admin/academicyears)**

### Calendar Module Data Relationship

<div drawio-diagram="41"><img src="https://bsa.lynops.com/uploads/images/drawio/2024-01/drawing-5-1705461466.png" alt=""/></div>

### Academic Years Table

An Academic Year record represents a single year the school is in operation. It has a calendar start date and end date. There is one record for each year in operation. The [Programs of Study](https://bsa.lynops.com/link/89#bkmrk-page-title) module requires sufficient academic year records to plan out the courses students will take until they graduate.

When a student transfers into Studia Nova, the student's previous records need to be [articulated](https://bsa.lynops.com/link/176#bkmrk-page-title), which means the process that one school goes through to award credit to the student for taking classes at another school. Therefore, there needs to be sufficient past academic years so that any new student's previous classes can be entered in the year they took them.

<p class="callout info">Future academic years are required.</p>

<p class="callout info">Past academic years are required.</p>

Academic Years have a status field with options of past, future, or current. Also, based on the total number of vacations days, the academic year record calculates the total days in the academic year. This is important since there are many regulations that specify the total number of days in an academic year.

### Fields

- The user enters year name, start year, end year, start date, end date, and sequence.
- PEMS calculates school days, vacation days.
- PEMS updates the status of the year based on the calendar.


### Action Items JAN 2024

<p class="callout danger">4-MVP | ADVANCEMENT | Automatically create a new academic year record on the promotion date (school configuration variable)</p>

<p class="callout danger">4-MVP | ADVANCEMENT | Automatically update current and next academic year status.</p>

{{@99#bkmrk-calendar-not-started}}

# Terms Table

**[Terms Table](https://cs.studianova.org/admin/terms)**

### Relevent Topics

{{@90#bkmrk-a-term-is-the-divisi}}

{{@90#bkmrk-the-names-of-the-ter}}

### School Terms (Terms)

Academic terms may be semester, quarters, or any division that the school determines to break up a grading period of the academic year. A record is required for every term the school operates, and for past academic years in order to properly enter the a transfer student's transcripts.

Every class a student takes in taken is a specific academic term. Academic terms are related to the academic years, so they can not be created if there is no academic year in the system.

<span style="color: rgb(224, 62, 45);">In manual operation, The user links the term record to an academic year record by selecting the record. PEMS will implement automation so that school term records are auto-created.</span>


### School Terms Actual Start/End Dates

The user specifies a start date and end date for every academic year. In the **term label** record, the user specifies the general day and month that each term is starts and ends. Based on this information term school records are created. After these school term records are created, the user can adjust the specific days of each school term. Future records that have not been updated are considered estimated start days.

### Data Relationships

<div drawio-diagram="111"><img src="https://bsa.lynops.com/uploads/images/drawio/2024-01/drawing-5-1706383353.png" alt=""/></div>

The term record is related to a term label record. A term label record stores the name of the term, fall, spring and the attributes common to all terms.


### Fields

**Start year**, **end year** are the same as the academic year the term is related to, auto-entered by PEMS.

The **start date** and **end date** mark the actual dates the term starts and end. When new term records are automatically created The start date of the first term of the year is the same as the start date of the related academic year.

Using the term label record and the year of the term start date, the PEMS concatenates the **Term name**, "Fall 2020"

The **ordinate** is user-entered and is the order the terms take place in aggregate.

**Calendar days** and **school days** are calculated based on the vacation day records.

**Flag** is inherited from the term label record and is needed to help PEMS determine if the term is the first term of the year or the last term of the year. This is used in other algorithms in PEMS.

### Action items JAN 2024

<p class="callout danger">4-MVP | ADVANCEMENT| Auto-**create term records** every time a new academic year record is created per 1.3 Automatically Create School Term Records </p>

{{@99#bkmrk-calendar-functions-n-1}}

# Vacation Days Table

**[Vacation Days](https://cs.studianova.org/admin/vacationdays)**

A Vacation Day record is made for each and every day that school is not in session during any term the school is in operation. Vacation days are not events with a start date and end date, they are specific days. For example, the Christmas holiday may be one school break, but there may be up to ten regular school days not in session, so this required ten records to be entered.

A vacation day record is created for all reasons that school is not in session, having no bearing on why.

Week ends of days that school is not normally in session do not need to be entered as vacation days.

### Fields

**Day** - user enters the date of the vacation day.

**Status** - user selects activated or deactivated. This status allows users to turn off vacation days in the planning process with out deleting the information.

**Occasion** - user provides a description of why the day is off, such as thanks giving, etc.

**Term** - the vacation day to the term in which the vacation takes place.

### Action Items JAN 2024

<p class="callout danger">4-MVP | ADVANCEMENT | First, Victoria to enter vacation day records, there is no data in the system to perform calculations.</p>

<p class="callout danger">4-MVP | ADVANCEMENT | Related the school term to the vacation day record automatically based on its date and term dates.</p>

<p class="callout danger">4-MVP | ADVANCEMENT | Status - set default to 'activated'</p>

### Next Version

<p class="callout warning">Occasion - change from text enter field to drop down list so that days associated with an occasion may be grouped.</p>

<p class="callout warning">Upload a spreadsheet of Federal Holidays and/or update from an online database.</p>

<p class="callout warning">Create a calendar view like outlook to create vacation day records.</p>