xml dialogues - saskatchewan  · web viewstudent data system xml dialogues 7. typical dialogues 7....

Click here to load reader

Post on 17-Feb-2020

77 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

XML Dialogues

School

Ministry of

Education

"

Event

"

-

student marks

"

Response

"

-

status of data received

;

errors

Sending student marks

XML for The Ministry of Education’s Student Data System

Updated September 2009

Table of Contents

3Revision History

Purpose of this Document7

Student Data System XML Dialogues7

Typical Dialogues7

Saskatchewan Learning K-12 XML Specification9

1.Objects10

1.1SchoolTerm10

1.2SchoolClass10

1.3StudentSchoolEnrollment11

1.4StudentProgramEnrollment11

1.5StudentPersonal12

1.6StudentClassEnrollment12

1.7StudentExamRegistration12

1.8StudentClassMark12

1.9StudentSupplementalMark12

1.10StudentCourseHistory – last support is in Release 1.114

1.11StudentExternalCourse14

1.12StudentEnrollment14

1.13StudentCourseEnrollments15

1.14StudentCompletedCourses17

1.15DeptCourses19

1.16AllStudentClassEnrollments19

1.17StudentsNotReEnrolled………………20

1.18No Longer Used21

1.19StudentPAAModule21

2.Elements22

2.1TermInfo22

2.2ClassIdentification22

2.3ClassInfo23

2.4StudentIdentification23

2.5StudentInfo24

2.6SchoolEnrollmentInfo31

2.7ProgramEnrollmentInfo34

2.8ClassEnrollmentInfo34

2.9ExamRegistrationInfo35

2.10ExamLocation36

2.11SchoolMarkInfo36

2.12StudentCourseInfo – last support is in Release 1.137

2.13StudentExternalCourseInfo37

2.14StudentClass38

2.15StudentDeptExam38

2.16CompletedCourse38

2.17DeptCourse39

3.Queries40

3.1SL_QueryObject – last support is in Release 1.140

3.2GeneralQuery40

3.3QueryByStudent41

3.4QueryBySchool42

4.Message Infrastructure45

4.1SL_Message46

4.2SL_Header46

4.3SL_UserCredentials – removed from specification47

4.4SL_Event48

4.5SL_Request49

4.6SL_Response50

4.7SL_Ping53

Appendix A – Country, Language and Province/State Codes54

Appendix B – Additional Edits73

SchoolId75

SchoolClass75

StudentSchoolEnrollment75

StudentClassEnrollment76

StudentClassMark77

StudentSupplementalMark77

StudentInfo78

SL_Query79

Automatic Setting of End Dates80

Revision History

DateVersionChanges

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

DateVersionChanges

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.

DateVersionChanges

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

DateVersionChanges

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.

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

School

Ministry of

Education

"

Event

"

-

new and

/

or changed data

"

Response

"

-

status of data received

;

errors

;

Learning ID Number and birth date for records

without Learning ID Number in the original

"

Event

"

Sending student demographic

,

enrollment and

/

or course registration data

Typical Dialogues

School

Ministry of

Education

"

Request

"

-

course history

"

Response

"

-

course history

Requesting course history for students

(

e

.

g

.

,

at the end of a term

)

School

Ministry of

Education

"

Event

"

-

quick enrollment

"

Response

"

-

status of quick enrollment

;

errors

;

Learning ID Number and birth date

"

Request

"

-

demographic data and

/

or course history

"

Response

"

-

demographic data and

/

or course history

Quick enrollment

School

Ministry of

Education

"

Event

"

-

quick enrollment

"

Response

"

-

status of quick enrollment

;

errors

;

Learning ID Number and birth date

"

Request

"

-

demographic data and

/

or course history

"

Response

"

-

demographic data and

/

or course history

Quick enrollment

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.

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.1SchoolTerm

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.2SchoolClass

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

1.3StudentSchoolEnrollment

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

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.5StudentPersonal

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.6StudentClassEnrollment

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 writing centre can be updated via the Student Data System web application). Element 2.9

1.7StudentExamRegistration

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.8StudentClassMark

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.9StudentSupplementalMark

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.

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.10StudentCourseHistory – 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.11StudentExternalCourse

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 and Repeatable

We would encourage only one course per object so that error messages can be tied 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 and Repeatable

Information about one school enrollment for the indicated student.

SchoolEnrollment/ SchoolId

Required

The department-assigned number of the school the enrollment is in.

SchoolEnrollment/ SchoolName

Optional

The current name of the school the enrollment is in.

SchoolEnrollment/ SchoolEnrollmentInfo

Required

Information about the enrollment. Note 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.13StudentCourseEnrollments

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 and Repeatable

Information about classes the student is registered in at one school.

StudentSchoolClasses/ SchoolId

Required

The department-assigned number of the school the registrations are at.

StudentSchoolClasses/ SchoolName

Optional

The current name of the school the registrations are at.

StudentSchoolClasses/ StudentTermClasses

Required and Repeatable

Information about classes the student is registered in during a single term at the school identified by SchoolId.

StudentSchoolClasses/ StudentTermClasses/ TermInfo

Required

Identification of the term the registrations are in. Element 2.1.

StudentSchoolClasses/ StudentTermClasses/ StudentClass

Required and Repeatable

Information about a single class the student is registered in at the school identified by SchoolId, in the term identified by TermInfo. Element 2.14.

StudentDeptExam

Optional and Repeatable

Information about a department exam the student is registered in, where the 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

MATA30-2

2010-01-28

2010-02-05

2010-06-25

MATC30-2

2010-06-28

1.14StudentCompletedCourses

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 and Repeatable

Information about courses the student completed at one school.

CompletedSchoolCourse/ SchoolId

Required

The department-assigned number of the school the courses were taken at.

CompletedSchoolCourse/ SchoolName

Optional

The current name of the school the courses were taken at.

CompletedSchoolCourse/ CompletedCourse

Required and Repeatable

Information about one course completed by the student. Element 2.16.

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/ CompletedCourse

Required and Repeatable

Information about one course completed by the student. Element 2.16.

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

1.0

1.15DeptCourses

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 and Repeatable

Information about one course. Element 2.17

Example

6211

Biology 20

1

1992-08-16

. . .

1.16AllStudentClassEnrollments

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.

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

1.19StudentPAAModule

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 and repeatable

Information about Modules the student has completed.

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.1TermInfo

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

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.2ClassIdentification

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

2.3ClassInfo

Element

Attribute

Status

Description/Notes

ClassInfo

Describes a class

DeptAssignedCourseId

Optional and Repeatable

Identification of the course(s) covered by the class, using department-assigned 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 and Repeatable

The teacher(s) who teach this class, identified by their educator certificate 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).

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.5StudentInfo

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 and Repeatable

Student's name(s). Legal name is required (rule DAT-LE-024) (and must contain only valid characters) if DeptAssignedPersonId is missing from StudentIdentification.

Type

Required

Name type (see below)

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 and Repeatable

Student's email address(es). Must contain exactly one @ character (rule 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/ CountryOfBirth

Optional

The student's country of birth

Code

Required

Country code (see appendix A)

Demographics/ CountryOfCitizenship

Optional and Repeatable

The student's country(ies) of citizenship

Code

Required

Country code (see appendix A)

Demographics/

Language

Optional and Repeatable

Language(s) the student uses in the home

Code

Required

Language code (see appendix A)

Demographics/

Deceased

Optional

Information if the student is deceased

Code

Required

Deceased code (see below).

EffectiveDate

Optional

Death date or date death was known

Demographics/ AboriginalStatus

Optional

The student's aboriginal status, if applicable

Code

Required

Aboriginal status code (see below)

Demographics/ TreatyStatusNumber

Optional

The student's treaty status number, if 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/ BandAffiliation

Optional

The student's band affiliation, if 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/ ReserveResidency

Optional

The student's reserve residency, if 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 and Repeatable

The student's address information. Permanent mailing address is required to create a new student (rule SDS-DEMO-002).

StudentAddress/ Address

Required

Detail of the student’s address

Type

Optional

Address type (see below). Defaults to “permanent mailing address” if not specified.

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/ Address/Street

Required

Can be expressed as one or more 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/ Address/Street/Line1

Optional

Address line 1. Required if discrete elements not included (rule DAT-LE-009).

StudentAddress/ Address/Street/Line2

Optional

Address line 2

StudentAddress/ Address/Street/Line3

Optional

Address line 3

StudentAddress/ Address/Street/ Complex

Optional

Name of the complex

StudentAddress/ Address/Street/ StreetNumber

Optional

The address number assigned to the building

StudentAddress/ Address/Street/ StreetPrefix

Optional

Street prefix (e.g. SW, NE)

StudentAddress/ Address/Street/

StreetName

Optional

The name of the street

StudentAddress/ Address/Street/

StreetType

Optional

The type of the street (e.g. Lane, Blvd., Ave., etc.)

StudentAddress/ Address/Street/ StreetSuffix

Optional

Street suffix (e.g. SE, NW)

StudentAddress/ Address/Street/ AptType

Optional

Type of apartment (e.g. Suite)

StudentAddress/ Address/Street/ AptNumPrefix

Optional

Apartment number prefix

StudentAddress/ Address/Street/ AptNumber

Optional

The number of the apartment

StudentAddress/ Address/Street/ AptNumSuffix

Optional

Apartment number suffix

StudentAddress/ Address/City

Required

The city part of the address

StudentAddress/ Address/StatePr

Optional

The state or province code part of the address (required for North American addresses).

Code

Required

State or province code (as used by Canada Post).

StudentAddress/ Address/Country

Optional

The country part of the address (assumed to be Canada if not provided).

Code

Required

Country code (see appendix A)

StudentAddress/ Address/PostalCode

Optional

The postal code or ZIP code. Required for mailing addresses but not physical addresses (rule DAT-LE-009).

PhoneNumber

Optional and Repeatable

The student’s phone number. Format is (###) ###-#### for North 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

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.

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

(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.6 SchoolEnrollmentInfo

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.

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

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

2.7ProgramEnrollmentInfo 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.8ClassEnrollmentInfo

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/ ModeOfInstruction

Optional

Override indicating how this student receives 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

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.9ExamRegistrationInfo

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.10ExamLocation

Element

Attribute

Status

Description/Notes

ExamLocation

Identifies a departmental exam writing centre

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.11SchoolMarkInfo

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.12StudentCourseInfo – 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.

2.13StudentExternalCourseInfo

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.14StudentClass

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

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.15StudentDeptExam

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.16CompletedCourse

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

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.17DeptCourse

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

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.1SL_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.2 GeneralQuery

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:

3.3 QueryByStudent

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)

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.

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

Examples

Request student demographic information for a student:

123456789 DeptAssignedPersonId >

1989-03-15

Request student course history for a student:

< DeptAssignedPersonId >123456789 DeptAssignedPersonId >

1989-03-15

3.4 QueryBySchool

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)

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

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):

ScopeCode=”All”>

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:

ScopeCode=”Current”>

1234567

2009-02-01

2010-06-28

Request students that are no longer enrolled in the school:

ScopeCode="Current">

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.1SL_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.

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

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

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.

· 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.4SL_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/ SL_EventObject

Required and Repeatable

Identifies the type of object being sent 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/ SL_EventObject/ objectname

Required and Repeatable

The actual data being sent (see object specifications above)

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

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

12345678901234567890123456789012

2009-09-23

20:23:54

1234567

123456789

1993-10-31

(306) 123-4567

4.5SL_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/ objectname

Required and Repeatable

The actual queries, which can be any query in section 3.

Example

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.sasked.gov.sk.ca/xsd/sl/2.x/SLMessage_V2.xsd http://www.sasked.gov.sk.ca/xsd/sl/2.x/SLMessage_V2.xsd">

12345678901234567890123456789012

2009-09-23

20:23:54

1234567

4.6SL_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

SL_Ack/ SL_OriginalMsgId

Required

The message ID of the message that elicited this response

SL_Ack/ SL_OriginalSource Id

Required

The unique ID of the originator of the message that elicited this response

SL_Ack/SL_Status

Required

Whether or not the original message was successfully processed

SL_Ack/SL_Status/ SL_StatusCode

Required

Status code (see below)

SL_Ack/SL_Status/ SL_StatusMsg

Optional

Message if required to clarify the status

SL_Ack/SL_Error

Optional and Repeatable

Exception message

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/ SL_ErrorSeverity

Required

Message severity (see below)

SL_Ack/SL_Error/ SL_ErrorCode

Required

Error code (values published separately)

SL_Ack/SL_Error/ SL_ErrorMsg

Optional

Message describing the error

SL_ObjectData

Optional

Wrapper for any data being returned

SL_ObjectData/ SL_EventObject

Required and Repeatable

Identifies the type of object being returned and wraps the data

ObjectName

Required

The name of the object being returned

Action

Required

Will be set to “None”

Reason

Optional

Not applicable

SL_ObjectData/ SL_EventObject/ objectname

Required and Repeatable

The actual data being returned (see object specifications above)

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

Examples

Response to an event updating a student’s address

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

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

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

12345678901234567890123456789012

2009-09-23

10:24:15

8888888

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

Example

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

12345678901234567890123456789012

2009-09-23

20:23:54

1234567

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

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

Gre