XML for The Ministry of Education’s Student Data System Updated September 2009 Table of Contents

Revision History...... 3 Purpose of this Document...... 7 Student Data System XML Dialogues...... 7 Typical Dialogues...... 7 Saskatchewan Learning K-12 XML Specification...... 9 1. Objects...... 10 1.1 SchoolTerm...... 10 1.2 SchoolClass...... 10 1.3 StudentSchoolEnrollment...... 11 1.4 StudentProgramEnrollment...... 11 1.5 StudentPersonal...... 12 1.6 StudentClassEnrollment...... 12 1.7 StudentExamRegistration...... 12 1.8 StudentClassMark...... 12 1.9 StudentSupplementalMark...... 12 1.10 StudentCourseHistory – last support is in Release 1.1...... 14 1.11 StudentExternalCourse...... 14 1.12 StudentEnrollment...... 14 1.13 StudentCourseEnrollments...... 15 1.14 StudentCompletedCourses...... 17 1.15 DeptCourses...... 19 1.16 AllStudentClassEnrollments...... 19 1.17 StudentsNotReEnrolled………………...... 20 1.18 No Longer Used...... 21 1.19 StudentPAAModule...... 21 2. Elements...... 22 2.1 TermInfo...... 22 2.2 ClassIdentification...... 22 2.3 ClassInfo...... 23 2.4 StudentIdentification...... 23 2.5 StudentInfo...... 24 2.6 SchoolEnrollmentInfo...... 31 2.7 ProgramEnrollmentInfo...... 34 2.8 ClassEnrollmentInfo...... 34 2.9 ExamRegistrationInfo...... 35 2.10 ExamLocation...... 36 2.11 SchoolMarkInfo...... 36 2.12 StudentCourseInfo – last support is in Release 1.1...... 37 2.13 StudentExternalCourseInfo...... 37 2.14 StudentClass...... 38 2.15 StudentDeptExam...... 38 2.16 CompletedCourse...... 38 2.17 DeptCourse...... 39 3. Queries...... 40

Page 1 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 3.1 SL_QueryObject – last support is in Release 1.1...... 40 3.2 GeneralQuery...... 40 3.3 QueryByStudent...... 41 3.4 QueryBySchool...... 42 4. Message Infrastructure...... 45 4.1 SL_Message...... 46 4.2 SL_Header...... 46 4.3 SL_UserCredentials – removed from specification...... 47 4.4 SL_Event...... 48 4.5 SL_Request...... 49 4.6 SL_Response...... 50 4.7 SL_Ping...... 53 Appendix A – Country, Language and Province/State Codes...... 54 Appendix B – Additional Edits...... 73 SchoolId...... 75 SchoolClass...... 75 StudentSchoolEnrollment...... 75 StudentClassEnrollment...... 76 StudentClassMark...... 77 StudentSupplementalMark...... 77 StudentInfo...... 78 SL_Query...... 79 Automatic Setting of End Dates...... 80

Page 2 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Revision History

Date Version Changes 2003 Sep 30 Pre-release Object StudentExamRegistration (2.14) added. Diagrams of objects updated to reflect 2.14. Note added under StudentSectionEnrollment. OtherId code for SIN removed (will not be used). 2003 Oct 6 Pre-release Changed capitalization on the following (for consistency): ClassID changed to ClassId LearningIDNumber changed to LearningIdNumber SL_MsgID changed to SL_MsgId SL_SourceID changed to SL_SourceId SL_UserID changed to SL_UserId Corrected SLSourceID to SL_SourceId in specification (examples already had the underscore). 2003 Oct 7 Pre-release Changed capitalization on the following (for consistency): CountryofBirth changed to CountryOfBirth CountryofCitizenship changed to CountryOfCitizenship MediumofInstruction changed to MediumOfInstruction Changed LastName to allow spaces in the name. Specified that Email has to have exactly one @ character. Corrected some conditions in section 5 Transactions (objects required for transmitting student marks). 2003 Oct 8 Pre-release Character restrictions added to FirstName, MiddleName, Suffix and PreferredName. 2003 Oct 9 Pre-release SL_SourceId clarified to be department assigned number SchoolYear format changed from YYYY to YYYY-YYYY 2003 Oct 15 Pre-release Action “Delete” added – allowed only for StudentSchoolEnrollment and StudentSectionEnrollment. Attribute Reason added to SL_Event to support action of “Delete”. Additional languages added to language code table, some codes changed. 2003 Oct 23 Pre-release Moved PreviousProvState and PreviousCountry from StudentPersonal to StudentSchoolEnrollment Clarified enrollment types and outcomes for out-of-province home-based schooling. 2003 Oct 24 Pre-release Added StudentExamRegistration to the table indicating minimal XML for each complete transaction (section 5). 2003 Oct 27 Pre-release Added a separate language code for Michif. 2003 Oct 29 Pre-release Changed the xmlns string. Added attributes xmlns:xsi and xsi:schemaLocation to SL_Message. Street element of Address changed from optional to required. 2003 Oct 31 Release 1.0 Released. 2003 Nov 13 Release 1.0 Added program code for Special Education

Page 3 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Date Version Changes 2003 Nov 24 Release 1.0 Date format changed to YYYY-MM-DD (from YYYYMMDD). SL_Query changed – SL_QueryObject tag goes around variables now. 2003 Dec 3 Release 1.1 Reorganization of objects so that each object is a complete transaction. Some elements and attributes renamed. Some elements reordered. Some codes changed from numeric to mnemonic. Edit rules incorporated from previously separate document. Response status code values added. Message severity code of “severe error” dropped. Please contact Saskatchewan Learning if you wish to see a complete list of changes. 2003 Dec 4 Release 1.1 SchoolMarkInfo CorrectionCode made optional (defaults to No). PhoneNumber Type made optional (defaults to Home). SL_Header Zone made optional (defaults to Central Standard Time). Attribute ObjectData within SL_Response/SL_Ack/ SL_Error renamed to ObjectName (for consistency). 2003 Dec 9 Release 1.1 PostalCode made optional for physical addresses. Default added for ScopeCode if not specified in SL_Query. Added edits:  Term end date must be within school year indicated.  Class end date must not be before start date.  Receiving new primary e-mail address will automatically end-date previous primary e-mail address.  Class enrollment exit date (dropped date) cannot be before class start date. Some other edits clarified (not changed in intent). 2003 Dec 12 Release 1.1 Guidelines for how to create SL_MsgId added. 2004 Jan 5 Release 1.1 Canal Zone (CZ) dropped from list of Canadian provinces and U.S. states – no longer a part of the U.S. 2004 Jan 13 Release 1.1 Added new Language codes. 2004 Jan 14 Release 1.1 Sending student’s program enrollment in school enrollment object allowed (for “add” object only). Encoding attribute added to SL_Password. 2004 Jan 15 Release 1.1 See changes made in Appendix B (additional edits). 2004 Jan 19 Release 1.1 Object StudentChallengeMark removed. Course challenge marks cannot be submitted via XML according to department policy (they require appropriate paperwork). 2004 Jan 29 Release 1.1 Grade is required for enrollment of a new student.

Page 4 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Date Version Changes 2004 Feb 5 Release 1.1 SL_UserCredentials removed from the specification – users will have to provide userid and password in order to send the XML. 2004 Feb 19 Release 1.1 SL_EventObject added to SL_ObjectData in SL_Response, to be consistent with SL_ObjectData in SL_Event. ExitDate dropped from object ProgramEnrollmentInfo. 2004 Feb 25 Release 1.1 ExitType required when ExitDate provided in SchoolEnrollmentInfo. 2004 Feb 26 Release 1.1 New grade code added to distinguish two levels of pre- kindergarten. Clarification added regarding changing country of citizenship and language(s) used in the home. New edit and warning messages added (see Appendix B). 2004 Feb 27 Release 1.1 End date of term must fall between Sept 1 and Aug 31 (rather than Aug 1 and July 31). References to rules for internal use by Saskatchewan Learning added. Vendors can ignore these. 2004 Mar 25 Release 1.1 Restrictions added on what school enrollment data can be changed after initial submission. Restrictions noted on registering a student for a supplemental or adult challenge dept exam (writing centre has to be approved). 2004 Mar 29 Release 1.1 SL_QueryObject made repeatable and RefId added to it as a mandatory attribute 2004 May 10 Release 1.1 Names of programs updated; 2 French programs added 2004 Jun 21 Release 1.1 Added “Saulteaux” to the list of languages 2004 Nov 17 Release 1.1 Any date within the exam period will be accepted for the ExamPeriodEndDate (does not have to be the last day of the exam period) 2004 Dec 2 Release 1.1 System will automatically register students in dept exams if mark source is “blended” and dept exam registration is not provided. 2005 Feb 23 Release 1.1 Clarified that enrolment start date can be changed to an earlier date (but not later). Clarified that ClassId must be an unchanging identifier. 2005 May 11 Release 1.1 Clarification of usage of enrollment type codes

2005 Jun 2 Release 2.0 Object StudentExternalCourse added Element StudentExternalCourseInfo added 2005 Jul 8 Release 2.0 New ExitType added for discontinued with other reason 2005 Aug 29 Release 2.0 Objects StudentEnrollment, StudentCourseEnrollments, StudentCompletedCourses and DeptCourses added Elements StudentClass, StudentDeptExam, CompletedCourse and DeptCourse added

Page 5 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009

Date Version Changes 2005 Aug 29 Release 2.0 Support for objects SL_QueryObject and StudentCourseHistory removed (still supported in Release 1.1) Support for Element StudentCourseInfo removed (still supported in Release 1.1) 2005 Sep 14 Release 2.0 Object AllStudentSchoolEnrollments added Event Reason value “ToAllowReplacement” added 2005 Sep 21 Release 2.0 In Object AllStudentSchoolEnrollments, ClassEndAfterDate renamed to ClassEndFromDate, and ClassEndBeforeDate renamed to ClassEndToDate, and meanings changed to include classes ending on these dates. 2007 Sep 6 Release 2.0 Created New Object Name StudentNotReEnrolled within the QueryBySchool Object. 2007 Sep 13 Release 2.0 Created new Discontinuation Reason Code of Discontinued Schooling, with a reason of monitored. 2008 Feb 4 Release 2.0 Changed Grade from Optional to Required in Object 1.12 StudentEnrollment 2009 Apr 06 Release 2.0 Created new Enrolment Outcome Code of “Completed Functional Integrated Program”. 2009 Apr 06 Release 2.0 Created New Object Name StudentPAAModule.

2009 Apr 06 Release 2.0 Created new Program “Alternative Adult Secondary Program” 2009 Jul 14 Release 2.0 Changed the EducatorCertificateNumber in the ClassInfo Object to be Required and Repeatable rather than Optional and Repeatable. 2009 Aug 31 Release 2.0 Country Codes – Added new ones and changed some old ones. New are in blue font and changes are in red font. 2009 Aug 31 Release 2.0 Language Codes - Added new ones and changed some old ones. New are in blue font and changes are in red font.

Page 6 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Purpose of this Document

This document presents the format of XML for exchanging Student Data System information between partners. It does not address the technology of transmitting and receiving messages (see the Powerpoint presentation for information on the transport layer).

Student Data System XML Dialogues

An XML dialogue, whether real-time or batch, consists of one or more messages sent from a school to the Ministry of Education, and one or more messages sent from the Ministry of Education back to the school (at minimum, the Ministry of Education returns acknowledgement that it received the original messages).

Note that the dialogues presented below imply nothing about the timing of sending messages – they are the same regardless of whether the school accumulates messages and sends them in a batch or sends them real-time.

Message types include:  Events (new or changed data)  Requests for data  Responses to requests and events

Typical Dialogues

Sending student demographic, enrollment and/or course registration data

"Event" - new and/or changed data

Ministry of School Education "Response" - status of data received; errors; Learning ID Number and birth date for records without Learning ID Number in the original "Event"

Page 7 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009

Sending student marks

"Event" - student marks Ministry of School Education "Response" - status of data received; errors

Quick enrollment

"Event" - quick enrollment

"Response" - status of quick enrollment; errors; Learning ID Number and birth date Ministry of School Education

"Request" - demographic data and/or course history

"Response" - demographic data and/or course history

Requesting course history for students (e.g., at the end of a term)

"Request" - course history Ministry of School Education "Response" - course history

Page 8 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Ministry of Education K-12 XML Specification

The Ministry of Education (MOE) K-12 XML specification defines how XML is structured for communication between schools and The Ministry of Education. It was designed using the Schools Interoperability Framework (SIF) Implementation Specification (see www.sifinfo.org) as a starting point, but is not compliant with SIF.

The MOE K-12 XML specification defines the structure of each object. Each object consists of one or more elements, some of which contain additional elements within them. Elements may also contain attributes that define the element. An element that contains elements and/or an attributes is called a complex element. An element that does not is called a simple element.

Elements and attributes are strings unless otherwise indicated. All dates are in the format YYYY-MM-DD. Other restrictions on the format and/or contents of the strings are indicated in the specifications below and in Appendix B. Any element or attribute that is not considered valid will be rejected and could cause the rejection of the entire object it is part of. Syntax for elements and attributes follows standard XML syntax.

Note that each object is assigned a RefId (reference ID), which, for event messages, must be unique within the XML message, so that responses can refer to it. A response, whether it is an error message or data returned (e.g., return of a student’s Learning ID Number), will use the same RefId as the object it is responding to.

Queries are also assigned a RefId, which must be unique within the request XML message. If a query returns many objects (e.g., one query asks for course information on all students enrolled in a term), all the returned objects will include the RefId of the query.

In the MOE K-12 XML specifications:  For an element A included in a complex element B, “required” means that if element B is included in an object, it must include element A within it. However, if element B is not included in the object, element A is not required.  For an element A that is included in an object without being part of a complex element, “required” means that element A must be included in the object.  For an attribute A of an element B, “required” means that if element B is included in an object, attribute A must be included and given a value.  Elements can have multiple values only if the specification indicates that they are “repeatable”.

Note that references to rules – e.g., (rule DAT-LE-058) or (rule enforced by database constraint) – are for internal use by the Ministry of Education. Vendors can ignore these.

Page 9 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 1. Objects The following objects support transmission of data between schools and The Ministry of Education. Schools send objects to The Ministry of Education with action codes to indicate whether each object is to be created, updated or deleted (with limitations on what can be deleted). See section 4.4 SL_Event for more information on action codes.

Objects are also used to send data from The Ministry of Education to schools, on request.

Each object consists of a RefId plus one or more elements. The RefId is used to refer to the object in any messages returned, and must be unique within an event XML message. (For responses to queries, the RefId is used to identify the query the object is a response to.) Elements without a description in this section are complex elements, which are described in section 2 Elements.

Examples of each object are in the document XML Examples.

1.1 SchoolTerm This object allows the school to set up their terms, including a brief description or name of each term. It is optional – The Ministry of Education will automatically create terms (without descriptions or names) to support classes sent by the school.

Element Attribute Status Description/Notes SchoolTerm RefId Required The reference ID for returning messages. SchoolId Required The department-assigned number of the school the term is for. TermInfo Required Element 2.1

1.2 SchoolClass This object allows the school to set up classes being offered. A class has to be created before students can be registered in it.

Note: A class is loosely defined as a group of students who meet together to learn the same subject matter from the same educator(s) at the same time. In the elementary and middle levels, a single class might cover several courses (e.g., English Language Arts, Mathematics, Social Studies, Science, etc.) and even multiple grades (split class). For grades 10 to 12, each class can cover only one course.

Element Attribute Status Description/Notes SchoolClass RefId Required The reference ID for returning messages. ClassIdentification Required Element 2.2 ClassInfo Required Element 2.3

Page 10 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 1.3 StudentSchoolEnrollment This object allows the school to enroll an existing or new student in their school, or to update enrollment information. This is used for quick (real-time) enrollment as well as regular enrollment.

Element Attribute Status Description/Notes StudentSchoolEnrollment RefId Required The reference ID for returning messages. StudentIdentification Required Element 2.4 StudentInfo Optional Note: Required if DeptAssignedPersonId is not included in StudentIdentification. Element 2.5 SchoolId Required The department-assigned number of the school the enrollment is for. SchoolEnrollmentInfo Required Element 2.6 DeptAssignedProgramId Optional The department-assigned number of the program the student is enrolling in (see under 1.4 StudentProgramEnrollment). Note: this element is allowed only when adding a StudentSchoolEnrollment. The object StudentProgramEnrollment is used to change a student’s program. ProgramEnrollmentInfo Optional Note: this element is allowed only when adding a StudentSchoolEnrollment. The object StudentProgramEnrollment is used to change a student’s program. Element 2.7

1.4 StudentProgramEnrollment This object allows the school to indicate or change the program the student is taking. It is only accepted from a school where the student is enrolled or being enrolled (rule SEC- ENROL-001).

Element Attribute Status Description/Notes StudentProgramEnrollment RefId Required The reference ID for returning messages. StudentIdentification Required Element 2.4 DeptAssignedProgramId Required The department-assigned number of the program the student is enrolling in (see below). ProgramEnrollmentInfo Required Element 2.7

Program Numbers 10 Regular Program (English) 11 Fransaskois Program

Page 11 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 12 French Immersion/Bilingual Program 05 Alternative Education Program (English) 06 Alternative Education Program (French) - Le Programme d'éducation alternative 07 Functional Integrated Program (English) 17 Functional Integrated Program (French) - Programme intégré fonctionnel 09 Adult Secondary Program (English) 16 Adult Secondary Program (French) - Éducation des adults 18 Alternative Adult Secondary Program (English) 15 Special Education Program (for students up to grade 9)

1.5 StudentPersonal This object allows a school to update demographic information about a student who has already been enrolled (rule SEC-DEMO-002). When sent from a school, the only action that is allowed for this object is “Change”.

This object also allows the Ministry of Education to send information to a school about a student’s demographic information, on request. See section 3 Queries for how to request this information.

Element Attribute Status Description/Notes StudentPersonal RefId Required The reference ID for returning messages. StudentIdentification Required Element 2.4 StudentInfo Required Element 2.5

1.6 StudentClassEnrollment This object allows a school to register a student in a class and the departmental exam for the class (if applicable). Note that the class must already exist. A class enrollment must exist before a mark will be accepted for it.

Element Attribute Status Description/Notes StudentClassEnrollment RefId Required The reference ID for returning messages. StudentIdentification Required Element 2.4 ClassIdentification Required Element 2.2 ClassEnrollmentInfo Required Element 2.8 ExamRegistrationInfo Optional Note: If not provided and the mark source is “blended”, the system will register the student in the next available dept exam that is in an exam period ending on or after the class end date. Note: If included or the mark source is “blended”, the writing centre is assumed to be the school where the class is being taken (if the student is writing elsewhere, the

Page 12 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 writing centre can be updated via the Student Data System web application). Element 2.9

1.7 StudentExamRegistration This object allows a school to register a student in a supplemental or adult challenge departmental exam (i.e., exam registration with no class). This object will be accepted only if the student qualifies to write the indicated type of exam according to department policy (see the policy on the department’s web site) (rule SDS-MARKS-006). The writing centre has to be approved to offer supplemental and adult challenge exams before the student can be registered (rule SDS-MARKS-015).

Element Attribute Status Description/Notes StudentExamRegistration RefId Required The reference ID for returning messages. StudentIdentification Required Element 2.4 DeptAssignedCourseId Required The department-assigned number of the course whose exam the student plans to write. ExamRegistrationInfo Required Element 2.9 ExamLocation Required Element 2.10

1.8 StudentClassMark This object allows the school to submit or correct the school mark for a student who took a class. Note that the class enrollment must exist and an educator has to be identified for the class before the mark will be accepted (rule SDS-MARKS-002).

A StudentClassMark will not be accepted prior to the month in which the class ends (to avoid accidental use of mid-term marks) (rule DAT-STUREC-029).

Element Attribute Status Description/Notes StudentClassMark RefId Required The reference ID for returning messages. StudentIdentification Required Element 2.4 ClassIdentification Required Element 2.2 SchoolMarkInfo Required Element 2.11

1.9 StudentSupplementalMark This object allows the school to submit or correct the school supplemental (rewrite) mark for a student. No class enrollment object for this mark is required, but the student has to have had a previous class enrollment and mark for the same course (rule SDS-MARKS- 003).

Element Attribute Status Description/Notes StudentSupplementalMark RefId Required The reference ID for returning messages.

Page 13 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 StudentIdentification Required Element 2.4 SchoolId Required The department-assigned number of the school granting the mark. DeptAssignedCourseId Required The department-assigned number of the course for which the student is granted a mark. EducatorCertificateNumber Required The educator certificate number of the educator who evaluated the student. SchoolMarkInfo Required Element 2.11

1.10 StudentCourseHistory – last support is in Release 1.1 This object is still supported in release 1.1, but no longer a part of the XML specifications beyond release 1.1.

1.11 StudentExternalCourse This object allows the school to submit or correct a Driver Education course to be included on the student’s transcript.

This object does not support the action “Delete”. (The courses sent by schools include final marks, and only internal users can delete courses with final marks.)

Element Attribute Status Description/Notes StudentExternalCourse RefId Required The reference ID for returning messages. StudentIdentification Required Element 2.4 StudentExternalCourseInfo Required We would encourage only one course per and object so that error messages can be tied Repeatable to a specific course. Element 2.13

1.12 StudentEnrollment This object allows The Ministry of Education to send information to a school about a student’s current school, program and grade enrolment, on request. If requested for a specific student, previous school enrolment is also included. SchoolName and ProgramName will be included only if requested in the query. See section 3 Queries for how to request this information.

Element Attribute Status Description/Notes StudentEnrollment RefId Required The object reference ID. StudentIdentification Required Element 2.4 SchoolEnrollment Required Information about one school and enrollment for the indicated student. Repeatable SchoolEnrollment/ Required The department-assigned number of the SchoolId school the enrollment is in.

Page 14 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 SchoolEnrollment/ Optional The current name of the school the SchoolName enrollment is in. SchoolEnrollment/ Required Information about the enrollment. Note SchoolEnrollmentInfo that Grade will not be sent as part of this element (SchoolEnrollmentInfo), since it is a separate element in StudentEnrollment. Element 2.6. DeptAssignedProgramId Optional The department-assigned number of the program the student is currently enrolled in, if applicable (see under 1.4 StudentProgramEnrollment). ProgramName Optional The name of the program the student is currently enrolled in, if applicable. Grade Optional Required for MembershipType of “Base” and Optional for “Other”. The student’s grade in the current school year. Code Required Grade code (see codes under 2.6 SchoolEnrollmentInfo).

1.13 StudentCourseEnrollments This object allows The Ministry of Education to send information to a school about a student’s class and department exam registrations, on request. Course registrations from all schools that are neither dropped nor completed are included. SchoolName will be included only if requested in the query. See section 3 Queries for how to request this information.

Element Attribute Status Description/Notes StudentCourseEnrollments RefId Required The object reference ID. StudentIdentification Required Identification of the student. Element 2.4. StudentSchoolClasses Optional Information about classes the student is and registered in at one school. Repeatable StudentSchoolClasses/ Required The department-assigned number of the SchoolId school the registrations are at. StudentSchoolClasses/ Optional The current name of the school the SchoolName registrations are at. StudentSchoolClasses/ Required Information about classes the student is StudentTermClasses and registered in during a single term at the Repeatable school identified by SchoolId. StudentSchoolClasses/ Required Identification of the term the StudentTermClasses/ registrations are in. Element 2.1. TermInfo

Page 15 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 StudentSchoolClasses/ Required Information about a single class the StudentTermClasses/ and student is registered in at the school StudentClass Repeatable identified by SchoolId, in the term identified by TermInfo. Element 2.14. StudentDeptExam Optional Information about a department exam and the student is registered in, where the Repeatable exam is not tied to a class. Element 2.15.

Example 123456789 1993-10-31 2345678 2010-02-05 2010-06-25 6991-B1 5678901 2009-09-02 2010-01-25 BIO30-1 GER30-1

Page 16 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 MATA30-2 2010-01-28 2010-02-05 2010-06-25 MATC30-2 2010-06-28

1.14 StudentCompletedCourses This object allows The Ministry of Education to send information to a school about a student’s completed courses, on request. (A completed course is one with a final mark or standing granted.) SchoolName will be included only if requested in the query. See section 3 Queries for how to request this information.

Element Attribute Status Description/Notes StudentCompletedCourses RefId Required The object reference ID. StudentIdentification Required Identification of the student. Element 2.4. CompletedSchoolCourses Optional Information about courses the student and completed at one school. Repeatable CompletedSchoolCourse/ Required The department-assigned number of the SchoolId school the courses were taken at. CompletedSchoolCourse/ Optional The current name of the school the SchoolName courses were taken at. CompletedSchoolCourse/ Required Information about one course completed CompletedCourse and by the student. Element 2.16. Repeatable

Page 17 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 OtherCompletedCourses Optional Information about courses the student completed that are not associated with a Saskatchewan school (e.g., 100% dept exam and credit transfer). OtherCompletedCourses/ Required Information about one course completed CompletedCourse and by the student. Element 2.16. Repeatable

Example 123456789 1993-10-31 2345678 6017 2008-2009 2009-01-28 78 1.0 6702 2008-2009 2009-01-28 73 1.0 5678901 4511 2008-2009 2009-06-28 75 1.0 4511 2008-06-28 80

Page 18 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 1.0

1.15 DeptCourses This object allows The Ministry of Education to return a list of all active grade 10-12 department-defined courses to a school, on request. See section 3 Queries for how to request this information.

Element Attribute Status Description/Notes DeptCourses RefId Required The object reference ID. DeptCourse Required Information about one course. Element and 2.17 Repeatable

Example 6211 Biology 20 1 1992-08-16 . . .

1.16 AllStudentClassEnrollments This object allows the school to delete all class registrations for classes at their school whose class end date is on/after a specified date or within a specified date range, so that the school can resubmit class registrations from scratch.

This object supports only the action “Delete”. SL_EventObject Action must be “Delete” and SL_EventObject Reason must be specified (it would normally be “ToAllowReplacement”).

Note: Class registrations are deleted for classes offered by the specified school, whether the student is a base or non-base student at the school, and regardless of whether or not the registration was originally created by XML. Classes taken by the same students at other schools are not touched.

Page 19 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Note: Only registrations for 100% school marks will be deleted, and only if there is no school mark yet. Blended registrations cannot be deleted in this manner.

Element Attribute Status Description/Notes AllStudentClassEnrollments RefId Required The reference ID for returning messages. SchoolId Required The department-assigned number of the school whose class registrations are to be deleted. ClassEndFromDate Required Class registrations will be deleted only for classes whose end date is on or after this date. ClassEndToDate Optional If this date is specified, class registrations will be deleted only for classes whose end date is on or after ClassEndFromDate and on or before ClassEndToDate.

1234567 2009-10-15<\ClassEndFromDate>

1.17 StudentsNotReEnrolled This object allows The Ministry of Education to send information to a school about students that are no longer enrolled in the school, but that were enrolled at one time and are less than 16 years of age. See section 3 Queries for how to request this information.

Element Attribute Status Description/Notes StudentsNotReEnrolled RefId Required The object reference ID. StudentIdentification Required Element 2.4 SchoolId Required The department-assigned number of the school StudentAddress Optional The last known address for the student See StudentInfo for the sub elements of StudentAddress PhoneNumber Optional See StudentInfo for the subelements of PhoneNumber

1.18 TSLStudentDeptMarks – No Longer Used

Page 20 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 1.19 StudentPAAModule

This object allows the school to submit PAA Module information.

Element Attribute Status Description/Notes StudentPAAModule RefID Required The reference ID for returning messages. StudentIdentification Required Element 2.4. PAAModule Required Information about Modules the student has and completed. repeatable ModuleId Required Identification of the Module SchoolId Required The Department Assigned Number of the school where the module was completed. SchoolYear Required The school year the module was considered to be part of, expressed as both four-digit calendar years that the school year spans with a hyphen between (e.g. 2009-2010)

Example 1234567 1999-10-20 144 1234567 2009-2010

2. Elements These elements are used within the objects described in section 1 Objects.

2.1 TermInfo Element Attribute Status Description/Notes TermInfo Identifies and describes a term SchoolYear Required The school year of the term, expressed as both four-digit calendar years that the school year spans with a hyphen between (e.g. "2009-2010") StartDate Required Start date of the term

Page 21 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 EndDate Required End date of the term. Cannot be before StartDate (rule DAT-GEN-002). Must be within the school year indicated (between Aug 1 of the first calendar year and Jul 31 of the second calendar year) (rule DAT-PGM-010). Description Optional Text name or description of the term

Example 2010-02-05 2010-06-28 2009-10 Semester 2

2.2 ClassIdentification Element Attribute Status Description/Notes ClassIdentification Identifies a class SchoolId Required The department-assigned number of the school offering the class. ClassId Required Unique identifier (not case sensitive) assigned by the school to distinguish this class from all other classes in the same school for the same dates. Note: This can be formed any way the school finds convenient (e.g., course abbreviation and section letter for grades 9 to 12; homeroom number for other grades), as long as it never changes once the class has been created. The ClassId of an existing class cannot be changed. StartDate Required First day of the term the class is in EndDate Required Last day of the term the class is in. Cannot be before StartDate (rule DAT-GEN-002).

Example 1234567 ELA20A 2010-02-05 2010-06-28

Page 22 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 2.3 ClassInfo Element Attribute Status Description/Notes ClassInfo Describes a class DeptAssignedCourseId Optional Identification of the course(s) covered by and the class, using department-assigned Repeatable course numbers. Required when creating a class (rule DAT-PGM-016). There can only be one course per class in grades 10 to 12 (rule DAT-PGM-003). All courses must be active as of the StartDate of the class (rule DAT-PGM-013). EducatorCertificateNumber Required The teacher(s) who teach this class, and identified by their educator certificate Repeatable numbers. Must be a valid 7-digit educator certificate number. ModeOfInstruction Optional How students receive instruction for this class (can be overridden for individual students). Defaults to “classroom instruction” if not specified (rule DAT- PGM-015). Code Required Mode of instruction (see below)

Mode of Instruction Values Class Classroom instruction (default if not specified) Distance Distance learning

Example 6017 1234567

2.4 StudentIdentification Used to identify a student (in conjunction with information in StudentInfo if the Learning ID Number is not known). If DeptAssignedPersonId (Learning ID Number) is included and BirthDate does not match the student’s birth date in the department’s database, the object containing this element is rejected (rule SDS-DEMO-001).

Element Attribute Status Description/Notes StudentIdentification Identifies a student (in conjunction with information in StudentInfo if the Learning ID Number is not included).

Page 23 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 DeptAssignedPersonId Optional Learning ID Number (assigned by The Ministry of Education). Required in all objects except StudentSchoolEnrollment. Must be a 9-digit number that exists on the department database (rule DAT-LE-058). BirthDate Required The student's date of birth. Used to ensure that the correct record is being referenced. Cannot be used to update the birth date of an existing student.

Example 123456789 1993-10-31

2.5 StudentInfo This element is used to enroll a student (in object StudentSchoolEnrollment) and to update demographic information about a student (in object StudentPersonal).

Note that if the student already exists in the department database, legal name and birth date cannot be changed via XML, nor can gender unless its existing value is U (unknown) (rule SDS-DEMO-001). If the department database has the HSN for an existing student, the HSN cannot be changed via XML (rule SDS-DEMO-011).

Element Attribute Status Description/Notes StudentInfo Provides information about a student. SchoolAssignedPersonId Optional Student number assigned by the school HSN Optional Saskatchewan Health Services Number. If known, should be provided when enrolling a student if the DeptAssignedPersonId is not included. Must be 9 digits and pass the check-digit edit (rule DAT-LE- 050). Name Optional Student's name(s). Legal name is and required (rule DAT-LE-024) (and Repeatable must contain only valid characters) if DeptAssignedPersonId is missing from StudentIdentification. Type Required Name type (see below)

Page 24 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Name/LastName Required Last name. Restricted to uppercase and lowercase alpha characters, hyphens (-), apostrophes ('), periods (.) and spaces (rule DAT-LE-013). Name/FirstName Required First name. Restricted to same characters as LastName (rule DAT- LE-013). Name/MiddleName Optional Middle name or initial. Restricted to same characters as LastName (rule DAT-LE-013). Name/Suffix Optional Name suffix like II, Jr., etc. Restricted to same characters as LastName (rule DAT-LE-013). Name/PreferredName Optional Name the person prefers to be called by (e.g., "Rob"), not including the last name. For students, will be used to create an alias with PreferredName as the first name and LastName as the last name. The Ministry of Education will not send this. Restricted to same characters as LastName (rule DAT- LE-013). Email Optional Student's email address(es). Must and contain exactly one @ character (rule Repeatable DAT-LE-021). Type Required Email type (see below) Demographics Optional Demographics/Gender Optional Code that specifies the student's gender (see below). Required to create a new student (rule SDS- DEMO-002). Demographics/ Optional The student's country of birth CountryOfBirth Code Required Country code (see appendix A) Demographics/ Optional The student's country(ies) of CountryOfCitizenship and citizenship Repeatable Code Required Country code (see appendix A) Demographics/ Optional Language(s) the student uses in the Language and home Repeatable Code Required Language code (see appendix A) Demographics/ Optional Information if the student is deceased Deceased Code Required Deceased code (see below).

Page 25 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 EffectiveDate Optional Death date or date death was known Demographics/ Optional The student's aboriginal status, if AboriginalStatus applicable Code Required Aboriginal status code (see below) Demographics/ Optional The student's treaty status number, if TreatyStatusNumber applicable. Will only be accepted from and sent to band schools (rule SEC-DEMO-001). Number Required Treaty status number StartDate Optional Effective start date of the treaty status number. Defaults to date of XML if not specified. EndDate Optional End date of the treaty status number. Ignored if before StartDate. Demographics/ Optional The student's band affiliation, if BandAffiliation applicable. Will only be accepted from and sent to band schools (rule SEC-DEMO-001). Code Required Affiliated Band code (federally assigned number) StartDate Optional Effective start date of the band affiliation. Defaults to date of XML if not specified. EndDate Optional End date of the band affiliation. Ignored if before StartDate. Demographics/ Optional The student's reserve residency, if ReserveResidency applicable. Will only be accepted from and sent to band schools (rule SEC-DEMO-001). Code Required Reserve residency code (see below) StartDate Optional Effective start date of the reserve residency. Defaults to date of XML if not specified. EndDate Optional End date of the reserve residency. Ignored if before StartDate. StudentAddress Optional The student's address information. and Permanent mailing address is Repeatable required to create a new student (rule SDS-DEMO-002). StudentAddress/ Required Detail of the student’s address Address Type Optional Address type (see below). Defaults to “permanent mailing address” if not specified.

Page 26 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 StartDate Optional Effective start date of the address. Defaults to date of XML if not specified. EndDate Optional Effective end date of the address. Ignored if before StartDate. Note: If a new address is received, the old address will be automatically end- dated. StudentAddress/ Required Can be expressed as one or more Address/Street address lines, or as discrete elements (e.g., street number, street name, street type). The Ministry of Education will always send as one or more address lines and will also send as discrete elements if the address was received as discrete elements. StudentAddress/ Optional Address line 1. Required if discrete Address/Street/Line1 elements not included (rule DAT-LE- 009). StudentAddress/ Optional Address line 2 Address/Street/Line2 StudentAddress/ Optional Address line 3 Address/Street/Line3 StudentAddress/ Optional Name of the complex Address/Street/ Complex StudentAddress/ Optional The address number assigned to the Address/Street/ building StreetNumber StudentAddress/ Optional Street prefix (e.g. SW, NE) Address/Street/ StreetPrefix StudentAddress/ Optional The name of the street Address/Street/ StreetName StudentAddress/ Optional The type of the street (e.g. Lane, Address/Street/ Blvd., Ave., etc.) StreetType StudentAddress/ Optional Street suffix (e.g. SE, NW) Address/Street/ StreetSuffix StudentAddress/ Optional Type of apartment (e.g. Suite) Address/Street/ AptType

Page 27 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 StudentAddress/ Optional Apartment number prefix Address/Street/ AptNumPrefix StudentAddress/ Optional The number of the apartment Address/Street/ AptNumber StudentAddress/ Optional Apartment number suffix Address/Street/ AptNumSuffix StudentAddress/ Required The city part of the address Address/City StudentAddress/ Optional The state or province code part of the Address/StatePr address (required for North American addresses). Code Required State or province code (as used by Canada Post). StudentAddress/ Optional The country part of the address Address/Country (assumed to be Canada if not provided). Code Required Country code (see appendix A) StudentAddress/ Optional The postal code or ZIP code. Address/PostalCode Required for mailing addresses but not physical addresses (rule DAT- LE-009). PhoneNumber Optional The student’s phone number. Format and is (###) ###-#### for North Repeatable American phone numbers (rule DAT- LE-022). Format Required Code that specifies the format of the phone number (see below) Type Optional Phone number type (see below). Defaults to “Home” if not specified. StartDate Optional Effective start date of the phone number. Defaults to date of XML if not specified. EndDate Optional Effective end date of the phone number. Ignored if before StartDate.

Name Type Values Legal Current legal name Alias Alias – any current or previous name by which the individual is or was known

Email Type Values Primary Primary email address Alternate Alternate email address

Page 28 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009

Gender Values M Male F Female U Unknown

Deceased Values Yes Deceased No Not deceased

Aboriginal Status Values Treaty Treaty / Registered (Status) Indian NS Non-Status Indian Metis Metis Inuit Inuit

Reserve Residency Values On Living on reserve Off Living off reserve

Address Type Values Mailing Permanent mailing address (default if not specified) TempMailing Temporary mailing address Physical Permanent physical address

Phone Number Format Values NA North American FF Free form

Phone Number Type Values Home Home telephone number (default if not specified)

Note If the school does not have the student’s Learning ID Number at the time it enrolls the student, it sends the StudentSchoolEnrollment without the DeptAssignedPersonId. The Ministry of Education will return the Learning ID Number to the school in the response (as the DeptAssignedPersonId). If the Learning ID Number cannot be returned immediately (due to a time delay in manually verifying whether the student matches a record already on file), the response will indicate that the Learning ID Number will be sent later. Subsequent XML from the school for the same student must include the Learning ID Number.

Page 29 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 If the student has more than one country of citizenship, send all countries each time an update is made to country of citizenship. For example, if the first message indicated Canada and U.S. and this needs to be corrected to Canada and France, send both Canada and France in the same object when making the correction. Similarly for languages used in the home – when changing the student’s languages, send all languages used in the home.

Examples Sending a new student (Learning ID Number not yet known): 987654321 12345 Smith Kathleen Anne Kathy Jones Kathleen Anne Kathy [email protected] [email protected] F

1234 Main St. AnyTown S0K 2P0

Page 30 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 (306) 123-4567

Note that the above will result in a legal name of  Kathleen Anne Smith and three aliases:  Kathy Smith  Kathleen Anne Jones  Kathy Jones

Sending updates to an existing student (update e-mail address and mailing address): [email protected]

Box 1234 AnyTown S0K 2P0

Note that the new permanent mailing address is sent with its effective date. This will also be used to end date the previous permanent mailing address for this student.

2.6SchoolEnrollmentInfo This element is used to enroll a student in a school or to update school enrollment information. Note that if an enrollment has already been ended (i.e., via a previous XML message or via the web interface), only the ExitType can be updated (rule SDS-ENROL- 004).

Element Attribute Status Description/Notes SchoolEnrollmentInfo Information about a student’s enrollment in a school MembershipType Optional Relationship of student to the indicated school (see below). Defaults to “base school” if not specified when enrolling a student.

Page 31 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 EntryDate Optional The date from when this enrollment is valid. Required when enrolling a student (rule enforced by database constraint). Optional when changing an enrollment, but cannot be used to change the start date of an existing enrollment to a later date (rule SDS- ENROL-004). EntryType Optional Required when enrolling a student (rule enforced by database constraint). Code Required Enrollment type code (see below) Grade Optional Required for MembershipType of “Base” and Optional for “Other”. The student’s grade in the current school year Code Required Grade code (see below) PreviousProvState Optional The province from which the student transferred, if applicable Code Required Canadian province code as used by Canada Post PreviousCountry Optional The country from which the student transferred, if applicable Code Required Country code (see appendix A) ExitDate Optional The ending date of this enrollment ExitType Optional Required when ExitDate is included. Code Required Code indicating enrollment outcome and, if student discontinued, discontinuation reason (see below)

Relationship of Student to School (Membership Type) Values Base Base school (default if not specified) Other Other school

Enrollment Type Codes (and when to use them) 01 Transfer from another Saskatchewan school 03 Transfer from out-of-province schooling within Canada 10 Transfer from out-of-country schooling 13 Transfer from home-based in Saskatchewan 15 Continuation of enrollment at the same school (this student already has an active enrollment record at this school in The Ministry of Education’s database) 16 Readmission (student has already completed grade 12, or student voluntarily discontinued or was expelled from his/her previous school) 18 New (no previous schooling anywhere) 50 Exchange student 99 Not base school

Page 32 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009

Grade Codes P3 Pre-kindergarten (age group of 2 ½ to 3 ½ year olds) PK Pre-kindergarten (age group of 3 ½ to 4 ½ year olds) 0K Kindergarten 01 Grade 1 02 Grade 2 03 Grade 3 04 Grade 4 05 Grade 5 06 Grade 6 07 Grade 7 08 Grade 8 09 Grade 9 10 Grade 10 11 Grade 11 12 Grade 12

Enrollment Outcome and Discontinuation Reason Codes 01 Transferred to another Saskatchewan school 03 Transferred to out-of-province schooling within Canada 10 Transferred to out-of-country schooling 12 Completed Functional Integrated Program 13 Transferred to home-based in Saskatchewan 15 Completed schooling 17 Deceased 18 Discontinued schooling, with a reason of “health reasons” 19 Expelled 21 Discontinued schooling, with no reason 24 Discontinued schooling, with a reason of “other education” 50 Discontinued schooling, with a reason of “employment” 52 Discontinued schooling, with a reason of “dissatisfied with school” 53 Discontinued schooling, with a reason of “other reason” 54 Discontinued schooling, with a reason of “monitored” 60 Enrollment cancelled/no show

Example 2008-09-02

Page 33 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 2.7 ProgramEnrollmentInfo Element Attribute Status Description/Notes ProgramEnrollmentInfo Information about a student’s enrollment in a program EntryDate Required The effective start date of the program enrollment

Example 2008-09-02

2.8 ClassEnrollmentInfo Element Attribute Status Description/Notes ClassEnrollmentInfo Information about a student’s registration in a class ClassInfoOverride Optional Optional overrides for this student Override Required Whether or not class information has been overridden with different values for this student (see below) ClassInfoOverride/ Optional Override indicating how this student receives ModeOfInstruction instruction for this class Code Required Mode of instruction for this student (see below) MarkSource Optional How the final mark is to be derived for this student for this class. Defaults if not provided for a new class enrollment (see Appendix B). Code Required Final mark code (see below) Dropped Optional Whether or not the student has dropped out of the class Code Required Dropped code (see below) ExitDate Optional If the student dropped the class, date on which this occurred, if known. Ignored if before StartDate of the class or on or after EndDate of the class.

Override Values Yes An override exists for this student No No override exists for this student

Mode of Instruction Values Class Classroom instruction Distance Distance learning

Page 34 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Final Mark Source Values Blended Blended school and departmental marks (60% / 40%) School 100% school mark

Dropped Values Yes The student dropped the class No The student did not drop the class

Example

2.9 ExamRegistrationInfo Element Attribute Status Description/Notes ExamRegistrationInfo Information about a student’s registration to write a departmental exam Type Optional The type of exam registration (see below). Required in object StudentExamRegistration. ExamPeriodEndDate Required The end date of the exam period in which the student plans to write the exam Note: Any date within the exam period will be accepted.

Exam Registration Type Values Class With class (default and only valid value in object StudentClassEnrollment, not allowed in object StudentExamRegistration) Supplemental Supplemental exam Adult Adult challenge

Example 2009-01-27

2.10 ExamLocation Element Attribute Status Description/Notes ExamLocation Identifies a departmental exam writing centre

Page 35 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 SchoolId Required The department-assigned school number of the school serving as the writing centre.

Note If a student plans to write in a writing centre other than an education institution, the registration cannot be done via XML. It can be done using the Student Data System web application instead.

Example 3456789

2.11 SchoolMarkInfo This element provides the student's school mark for a course.

Note that marks can be corrected via XML only for a certain time period after the end of the class or the initial submission of a supplemental mark (rule SDS-MARKS-004). Contact Student Records for the exact time limit.

Element Attribute Status Description/Notes SchoolMarkInfo Information about a mark the school has assigned a student CorrectionCode Optional Whether or not this is a correction to a previously reported mark (see below). Defaults to “No” if not specified. SchoolMark Required The mark granted by the school. This has to be a whole number between 1 and 100 inclusive (rule DAT-STUREC-033).

Correction Codes Yes This is a correction to a previously reported mark No This is not a correction (default if not specified)

Example 75

2.12 StudentCourseInfo – last support is in Release 1.1 This object is still supported in release 1.1, but no longer a part of the XML specifications beyond release 1.1.

Page 36 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 2.13 StudentExternalCourseInfo This element provides detail about one external course taken by a student. An external course is one taken outside the provincial system, but to be recognized by the provincial system – e.g., a course transferred in from another province or country or a Driver Education course.

Note that the XML is designed to support both courses submitted electronically and the scannable External Course Evaluation Form.

Element Attribute Status Description/Notes StudentExternalCourseInfo Information about a course taken by a student outside of the provincial system, which is to be recognized by the provincial system. DeptAssignedCourseId Required The department-assigned number of the course the student took or the closest Saskatchewan equivalent. Note that only certain courses (currently only Driver Education) are accepted in XML sent electronically. CourseEndDate Required The date the course ended. Cannot be used to change the course end date for an existing external course, because it is used as part of the identification of the course (along with DeptAssignedCourseId). SchoolId Optional The department-assigned number of the school sending the information. Required for XML sent electronically (rule SDS- MARKS-050). ProvinceState Optional The Canadian province or territory from which the course is being transferred. For internal use only (for the scannable form). Required if SchoolId is not provided, and not allowed if SchoolId is provided (rule SDS-MARKS-050). Code Required Canadian province code as used by Canada Post FinalMark Optional The final mark the student received (if applicable). Required for XML sent electronically (rule SDS-MARKS-050).

2.14 StudentClass This element provides information about one student class registration and the associated department exam registration (if applicable).

Page 37 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Element Attribute Status Description/Notes StudentClass Information about one student class registration and the associated dept exam registration (if applicable). ClassId Required Unique identifier of the class within the school and term. ModeofInstruction Required Code Required Mode of instruction for this student (see below) MarkSource Required Code Required Final mark code (see below) ExamPeriodEndDate Optional The end date of the exam period in which the student plans to write the exam. ExamLocation Optional Identification of the writing centre for the department exam (if applicable). Note: Included only if the writing centre is different from the school of the class. Element 2.10.

2.15 StudentDeptExam This element provides information about one student registration in a department exam not associated with a class registration (i.e. where the mark is to be 100% department exam).

Element Attribute Status Description/Notes StudentDeptExam Information about one student registration in a 100% dept exam. DeptAssignedCourseId Required The department-assigned number of the course whose exam the student plans to write. ExamRegistrationInfo Required The type and exam period end date. Element 2.9. ExamLocation Required Identification of the writing centre. Element 2.10.

2.16 CompletedCourse This element provides information about one course a student has completed (whether passed or failed). CourseTitle will be included only if requested in the query. SchoolYear will be included except for credit transfer courses. FinalMark will be included if the course has one (not standing granted).

Page 38 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Element Attribute Status Description/Notes CompletedCourse Information about a course taken by a student or for which a student has received credit (e.g., by writing a challenge exam). Type Required The type of course (see below) DeptAssignedCourseId Required The department-assigned number of the course the student took. CourseTitle Optional The name of the course the student took. SchoolYear Optional The school year the course was considered to be part of, expressed as both four-digit calendar years that the school year spans with a hyphen between (e.g. "2009-2010") CourseEndDate Required The date the course is considered to have ended FinalMark Optional The final mark the student was granted CreditsEarned Required The number of credits this student was granted for this course

Student Course Type Values Blended School and departmental exam School School only Dept Departmental exam only Transfer Transfer in credit

Example 8017 2009-2010 2010-01-28 78 1.0

2.17 DeptCourse This element provides information about one department-defined course.

Element Attribute Status Description/Notes DeptCourse Information about a department-defined course. DeptAssignedCourseId Required The unique identifying number assigned by the department to the course. CourseTitle Required The name of the course. Grade Required The grade the course is in. Code Required Grade code (see grade codes under element 2.5 SchoolEnrollmentInfo).

Page 39 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 CreditValue Optional The number of credits the course is worth if a student passes it. EffectiveDate Required The date the course first became available for schools to offer.

Example 6211 Biology 20 1 1992-08-16

3. Queries Query allows a school to request certain data. There are a limited number of pre-defined queries that are supported.

3.1 SL_QueryObject – last support is in Release 1.1 This object is still supported in release 1.1, but no longer a part of the XML specifications beyond release 1.1.

3.2GeneralQuery This allows the school to request general information (not specific to either a school or a particular student) such as a list of department courses.

Element Attribute Status Description/Notes GeneralQuery A request to return information that is neither specific to a student or a school (e.g., list of department courses). RefId Required The reference ID for returning the response. ObjectName Required The name of the type of object to be returned (see below)

Object Names Supported for GeneralQuery DeptCourses

Example Request a current list of dept-defined grade 10-12 courses:

Page 40 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009

3.3QueryByStudent This allows the school to request information about one student.

Element Attribute Status Description/Notes QueryByStudent A request to return information for a specific student. RefId Required The reference ID for returning the response. ObjectName Required The name of the type of object to be returned (see below) IncludeLookup Optional Code (see below) to indicate whether Names or not to include SchoolName, ProgramName and CourseTitle in the returned data. Applicable only if querying objects that optionally include SchoolName, ProgramName and/or CourseTitle. Defaults to “No” if not specified. DeptAssignedPersonId Required The Learning ID Number of the student whose data is to be returned BirthDate Required The birth date of the student whose data is to be returned (a double-check that the right student is being queried)

Object Names Supported for QueryByStudent StudentPersonal  returns demographic data StudentEnrollment  returns all current and previous school enrolments, current program enrolment and current grade enrolment StudentCourseEnrollments  returns all non-dropped class and department exam registrations at all schools, for which there is no final mark StudentCompletedCourses  returns all courses completed by the student

Include Lookup Names Codes Yes Include lookup names such as SchoolName, ProgramName and CourseTitle No Do not include lookup names such as SchoolName, ProgramName and CourseTitle

Page 41 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Examples Request student demographic information for a student: 123456789 1989-03-15

Request student course history for a student: < DeptAssignedPersonId >123456789 1989-03-15

3.4QueryBySchool This allows the school to request information about all students enrolled in a school.

Element Attribute Status Description/Notes QueryBySchool A request to return information for students enrolled in a specific school. RefId Required The reference ID for returning the response. ObjectName Required The name of the type of object to be returned (see below) ScopeCode Optional Data scope code (see below). Applicable only if querying StudentCourseEnrollments or StudentCompletedCourses. Defaults to “All” if not specified. IncludeLookupNames Optional Code (see below) to indicate whether or not to include SchoolName, ProgramName and CourseTitle in the returned data. Applicable only if querying objects that optionally include SchoolName, ProgramName and/or CourseTitle. Defaults to “No” if not specified. SchoolId Required The department-assigned number of the school whose data is to be returned FromDate Required The first date of the date range for which data is to be returned (see notes below)

Page 42 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 ToDate Required The last date of the date range for which data is to be returned (see notes below) FromGrade Optional The first grade of the grade range for which data is to be returned (see notes below) Code Required Grade code (same as used in element 2.6 SchoolEnrollmentInfo). ToGrade Optional The last grade of the grade range for which data is to be returned (see notes below) Code Required Grade code (same as used in element 2.6 SchoolEnrollmentInfo).

Object Names Supported for Query StudentPersonal  returns demographic data StudentSchoolEnrollment  returns current enrolment in the requesting school only StudentCourseEnrollments  returns non-dropped class and department exam registrations at all schools, for which there is no final mark, according to the data scope described below StudentCompletedCourses  returns courses completed by the student, according to the data scope described below StudentNotReEnrolled  returns the students that have been enrolled in the school, but are not now enrolled in any school and are less than 16 years of age

Data Scope Codes For StudentCourseEnrollments, these codes define which registrations to return for the students who are included in the query criteria.

All Return all non-dropped courses that are not complete Current Return all non-dropped courses that are not completed, whose course end date falls within the date range specified

For StudentCompletedCourses, these codes define which courses to return for the students who are included in the query criteria.

All Return all completed courses for all years Current Return all courses whose final mark (or standing granted) was entered or changed in the Student Data System within the date range specified

Page 43 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Note that the second scope code returns:  courses completed (final mark posted) within the date range  final mark corrections made within the date range (for courses completed earlier)  transfer in credits entered into the system within the date range Some of the courses returned will already be in the school’s database, while some will not (e.g. courses taken elsewhere and transfer in credits).

Include Lookup Names Codes Yes Include lookup names such as SchoolName, ProgramName and CourseTitle No Do not include lookup names such as SchoolName, ProgramName and CourseTitle

Notes If a grade range is not specified, this query returns all students enrolled in the indicated school (as the base school or as a non-base school) any time during the date range indicated.

If a grade range is indicated, it returns all students enrolled in the indicated school (as the base school or as a non-base school) any time during the date range indicated, whose most recent grade enrollment is within the grade range indicated.

There is no explicit query to get the Learning ID Number for a student. Instead, when a school sends a StudentSchoolEnrollment object for a student and the Learning ID Number (DeptAssignedPersonId) is not included, The Ministry of Education processes the data received and also treats it as an implied query for the Learning ID Number. See the note under StudentPersonal for more information.

Examples Request all student course history for all students enrolled in a school during a particular school year (defined by a date range): 1234567 2009-08-01 2010-07-31

Request student course mark changes entered during the term just ended for all grade 12 students enrolled in a school in that term:

Page 44 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 1234567 2009-02-01 2010-06-28

Request students that are no longer enrolled in the school: 1234567 2009-08-01 2010-07-31

4. Message Infrastructure Information is packaged into messages, such that one message contains one or more objects, queries or responses.

Each message is “wrapped” in tags that define the message. The outermost tag of all messages is SL_Message. Within this tag is another tag identifying the type of message: SL_Event SL_Request SL_Response SL_Ping

4.1 SL_Message The outermost tag on all messages.

Element Attribute Status Description/Notes SL_Message xmlns Required The XML namespace that defines the specifications for this major release (see below) xmlns:xsi Required The XML schema instance (see below) xsi:schemaLocation Required The physical location of the XML schema (see below) Version Optional The version number of the XML specifications (currently 2.0). Defaults to 2.0 if not specified.

Page 45 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 XML Namespace and Related Values For this release of the The Ministry of Education K-12 XML specifications, use: xmlns=”http://www.sasked.gov.sk.ca/xsd/sl/2.x/SLMessage.xsd” xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sasked.gov.sk.ca/xsd/sl/2.x/SLMessage.xsd http://www.sasked.gov.sk.ca/xsd/sl/2.x/SLMessage.xsd"

Example Message content goes here

4.2 SL_Header Within each type of message is SL_Header, which identifies the message and when it was sent.

Element Attribute Status Description/Notes SL_Header SL_MsgId Required A unique identifier of the message (see note below) SL_Date Required The date the message was sent SL_Time Required The time at which the message was sent, in format HH:MM:SS, using a 24-hour clock Zone Optional The time zone, expressed as an offset from the zero meridian (e.g., UTC-06:00 for Central Standard Time). Defaults to “UTC-06:00” if not specified. SL_SourceId Required The unique ID of the originator of the message. This is the department-assigned number of the organization.

Note SL_MsgId has to be unique on every message sent between schools and The Ministry of Education. The Ministry of Education cannot accept two XML messages with the same SL_MsgId, even if they come from different schools. SL_MsgId can be any length, as long as it is unique.

Two techniques to ensure uniqueness are recommended. Schools can pick from either of these techniques:  Concatenate department-assigned school number, date/time, message sequence number and user id to create a unique SL_MsgId, where message sequence number is used to distinguish two or more messages created by the same user in the same second. Separate the parts of the message id by periods.

Page 46 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009  Format: {School Number}.{Date}.{Time}.{Message Sequence #}.{UserId}  Example: 1234567.20040115.200856.0001.doej  Use a Global Unique Identifier (GUID), also known as a Universal Unique Identifier (UUID). This is a system-generated string of characters that is guaranteed to be universally unique. Most platforms have a function that will generate GUIDs, which can be accessed from development languages available on the platform. Check your platform / development language documentation for how to access this function.  Example: In Oracle, a GUID can be generated as follows: select sys_guid() from dual

Note: If a transmission problem prevented The Ministry of Education from receiving an entire batch XML message and the message is being sent again, the SL_MsgId can be kept the same. Otherwise, (e.g., if there is a problem with the XML that needs to be corrected, such as a missing tag), a new SL_MsgId should be used for the corrected message.

Example 12345678901234567890123456789012 2009-09-23 20:23:54 8888888

4.3 SL_UserCredentials – removed from specification This element is no longer part of the XML specifications.

4.4 SL_Event An event message indicates that data is to be added or changed.

Element Attribute Status Description/Notes SL_Event SL_Header Required See SL_Header above SL_ObjectData Required Wrapper for the data being sent SL_ObjectData/ Required and Identifies the type of object being sent SL_EventObject Repeatable and wraps the data ObjectName Required The name of the object being sent Action Required The action this event conveys (see below) Reason Optional The reason that indicates why this data is being sent, if non-routine (see below) SL_ObjectData/ Required and The actual data being sent (see object SL_EventObject/ Repeatable specifications above) objectname

Page 47 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Event Action Values Add Change Delete Delete this information because it was previously sent in error and is incorrect, or so that it can be replaced from scratch. Must be accompanied by a Reason of “ClericalError” or “ToAllowReplacement”. Valid only for objects StudentSchoolEnrollment, StudentClassEnrollment and AllStudentClassEnrollments.

Event Reason Values ClericalError Valid only for an Action of “Delete” – indicates that the information originally sent was incorrect and should be deleted. ToAllowReplacement Valid only for an Action of “Delete” – indicates that the information is to be deleted so that it can be replaced from scratch. For use with object AllStudentClassEnrollments.

Examples Change a student’s phone number 12345678901234567890123456789012 2009-09-23 20:23:54 1234567 123456789 1993-10-31 (306) 123-4567

Page 48 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009

4.5 SL_Request A request message asks for data to be returned.

Element Attribute Status Description/Notes SL_Request SL_Header Required See SL_Header above SL_Query Required The query for data. See SL_Query under Queries. SL_Query/ Required and The actual queries, which can be any objectname Repeatable query in section 3.

Example 12345678901234567890123456789012 2009-09-23 20:23:54 1234567

4.6 SL_Response A response message acknowledges an event or request, indicates whether or not it could be successfully processed and sends data back if applicable.

Element Attribute Status Description/Notes SL_Response SL_Header Required See SL_Header above SL_Ack Required Acknowledgement of the message that elicited this response

Page 49 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 SL_Ack/ Required The message ID of the message that SL_OriginalMsgId elicited this response SL_Ack/ Required The unique ID of the originator of the SL_OriginalSource Id message that elicited this response SL_Ack/SL_Status Required Whether or not the original message was successfully processed SL_Ack/SL_Status/ Required Status code (see below) SL_StatusCode SL_Ack/SL_Status/ Optional Message if required to clarify the status SL_StatusMsg SL_Ack/SL_Error Optional Exception message and Repeatable ObjectName Optional The name of the object that the error relates to, if applicable RefId Optional The reference ID of the object that the error relates to, if applicable SL_Ack/SL_Error/ Required Message severity (see below) SL_ErrorSeverity SL_Ack/SL_Error/ Required Error code (values published separately) SL_ErrorCode SL_Ack/SL_Error/ Optional Message describing the error SL_ErrorMsg SL_ObjectData Optional Wrapper for any data being returned SL_ObjectData/ Required Identifies the type of object being SL_EventObject and returned and wraps the data Repeatable ObjectName Required The name of the object being returned Action Required Will be set to “None” Reason Optional Not applicable SL_ObjectData/ Required The actual data being returned (see SL_EventObject/ and object specifications above) objectname Repeatable

Status Code Values Successful Processed successfully, no messages or only informational messages Warnings Processed successfully with warning messages Errors Processed with error messages Invalid Invalid XML

Message Severity Values Informational Warning Error

Page 50 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Examples Response to an event updating a student’s address 12345678901234567890123456789012 2009-09-23 20:23:54 8888888 98765432109876543210987654321098 1234567 01 Successful Informational 05 Address start date defaulted to 2009-09-23

Response to a request for a student’s course history 12345678901234567890123456789012 2009-09-23 10:24:15 8888888

Page 51 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 98765432109876543210987654321098 1234567 01 Successful 123456789 1993-10-31 2345678 6017 2008-2009 2009-01-28 78 1.0 6702 2008-2009 2009-01-28 73 1.0

4.7 SL_Ping The ping message allows an institution to determine whether the system it wants to send messages to is receiving messages.

Element Attribute Status Description/Notes SL_Ping Required Request to acknowledge the ping SL_Header Required See SL_Header above

Page 52 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009

Example 12345678901234567890123456789012 2009-09-23 20:23:54 1234567

Page 53 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Appendix A – Country, Language and Province/State Codes

Country Codes (source: ISO-3166-1) AF Afghanistan AX Aland Islands AL Albania DZ Algeria AS American Samoa AD Andorra AO Angola AI Anguilla AQ Antarctica AG Antigua and Barbuda AR Argentina AM Armenia AW Aruba AU Australia AT Austria AZ Azerbaijan BS Bahamas BH Bahrain BD Bangladesh BB Barbados BY Belarus BE Belgium BZ Belize BJ Benin BM Bermuda BT Bhutan BO Bolivia, Plurinational State of BA Bosnia And Herzegovina BW Botswana BV Bouvet Island BR Brazil IO British Indian Ocean Territory BN Brunei Darussalam BG Bulgaria BF Burkina Faso BU Burma (No Longer Exists) BI Burundi KH Cambodia CM Cameroon CA Canada CV Cape Verde KY Cayman Islands CF Central African Republic

Page 54 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 TD Chad CL Chile CN China CX Christmas Island CC Cocos (Keeling) Islands CO Colombia KM Comoros CG Congo CD Congo, The Democratic Republic Of The CK Cook Islands CR Costa Rica CI Côte D’ivoire (Ivory Coast) HR Croatia CU Cuba CY Cyprus CZ Czech Republic CS Czechoslovakia (No Longer Exists) YD Democratic Yemen (No Longer Exists) DK Denmark DJ Djibouti DM Dominica DO Dominican Republic EC Ecuador EG Egypt SV El Salvador GQ Equatorial Guinea ER Eritrea EE Estonia ET Ethiopia FK Falkland Islands (Malvinas) FO Faroe Islands FJ Fiji FI Finland FR France GF French Guiana PF French Polynesia TF French Southern Territories GA Gabon GM Gambia GE Georgia DD German Democratic Republic (No Longer Exists) DE Germany GH Ghana GI Gibraltar GR Greece GL Greenland

Page 55 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 GD Grenada GP Guadeloupe GU Guam GT Guatemala GG Guernsey GN Guinea GW Guinea-Bissau GY Guyana HT Haiti HM Heard Island and McDonald Islands HN Honduras HK Hong Kong HU Hungary IS Iceland IN India ID Indonesia IR Iran, Islamic Republic of IQ Iraq IE Ireland IM Isle of Man IL Israel IT Italy JM Jamaica JP Japan JE Jersey JO Jordan KZ Kazakhstan KE Kenya KI Kiribati KP Korea, Democratic People’s Republic Of KR Korea, Republic Of KW Kuwait KG Kyrgyzstan LA Lao People’s Democratic Republic LV Latvia LB Lebanon LS Lesotho LR Liberia LY Libyan Arab Jamahiriya LI Liechtenstein LT Lithuania LU Luxembourg MO Macao MK Macedonia, the Former Yugoslav Republic Of MG Madagascar MW Malawi

Page 56 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 MY Malaysia MV Maldives ML Mali MT Malta MH Marshall Islands MQ Martinique MR Mauritania MU Mauritius YT Mayotte MX Mexico FM Micronesia, Federated States of MD Moldova, Republic Of MC Monaco MN Mongolia ME Montenegro MS Montserrat MA Morocco MZ Mozambique MM Myanmar NA Namibia NR Nauru NP Nepal NL Netherlands AN Netherlands Antilles NT Neutral Zone (No Longer Exists) NC New Caledonia NZ New Zealand NI Nicaragua NE Niger NG Nigeria NU Niue NF Norfolk Island MP Northern Mariana Islands NO Norway OM Oman PK Pakistan PW Palau PS Palestinian Territory, Occupied PA Panama PG Papua New Guinea PY Paraguay PE Peru PH Philippines PN Pitcairn PL Poland PT Portugal

Page 57 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 PR Puerto Rico QA Qatar RE Réunion RO Romania RU Russian Federation RW Rwanda BL Saint Barthélemy SH Saint Helena KN Saint Kitts and Nevis LC Saint Lucia MF Saint Martin PM Saint Pierre and Miquelon VC Saint Vincent and the Grenadines WS Samoa SM San Marino ST Sao Tome and Principe SA Saudi Arabia SN Senegal RS Serbia, Republic of SC Seychelles SL Sierra Leone SG Singapore SK Slovakia SI Slovenia SB Solomon Islands SO Somalia ZA South Africa GS South Georgia And The South Sandwich Islands ES Spain LK Sri Lanka SD Sudan SR Suriname SJ Svalbard and Jan Mayen Islands SZ Swaziland SE Sweden CH Switzerland SY Syrian Arab Republic TW Taiwan, Province Of China TJ Tajikistan TZ Tanzania, United Republic Of TH Thailand TP Timor-Leste TG Togo TK Tokelau TO Tonga TT Trinidad and Tobago

Page 58 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 TN Tunisia TR Turkey TM Turkmenistan TC Turks and Caicos Islands TV Tuvalu UG Uganda UA Ukraine SU Union Of Soviet Socialist Republics (No Longer Exists) AE United Arab Emirates GB United Kingdom (Great Britain) UM United States Minor Outlying Islands US United States Of America ZZ Unknown Or Unspecified Country UY Uruguay UZ Uzbekistan VU Vanuatu VA Vatican City State VE Venezuela, Bolivarian Republic of VN Viet Nam VG Virgin Islands, British VI Virgin Islands, U.S. WF Wallis and Futuna Islands EH Western Sahara YE Yemen Republic YU Yugoslavia (No Longer Exists) ZM Zambia ZW Zimbabwe

Language Codes (source: NISO-Z39.53, with additions) The NISO-Z39.53 list (used by SIF) does not have separate codes for all languages within each language group (e.g., Athabascan languages, Aleut languages). The following list has had some specific languages and codes added. It also includes some languages without codes and indicates which associated language to use instead.

ABK Abkhazian ACE Achinese ACH Acoli ADA Adangme ADY Adyghe AAR Afar AFH Afrihili (Artificial language) AFR Afrikaans AFA Afro-Asiatic (Other) AIN Ainu AKA Akan AKK Akkadian

Page 59 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 ALB Albanian ALE Aleut languages ALG Algonquian languages AJM Aljamia TUT Altaic (Other) AMH Amharic ANP Angika APA Apache languages ARA Arabic ARG Aragonese ARC Aramaic ARP Arapaho ARW Arawak ARM Armenian RUP Aromanian; Macedo-Romanian ART Artificial (Other) ASM Assamese AST Asturian; Bable ATH Athabascan languages AUS Australian languages MAP Austronesian (Other) AVA Avaric AVE Avestan AWA Awadhi AYM Aymara AZE Azerbaijani NAH Aztec BAN Balinese BAT Baltic (Other) BAL Baluchi BAM Bambara BAI Bamileke languages BAD Banda languages BNT Bantu languages BAS Basa BAK Bashkir BAQ Basque BTK Batak languages BEJ Beja BEL Belarusian BEM Bemba BEN Bengali BER Berber languages BHO Bhojpuri BIH Bihari BIK Bikol

Page 60 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 BIN Bini BIS Bislama BYN Blin BOS Bosnian BRA Braj BRE Breton BUG Buginese BUL Bulgarian BUA Buriat BUR Burmese BEL Byelorussian CAD Caddo CAT Catalan CAU Caucasian (Other) CEB Cebuano CEL Celtic languages CAI Central American Indian (Other) KHM Central Khmer CHG Chagatai CMC Chamic Languages CHA Chamorro CHE Chechen CHR Cherokee CHY Cheyenne CHB Chibcha NYA Chichewa; Nyanja YUE Chinese, Cantonese CHI Chinese, Mandarin CHN Chinook jargon CHP Chipewyan CHO Choctaw CHU Church Slavic CHK Chuukese CHV Chuvash NWC Classical Newari SYR Classical Syriac COP Coptic COR Cornish COS Corsican CRE Cree MUS Creek CRP Creoles and Pidgins (Other) CPE Creoles and Pidgins, English-based (Other) CPF Creoles and Pidgins, French-based (Other) CPP Creoles and Pidgins, Portuguese-based (Other) CRH Crimean Tatar

Page 61 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 SCR Croatian CUS Cushitic (Other) CZE Czech DAK Dakota DAN Danish DAR Dargwa DEL Delaware CHP Dene Suline DIN Dinka DIV Divehi; Maldivian DOI Dogri DGR Dogrib DRA Dravidian (Other) DUA Duala DUT Dutch DUM Dutch, Middle (ca. 1050-1350) DYU Dyula DZO Dzongkha EFI Efik EGY Egyptian EKA Ekajuk ELX Elamite ENG English ENM English, Middle (1100-1500) ANG English, Old (ca. 450-1100) MYV Erzya ESP Esperanto EST Estonian ETH Ethiopic EWE Ewe EWO Ewondo FAN Fang FAT Fanti FAR Faroese PER Farsi FIJ Fijian FIL Filipino; Pilipino FIN Finnish FIU Finno-Ugrian (Other) VLA Flemish FON Fon FRE French FRM French, Middle (ca. 1400-1600) FRO French, Old (ca. 842-1400) FRI Frisian FRS Frisian, Eastern

Page 62 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 FRR Frisian, Northern FRY Frisian. Western FUR Friulian FUL Fulah GAA Ga GAE Gaelic, Scots CAR Galibi Carib GAG Galician LUG Ganda GAY Gayo GBA Gbaya GEZ Geez GEO Georgian GER German GMH German, Middle High (ca. 1050-1500) GOH German, Old High (ca. 750-1050) GEM Germanic (Other) GIL Gilbertese GON Gondi GOR Gorontalo GOT Gothic GRB Grebo GRC Greek, Ancient (to 1453) GRE Greek, Modern (1453- ) GUA Guarani GUJ Gujarati GWI Gwich’in HAI Haida HAT Haitian HAU Hausa HAW Hawaiian HEB Hebrew HER Herero HIL Hiligaynon HIM Himachali HIN Hindi HMO Hiri Motu HUN Hungarian HUP Hupa IBA Iban ICE Icelandic IDO Ido IBO Igbo IJO Ijo languages ILO Iloko INC Indic (Other)

Page 63 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 INE Indo-European (Other) IND Indonesian INH Ingush INT Interlingua (International Auxiliary Language Association) ILE Interlingue INU Inuit languages IKU Inuktitut;Inuktut IPK Inupiaq IRA Iranian (Other) IRI Irish MGA Irish, Middle (900-1200) SGA Irish, Old (to 900) IRO Iroquoian languages ITA Italian JPN Japanese JAV Javanese JRB Judeo-Arabic JPR Judeo-Persian KBD Kabardian KAB Kabyle KAC Kachin; Jingpho KAL Kalaallisut XAL Kalmyk; Oirat KAM Kamba KAN Kannada KAU Kanuri KRC Karachay-Balkar KAA Kara-Kalpak KRL Karelian KAR Karen languages KAS Kashmiri CSB Kashubian KAW Kawi KAZ Kazakh KHA Khasi KHI Khoisan (Other) KHO Khotanese KIK Kikuyu KMB Kimbundu KIN Kinyarwanda KIR Kirghiz; Kyrgyz TLH Klingon; Tlhlngan-Hol KOM Komi KON Kongo KOK Konkani KOR Korean

Page 64 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 KOS Kosraean KPE Kpelle KRO Kru languages KUA Kuanyama KUM Kumyk KUR Kurdish KRU Kurukh KUS Kusaie KUT Kutenai LAD Ladino LAH Lahnda LKT Lakota LAM Lamba DAY Land Dayak languages LAN Langue d’oc (post-1500) LAO Lao LAP Lapp LAT Latin LAV Latvian LTZ Letzeburgesch; Luxembourgish LEZ Lezghian LIM Limburgan LIN Lingala LIT Lithuanian JBO Lojban NDS Low German; Low Saxon LOZ Lozi LUB Luba-Katanga LUA Luba-Lulua LUI Luiseno LUN Lunda LUO Luo (Kenya and Tanzania) LUS Lushai MAC Macedonian MAD Madurese MAG Magahi MAI Maithili MAK Makasar MLA Malagasy MAY Malay MAL Malayalam MLT Maltese MNC Manchu MDR Mandar MAN Mandingo MNI Manipuri

Page 65 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 MNO Manobo languages MAX Manx MAO Maori ARN Mapudungun; Mapuche (was Araucanian) MAR Marathi CHM Mari MAH Marshallese MWR Marwari MAS Masai MYN Mayan languages MEN Mende MCH Michif MIC Micmac; Mi’kmaq MIN Minangkabau MWL Mirandese MIS Miscellaneous (Other) MOH Mohawk MDF Moksha MOL Moldavian LOL Mongo MON Mongolian MKH Mon-Khmer (Other) MOS Mossi MUL Multiple languages MUN Munda (Other) NQO N’Ko NAH Nahuatl languages DAK Nakota NAU Nauru NAV Navajo NDE Ndebele, North NBL Ndebele, South NDO Ndonga NAP Neapolitan NEP Nepali NEW Newari NIA Nias NIC Niger-Kordofanian (Other) SSA Nilo-Saharan (Other) NIU Niuean NOG Nogai NON Norse, Old NAI North American Indian (Other) NSO Northern Sotho; Pedi NOR Norwegian NOB Norwegian, Bokmal

Page 66 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 NNO Norwegian, Nynorsk NUB Nubian languages NYM Nyamwezi NYA Nyanja NYN Nyankole NYO Nyoro NZI Nzima OCI Occitan (post 1500); Provencal OJI Ojibwa PEO Old Persian (ca. 600-400 B.C.) ORI Oriya GAL Oromo OSA Osage OSS Ossetian; Ossetic OTO Otomian languages PAL Pahlavi PAU Palauan PLI Pali PAM Pampanga PAG Pangasinan PAN Panjabi PAP Papiamento PAA Papuan-Australian (Other) PUS Pashto PER Persian PEO Persian, Old (ca.600-400 B.C.) PHI Philippine (Other) PHN Phoenician PON Pohnpeian POL Polish PON Ponape POR Portuguese PRA Prakrit languages PRO Provencal, Old (to 1500) PUS Pushto QUE Quechua RAJ Rajasthani RAP Rapanui RAR Rarotongan; Cook Islands Maori ROA Romance (Other) RUM Romanian ROH Romansh (was Raeto-Romance) ROM Romany RUN Rundi RUS Russian SAL Salishan languages

Page 67 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 SAM Samaritan Aramaic SMI Sami languages (Other) SMN Sami, Inari SMJ Sami, Lule SME Sami, Northern SMS Sami, Skolt SMA Sami, Southern SAO Samoan SAD Sandawe SAG Sango SAN Sanskrit SAT Santali SRD Sardinian SAS Sasak SAU Saulteaux SCO Scots SEL Selkup SEM Semitic (Other) SCC Serbian SRR Serer SHN Shan SHO Shona III Sichuan Yi SCN Sicilian SID Sidamo SGN Sign Languages BLA Siksika SND Sindhi SNH Sinhalese SIT Sino-Tibetan (Other) SIO Siouan languages SIO Sioux DEN Slave, Athapascan SLA Slavic (Other) SLO Slovak SLV Slovenian SOG Sogdian SOM Somali SON Songhai languages SNK Soninke WEN Sorbian languages DSB Sorbian, Lower HSB Sorbian, Upper SSO Sotho SAI South American Indian (Other) ALT Southern Altai

Page 68 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 SPA Spanish SRN Sranan Tongo SUK Sukuma SUX Sumerian SUN Sundanese SUS Susu SWA Swahili SSW Swati SWZ Swazi SWE Swedish GSW Swiss German TAG Tagalog TAH Tahitian TAI Tai languages TAJ Tajik TMH Tamashek TAM Tamil TAR Tatar TEL Telugu TER Tereno TET Tetum THA Thai TIB Tibetan TIG Tigre TIR Tigrinya TEM Time TIV Tiv TLI Tlingit TPI Tok Pisin TKL Tokelau TOG Tonga, Nyasa TON Tonga, Tonga Islands TRU Truk TSI Tsimshian TSO Tsonga TSW Tswana TUM Tumbuka TUP Tupi languages TUR Turkish OTA Turkish, Ottoman TUK Turkmen TVL Tuvalu TYV Tuvinian TWI Twi UDM Udmurt UGA Ugaritic

Page 69 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 UIG Uighur UKR Ukrainian UMB Umbundu UND Undetermined URD Urdu UZB Uzbek VAI Vai VEN Venda VIE Vietnamese VOL Volapuk VOT Votic WAK Wakashan languages WAL Walaitta WLN Walloon WAR Waray WAS Washo WEL Welsh WOL Wolof XHO Xhosa SAH Yakut YAO Yao YAP Yapese YID Yiddish YOR Yoruba YPK Yupik languages ZND Zande languages ZAP Zapotec ZZA Zaza; Dimili ZEN Zenaga ZHA Zhuang ZUL Zulu ZUN Zuni

Province/State Codes AB Alberta BC British Columbia MB Manitoba NB New Brunswick NL Newfoundland and Labrador NT Northwest Territories NS Nova Scotia NU Nunavut ON Ontario PE Prince Edward Island QC Quebec SK Saskatchewan

Page 70 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 YT Yukon AL Alabama AK Alaska AZ Arizona AR Arkansas CA California CO Colorado CT Connecticut DE Delaware DC District of Columbia FL Florida GA Georgia GU Guam HI Hawaii ID Idaho IL Illinois IN Indiana IA Iowa KS Kansas KY Kentucky LA Louisiana ME Maine MD Maryland MA Massachusetts MI Michigan MN Minnesota MS Mississippi MO Missouri MT Montana NE Nebraska NV Nevada NH New Hampshire NJ New Jersey NM New Mexico NY New York NC North Carolina ND North Dakota OH Ohio OK Oklahoma OR Oregon PA Pennsylvania PR Puerto Rico RI Rhode Island SC South Carolina SD South Dakota TN Tennessee

Page 71 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 TX Texas UT Utah VT Vermont VA Virginia VI Virgin Islands WA Washington WV West Virginia WI Wisconsin WY Wyoming

Page 72 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 Appendix B – Additional Edits

Additional Edits Revision History Date Version Changes 2003 Oct 24 Pre-release Added minimal XML to register a student in a supplemental or adult challenge departmental exam. Added rules for rejecting the following:  StudentPersonal or StudentProgramEnrollment for an individual who is not enrolled in the sending school or registered in a class at the sending school (unless accompanied by enrollment or registration).  StudentSchoolMark for a class in which the student is not registered. Added rules for queries – the system will not return data if the learning id number does not correspond to a student at the sending school. Changed references to PreviousProvince and PreviousCountry to indicate that these have been moved to object StudentSchoolEnrollment. Added edits on StartDates and EndDates. 2003 Oct 29 Pre-release Address edit rules for atomic (discrete) addresses changed 2003 Oct 31 Pre-release Added edits on SectionInfo, preventing multiple secondary level courses per class. 2003 Oct 31 Release 1.0 Released. 2003 Nov 7 Release 1.0 Correction: StaffPersonal object is not mandatory when registering a student in a class. Clarification: School mark will not be accepted for a student if the student registration XML does not identify the teacher of the class, unless the class was previously created with a teacher identified. Edit added: If StudentSchoolMark received for a class and the teacher has never been identified for the class, the mark will be rejected. 2003 Nov 17 Release 1.0 Edits added:  StudentSectionEnrollment: 2 edits about ExitDate (dropped date)  SectionInfo: rejected if for inactive course number  Future-dated TreatyStatusNbr, BandAffiliation or ReserveResidency will be ignored. 2003 Nov 24 Release 1.0 Minimal XML for updating student demographics added. 2003 Dec 3 Release 1.1 Modified to match changes in XML for release 1.1. Some edits moved to main definition of specifications. 2003 Dec 4 Release 1.1 Edit added: Reject mark if one exists and this is not a correction.

Page 73 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 2004 Jan 15 Release 1.1 One error and two warning messages added for StudentSchoolEnrollment (student already in course; student already has credit; missing pre/co-requisite). 2004 Jan 22 Release 1.1 Error added for StudentClassMark (reject if student not enrolled in base school or registered as a home-based student). 2004 Jan 29 Release 1.1 Edit changed – Grade is required for enrollment of a new student. Grade will not be changed if enrollment of existing student does not specify the grade (quick enrollment). 2004 Feb 26 Release 1.1 Edit added – Class mark will be rejected if the MarkSource is School and there is a department exam and the educator is not accredited. Edit added to this section (was already in the main specifications) – Class mark will be rejected if there is no educator assigned to the class. Warning message added – If class is updated to indicate a non-accredited educator and there are registrations that require an accredited educator (marks will be rejected). Warning message added – If class registration received that requires an accredited educator and the educator is not accredited (marks will be rejected). 2005 May 11 Release 1.1 Edit added – Enrollment type of “continuation of enrollment at the same school” is valid only if the student has an active enrollment at the sending school.

Page 74 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 The following rules indicate edits Student Data System XML will be subjected to in addition to any editing listed in the XML specifications, and the system action in each case. Appropriate messages will be returned to the school (to indicate both the cause of the problem and the action taken by the system).

SchoolId

XML Message/system action SchoolId does not match the The object containing the SchoolId element will be message SourceId. rejected. Schools can only send data on their own behalf (rule SEC-XML-001).

SchoolClass

XML Message/system action SchoolClass to update EducatorInfo received School mark will not be accepted for and registrations with MarkSource of 100% any students registered in the class with school mark already exist for the class and the a MarkSource of 100% school mark new teacher is not accredited and the course (rule SDS-MARKS-012). has a department exam.

StudentSchoolEnrollment

XML Message/system action StudentSchoolEnrollment received for student StudentSchoolEnrollment will be not already in The Ministry of Education rejected (rule SDS-ENROL-001). database and Grade is missing. StudentSchoolEnrollment with action Add Student will be kept at same grade as received for existing student and Grade is already indicated in the database (rule missing. SDS-ENROL-001). StudentSchoolEnrollment received indicating StudentSchoolEnrollment will be “continuation of enrollment at the same rejected (rule SDS-ENROL-012). school” and the student is not actively enrolled in the school sending the data. StudentSchoolEnrollment received indicating Enrollment will be treated as a non-base base school and student is already enrolled in school (rule DAT-LE-041). Message a different school as his/her base school. will suggest that school contact the student’s current base school to resolve enrollment status. StudentSchoolEnrollment received for Grade No profile or transcript can be produced 10, 11 or 12 student without until the student’s program is provided ProgramEnrollmentInfo or (rule SDS-RPT-001). StudentProgramEnrollment and there is no information already on file about what program the student is in.

Page 75 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 StudentSchoolEnrollment with action Add Message will request that previous received, EntryType indicates transfer from province be provided (rule DAT- out-of-province Canadian schooling and STUREC-008). PreviousProvState is missing. StudentSchoolEnrollment with action Add Message will request that previous received, EntryType indicates transfer from country be provided (rule DAT- out-of-country schooling and STUREC-008). PreviousCountry is missing. ExitType is not consistent with new Enrollment outcome will be updated to enrollment information received from another reflect new information received (e.g., school. “discontinued schooling” updated to “transferred to another SK school”) (rule DAT-STUREC-031). StudentSchoolEnrollment received with Deleting StudentSchoolEnrollment will action of Delete and this is the student’s base be rejected (rule SDS-ENROL-003). school and the student has course registrations in effect during the time of the enrollment.

StudentClassEnrollment

XML Message/system action StudentClassEnrollment received for a Class School mark will not be accepted for with no educator identified. this student for this class (rule SDS- MARKS-002). StudentClassEnrollment with action Add If the course has a department exam and received and MarkSource is missing. ExamRegistrationInfo is included or the teacher is not accredited, the final mark will be calculated as a blended school/dept mark. Otherwise, the final mark will be calculated as 100% school mark (rule DAT-STUREC-005). ExamRegistrationInfo is included but there is ExamRegistrationInfo will be ignored no department exam in the course. (rule DAT-STUREC-035). MarkSource indicates School and MarkSource will be ignored (Blended ExamRegistrationInfo is included and there is will be used instead) (rule DAT- a department exam in the course. STUREC-005). MarkSource indicates School and School mark will not be accepted for ExamRegistrationInfo is not included and this student for this class (rule SDS- there is a department exam in the course and MARKS-012). the educator identified for the class is not accredited. ExitDate is set (to before the term EndDate) Dropped element will be ignored. It will and Dropped element is included, and the be assumed that the student dropped the Dropped element indicates that the student has class on the indicated ExitDate (rule not dropped the class. DAT-STUREC-018).

Page 76 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 StudentClassEnrollment received with action Deleting StudentClassEnrollment will be of Delete and a mark exists for this record. rejected (rule DAT-STUREC-010). StudentClassEnrollment received and the StudentClassEnrollment will be rejected student already has an active registration for (rule SDS-MARKS-007). the same course during the same term. StudentClassEnrollment received and the StudentClassEnrollment will be student already has credit for the same course processed. Message will indicate the or a “like” credit course, or is currently existence of the same or like credit registered in a “like” credit course. course and that the student will not receive credit for both (rule DAT- STUREC-036). StudentClassEnrollment received and student StudentClassEnrollment will be does not have the pre and/or co-requisites. processed. Message will indicate missing pre/co-requisite (rule DAT- STUREC-037).

StudentClassMark

XML Message/system action StudentClassMark received with no StudentClassMark will be rejected (rule CorrectionCode or CorrectionCode=”No” and SDS-MARKS-004). the student already has a mark for the indicated class. StudentClassMark received and the student is StudentClassMark will be rejected (rule not enrolled in a base school or registered as a SDS-MARKS-005). home-based student at any time between the class start and end dates. StudentClassMark received and the StudentClassMark will be rejected (rule MarkSource is School and there is a SDS-MARKS-012). department exam in the course and the educator is not accredited. StudentClassMark received and there is no StudentClassMark will be rejected (rule educator assigned to the class. SDS-MARKS-002).

StudentSupplementalMark

XML Message/system action StudentSupplementalMark received with no StudentSupplementalMark will be CorrectionCode or CorrectionCode=”No” and rejected (rule SDS-MARKS-004). the student already has a supplemental mark for the indicated course.

Page 77 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 StudentInfo

XML Message/system action Legal Name provided in conjunction with Name will be ignored. Message will DeptAssignedPersonId and not matching the indicate appropriate procedure for individual’s current legal name in the changing legal name (rule SDS-DEMO- database. 001). Any Name element includes a period (.). The period will be dropped or replaced by a space (rule DAT-LE-013). No message. All elements within a Name are completely in Name will be converted to mixed case uppercase. (lowercase with an initial capital on each separate word) (rule DAT-LE-014). No message. All elements within a Name are completely in Name will be converted to mixed case lowercase. (lowercase with an initial capital on each separate word) (rule DAT-LE-014). No message. HSN provided in conjunction with Object will be rejected (rule SDS- DeptAssignedPersonId and not matching the DEMO-011). Student Records staff will individual’s information in the database. undertake to resolve the identity of the individual. Gender provided in conjunction with Object will be rejected (rule SDS- DeptAssignedPersonId and not matching what DEMO-001). Student Records staff will is in the database and neither value is U undertake to resolve the identity of the (unknown). individual. Gender provided in conjunction with Gender will be ignored (rule SDS- DeptAssignedPersonId and not matching what DEMO-001). is in the database and the XML value is U (unknown). Address does not meet edit rules (see below). Address will be rejected (rule DAT-LE- 009). If this is the permanent mailing address of a new student, the student will be rejected (rule SDS-DEMO-002). Address does not include Country. Country will default to Canada (rule DAT-LE-009). No message. Address PostalCode is in format ANANAN A space will be inserted before editing (no space). (rule DAT-LE-009). No message. Address PostalCode is a string of 9 digits with A hyphen will be inserted before editing no punctuation or spaces (U.S. postal code). (rule DAT-LE-009. No message. Permanent mailing address includes EndDate EndDate will be ignored (rule DAT-LE- 018). Address StartDate is prior to the date it is Address will be ignored (rule SDS- received and prior to the StartDate of the DEMO-004). address currently in effect (for the same type of address).

Page 78 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 TreatyStatusNbr StartDate is prior to the date TreatyStatusNbr will be ignored (rule it is received and prior to the StartDate of the SDS-DEMO-006). treaty status number in effect. BandAffiliation StartDate is prior to the date BandAffiliation will be ignored (rule it is received and prior to the StartDate of the SDS-DEMO-006). band affiliation in effect. TreatyStatusNbr, BandAffiliation or TreatyStatusNbr, BandAffiliation or ReserveResidency StartDate is after the date it ReserveResidency will be ignored (rule is received (future-dated). SDS-DEMO-012). TreatyStatusNbr, BandAffiliation or Will be ignored (rule SEC-DEMO-001). ReserveResidency included from a school that is not a band school. TreatyStatusNbr is included and the student TreatyStatusNbr will be ignored (rule has not declared as a treaty/registered/status SDS-DEMO-008). Indian. BandAffiliation or ReserveResidency is BandAffiliation and ReserveResidency included and the student has not declared any will be ignored (rule SDS-DEMO-008). aboriginal status.

Address Edit Rules An address must include at least one of the following:  Street/Line1  Street/Complex  Street/StreetNumber  Street/StreetName Note that box number, rural route designation (e.g., RR 7) or “general delivery” can be included in any of the Complex, StreetNumber or StreetName elements.

An address must include City. If the Country is (or is implied to be) Canada:  StatePr must be included and must be a valid code for a Canadian province.  Postal code must be included (unless this is a physical address), must be in the format ANA NAN, and must be valid for the indicated province. If the Country is the United States:  StatePr must be included and must be a valid code for a U.S. state.  Postal code must be included (unless this is a physical address) and must be in the format NNNNN or NNNNN-NNNN.

SL_Query

XML Message/system action The query specifies a DeptAssignedPersonId No data will be returned, other than a for an individual who is not already enrolled message indicating that the learning id in or registered in a class delivered by the number is not for a student at the school sending school. (rule SEC-XML-003).

Page 79 of 80 XML for The Ministry of Education’s Student Data System Updated September 2009 The query specifies a DeptAssignedPersonId No data will be returned, other than a that does not correspond to any individual. message indicating that the learning id number is not for a student at the school.

Automatic Setting of End Dates The following end dates will be automatically set in the The Ministry of Education database when new information is received, and thus do not have to be explicitly sent in XML.

If an address is received and accepted, the system will automatically set the end date of the address of the same type in effect prior to the start date of the new address. The exception is if the address is a temporary mailing address and the prior address already has an end date before the start date of the new address (rule DAT-LE-018).

If a TreatyStatusNbr, BandAffiliation, ReserveResidency, Primary E-Mail Address or PhoneNumber element is received and accepted, the system will automatically set the end date of the similar element in effect prior to the start date of the new element (rules DAT- LE-027, 028, 029, 019, 020). Note that if a student has two home phone numbers in effect at the same time, they should both be sent in the same XML object whenever updating the home phone number. Note also that receiving a new Alternate E-Mail Address does not automatically end-date the previous alternate e-mail address (rule DAT-LE-037).

If a StudentProgramEnrollment is received and accepted, the system will automatically set the exit date of the program enrollment in effect prior to the entry date of the new program enrollment (rule DAT-STUREC-034).

Page 80 of 80