Data Imports - Object: Enrollments

Follow

Applies to: Pro, Plus, & Enterprise Plans

Introduction

This article covers the bulk import of enrollments from a file, one-time or on a scheduled basis (normally only done one-time, as part of the initial implementation). The main Data Imports - An Overview article should also be reviewed for information on importing data to Absorb in general. For the purposes of this article, we'll assume that you are already familiar with managing enrollments individually in Absorb (more info on enrollments can be found here).

Note that Enrollments include both Course Enrollments and Curricula Enrollments. You can import one or the other or both in a single file.

Contents:

 

Quick Start

Here are the minimum pieces of input that we'll need from you in order to set things up:

Preparing the File

Ensure you've downloaded the most recent Absorb Data Mapping document from this helpdesk article. Refer to the Courses tab for a list of fields that can be included, including the minimum required fields and any dependencies. Once your file is created, please take a moment to validate the content by considering the items noted here.

Configuration

In addition to the generic configuration options available to all modules, the following configuration options are available for Users (mandatory marked with *):

General

It's notable that while most other modules allow for a delta file to be automatically generated (see our Configuration article, "Delta File?"), enrollments do not. The entire file is always processed.

Column Mapping

The Data Imports - Configuration article covers column mapping in general. You will need to specify which Absorb fields should be mapped to each column in the file based on column headers (e.g. The column with header "Course" should be mapped to the Absorb "Course External ID" field). The following fields/columns are mandatory for Enrollments:

  • User_ExternalId (or whatever the User Lookup property is)
  • Course_ExternalId (or whatever the Course Lookup property is)
  • IsActive
  • Status
  • DateStarted
  • DateCompleted

There are a few columns with special considerations:

IsActive
Absorb supports the concept of multiple enrollments in a single course or curriculum. The IsActive field is used to control this. Generally, if a client is planning to import only a single enrollment per User and Course pair then this value should be set to 1 (Active).

However, if a client’s User had taken the Course twice, then the client would likely set the oldest enrollment record to 0 (Historical) and the most recent enrollment record to 1 (Active). It is important to point out that historical enrollments are available for reporting only and are not displayed in the Learner UI. For this reason it is very important that enrollments that should be deemed as ‘active’ are correctly set to 1 when, and where appropriate. There are a few options for automatically setting this flag if desired - see the Enrollment Priority configuration 

Processing

Correlation Properties

User Lookup*
This property will be used to look up the user this enrollment is for. Options available:

  • Username
  • External ID* (most common)
  • Email*
  • Employee Number

*Absorb does not enforce uniqueness on these fields, but the import will require a unique match in order to successfully process. Duplicate matches will result in skipped records. External ID is most commonly used.

Course Lookup*
This property will be used to look up the course this enrollment is for. Options available:

  • ID (long GUID from the Absorb admin portal)
  • External ID* (most common)
  • Name*

 *Absorb does not enforce uniqueness on these fields, but the import will require a unique match in order to successfully process. Duplicate matches will result in skipped records. External ID is most commonly used.

Enrollment Priority*
This will decide the processing logic for the IsActive flag, which controls whether an enrollment is historical or not. There can only ever be one active enrollment record per user & course pair, so this setting is used to resolve conflicts. Options available:

  • Records from file: If there is already an active enrollment in the LMS, but another active record is provided in the file, the LMS one will be set to inactive/historical and the one from the file set as the active one. Note that if more than one active record for the same course & user pair is provided in the file, the records are processed sequentially and the last one is left as active.
  • LMS record: If there is already an active enrollment in the LMS, but another active record is provided in the file, the LMS one will be set to active and the ones from the file set as inactive/historical.
  • Most recent record: If there is already an active enrollment in the LMS, but another active record is provided in the file, the one with the most recent Start Date will be set as active and all others set to inactive/historical. If there are multiple active records for the same user & course pair in the file, we will also choose the most recent one. This option is good if you are having trouble setting the IsActive flag reliably in your file.

Session Creation
For ILC courses, decides whether Sessions are automatically created. This is recommended unless you are
 importing historical Sessions separately and then explicitly defining them in the Session_ExternalID field of your Enrollments file. Users will be enrolled at both the Course and Session levels. Options available:

  • None (usually assumes Sessions are being imported separately)
  • Single per course: Each course that is having enrollments imported will have a single historical session created under it, and all enrollment records attached to it.
  • Single per day per course: Same as the above option, but a separate historical session will be created for each unique Start Date included in the import file for ILC enrollments.
  • Most recent: Rather than actually creating a session, the import will check for existing sessions in the LMS and attach the enrollment record to the most recent one for that course (based on session start date).

Note that if a Session_ExternalID value is provided, we will not generate sessions or classes and instead try to link the enrollment to an existing session defined in the Session_ExternalID column.

Class Creation
Similar to above: For ILC courses, decides whether Classes are automatically created under Sessions. Generally used in conjunction with the above option. This is recommended unless you are importing historical Classes separately. Options available:

  • None (usually assumes Sessions are being imported separately)
  • Single per session: Creates a single Class under the Session if one doesn't already exist.
  • Single per enrollment: Creates a new Class for each enrollment record in the file, under the corresponding Session, using the Start/End Dates for the enrollment record. This option can result in many Classes under a given Session.
  • Single per day: Similar to above, but we will not create a new Class if one already exists for a given Start Date in the file.

Extended Curriculum Enrollments
The default behavior in Absorb when enrolling a user into a Curriculum is that they will not be enrolled into the associated Courses inside the Curriculum until they actually launch each Course for the first time. Enabling this option will result in the user being enrolled at both the Curriculum level and the Course level, for all Courses inside the Curriculum. This can be helpful if a user should be considered Complete in every single Course under a Curriculum, but only the single Completion record at the Curricula level is being provided. 

Related Objects

The following list of objects are often imported alongside Departments:

Users
Courses
Curriculum
Certificates*

* Imported enrollments with a status of Complete (3) will automatically issue certificates. The associated course(s) must have 'Learners receive a certificate upon completion' enabled prior to the enrollment import in order for automatic issuance of certificates. In many cases this removes the need for a separate certificates file.

Refer to the Absorb Data Mapping document from this helpdesk article for more information on the objects above.

Data Examples

 
Spreadsheet

 
Text
User_ExternalId,Course_ExternalId,IsActive,Status,DateStarted,DateCompleted,Score,Credits,AcceptedTermsAndConditions,DateExpires,Session_ExternalId
100012,901,1,1,2015/06/05,,,,1,2016-06-05,
100012,901,0,3,2005/11/15,2006/01/06,70,3,1,,
100013,902,1,3,2010/04/10,2010/07/30,87,,1,,647

 

 
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.