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.

HeaderData typeDescriptionRequired?

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.

HeaderData typeDescriptionRequired?

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:

  1. It is required to enable the Faculty, Instructor, Course Coordinators, Student, and Administrator roles and workflows.

  2. Without user data, we are not able to identify and authenticate users, determine teaching assignments, or determine student enrollments.

  3. Without student enrollment data, we cannot automate Publisher reporting and Institutional billing (both depend on section enrollments).

  4. Without student enrollment data, we cannot support a roadmapped feature of Order Tool: enabling student opt-out from Engage content delivery.

HeaderData typeDescriptionRequired?

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

email

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."

HeaderData typeDescriptionRequired?

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.

HeaderData typeDescriptionRequired?

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.

HeaderData typeDescriptionRequired?

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:

HeaderData TypeDescriptionRequired?

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.

HeaderData typeDescriptionRequired?

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:

HeaderData TypeDescriptionRequired?

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.

ConceptExample identifierExplanation

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

Logo

Copyright © 2023, Unizin, Ltd.