Data Load Considerations for Importing Course Connections
Considerations for importing Course Connections with minimum fields
Table of Contents
Overview
When doing a data load into RIO Education, one of the key records to import is the student's past results/grades. These will be loaded into the EDA object called Course Connection, and at a minimum, linked to a Program Enrollment record for the student.
Course Connection records are used to track current enrollments into Courses in RIO as well as to hold these historical results.
Scenarios / Use cases
Are Course Offerings required?
Suppose we are migrating legacy data that do not have Course Offerings.
We can load historical results without needing to set all these historical Course Offerings up. Note that the historical Term field on the Course Connection should be set in this case to allow historical results to be grouped by Term.
Also take note that as of v3.11, populating the Historical Course ID field in the Course Connection will also automatically fill in the fields for Course, Plan Requirement, and PE Group. The credits earned/grade points will also be rolled up through the PE Group and PE.
To achieve this, the trigger CSEN_PopulateFromCO_TDTM needs to be active/enabled.
Since Course Offerings are optional, do we need to setup Plan Requirements?
Yes, it is needed so that this legacy Course Connection's grade and credits earned will show up in the result page when a student is at the student community page.
Plan Requirements are needed because Course Connection's Course and credits, etc. are determined by Plan Requirement (Course) on Course Connection.
Current students with historical results to import vs historical (completed) students
When current students progress through a Program in RIO, they will enroll in Courses, based on a Course Offering for that Course. They will enroll in a particular offering, that is linked to a Term, and that in turn is linked to their own Program Enrollment Pathway (PE Pathway object).
The Course will also be linked to their PE Group object, and this is used to calculate the progress through the Program.
It is important when importing Student results/grades from a previous SIS that current students (who are still enrolled and need to complete) get the historical Course Connections correctly linked to their PE Pathway and PE Group records, as well as the Plan Requirement course link.
For Students who are historical (Completed the program) the link to the PE Pathway and PE Group is less important. We have a text field that we can input the Term (Historical_term) that they completed the grade in so that it will display on Transcripts etc.
It is possible to import Course Connections with minimum fields depending on how they will be utilized in the system.
Should I run the RIO Completion Engine triggers?
That depends. Of course, the Completion Engine triggers handle a lot of things automatically, Including:
- Updating the overall completion of the Program through the linked PE Groups.
- Updating GPA at the Program Enrollment level (and the Program Pathway - term by term GPA).
- Updating the prerequisite met checkbox on related Course Connections (mandatory courses, that have pre-created Course Connections set when the Program Enrollment is created rely on the completion engine pre-requisite logic to have been run).
- Setting the grade value, credits earned, etc. in the Course Connection (these can be set manually in the data load).
If you do not run the Completion Engine triggers then those details will need to be handled by the data load.
Recommendation
- For completed students do not run the completion engine, but upload the completed GPA, etc. from the data in the source system. The completion engine can be disabled for certain records using Filtering in the TDTM.
- For in-progress students (should be a much smaller number) enable the completion engine triggers.
Do I need to consider batches for data migration if I chose to run the Completion Engine triggers?
Yes, data will most likely need to be loaded in batches to support the triggers running without hitting governor limits in Salesforce. Batches should try to include Course Connections in the correct order (date/term) and have all student records grouped together if possible.
Here is a checklist or matrix on data load considerations for importing Course Connection.
Note: Recommended field to map but not limited to the following. Please consider mapping others that are relevant to the specific school requirement.
Program Enrollment Type |
Complete |
Pending |
Newly Enrolled |
RIO Ed Version |
Supporting Notes |
|
Course Connection Type |
Total Historical |
Complete |
Current |
Current |
||
Contact |
Yes | Yes |
Yes |
Yes |
All |
hed__Contact__c is recommended, this is a link to student (contact) record. RecordTypeId=Student / Faculty. |
Contact's Academic Program |
Yes |
Yes |
Yes |
Yes |
All |
|
Program Enrollment ID |
Yes |
Yes |
Yes |
Yes |
All | hed__Program_Enrollment__c is required, this is a link to student Program Enrollment record. |
Enrollment Status |
Yes |
Yes |
Yes |
Yes |
All |
Ensure this is "Completed" when the course connection data will be marked with "Release Grade". rio_ed__Enrollment_Status__c should be set based on data from previous SIS, e.g. if withdrawn courses are recorded, then the Withdrawn status should be set, Completed, and current etc should be respected from the data being imported. |
Course Offering ID |
* | * | Yes |
Yes |
All |
* If grades were to be calculated using RIO Education's Completion Engine, it is recommended that "Course Offering ID" is populated. |
Historical Term |
Yes |
Yes |
2.10 | rio_ed__Historical_Term__c is optional, fill this for Completed Course Connections where you don't need to link Course Offering. If you plan to link Course Offering, leave it blank. |
||
Historical Course ID |
Yes |
Yes |
3.2 | rio_ed__Historical_Course_ID__c is optional, fill this for Completed Course Connections where you don't need to link Course Offering. If you plan to link Course Offering, leave it blank. | ||
Historical Course Name |
Yes |
Yes |
3.2 | rio_ed__Historical_Course_Name__c is optional, fill this for Completed Course Connections where you don't need to link Course Offering. If you plan to link Course Offering, leave it blank. |
||
All relevant grading fields (i.e. Grade, Grade Value, Grade Result, Grade Points) |
Yes |
Yes |
All |
hed__Grade__c is required, is the actual grade a student earns. rio_ed__Grade_Result__c is auto-updated from Grade Setting if using Completion Engine triggers, can be set manually. |
||
All relevant credit fields (i.e. Credit Attempted, Credits Earned) |
Yes |
Yes |
All |
hed__Credits_Attempted__c and hed__Credits_Earned__c are auto-updated from Plan_Requirement_Course if using the Completion Engine triggers, can be set manually. | ||
PE Group |
Yes | Yes |
Yes |
Yes |
All | rio_ed__PE_Group__c is recommended to be mapped for any enrollments especially those that are not yet complete, as completion of the groups rely on this link in the Completion Engine. |
Plan Requirement (Course) |
Yes |
Yes |
Yes |
Yes |
All |
rio_ed__Plan_Requirement_Course__c is required if you plan to use Completion Engine and grade settings to dynamically assign grade values and set completion progress. Having legacy course that may no longer in the program plan? Take a look at the legacy courses no longer in program plan section below. |
PE Pathway |
Yes |
Yes |
All |
Only if current / active Course Connections have clear indication on which pathway term they're at. See also this section for more information. |
||
Release Grade |
Yes |
Yes |
All | See Release Grade consideration section here for more information. |
Preparing PE Pathway considerations and linking with Course Connection
Consider not linking a PE Pathway for a historical/completed Course Connection record and not needing to load every single PE Pathway (from start) on Program Enrollment where necessary. Grades and result can be accessed through the My Result page and need not be accessed through Pathways.
For pending/active Program Enrollment, consider loading PE Pathways from the next term onwards. For example, the student may be on 6th term and the program has 9 terms. The PE Pathway for the program enrollment can start from term 7 followed by 8 and 9.
rio_ed__PE_Pathway__c is optional, recommended for any enrollments that are not yet complete, as results in the Student Community are filtered by the pathway they were completed in.
In some schools, multiple pathways (part-time, full-time, standard, etc.) may exist. When data loading PE Pathways, it is recommended to also consider pointing the bulk loaded records with the correct "rio_ed__Program_Pathway__c" in this case.
This will affect the recommended Courses to show up within the Student Enrollment Wizard component. Please work/agree with the school to determine the pattern of identifying the Program Pathway for a loaded Program Enrollment.
Consideration when checking the "Release Grade" checkbox
- rio_ed__Requirement_Met__c is auto populated if Completion Engine triggers are run, but may need to be calculated and set manually otherwise.
- Check "Release Grade" checkbox only if Course Connection is classified as graded with pass/fail/credit transfer/RPL. Course connections which are withdrawn/cancelled would not need this checkbox checked.
- Consider checking this checkbox only after all Course Connections are loaded successfully and necessary fields or back and forth update is done.
- This will also allows focusing on releasing grades against the specific set of Course Connection data that qualify to be marked with "Release Grade".
- This will also allows focusing on releasing grades against the specific set of Course Connection data that qualify to be marked with "Release Grade".
- When this field is checked, RIO Education performs the necessary grade and credit calculation based on Grade Settings setup and defined for the specific Course Connection. If Completion Engine is deactivated when this checkbox is checked, no calculation will be done.
NOTE that for the calculation to take place, the course connections need to have Course Offering ID, PE Group, and Plan Requirement (Course) linked up successfully.
- Only Course Connection with "Grade Result"="Credit Transfer" /"RPL" doesn't need Course Offering ID to be linked up.
- Checking release grade checkbox while Completion Engines are activated is recommended if the school has not change grading scheme before. Or at least, the data that needs to be loaded have not gone through the grading scheme changes period.
- There may be a situation where there are historical data that may be part of the historical grading scheme instead (grade scheme that is not setup within RIO Education). Consider loading grade and credit information plus "Release Grade" when Completion Engine is turned off (temporarily). The following consideration is to be taken into account too.
For "Completed"/"Total Historical" Program Enrollment
- Consider updating program status, grade and credits manually at Program Enrollment level without going through Completion Engine. Completion Engine at the Program Enrollment level would need to be turned off (temporarily) in order to do so.
For "Pending" Program Enrollment
- This may require the first round of load to also have the grade and credits to be populated at Program Enrollment level. PE Group credits earned need to be loaded too.
- When the latest grading exercise is performed against "current" Course Connections (i.e. next term), RIO Education will recalculate all that was loaded previously (without altering) as well as the latest graded ones.
- There may be a situation where there are historical data that may be part of the historical grading scheme instead (grade scheme that is not setup within RIO Education). Consider loading grade and credit information plus "Release Grade" when Completion Engine is turned off (temporarily). The following consideration is to be taken into account too.
What if I choose not to run the Completion Engine?
Note: This is subjective as different people may have different approaches.
You have a scenario where you have a Course Connection that needs to skip the Completion Engine trigger. Introduce a checkbox to skip RIO Completion Engine:
- Introduce a checkbox.
- Introduce a formula checkbox field (this may not be necessary which is why it can be a very subjective topic).
- Locate the specific TriggerHandler and apply filter based on #2. If you are not using #2, you can just filter it based on #1.
The TriggerHandler:
#2 is for a scenario where "if" there are other criteria which you need to skip the trigger too and it is not necessarily due to the checkbox in #1. So you can have the formula field to control that.
Does legacy graded Course Connection need to show up in Student Community (i.e. the result page)?
Does legacy graded Course Connection need to show up in Student Community (i.e. the result page)? If the answer is "Yes", then you need to be aware that in order for the grade information to show up in result page, the following criteria need to be met at the Course Connection level:
- Release Grade = TRUE.
- Enrollment Status = Completed.
- The PE Group's Plan Requirement need to match the Plan Requirement (Course)'s Parent Plan Requirement (which is a Group record type).
- NOTE: This is no longer necessary from RIO Education v3.8 onwards.
Legacy Courses no longer in Program Plan
There may be situations where the Course Connections to be loaded require to be linked with Plan Requirements (Course) which may not be part of the Program Plan. This may be due to legacy Program Structure that may have offered the Course, but in recent structures, the Course is no longer part of it.
From version 3.8 onwards, it is possible to link a Course Connection with a Plan Requirement (Course) that is not part of the Program Plan. For example, you can have a standalone Program Plan which hosts all of these "legacy" Courses, and have the Course Connection to link with these Plan Requirement (Course) instead.
The PE Group of the Course Connection, however, is recommended to be linked with a valid and existing PE Group, considering this record is one of the component which drives a student's Program progress.