Completion Engine
RIO Education Completion Engine and Completion Engine triggers
Table of Contents
Completion Engine
Course Connection
When a Course Connection is created/updated and meets the following criteria:
- Release Grade = checked.
-
Academic Program NOT EMPTY. (Note: As of v3.9.1, the completion engine respects the Grading Academic Program defined in the related Course when the Grade Setting Type is set to "Academic Program". See also: Course Connection.)
-
Program Enrollment NOT EMPTY.
- Course Offering NOT EMPTY.
The completion engine will check for the attendance percentage of the related Session Connection against the minimum attendance percentage required in Session. If a student doesn’t fulfil the minimum attendance percentage, the following will occur:
- If there is a grade setting with “FA - Fail Absent” grade value, the Course Connection will be updated to “FA - Fail Absent”.
OR
- An error “Attendance requirement not satisfied. Grade Setting record for Absent not found!” will be prompted.
Note: From v3.3, Fail Absent logic in completion engine will only respect Session Connections with the enrollment status = Enrolled and Completed.
If qualified, the automation will copy the credit points from the related Course to Credits Attempted field.
Then, the engine will compare the Grade of a Course Connection against the grade range of target Grade Settings (Educational Institution/Department/Program). If the grade matches one of the grade range, the grade result and grade point of the related grade setting record will be copied to Course Connection.
Note: An error message "The grade setting xx (Id: xx) is missing grade range" will be thrown when a grade setting without a grade range is encountered in the Completion Engine.
If the Course Connection’s grade result is pass, the credit earned will be updated as same as credit attempted. If fail, the credit earned will be zero. If the grade result is empty, the credit earned and credit attempted will be set to null.
When Course Connection is updated with result, this will trigger an update on PE Group to perform a series of updates to Program Enrollment.
If the status is completed and grade result is fail, a new Course Connection will be cloned automatically for a student to enroll for retake next term. This will also clone the related Course Connection Requirement across to the new Course Connection.
If the Course Connection “Enrollment Status” = Completed and grade result is pass, the engine will update all the Course Connection Requirement record where Course ID = Course Connection.Course ID with Requirement Met = checked.
When this happens, the affected Course Connection will re-evaluate Requirement Logic against the Course Connection Requirement. If the requirement is met, it will update the related Course Connection “Requirement Met” = checked. This will open the Course for student enrollment.
PE Group
When a Course Connection is updated, the completion engine will roll up the following fields from the related Course Connections:
- Credits Attempted = Credits attempted from each Course Connection.
- Credits Earned = Credits earned from each Course Connection.
- Courses Completed = Course Connections with Enrollment Status = "Completed" (and a passing grade).
Then it will recalculate the Completion Progress one of two ways, based on the following logic:
- If Credits > 0 :
- Completion Percentage = Credits Earned / Credits:
- (Credits was copied across from the Plan Requirement (Group) when the PE Group was first created).
- Completion Percentage = Credits Earned / Credits:
OR
- If Courses required > 0 :
- Completion Percentage = Courses Completed / Courses required.
- (Courses required was copied across from the Plan Requirement (Group) when the PE Group was first created).
- Completion Percentage = Courses Completed / Courses required.
Once the completion percentage is calculated, it will then be used to decide the PE Group Status as below:
Completion Percentage | PE Group Status |
0 and below | Not Started |
0 but has at least 1 Course enrolled | In Progress |
1 - 99 | In Progress |
100 and above | Completed |
Program Enrollment
When PE Group is updated, the completion engine will recalculate the completion percentage based on the ratio of contribution of each PE Group.
To standardize the ratio calculation for the two different completion types (Credits Earned and Courses Completed), we need to calculate the effective credits total for each PE Group.
- PE Groups based on Credits Earned are very simple.
- Credits Total = Credits.
- Credits Total = Credits.
- PE Groups based on Courses Completed need to calculate the effective credits, as these courses are often worth 0 credit points.
- Credits Total = Courses required x Credits equivalent per Course.
The “Credits Earned” will be summed up for each PE Group and as a total for a Program Enrollment too.
For example:
PE: total = 250 (peTotal)
- PE Group 1: Credits = 100.
- Total = 100 (pgTotal).
- Total = 100 (pgTotal).
- PE Group 2: Courses required = 10, Credits equivalent per Course = 10, (10 x 10).
- Total = 100 (pgTotal).
- Total = 100 (pgTotal).
- PE Group 3: Credits = 50.
- Total = 50 (pgTotal).
Then the ratio will be calculated by: pgTotal / peTotal
Example outcome would be:
PE: ratio = 1
- PE Group 1: ratio = 0.4
- PE Group 2: ratio = 0.4
- PE Group 3: ratio = 0.2
Once the ratio is determined, the percentage completion of Program Enrollment will be calculated:
Sum ( PE Group Completion Percentage x PE Group Ratio )
Other than completion percentage, the following Program Enrollment fields will be calculated as well:
- Grade Points = sum of all Course Connection Grade Points.
- Credits Attempted = sum of all Course Connection Credits Attempted.
- Credits Earned = sum of all Course Connection Credits Earned.
- GPA = Calculated from Course Connections (see here for formula and here for calculation example).
If all are completed and Program Enrollment percentage completion is 100%, the engine will mark the program enrollment as completed.
Completion engine triggers
Generally, RIO Completion Engine triggers refer to triggers that run to update a student's program completion progress. These are also known also known Program Enrollment completion triggers.
1. rio_ed.PREN_CompletionEngine_TDTM - Completion logic processing for the Program Enrollment and PE Group Status objects.
2. rio_ed.CSEN_PEDCompletionEngine_TDTM - Updates the related PE Discipline Requirement records when Courses are passed/credits are earned.
3. rio_ed.PEDR_PEDCompletionEngine_TDTM - Updates the related PE Discipline records when child PE Discipline Requirement records are updated.