Kinvolved Data
We'll start by describing at a high level what data to provide to Kinvolved, how to provide it, and how often it should be provided.
What data to provide
The following are the key entities that are typically required and provided by school districts to have a working Kinvovled system.
- Schools
- A list of schools is needed to do building-level messaging and attendance tracking. Schools are also used for access control. Provided as OneRoster
org
entities. - Terms
- Terms are provided for each school as well as the district to indicate the start and end of the school year as well as each semester or trimester. These are critical for calculating things like absence rates. Provided as OneRoster
academicSession
entities. - Teachers/Staff
- Teachers that are loaded and assigned to sections will be able to message students enrolled in those sections. Provided as OneRoster
user
entities. - Students
- Students should be provided along with an SMS-capable phone number and preferred language if a district intends to communicate with them directly. Provided as OneRoster
user
entities. - Guardians
- Parents or other guardians or relatives of a student. Should be provided along with SMS-capable phone number and preferred language. Provided as OneRoster
user
entities.
Warning
Note that we assume that a SMS number is in the SIS because the person has expressly given permission to be contacted using it--they have "opted-in" to district communications. The system will allow them to "opt out" if they don't want to continue to recieve SMS messages using Kinvolved.
- Courses
- Courses provide a way to group and organize sections. Provided as OneRoster
course
entities. Optional for districts only doing building-level communication based on daily attendance - Sections
- A list of course sections is used to define the relationship between students and teachers. Teachers are only able to message students who are currently enrolled in an active section to which they are assigned. Provided as OneRoster
class
entities. Optional for districts only doing building-level communication based on daily attendance - Teacher Section Assignment
- Assigment of a teacher to a section. Provided as OneRoster
enrollment
entities. Optional for districts only doing building-level communication based on daily attendance - Student Section Enrollment
- Enrollment of a student in a section. Provided as OneRoster
enrollment
entities. Optional for districts only doing building-level communication based on daily attendance - Absence Codes
- Absence codes for attendance of a student in a school for a particular day or a section for a particular period. Provided as Kinvolved OneRoster+
absenceCode
entities. - Attendance
- Attendance of a student in a school for a particular day or a section for a particular period. Provided as Kinvolved OneRoster+
attendance
entities.
Info
Note that there are other data that are entered or modified directly in the Kinvolved system that are not sent like the above. A good example would be school calendars which are critical for attendance tracking since they identify things like holidays. These are modified directly in they system.
Ways to provide data
Kinvolved is designed to sync data from a school district student information system. There are 3 primary ways of ingesting data from a school district.
CSV Push
The CSV Push approach relies on a district to export data from a SIS or similar system, format as OneRoster data and send it to Kinvolved.
API Pull
With the API Pull a job developed by Kinvolved and running on its servers makes a call directly to a district SIS to pull roster data. The SIS could either be hosted on a district network exposed to the Internet or SaaS hosted.
We would prefer to pull data using the industry standard OneRoster API but can also support pulling data from one of the follwing SIS: PowerSchool, Infinite Campus, Skyward, or Aeries.
Integrator Pull
In the Integrator Pull case a 3rd party is responsible for getting data from the SIS into a cloud-hosted service like Classlink or Clever. Kinvolved then pulls data from the integrator using either the OneRoster API or the Clever API. The benefit of this approach is that it typically also provides SSO with district systems.
How often to provide data
The frequency in which data is typically provided is either one-time, yearly, daily or hourly.
- One-time
- Some entities are essentially static and must be manually changed after they are initially created. Examples include schools and absence codes.
- Yearly
- Entities that change every year include things like terms and courses.
- Daily
- Entities that change daily include things like teachers, students, sections, and enrollments.
- Hourly
- The only entity that is typically sent hourly is attendance.