Unizin Product Documentation
ProductsSupport and TrainingPolicies
  • Unizin Product Documentation
  • Products
    • Content
      • Unizin Engage
        • eReader User Guide
          • Notes, Highlights, and Citations
          • Appearance Settings
          • Download for Offline
          • eReader Layout
          • Keyboard Shortcuts
          • Navigating Your eBook
          • Print
          • Text to Speech
          • Copy and Paste
          • Creating Flashcards
          • Collaboration and Note Sharing
          • Pearson Titles
        • Institution Support
          • Disabled Student Services / Alt-Format
            • Best Practices for Republishing Course Content
            • Disabled Student Services
            • Requesting eTextbook Files for Accessibility Purposes
            • WCAG 2.0 AA evaluation for Engage
            • WCAG 2.0 AA evaluation for EPUB for Engage
          • Institution's Support Responsibilities
        • Caliper 1.1 sensor
        • Release Notes
          • 2.28.22
          • 2019-09-17
          • 2019-05-29
          • 2.26.8
          • 2.26.0
          • 2.25.0
          • 2.22.0
          • 2.21.6
          • 2.21.5
          • 2.20.8
          • 2.20.5
          • 2.20.3
          • 2.19.1
          • 2.18.0
          • 2.17.0
          • 2.14.0
          • 2.12.0
          • 2.11.0
          • 2.9.0
          • 2.8.3
          • 2016-03-17
          • 2016-02-11
          • 2016-01-28
        • Using Analytics (New)
      • Unizin Order Tool
        • Overview of the User Interface
        • Key Concepts
          • Profiles
          • Ordering periods
          • Coordinator permissions
          • Program administrator permissions
        • Courses & Ordering
          • Course filtering
          • Place an order
          • Add sections to a placed order
          • Edit a placed order
          • Cancel an order
          • Reordering
        • Order History
          • Instructor Order History
          • Coordinator and Program Administrator Order History
          • Order Activity
        • Student Choice
          • Student Choice (Program Administrators)
          • Student Choice (Students)
        • Entitlements
          • Entitlements (Program Administrators)
          • Entitlements (Students)
        • Catalog Tool
        • Schedule of Classes
        • Content Request Tool
        • Order Tool Dashboard
        • Vendor Sandbox Tenant
        • Institution Support
        • Implementation
          • SIS Data Integration
            • 1.0 - SIS Integration
            • 2.0 - SIS Integration
          • SSO integration
          • UI customizations
          • Order Feed
            • 1.0 - Order Feed
            • 2.0 - Order Feed
            • 3.0 - Order Feed
          • Publisher report
          • Final declined offers feed
          • Institutional (SIS) Catalog Import
          • Student Price
          • Historical Entitlements Import
        • Release Notes
          • Order Tool Bug Fixes and Enhancements
          • Order Tool Bug Fixes
          • Order Tool Accessibility Improvements
          • Order Feed Improvements
          • Content Request Form Update and Minor Bug Fix
          • Flat Markup Fee Update
          • Ordering Email Receipt Update & Minor Bug Fix
          • Bug Fix for Public Catalog Feature
          • Catalog Search Enhancements
          • Reordering Reminder Email Notifications
          • UX Improvements & Minor Bug Fixes
          • Historical Entitlements Import
          • Student Prices
          • Reordering Feature
          • Email Enhancements
          • Ordering Enhancements
          • Bug Fix for the Institutional Catalog Import
          • Bug Fix for the Final Declined Offers Feed (FDOF)
          • Order Activity Feature and Other Enhancements
          • Bug Fixes for Order History and Report an Issue Features
          • Public catalog feature
          • Minor Bug Fixes for Ordering and Student Choice
          • Entitlements Production Release, Bug fixes, and Minor updates
          • Minor Updates and Bug Fixes for Ordering Workflows
          • Catalog Search Optimization
          • Student Choice
          • Archive Terms Feature and Integration Improvements
          • Introduces the Program Administrator role, Catalog Tool, and Schedule
          • User interface updates and improvements
          • Order feed improvements
          • Order history, UI enhancements
          • Email notification upgrades, UI improvements
          • Order feed changes
          • New features for Course coordinators and upgrades to the UI
          • Changes to the Term, Course, and Section models; introduces a Session
          • Bug fixes, import improvements, and validation improvements
          • Tracking Order History
          • Publisher Reporting
          • Fixes the order feed, automates SIS data importing, and automates the generation of order feed repor
    • Data & Analytics
      • Unizin Data Platform
        • Key concepts
          • Platform overview
          • Data categories
          • Data models
          • Loading schemas
          • Keymap
        • Unizin Common Data Model
          • Academic structures (ERD)
          • Learners (ERD)
          • Course structures (ERD)
          • Course resources (ERD)
          • Learner activities (ERD)
          • Quizzes (ERD)
          • Social (ERD)
          • Course outcomes (ERD)
        • System overview
          • Context data pipeline
            • Context data ingress
            • Batch-ingest application
            • Batch-ingest db server
            • Context store
          • Event data pipeline
            • UDP Caliper endpoint
            • Approval process for implementing Caliper compliant tools
            • UDP Event enricher
            • Event store
        • Data stores
          • Data lake
            • UDP Context store
            • UDP Event store
              • Accessing the Event store
              • Expanded table
                • Expanded table: Canvas edApp mapping
            • Synthetic Data [beta]
              • Viewing Synthetic Data datasets within the BigQuery UI
              • Query Synthetic Data via client libraries
          • Data marts
            • UDP Distributions
            • Interaction sessions
            • Learning Environment Organization
            • File Interaction
            • Last Activity
            • Long Inactivity
            • Course Status
            • Daily Course Grade Record
            • LTI Tool Use
            • LMS Tool Use
            • Tool Usage Metrics
            • Links
            • Taskforce
              • Level 1 Aggregated
              • Level 2 Aggregated
              • Level 2 Course Weekly Distribution Summary
              • Student Term Profile
              • Course Profile
            • Student Activity Score
              • Student Course Metrics
              • Student Course Section Metrics
              • Final
              • Course Final
              • Course Section Final
        • Data integrations
          • Context data integration
            • Loading schema
            • Keymap support
            • Manifest file
            • File requirements
            • Integration mechanics
          • Event data integration
          • SIS data integration
          • LMS data integration
            • Instructure Canvas
        • Release Notes
          • UDP Marts Release Notes
            • 1.0.83
            • 1.0.80
            • 1.0.79
            • 1.0.78
            • 1.0.77
            • 1.0.72
            • 1.0.67
            • 1.0.58
            • 1.0.51
            • 1.0.44
            • 1.0.42
            • 1.0.32
            • 1.0.31
            • 1.0.0
            • Level 2 Taskforce data marts now available
          • 2.0.167
          • 2.0.152
          • 2.0.138
          • 2.0.137
          • 2.0.113
          • 2.0.112
          • 2.0.111
          • 2.0.110
          • 2.0.99
          • 2.0.98
          • 2.0.83
          • 2.0.80
          • 2.0.71
          • 2.0.66
          • 2.0.59
          • 2.0.58
          • 2.0.53
          • 2.0.47
          • 2.0.25
        • Miscellaneous
          • Canvas Data additions, ~Fall 2021
          • Canvas Live Events: from SQS to HTTPS
          • Canvas New Analytics vs. UDP
          • Course Section Enrollment Role Status Mappings
          • Migrating from UDW to UDP
      • Unizin Data Warehouse
        • Implementation Guide
        • Scope of Services
        • Access Provisioning
        • Access Revocation
        • Connecting to the UDW
      • Raw Canvas Data 2
        • Flat Files
        • BigQuery Datasets
    • Hosted Services
      • My Learning Analytics
        • Install MyLA via LTI 1.3
        • Custom configure MyLA
  • Support and Training
    • Professional Development
      • Stepping Stones: A Faculty Development Curriculum for Learning Analytics Use
      • Structured Conversations initiative
    • UDP Self-paced Training
    • Resources Site Broken Links
    • Status Pages
  • Policies
    • General policies
      • Sponsor Teams
      • Browser Support Policy
      • Opt-Out & Invoicing Policy (Order Tool)
    • Support Policy
      • Unizin Engage - SP
      • Unizin Order Tool - SP
      • Unizin Data Platform - SP
      • Unizin Data Warehouse - SP
      • Unizin Data Analysis - SP
      • Pressbooks Hosting - SP
    • Privacy Policy
      • Unizin Engage - PP
      • Unizin Order Tool - PP
      • Unizin Data Platform - PP
      • RStudio service - PP
    • End User License Agreements
      • Unizin Engage - EULA
      • Unizin Order Tool - EULA
    • Terms of Use
      • Unizin Data Platform - ToU
    • Incident Reports
Powered by GitBook
LogoLogo

Unizin Homepage

  • unizin.org

Data & Analytics

  • Unizin Data Platform
  • Unizin Data Warehouse

Content

  • Unizin Engage
  • Unizin Order Tool

Hosted Services

  • My Learning Analytics

Copyright © 2023, Unizin, Ltd.

On this page
  • Overview
  • UDP Current role_status Implementation
  • SIS value vs. LMS value - which is the starting point?
  • Current UCDM Mapping of role_status
  • Improving this Mapping - Canvas Data to UCDM
  • Inactive and Completed - Areas of Discussion
  • Inactive Status
  • Completed Status
  • Considerations for other LMS Systems - D2L and Blackboard
  • Unizin’s Change Proposal
  • Consortium Feedback and Next Steps
  1. Products
  2. Data & Analytics
  3. Unizin Data Platform
  4. Miscellaneous

Course Section Enrollment Role Status Mappings

PreviousCanvas New Analytics vs. UDPNextMigrating from UDW to UDP

Last updated 1 year ago

Page Change Log

Wednesday, March 9, 2022 - Extending Feedback Deadline

Given March has spring break for all of our schools, we are extending the feedback deadline from March 22nd to April 1. Another round of comms will go out closer to the new deadline to encourage as much feedback as possible. Again, .

Overview

Accurate student enrollment reporting is essential to both operational and learning science applications. The UDP captures enrollments in courses via the course_section_enrollment entity. This entity is the result of a combination of the representation of enrollments captured both in the SIS and LMS systems. Unizin has discovered recently an opportunity to improve how the UDP maps enrollment statuses (named role_status in the course_section_enrollment entity).

The purpose of this document and corresponding Google Form survey is the following:

  • Clearly define how the UDP currently implements the enrollment role status (role_status field) mappings

  • Identify the areas we can clarify or improve this mapping

  • Gather consensus via the survey on the changes the consortium would like Unizin to make to the mappings.

UDP Current role_status Implementation

SIS value vs. LMS value - which is the starting point?

Like many entities and elements in the UCDM, the construction of the role_status takes both SIS and LMS information into account for every row. For a given row representing a person-to-course enrollment, if both the SIS and LMS have a value for role_status, the UCDM will favor the value coming from the SIS as the source of truth. The LMS value is taken in the absence of a row in the SIS system. This gives the following possibilities:

In SIS?
In LMS?
UDP Result

Yes

Yes

SIS Value (UCDM enforced)

Yes

No

SIS Value (UCDM enforced)

No

Yes

LMS Value (UCDM enforced)

Current UCDM Mapping of role_status

The UDP only accepts SIS data that already has the UCDM enforced. Meaning, SIS teams usually take the raw SIS data and enforce the above option set mapping before sending the data to the UDP. In other words, SIS data teams have the ability to adjust the logic for these mappings as needed; once the UDP sees valid SIS data, no transformations happen on that data.

Improving this Mapping - Canvas Data to UCDM

Canvas Value (workflow_state)
UCDM Value (role_status)

active

Enrolled

inactive

Enrolled

completed

Enrolled

rejected

Not-enrolled

deleted

Withdrawn

invited

Pre-registered

creation_pending

Registered

Inactive and Completed - Areas of Discussion

Unizin is currently focused on improving the mappings with the inactive and completed Canvas Data values. We discovered that grouping of active, inactive, and completed into a single, UCDM status of enrolled can cause confusion, especially when comparing enrollment reports previously built on Canvas Data versus those built on the UDP. As an example using fabricated numbers:

Canvas workflow_state

# Records

UCDM role_status

# Records

active

10000

Enrolled

11500

inactive

1000

completed

500

For both the Canvas and UCDM sides, 11.5K records are reported and correctly in scope. However, the UCDM side shows only one type of record while the Canvas side shows three. Comparing numbers one-for-one between the Canvas and the UCDM can be tricky. The numbers might look “off” if one assumes that only active Canvas records are Enrolled in the UDP.

Inactive Status

However, inactive students still show up on instructor rosters and course analytics. Also, instructors and admins do have the ability to identify and reactivate inactive students, making those students active again. Based on this information, inactive feels closer to Enrolled, and if reporting requires a full list that matches a Canvas roster, then mapping inactive to Enrolled enables this ability. A distinction here, too, between Withdrawn students is that inactive students do not normally pursue this workflow_state voluntarily, as would be the case when a student “drops” a course. A student does not initiate an inactive status.

Striking the balance between these two interpretations is a main source of confusion. Inactive feels similar to both Withdrawn and Enrolled but also feels distinct to both of those statuses as well. Furthermore, the ability to include or exclude inactive students likely has value given its somewhat confusing, unique nature.

Completed Status

Completed students are those that have finished a course and can only access course content in a read-only format. It is most likely that these students previously maintained an active status prior to completing the course, so mapping this value to Enrolled can make sense. However, there may be value in distinguishing based on time and accessibility (e.g. ability to submit for new assignments, post in discussions, etc.).

Considerations for other LMS Systems - D2L and Blackboard

Beyond just Canvas, though, Unizin must ensure that the option sets for role_status can fit with the data properties of other LMS systems in scope for future UCDM development: Blackboard and D2L.

Blackboard Data - CDM_LMS.PERSON_COURSE

Field
Datatype
Description

TEXT

Canonical person role within the course

AVAILABLE_IND

BOOLEAN

Shows if a user can access the course

ROW_INSERTED_TIME

TIMESTAMP

Date and time the record was added to the table

ROW_DELETED_TIME

TIMESTAMP

Date and time the record was marked as removed

For this discussion of role_status values of Enrolled, Inactive, Completed, and Withdrawn we think Blackboard data fits with the following criteria:

  • Enrolled - a row has AVAILABLE_IND set, ROW_INSERTED_TIME is not null, and ROW_DELETED_TIME is null. Note: further logic is probably needed to join with academic term data to determine if the course is currently in instruction. If the course is active in the current term, this criteria marks an Enrolled role_status.

  • Inactive - a row has AVAILABLE_IND not set, ROW_INSERTED_TIME is not null, and ROW_DELETED_TIME is null. This captures the same behavior as in Canvas for Inactive. A student can still show up in the roster (ROW_DELETED_TIME is null), but the student is unable to access any course content (AVAILABLE_IND is not set).

  • Completed - a row has AVAILABLE_IND set, ROW_INSERTED_TIME is not null, and ROW_DELETED_TIME is null. Note: further logic is probably needed to join with academic term data to determine if the course is currently in instruction. If the course is not actively in instruction for the current term, this criteria marks a Completed role_status.

  • Withdrawn - a row has ROW_DELETED_TIME not null.

D2L (Brightspace) Data

Data Set
Field
Data Type
Description

Enrollments and Withdrawals

Action

varchar

Indicates whether the item is an enrollment or a withdrawal.

Users

IsActive

bit

Is user active?

Organizational Units

EndDate

datetime2

Availability end date (UTC).

D2L data seems to fit the role_status values of Enrolled, Inactive, Completed, and Withdrawn with the following criteria:

  • Enrolled - A row in Enrollments and Withdrawals where Action = ‘Enrolled.’

  • Withdrawn - A row in Enrollments and Withdrawals where Action = ’Withdrawn.’

  • Inactive - There does not seem to be a status for Inactive enrollments in Enrollments and Withdrawals. Active/inactive statuses seem to be only done at the user level, and not also at the enrollment level. For example, the Users data set includes an IsActive field, which states whether a user is active or inactive. If a student is inactive, they do not have access to the Brightspace Learning Environment, but their enrollments are not deleted, and they can be reactivated. In other words, the inactive status is only at the user level, and affects all of a user’s enrollments. This is different from Canvas where a user can be inactive at the enrollment level also, meaning that a user can be denied access to one course but still be active in other courses.

  • Completed - Again, there is not a status for Completed enrollments in Enrollments and Withdrawals. To determine if an enrollment is completed, however, we should be able to use the Enrollments and Withdrawals table with the Organizational Units table. If a student is enrolled in a course that has ended, we could define their enrollment status as being Completed. To do this, we should be able to use the OrgUnitID foreign key in Enrollments and Withdrawals to join with Organizational Units. If a row in the Enrollments and Withdrawals table has Action = ‘Enrolled’ and the corresponding row in the Organizational Units table has an EndDate earlier than the current date, then the enrollment status would be Completed.

Unizin’s Change Proposal

Given all of the considerations above, Unizin proposes to add a new field in the course_section_enrollment entity named enrollment_status. This will be a string-valued, option set field. The current mapping values and logic in role and role_status will remain unchanged. Instead, the new enrollment_status field will help differentiate between users that may still appear on rosters and faculty-facing analytics based on how those users can currently interact with the LMS. A full UCDM proposed mapping table for role_status and enrollment_status is below:

UCDM Value (role_status)
UCDM Value (enrollment_status)

Enrolled

Active

Inactive

Completed

Not-enrolled

Not-enrolled

Withdrawn

Not-enrolled

Pre-registered

Not-enrolled

Registered

Not-enrolled

Canvas data specifically will be mapped into these fields in the following ways:

Canvas Value (workflow_state)

UCDM Value (role_status)

UCDM Value (enrollment_status)

active

Enrolled

Active

inactive

Enrolled

Inactive

completed

Enrolled

Completed

rejected

Not-enrolled

Not-enrolled

deleted

Withdrawn

Not-enrolled

invited

Pre-registered

Not-enrolled

creation_pending

Registered

Not-enrolled

The new enrollment_status field has the most value differentiating between the Enrolled role_status values. The other UCDM role_status fields other than Enrolled all map to Not-enrolled since students with these role_status values are absent in courses (both from what the student can see and what the instructor can see).

Consortium Feedback and Next Steps

After the UDP determines which source system’s value to favor, the Unizin Common Data Model (UCDM) enforces a consistent mapping of the value, which is the value ultimately shown in the role_status field in course_section_enrollment. The current possible values for the role_status UCDM value are shown .

On the other hand, LMS data comes to the UDP directly from Canvas without the UCDM enforced. The UDP initially sees the LMS data in the exact schema as defined by Unizin then takes the raw Canvas data and enforces the UCDM uniformly to all UDP instances. This uniform mapping is owned by Unizin and is the focus for how the role_status mappings can be improved across the Unizin Consortium.

The following table outlines how the UCDM enforces the role_status option set based on the values seen in the raw Canvas Data. For reference, the Canvas Data entity that contains the source value is via workflow_state.

is a bit tricky. Inactive students are unable to access any part of their inactive courses and are unable to submit assignments. In this way, inactive students behave similarly to Withdrawn students.

According to Blackboard Data documentation, the role and role status of enrollment is captured in the table, of which four fields seems key here:

According to the Brightspace documentation, the status of an enrollment is captured in the data set, which contains all the enrollments and withdrawals for users in an organization. The relevant field is Action, which denotes whether a student enrolled or withdrew from a course. Another data set that may help us identify enrollment status is the data set. An important field for this data set is IsActive, which denotes whether a user is active or inactive. Finally, the data set has the field EndDate, which identifies the end date of a course, and may be useful for defining enrollment status.

Please submit your feedback on the proposed changes via (which should take less than 5 minutes to complete). The survey is not anonymous, as we would like to follow up with people specifically for more ideas/feedback as needed. Unizin will judge the amount of consortium consensus based on the results of the survey, and if the consortium largely agrees on the path forward, Unizin will begin scoping technical work to implement this change to the UDP. Deadline to complete the survey is March 22, 2022.

the Google Form link is here
in this option set
the Canvas Data API.
enrollment_dim
Canvas’ definition of inactive enrollment
CDM_LMS.PERSON_COURSE
Enrollments and Withdrawals
Users
Organizational Units
this Google Form survey
COURSE_ROLE