2.0 - SIS Integration
Order Tool's SIS Integration 2.0 expands the data collected about student enrollments and sections to facilitate student choice and automated invoicing.
Data Integration files
We strongly recommend that you read about the data file requirements and the integration files for the Unizin Order Tool prior to generating your SIS data integration. They will explain what data the Unizin Order Tool requires, why it is required, and what data is optional.
Campus (optional)
Filename: campus.csv
Some Institutions are “system” Institutions with multiple Campuses. These may include “virtual campuses” that represent online programs, which is common to many Unizin Members.
Institutions may choose to model Campuses and define the relationship of Sections to a specific Campus. Usually, the Campus associated with a Section defines the campus responsible for teaching the Section, and may be pertinent to specifying Course coordinator permissions.
A Campus will have a unique identifier and name associated with it. The Order Tool can ingest Campus data, providing an additional level of granularity for Course Coordinator permissions.
Campus data is optional. If this data file is not provided, then Unizin will create a default campus for your Institution and identify all Courses with that campus.
Header | Data type | Description | Required? |
---|---|---|---|
sis_campus_id | Text | The unique and immutable SIS ID for the Campus; e.g. "LR". | Yes |
name | Text | The institution’s name for the campus; e.g. "Little Rock". | Yes |
code | Text | The institution’s abbreviation used to identify a campus in a course code; e.g. "LR." It is assumed that this abbreviation is used as part of other identifiers (e.g., a course section identifier). | Yes |
Organization
Filename: organization.csv
Some Institutions define Schools, Programs, and Departments in their SIS with unique codes, and associate their Sections with those Schools, Programs, and Departments. Generically, we refer to Schools, Programs, Departments, and other such entities as Organizations.
Organizations are used to modulate Course Coordinator permissions, but are not required for the ordering process. Organizations must have unique identifiers and your Sections must be associated with an Organization.
Organization data is required. If this data file is not provided, then your Sections will not be associated with any Organizations.
Header | Data type | Description | Required? |
---|---|---|---|
sis_org_id | Text | The unique and immutable SIS ID for the Organization. | Yes |
sis_campus_id | Text | The foreign key to the campus where this school, program, department, or organization is located. | Yes |
code | Text | The Institution’s code for the school, if available. This code is typically used to identify an organization (e.g., The School of Public Health, Department of Communication, etc.) that might exist on multiple campuses. | Yes |
name | Text | The full name of the Organization. | Yes |
User
Filename: user.csv
The Unizin Order Tool requires Institutions to provide user information for all faculty, instructors, students, and any other staff who may teach courses, submit content orders, or enroll in courses as a student. The Unizin Order Tool uses User data in the following ways:
It is required to enable the Faculty, Instructor, Course Coordinators, Student, and Administrator roles and workflows.
Without user data, we are not able to identify and authenticate users, determine teaching assignments, or determine student enrollments.
Without student enrollment data, we cannot automate Publisher reporting and Institutional billing (both depend on section enrollments).
Without student enrollment data, we cannot support a roadmapped feature of Order Tool: enabling student opt-out from Engage content delivery.
Header | Data type | Description | Required? |
---|---|---|---|
sis_user_id | Text | The unique and immutable SIS ID for the individual user. | Yes |
network_id | Text | The "network_id" for a user is the identifier released by your Institutions' Identity Provider in a Single Sign-on integration. In a Shibboleth implementation, this value must be identical to the EPPN attribute released by your Institution's Identity Provider. | Yes |
firstname | Text | The user’s first name. | Yes |
lastname | Text | The user’s last name. | Yes |
Text | The user's email address. | Yes | |
is_student | Boolean | The user is a student. Note: this value must be "true" or "false." | Yes |
is_faculty | Boolean | The user is an instructor or faculty member at their school (can order content for their teaching assignments). Note: this value must be "true" or "false." | Yes |
is_staff | Boolean | The user is a staff member. This data point is not used. Note: this value must be "true" or "false." | No |
Term
Filename: term.csv
The Term concept is used to define a single, general calendrical period during which courses are offered. Terms should be defined along the lines of "Fall 2018," "Spring 2019," and "Summer 2019."
Header | Data type | Description | Required? |
---|---|---|---|
sis_term_id | Text | The unique and immutable SIS ID for the Term; e.g., "201890". | Yes |
name | Text | The Term’s human-readable name; e.g., "Fall 2017." | Yes |
start_date | Date | The date (YYYY-MM-DD) instruction begins. Must follow the date format in ISO 8601. | No |
end_date | Date | The date (YYYY-MM-DD) instruction ends. Must follow the date format in ISO 8601. | No |
Session
Filename: session.csv
A Session is an administrative unit that defines an actual instructional period during a term. Consequently, Sessions define the ordering periods during which users may order content and the date after which Unizin may bill institutions for the courses taught during that session. Sessions always belong to a particular term and should be identified accordingly.
This concept will be populated with data from an Institutional SIS. It requires a new feed whose formatting adheres to those required of other feeds.
Header | Data type | Description | Required? |
---|---|---|---|
sis_session_id | Text | The unique and immutable SIS ID for the Session. Must be unique to a particular term for a single campus; e.g., "201890-22." If your institution sends multi-campus data, then this value must be unique to a particular term and the particular campus that each session belongs to; e.g. "COL-GRAD-1198-7W1" where COL is the Campus code, GRAD is the Course level, 1198 is the sis_term_id value, and 7W1 is the Session name. | Yes |
sis_term_id | Text | The foreign key to the Term to which the Session belongs. | Yes |
instruction_start_date | Date | The date (YYYY-MM-DD) instruction begins. Must follow the date format in ISO 8601. | Yes |
instruction_end_date | Date | The date (YYYY-MM-DD) instruction ends. Must follow the date format in ISO 8601. | Yes |
name | Text | The Session's human-readable name; e.g., "Regular," "Dental 1", "First Six Weeks." | Yes |
bill_after_date | Date | The date (YYYY-MM-DD) after which it is possible to generate an invoice for Sections taught in the Session. This is also the date after which an Entitlement is captured and declined offers are reported in the Final Declined Offers Feed. Typically, this value will be around the final add/drop deadline when enrollments have stabilized. Must follow the date format in ISO 8601. | Yes |
Course
Filename: course.csv
A Course is a unique entry in the course catalog of an Institutional Campus.
An sis_campus_id is not required if you do not send campus.csv. If no sis_campus_id is provided for a course in the feed, then that course will be automatically associated with your default campus.
Courses must represent a unique Course Offering for a particular Session in an Academic Term. Courses defined in your feeds will always be particular to a Session and therefore an Academic Term.
Header | Data type | Description | Required? |
---|---|---|---|
sis_course_id | Text | The unique and immutable SIS ID for the Course; e.g., "201890-22-BIO-101." | Yes |
sis_campus_id | Text | The foreign key to the Campus on which the Course is delivered. | Yes |
sis_session_id | Text | The foreign key to the Session during which this Course offering is offered. | Yes |
subject | Text | The course subject; e.g., "HIST." | Yes |
number | Text | The course number; e.g., "101." | Yes |
level | Text | The code for the course level; e.g., "UGRAD," "GRAD," "MED." | Yes |
title | Text | The course title; e.g., "Introduction to History." | Yes |
Section
Filename: section.csv
A "Section" is the administrative unit that instructors are assigned to teach and in which students can enroll. They always belong to a particular Course (via sis_course_id). Course sections are usually offered by particular Departments or Schools; such data is captured in sis_org_id and the Organization object. Organization data is useful for managing Course Coordinator permissions. A Section's relationship to a Course (and its relationship to a Session) defines the Term in which a Section is available.
The lms_id value is essential in this feed. For any given section, its value must be identical to the string generated by the Learning Management System to uniquely identify the section in an LTI launch. This value is required to ensure that content ordered in the Unizin Order Tool is delivered via Unizin Engage in the LMS.
An sis_org_id is required in your data feed.
Section invoicing indicators
At times, the content ordered for one section determines what is ordered, invoiced, and provisioned for other sections. For example, suppose that a section is cross-listed in another department or even another campus. Students can enroll in the home section and cross-listed sections. However, the content ordered for the home section must determine what is delivered and invoiced in the cross-listed sections. In this case, the choices made about the parent "home" section determine what is ordered, delivered, and invoiced for the cross-listed sections.
To support such scenarios, Unizin is adding indicators and variables to the section feed. The following indicators and variables may account for any parent-child section dependency that impacts how digital course materials are ordered, delivered, and invoiced.
Changes to the section.csv file:
Header | Data Type | Description | Required? |
---|---|---|---|
sis_section_id | Text | The unique and immutable SIS ID for the Term; e.g. "201890-22-BIO-101-0001" or "4205-30855" (see the Generating Composite Identifiers section below for more information). This key is used to uniquely identify sections upon import into Order Tool. | Yes |
sis_org_id | Text | The foreign key to the Organization at which the Section is being taught. | Yes |
sis_course_id | Text | The foreign key to the Course to which this Section belongs. | Yes |
title | Text | The course title; e.g., "Introduction to History." | Yes |
lms_id | Text | This is the unique ID that identifies the Course Section in the LMS. I.e., this is the string provided by Canvas to uniquely identify the Section. It is essential that the values for this data point match the LTI parameter that uniquely represents a Section in an LTI launch from your LMS. | Yes |
label | Text | A human-readable label for the Section that should uniquely identify the Section for a user in Order Tool. | Yes |
section_type | Text | The type of Section. Typical values may include "Lecture," "Lab," "Recital," etc. Some institutions call this a Section "component." | Yes |
class_number | Text | This number is unique for each Section in a Term. The values are typically integers. | Yes |
section_number | Text | This number is unique within the set of Sections for a Course offering. Often, the values are 001, 002, 003 to distinguish the distinct Sections of a single Course offering. | Yes |
max_enrollment | Integer | The maximum allowed student enrollment in the section. | Yes |
start_date | Date | The date (YYYY-MM-DD) instruction begins. Must follow the date format in ISO 8601. | No |
student_choice_start_date | Date | This date (YYYY-MM-DD) indicates the first day a student can choose to opt-in or opt-out of their course materials. It is recommended that this date is no later than the instruction start date for the session belonging to the section. | Yes |
student_choice_end_date | Date | This date (YYYY-MM-DD) indicates the last day a student can choose to opt-in or opt-out of their course materials. This date can be no later than the bill-after date for the session belonging to the section. | Yes |
add_drop_deadline | Date | The date (YYYY-MM-DD) of the add/drop deadline. Must follow the date format in ISO 8601. | No |
end_date | Date | The date (YYYY-MM-DD) instruction ends. Must follow the date format in ISO 8601. | No |
is_orderable | Boolean | Indicates whether or not users may order digital course materials for this section. If true, then authorized users will see this section in the Order Tool and may order for it. If false, then this section is a child to a parent section (see below), and the section will not appear as orderable in the Order Tool user interface. Instead, this section will receive the same digital course materials as its parent section, if that parent section is placed on an order. The default value is TRUE. Currently, the Order Tool does not make direct use of the parent_id data in its SIS import process. This data is useful for provisioning materials. | No |
is_provisionable | Boolean | Indicates whether or not the digital course materials for this section must be distinctly provisioned in the learning environment. In some parent-child section relationships, institutions will configure their Learning Management System such that cross-listed or other "child" sections are tied to the parent section. In this case, content delivery providers (such as Engage) do not need to establish a separate configuration to provision content in the child sections. If true, then the content delivery provider will configure their system to provision content for this section. If false, then the content delivery provider will not configure their system to provision the digital course materials for this section. The default value is TRUE. Currently, the Order Tool does not make direct use of the parent_id data in its SIS import process. This data is useful for provisioning materials. | No |
is_invoiceable | Boolean | Indicates whether or not a particular section can be invoiced for particular course materials. If TRUE, then Unizin will charge the institution for all applicable digital course materials and student enrollments in this section. If FALSE, then Unizin will not charge the institution for the content delivered in this section. The default value is TRUE. | No |
is_combined | Boolean | Indicates whether or not a particular section is combined, with one or more other sections, as children of a parent section. If true, then this is a child section of a parent section and it is assumed that parent_id is a non-null value. If false, then this is a parent section. The default value is FALSE. Currently, the Order Tool does not make direct use of the is_combined data in its SIS import process. | No |
parent_id | Text | This value should be provided referencing the sis_section_id of the parent section (or as NULL if the section is a parent itself). The default value is NULL. | No |
Teaching assignment
Filename: teaching_assignment.csv
The Unizin Order Tool must know which sections are assigned to which users to teach (if available). This data is used to provide the right instructor experience. It is also used to inform Course Coordinators about who is teaching particular sections.
Header | Data type | Description | Required? |
---|---|---|---|
sis_user_id | Text | The foreign key to a User who is teaching this section. | Yes |
sis_section_id | Text | The foreign key to a Section being taught. | Yes |
Student enrollment
Filename: student_enrollment.csv
Supporting and capturing student opt-out and opt-in choices regarding titles is a precondition to accurately invoice institutions and students for digital content.
Unizin will create a "Student Choice" feature to enable students to either opt-in or opt-out of their inclusive access course materials. To accommodate different institutional approaches to student choice, Unizin will create a configurable model, which is applied institution-wide, to deliver an institution's student choice experience.
Among the features that "Student Choice" will support is student choice policy waivers. Some students are waived from paying for their inclusive access digital course materials but still have access to the course materials. Usually, this is because a student is a member of a student population that is waived (e.g., student-athletes, student-veterans). Institutions will be able, on an enrollment level, to assert which students are waived from paying for their digital course materials and the reason for their waivers. The reason provided by the institution will then be presented in the user experience.
Student choice policy waivers are not assertions that (1) the student already has an existing entitlement to a piece of content due to a prior purchase or (2) neither the student nor the institution will pay for the digital content accessed by the student. Rather, they assert that the student is not responsible for paying for the digital content, but the institution is responsible for paying for the digital content.
Student Choice policy waivers must be defined globally to all campuses, courses, and sections. For example, institutions cannot enforce a particular waiver to one campus and not to another.
To accommodate the student choice feature, the following changes are proposed to the student_enrollment.csv SIS data file:
Header | Data Type | Description | Required? |
---|---|---|---|
sis_user_id | Text | The foreign key to a User who is a student enrolled in the section. | Yes |
sis_section_id | Text | The foreign key to a Section being taught. | Yes |
is_waived_from_payment | Boolean | A boolean value indicating whether or not the student is waived from paying for the section's commercial course material(s). If true, the student's experience in Order Tool will communicate that they will not be charged for the commercial material(s) in the section. If false, the student is required to pay for the commercial course materials. The default value is false. | Yes |
is_waived_from_payment_reason | Text | A string whose value communicates the reason that a student is waived from paying for the commercial course material(s) in the section. I.e., this explains why a student cannot opt-out or why they were automatically opted-in. The string will be presented to users in the user interface. The default value is null. | Yes
|
Best practices
We recommend the following best practices when implementing your Order Tool SIS Integration.
Generating composite identifiers
In nearly every case, Institutions generate composite identifiers as the sis_*_id values in their data feed. This is encouraged since it enables them to produce a dataset designed for Order Tools operational needs. As you consider how to generate your feed's compose identifiers, we recommend a simple pattern that corresponds to the relational nature of the data.
Concept | Example identifier | Explanation |
---|---|---|
Term | 4198 | Typically, institutions have four or five-digit codes to represent a unique Academic term, such as Fall 2019. |
Session | 4198-8WK1-LM-UGRD | We strongly encourage institutions to integrate a Campus code and Course level in their Session identifiers. In this example, "LM" represents a unique Campus code and "UGRD" represents the Course level for the academic session. The "8WK1" represents the type of Academic session. |
Course | 4198-8WK1-027822-4 | Where "027822-4" represents the "sis_course_id." |
Section | 4198-30855 | Combination of the SIS Term ID and Class Number for the section (e.g. "4198-30855", where "4198" is the SIS Term ID and "30855" is the Class Number). If your SIS does not support the concept of Class Number, you may use the unique identifier for a section in a term instead. Regardless of how this is configured, the identifier must be unique and immutable for the section. |
Last updated