XML Dialogues - Government of Saskatchewan



Table of Contents

Revision History 3

Purpose of this Document 6

Student Data System XML Dialogues 6

Typical Dialogues 6

Saskatchewan Learning K-12 XML Specification 8

1. Objects 9

1.1 SchoolTerm 9

1.2 SchoolClass 9

1.3 StudentSchoolEnrollment 10

1.4 StudentProgramEnrollment 10

1.5 StudentPersonal 11

1.6 StudentClassEnrollment 11

1.7 StudentExamRegistration 11

1.8 StudentClassMark 12

1.9 StudentSupplementalMark 12

1.10 StudentCourseHistory 13

2. Elements 13

2.1 TermInfo 13

2.2 ClassIdentification 14

2.3 ClassInfo 14

2.4 StudentIdentification 15

2.5 StudentInfo 16

2.6 SchoolEnrollmentInfo 23

2.7 ProgramEnrollmentInfo 25

2.8 ClassEnrollmentInfo 25

2.9 ExamRegistrationInfo 26

2.10 ExamLocation 27

2.11 SchoolMarkInfo 27

2.12 StudentCourseInfo 28

3. Queries 29

3.1 SL_Query 29

4. Message Infrastructure 32

4.1 SL_Message 32

4.2 SL_Header 33

4.3 SL_UserCredentials – removed from specification 34

4.4 SL_Event 34

4.5 SL_Request 36

4.6 SL_Response 37

4.7 SL_Ping 40

Appendix A – Country, Language and Province/State Codes 41

Appendix B – Additional Edits 58

SchoolId 60

SchoolClass 60

StudentSchoolEnrollment 60

StudentClassEnrollment 61

StudentClassMark 61

StudentSupplementalMark 61

StudentInfo 63

SL_Query 64

Automatic Setting of End Dates 65

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 |

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

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

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 Saskatchewan Learning, and one or more messages sent from Saskatchewan Learning back to the school (at minimum, Saskatchewan Learning 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

Saskatchewan Learning K-12 XML Specification

The Saskatchewan Learning (SL) K-12 XML specification defines how XML is structured for communication between schools and Saskatchewan Learning. It was designed using the Schools Interoperability Framework (SIF) Implementation Specification (see ) as a starting point, but is not compliant with SIF.

The SL 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 SL 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 Saskatchewan Learning. Vendors can ignore these.

1. Objects

The following objects support transmission of data between schools and Saskatchewan Learning. Schools send objects to Saskatchewan Learning 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.

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 – Saskatchewan Learning 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 | |

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

|ClassInfo | |Required | |

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

|StudentInfo | |Optional |Note: Required if DeptAssignedPersonId is not included in |

| | | |StudentIdentification. |

|SchoolId | |Required |The department-assigned number of the school the enrollment|

| | | |is for. |

|SchoolEnrollmentInfo | |Required | |

|DeptAssignedProgramId | |Optional |The department-assigned number of the program the student |

| | | |is enrolling in (see under 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. |

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

|DeptAssignedProgramId | |Required |The department-assigned number of the program the student |

| | | |is enrolling in (see below). |

|ProgramEnrollmentInfo | |Required | |

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 |

|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). The only action that is allowed for this object is “Change”.

|Element |Attribute |Status |Description/Notes |

|StudentPersonal | | | |

| |RefId |Required |The reference ID for returning messages. |

|StudentIdentification | |Required | |

|StudentInfo | |Required | |

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

|ClassIdentification | |Required | |

|ClassEnrollmentInfo | |Required | |

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

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

|DeptAssignedCourseId | |Required |The department-assigned number of the course whose exam the|

| | | |student plans to write. |

|ExamRegistrationInfo | |Required | |

|ExamLocation | |Required | |

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

|ClassIdentification | |Required | |

|SchoolMarkInfo | |Required | |

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

|StudentIdentification | |Required | |

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

1.10 StudentCourseHistory

This object allows Saskatchewan Learning to send information to a school about a student’s courses, on request. See section 3 Queries for how to request this information.

|Element |Attribute |Status |Description/Notes |

|StudentCourseHistory | | | |

| |RefId |Required |The reference ID for returning messages. |

|StudentIdentification | |Required | |

|DeptAssignedCourseId | |Required |The department-assigned number of the course the student |

| | | |took. |

|CourseTitle | |Optional |The name of the course the student took. |

|StudentCourseInfo | |Required | |

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

| | | |"2004-2005") |

|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 Sept 1 of the first |

| | | |calendar year and Aug 31 of the second calendar year) (rule |

| | | |DAT-PGM-010). |

|Description | |Optional |Text name or description of the term |

Example

2004-02-05

2004-06-28

2003-04 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

2004-02-05

2004-06-28

2.3 ClassInfo

|Element |Attribute |Status |Description/Notes |

|ClassInfo | | |Describes a class |

|DeptAssignedCourseId | |Optional and |Identification of the course(s) covered by the class, using|

| | |Repeatable |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 | |Optional and |The teacher(s) who teach this class, identified by their |

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

16 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 Saskatchewan Learning). 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

1987-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 and |Student's name(s). Legal name is required (rule |

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

| | | |Saskatchewan Learning will not send this. Restricted |

| | | |to same characters as LastName (rule DAT-LE-013). |

|Email | |Optional and |Student's email address(es). Must contain exactly one |

| | |Repeatable |@ 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 |The student's country(ies) of citizenship |

| | |Repeatable | |

| |Code |Required |Country code (see appendix A) |

|Demographics/Language | |Optional and |Language(s) the student uses in the home |

| | |Repeatable | |

| |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 |The student's address information. Permanent mailing |

| | |Repeatable |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). Saskatchewan Learning 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/StreetN| |Optional |The address number assigned to the building |

|umber | | | |

|StudentAddress/Address/Street/StreetP| |Optional |Street prefix (e.g. SW, NE) |

|refix | | | |

|StudentAddress/Address/Street/StreetN| |Optional |The name of the street |

|ame | | | |

|StudentAddress/Address/Street/StreetT| |Optional |The type of the street (e.g. Lane, Blvd., Ave., etc.) |

|ype | | | |

|StudentAddress/Address/Street/StreetS| |Optional |Street suffix (e.g. SE, NW) |

|uffix | | | |

|StudentAddress/Address/Street/AptType| |Optional |Type of apartment (e.g. Suite) |

|StudentAddress/Address/Street/AptNumP| |Optional |Apartment number prefix |

|refix | | | |

|StudentAddress/Address/Street/AptNumb| |Optional |The number of the apartment |

|er | | | |

|StudentAddress/Address/Street/AptNumS| |Optional |Apartment number suffix |

|uffix | | | |

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

| | |Repeatable |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. Saskatchewan Learning 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

kathy.smith@accesscomm.ca

kathysmith23@

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

kathy.simpson@accesscomm.ca

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.

18 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 |Student’s grade. Required when enrolling a student who |

| | | |has never been enrolled in a Saskatchewan school |

| | | |before. |

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

| |Saskatchewan Learning’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 |

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

|60 |Enrollment cancelled/no show |

Example

2003-09-02

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

2003-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 instruction for this |

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

2004-01-27

2.10 ExamLocation

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

|Element |Attribute |Status |Description/Notes |

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

|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. "2004-2005") |

|CourseEndDate | |Required |The date the course is considered to have ended |

|Dropped | |Optional |Whether or not the student dropped out of the course |

| |Code |Required |Dropped code (see below) |

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

Dropped Values

|Yes |The student dropped the course |

|No |The student did not drop the course |

Example

2003-2004

2004-01-28

78

1.0

3. Queries

Query allows a school to request certain data. There are a limited number of pre-defined queries that are supported (see the notes).

3.1 SL_Query

|Element |Attribute |Status |Description/Notes |

|SL_Query | | | |

|SL_QueryObject | |Required and |The object type that is to be returned |

| | |Repeatable | |

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

| | | |student course history. Defaults to “All” if not |

| | | |specified when querying course history. |

|SL_QueryObject/ DeptAssignedPersonId| |Optional |The Learning ID Number of the student whose data is to be|

| | | |returned |

|SL_QueryObject/ BirthDate | |Optional |The birth date of the student whose data is to be |

| | | |returned (a double-check that the right student is being |

| | | |queried) |

|SL_QueryObject/ SchoolId | |Optional |The department-assigned number of the school whose data |

| | | |is to be returned |

|SL_QueryObject/ FromDate | |Optional |The first date of the date range for which data is to be |

| | | |returned (see notes below) |

|SL_QueryObject/ ToDate | |Optional |The last date of the date range for which data is to be |

| | | |returned (see notes below) |

Object Names Supported for Query

StudentPersonal

StudentCourseHistory

Data Scope Codes

These codes define which courses to return for the students who are included in the query criteria.

|All |Return all courses for all years |

|Current |Return all courses whose final mark was entered or changed in the Student Data System within the date range |

| |specified |

|Dept |Return all courses whose final mark was entered or changed in the Student Data System within the date range |

| |specified, except courses with a 100% school mark |

Note that the latter two scope codes return:

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

Notes

A query must include exactly one of the following:

• the DeptAssignedPersonId and BirthDate of one student

• the SchoolId, FromDate and ToDate

The former is used to query demographic or course history for one student. The latter is used to query course history for all students enrolled in the indicated school (as the base school or as a non-base school) any time during the date range indicated. Students are not included in the latter query if their only relationship to the school is being registered in a course delivered by the school (it is assumed that these students are not in the school’s database).

When querying course history for one student, the only valid ScopeCode is “All”. When querying course history for all students enrolled during a date range, any of the ScopeCodes can be used.

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, Saskatchewan Learning 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 student demographic information for a student:

123456789

1985-03-15

Request student course history for a student:

< DeptAssignedPersonId >123456789

1985-03-15

Request all student course history for all students enrolled in a school during a particular school year (defined by a date range):

1234567

2004-08-01

2005-07-31

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

1234567

2004-02-01

2004-06-28

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 |

| | | |1.1). Defaults to 1.1 if not specified. |

XML Namespace and Related Values

For this release of the Saskatchewan Learning K-12 XML specifications, use:

xmlns=””

xmlns:xsi=""

xsi:schemaLocation=" "

Example

Message content goes here

29 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 Saskatchewan Learning. Saskatchewan Learning 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:

• Concatentate 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 Saskatchewan Learning 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

2003-09-23

20:23:54

8888888

30 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/ SL_EventObject | |Required and |Identifies the type of object being sent and wraps the |

| | |Repeatable |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/| |Required and |The actual data being sent (see object specifications |

|objectname | |Repeatable |above) |

Event Action Values

|Add | |

|Change | |

|Delete |Delete this information (previously sent in error) because it is incorrect. Must be accompanied by a Reason of |

| |“Clerical Error”. Valid only for objects StudentSchoolEnrollment and StudentClassEnrollment. |

Event Reason Values

|ClericalError |Valid only for an Action of “Delete” – indicates that the information originally sent was incorrect and |

| |should be deleted. |

Examples

Change a student’s phone number

12345678901234567890123456789012

2003-09-23

20:23:54

1234567

123456789

1987-10-31

(306) 123-4567

Enroll a student in a school (quick enrollment)

12345678901234567890123456789012

2003-09-23

20:23:54

1234567

1987-10-31

987654321

Smith

Kathleen

Anne

1234567

2003-09-02

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

Example

12345678901234567890123456789012

2003-09-23

20:23:54

1234567

123456789

1985-03-15

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|

|SL_Ack/ SL_OriginalMsgId | |Required |The message ID of the message that elicited this response |

|SL_Ack/ SL_OriginalSourceId | |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 |Exception message |

| | |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/ SL_ErrorCode | |Required |Error code (values to be published later) |

|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 |Identifies the type of object being returned and wraps the|

| | |Repeatable |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/ | |Required and |The actual data being returned (see object specifications |

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

12345678901234567890123456789012

2003-09-23

20:23:54

8888888

98765432109876543210987654321098

1234567

01

Successful

Informational

05

Address start date defaulted to 2003-09-23

Response to a request for a student’s course history

12345678901234567890123456789012

2003-09-23

10:24:15

8888888

98765432109876543210987654321098

1234567

01

Successful

123456789

1987-10-31

6017

English Language Arts 20

2003-2004

2004-01-28

83

1.0

123456789

1987-10-31

8211

Biology 30

2003-2004

2004-01-28

78

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 |

Example

12345678901234567890123456789012

2003-09-23

20:23:54

1234567

Appendix A – Country, Language and Province/State Codes

Country Codes (source: ISO-3166-1)

|AF |Afghanistan |

|AL |Albania |

|DZ |Algeria |

|AS |American Samoa |

|AD |Andorra |

|AO |Angola |

|AI |Anguilla |

|AQ |Antarctica |

|AG |Antigua & Barbuda |

|AR |Argentina |

|AM |Armenia |

|AW |Aruba |

|AU |Australia |

|AT |Austria |

|BS |Bahamas |

|BH |Bahrain |

|BD |Bangladesh |

|BB |Barbados |

|BY |Belarus (Formerly Byelorussian Soviet Socialist Republic) |

|BE |Belgium |

|BZ |Belize |

|BJ |Benin |

|BM |Bermuda |

|BT |Bhutan |

|BO |Bolivia |

|AZ |Bosnia And Herzegovina |

|BW |Botswana |

|BV |Bouvet Island |

|BR |Brazil |

|IO |British Indian Ocean Territory |

|VG |British Virgin Islands |

|BN |Brunei Darussalam |

|BG |Bulgaria |

|BF |Burkina Faso |

|BU |Burma (No Longer Exists) |

|BI |Burundi |

|KH |Cambodia (Formerly, Democratic Kampuchea) |

|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 (Formerly Zaire) |

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

|TP |East Timor |

|EC |Ecuador |

|EG |Egypt |

|SV |El Salvador |

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

|GD |Grenada |

|GU |Guam |

|GT |Guatemala |

|GW |Guinea-Bissau |

|GY |Guyana |

|HT |Haiti |

|HM |Heard Island & McDonald Islands |

|HN |Honduras |

|HK |Hong Kong |

|HU |Hungary |

|IS |Iceland |

|IN |India |

|ID |Indonesia |

|IQ |Iraq |

|IE |Ireland, Republic Of |

|IR |Islamic Republic Of Iran |

|IL |Israel |

|IT |Italy |

|JM |Jamaica |

|JP |Japan |

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

|MK |Macedonia (Formerly Yugoslav Republic Of) |

|MG |Madagascar |

|MW |Malawi |

|MY |Malaysia |

|MV |Maldives |

|ML |Mali |

|MT |Malta |

|MH |Marshall Islands |

|MQ |Martinique |

|MR |Mauritania |

|MU |Mauritius |

|YT |Mayotte |

|MX |Mexico |

|FM |Micronesia |

|MD |Moldova, Republic Of |

|MC |Monaco |

|MN |Mongolian Republic |

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

|PA |Panama |

|PG |Papua New Guinea |

|PY |Paraguay |

|PE |Peru |

|PH |Philippines |

|PN |Pitcairn |

|PL |Poland |

|PT |Portugal |

|PR |Puerto Rico |

|QA |Qatar |

|RE |Réunion |

|RO |Romania |

|RU |Russian Federation |

|RW |Rwanda |

|LC |Saint Lucia |

|WS |Samoa |

|SM |San Marino |

|ST |Sao Tome & Principe |

|SA |Saudi Arabia |

|SN |Senegal |

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

|SH |St. Helena |

|KN |St. Kitts And Nevis |

|PM |St. Pierre & Miquelon |

|VC |St. Vincent & The Grenadines |

|SD |Sudan |

|SR |Suriname |

|SJ |Svalbard & 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 |

|TG |Togo |

|TK |Tokelau |

|TO |Tonga |

|TT |Trinidad & Tobago |

|TN |Tunisia |

|TR |Turkey |

|TM |Turkmenistan |

|TC |Turks & Caicos Islands |

|TV |Tuvalu |

|UG |Uganda |

|UA |Ukraine (Formerly Ukrainian Soviet Socialist Republic) |

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

|VI |United States Virgin Islands |

|ZZ |Unknown Or Unspecified Country |

|UY |Uruguay |

|UZ |Uzbekistan |

|VU |Vanuatu |

|VA |Vatican City State (Holy See) |

|VE |Venezuela |

|VN |Viet Nam |

|WF |Wallis & Futuna Islands |

|EH |Western Sahara |

|YE |Yemen Republic |

|YU |Yugoslavia |

|ZM |Zambia (No Longer Exists-See Congo, The Democratic Republic Of ) |

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

|AAR |Afar |

|AFH |Afrihili (Artificial language) |

|AFR |Afrikaans |

|AFA |Afro-Asiatic (Other) |

|AKA |Akan |

|AKK |Akkadian |

|ALB |Albanian |

|ALE |Aleut languages |

|ALG |Algonquian languages |

|AJM |Aljamia |

|TUT |Altaic (Other) |

|AMH |Amharic |

|APA |Apache languages |

|ARA |Arabic |

|ARC |Aramaic |

|ARP |Arapaho |

|ARN |Araucanian |

|ARW |Arawak |

|ARM |Armenian |

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

|BNT |Bantu languages |

|BAS |Basa |

|BAK |Bashkir |

|BAQ |Basque |

|BTK |Batak (Indonesia) |

|BEJ |Beja |

|BEL |Belarusian |

|BEM |Bemba |

|BEN |Bengali |

|BER |Berber languages |

|BHO |Bhojpuri |

|BIH |Bihari |

|BIK |Bikol |

|BIN |Bini |

|BIS |Bislama |

|BOS |Bosnian |

|BRA |Braj |

|BRE |Breton |

|BUG |Buginese |

|BUL |Bulgarian |

|BUA |Buriat |

|BUR |Burmese |

|BEL |Byelorussian |

|CAD |Caddo |

|CAR |Carib |

|CAT |Catalan |

|CAU |Caucasian (Other) |

|CEB |Cebuano |

|CEL |Celtic languages |

|CAI |Central American Indian (Other) |

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

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

|SCR |Croatian |

|CUS |Cushitic (Other) |

|CZE |Czech |

|DAK |Dakota |

|DAN |Danish |

|DEL |Delaware |

|CHP |Dene |

|DIN |Dinka |

|DIV |Divehi |

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

|ESP |Esperanto |

|EST |Estonian |

|ETH |Ethiopic |

|EWE |Ewe |

|EWO |Ewondo |

|FAN |Fang |

|FAT |Fanti |

|FAR |Faroese |

|PER |Farsi |

|FIJ |Fijian |

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

|FUR |Friulian |

|FUL |Fulah |

|GAA |Ga |

|GAE |Gaelic (Scots) |

|GAG |Gallegan |

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

|GAA |Gþ |

|GUA |Guarani |

|GUJ |Gujarati |

|GWI |Gwich'in |

|HAI |Haida |

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

|IBO |Igbo |

|IJO |Ijo |

|ILO |Iloko |

|INC |Indic (Other) |

|INE |Indo-European (Other) |

|IND |Indonesian |

|INT |Interlingua (International Auxiliary Language Association) |

|ILE |Interlingue |

|INU |Inuit languages |

|IKU |Inuktitut or 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 |

|KAB |Kabyle |

|KAC |Kachin |

|KAL |Kalaallisut |

|KAM |Kamba |

|KAN |Kannada |

|KAU |Kanuri |

|KAA |Kara-Kalpak |

|KAR |Karen |

|KAS |Kashmiri |

|KAW |Kawi |

|KAZ |Kazakh |

|KHA |Khasi |

|KHM |Khmer |

|KHI |Khoisan (Other) |

|KHO |Khotanese |

|KIK |Kikuyu |

|KMB |Kimbundu |

|KIN |Kinyarwanda |

|KIR |Kirghiz |

|KOM |Komi |

|KON |Kongo |

|KOK |Konkani |

|KOR |Korean |

|KOS |Kosraean |

|KPE |Kpelle |

|KRO |Kru |

|KUA |Kuanyama |

|KUM |Kumyk |

|KUR |Kurdish |

|KRU |Kurukh |

|KUS |Kusaie |

|KUT |Kutenai |

|LAD |Ladino |

|LAH |Lahnda |

|LKT |Lakota |

|LAM |Lamba |

|LAN |Langue d’oc (post-1500) |

|LAO |Lao |

|LAP |Lapp |

|LAT |Latin |

|LAV |Latvian |

|LTZ |Letzeburgesch |

|LEZ |Lezghian |

|LIN |Lingala |

|LIT |Lithuanian |

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

|MNO |Manobo languages |

|MAX |Manx |

|MAO |Maori |

|MAR |Marathi |

|CHM |Mari |

|MAH |Marshall |

|MWR |Marwari |

|MAS |Masai |

|MYN |Mayan languages |

|MEN |Mende |

|MCH |Michif |

|MIC |Micmac |

|MIN |Minangkabau |

|MIS |Miscellaneous (Other) |

|MOH |Mohawk |

|MOL |Moldavian |

|LOL |Mongo |

|MON |Mongolian |

|MKH |Mon-Khmer (Other) |

|MOS |Mossi |

|MUL |Multiple languages |

|MUN |Munda (Other) |

|NAH |Nahuatl |

|DAK |Nakota |

|NAU |Nauru |

|NAV |Navajo |

|NDE |Ndebele, North |

|NBL |Ndebele, South |

|NDO |Ndonga |

|NEP |Nepali |

|NEW |Newari |

|NIA |Nias |

|NIC |Niger-Kordofanian (Other) |

|SSA |Nilo-Saharan (Other) |

|NIU |Niuean |

|NON |Norse, Old |

|NAI |North American Indian (Other) |

|SME |Northern Sami |

|NSO |Northern Sotho |

|NOR |Norwegian |

|NOB |Norwegian Bokmal |

|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 |Ossetician; Ossetic |

|OTO |Otomian languages |

|PAL |Pahlavi |

|PAU |Palauan |

|PLI |Pali |

|PAM |Pampanga |

|PAG |Pangasinan |

|PAN |Panjabi |

|PAP |Papiamento |

|PAA |Papuan-Australian (Other) |

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

|ROH |Raeto-Romance |

|RAJ |Rajasthani |

|RAP |Rapanui |

|RAR |Rarotongan |

|ROA |Romance (Other) |

|RUM |Romanian |

|ROM |Romany |

|RUN |Rundi |

|RUS |Russian |

|SAL |Salishan languages |

|SAM |Samaritan Aramaic |

|SMI |Sami languages (Other) |

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

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

|SNK |Soninke |

|WEN |Sorbian languages |

|SSO |Sotho |

|SAI |South American Indian (Other) |

|SPA |Spanish |

|SUK |Sukuma |

|SUX |Sumerian |

|SUN |Sundanese |

|SUS |Susu |

|SWA |Swahili |

|SSW |Swati |

|SWZ |Swazi |

|SWE |Swedish |

|SYR |Syriac |

|TAG |Tagalog |

|TAH |Tahitian |

|TAI |Taiwanese |

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

|TUR |Turkish |

|OTA |Turkish, Ottoman |

|TUK |Turkmen |

|TVL |Tuvalu |

|TYV |Tuvinian |

|TWI |Twi |

|UGA |Ugaritic |

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

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

|ZAP |Zapotec |

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

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

|TX |Texas |

|UT |Utah |

|VT |Vermont |

|VA |Virginia |

|VI |Virgin Islands |

|WA |Washington |

|WV |West Virginia |

|WI |Wisconsin |

|WY |Wyoming |

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

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

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 message |The object containing the SchoolId element will be rejected. Schools can only send |

|SourceId. |data on their own behalf (rule SEC-XML-001). |

SchoolClass

|XML |Message/system action |

|SchoolClass with action Add received and EducatorInfo is missing. |This class will not appear on the Educator Profile for any |

| |teacher. School mark will not be accepted for any students |

| |registered in the class until the teacher has been identified|

| |(rule SDS-MARKS-002). |

|SchoolClass to update EducatorInfo received and registrations with |School mark will not be accepted for any students registered |

|MarkSource of 100% school mark already exist for the class and the |in the class with a MarkSource of 100% school mark (rule |

|new teacher is not accredited and the course has a department exam. |SDS-MARKS-012). |

StudentSchoolEnrollment

|XML |Message/system action |

|StudentSchoolEnrollment received for student not already in |StudentSchoolEnrollment will be rejected (rule |

|Saskatchewan Learning database and Grade is missing. |SDS-ENROL-001). |

|StudentSchoolEnrollment with action Add received for existing student|Student will be kept at same grade as already indicated in |

|and Grade is missing. |the database (rule SDS-ENROL-001). |

|StudentSchoolEnrollment received indicating “continuation of |StudentSchoolEnrollment will be rejected (rule |

|enrollment at the same school” and the student is not actively |SDS-ENROL-012). |

|enrolled in the school sending the data. | |

|StudentSchoolEnrollment received indicating base school and student |Enrollment will be treated as a non-base school (rule |

|is already enrolled in a different school as his/her base school. |DAT-LE-041). Message will suggest that school contact the |

| |student’s current base school to resolve enrollment status. |

|StudentSchoolEnrollment received for Grade 10, 11 or 12 student |No profile or transcript can be produced until the student’s |

|without ProgramEnrollmentInfo or StudentProgramEnrollment and there |program is provided (rule SDS-RPT-001). |

|is no information already on file about what program the student is | |

|in. | |

|StudentSchoolEnrollment with action Add received, EntryType indicates|Message will request that previous province be provided (rule|

|transfer from out-of-province Canadian schooling and |DAT-STUREC-008). |

|PreviousProvState is missing. | |

|StudentSchoolEnrollment with action Add received, EntryType indicates|Message will request that previous country be provided (rule |

|transfer from out-of-country schooling and PreviousCountry is |DAT-STUREC-008). |

|missing. | |

|ExitType is not consistent with new enrollment information received |Enrollment outcome will be updated to reflect new information|

|from another school. |received (e.g., “discontinued schooling” updated to |

| |“transferred to another SK school”) (rule DAT-STUREC-031). |

|StudentSchoolEnrollment received with action of Delete and this is |Deleting StudentSchoolEnrollment will be rejected (rule |

|the student’s base school and the student has course registrations in|SDS-ENROL-003). |

|effect during the time of the enrollment. | |

StudentClassEnrollment

|XML |Message/system action |

|StudentClassEnrollment received for a Class with no educator |School mark will not be accepted for this student for this |

|identified. |class (rule SDS-MARKS-002). |

|StudentClassEnrollment with action Add received and MarkSource is |If the course has a department exam and ExamRegistrationInfo |

|missing. |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 no department exam in |ExamRegistrationInfo will be ignored (rule DAT-STUREC-035). |

|the course. | |

|MarkSource indicates School and ExamRegistrationInfo is included and |MarkSource will be ignored (Blended will be used instead) |

|there is a department exam in the course. |(rule DAT-STUREC-005). |

|MarkSource indicates School and ExamRegistrationInfo is not included|School mark will not be accepted for this student for this |

|and there is a department exam in the course and the educator |class (rule SDS-MARKS-012). |

|identified for the class is not accredited. | |

|ExitDate is set (to before the term EndDate) and Dropped element is |Dropped element will be ignored. It will be assumed that the |

|included, and the Dropped element indicates that the student has not |student dropped the class on the indicated ExitDate (rule |

|dropped the class. |DAT-STUREC-018). |

|StudentClassEnrollment received with action of Delete and a mark |Deleting StudentClassEnrollment will be rejected (rule |

|exists for this record. |DAT-STUREC-010). |

|StudentClassEnrollment received and the student already has an active|StudentClassEnrollment will be rejected (rule SDS-MARKS-007).|

|registration for the same course during the same term. | |

|StudentClassEnrollment received and the student already has credit |StudentClassEnrollment will be processed. Message will |

|for the same course or a “like” credit course, or is currently |indicate the existence of the same or like credit course and |

|registered in a “like” credit course. |that the student will not receive credit for both (rule |

| |DAT-STUREC-036). |

|StudentClassEnrollment received and student does not have the pre |StudentClassEnrollment will be processed. Message will |

|and/or co-requisites. |indicate missing pre/co-requisite (rule DAT-STUREC-037). |

StudentClassMark

|XML |Message/system action |

|StudentClassMark received with no CorrectionCode or |StudentClassMark will be rejected (rule SDS-MARKS-004). |

|CorrectionCode=”No” and the student already has a mark for the | |

|indicated class. | |

|StudentClassMark received and the student is not enrolled in a base |StudentClassMark will be rejected (rule SDS-MARKS-005). |

|school or registered as a home-based student at any time between the | |

|class start and end dates. | |

|StudentClassMark received and the MarkSource is School and there is a|StudentClassMark will be rejected (rule SDS-MARKS-012). |

|department exam in the course and the educator is not accredited. | |

|StudentClassMark received and there is no educator assigned to the |StudentClassMark will be rejected (rule SDS-MARKS-002). |

|class. | |

StudentSupplementalMark

|XML |Message/system action |

|StudentSupplementalMark received with no CorrectionCode or |StudentSupplementalMark will be rejected (rule |

|CorrectionCode=”No” and the student already has a supplemental mark |SDS-MARKS-004). |

|for the indicated course. | |

StudentInfo

|XML |Message/system action |

|Legal Name provided in conjunction with DeptAssignedPersonId and not |Name will be ignored. Message will indicate appropriate |

|matching the individual’s current legal name in the database. |procedure for changing legal name (rule SDS-DEMO-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 uppercase. |Name will be converted to mixed case (lowercase with an |

| |initial capital on each separate word) (rule DAT-LE-014). No |

| |message. |

|All elements within a Name are completely in lowercase. |Name will be converted to mixed case (lowercase with an |

| |initial capital on each separate word) (rule DAT-LE-014). No |

| |message. |

|HSN provided in conjunction with DeptAssignedPersonId and not |Object will be rejected (rule SDS-DEMO-011). Student Records |

|matching the individual’s information in the database. |staff will undertake to resolve the identity of the |

| |individual. |

|Gender provided in conjunction with DeptAssignedPersonId and not |Object will be rejected (rule SDS-DEMO-001). Student Records |

|matching what is in the database and neither value is U (unknown). |staff will undertake to resolve the identity of the |

| |individual. |

|Gender provided in conjunction with DeptAssignedPersonId and not |Gender will be ignored (rule SDS-DEMO-001). |

|matching what 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 (no space). |A space will be inserted before editing (rule DAT-LE-009). No|

| |message. |

|Address PostalCode is a string of 9 digits with no punctuation or |A hyphen will be inserted before editing (rule DAT-LE-009. No|

|spaces (U.S. postal code). |message. |

|Permanent mailing address includes EndDate |EndDate will be ignored (rule DAT-LE-018). |

|Address StartDate is prior to the date it is received and prior to |Address will be ignored (rule SDS-DEMO-004). |

|the StartDate of the address currently in effect (for the same type | |

|of address). | |

|TreatyStatusNbr StartDate is prior to the date it is received and |TreatyStatusNbr will be ignored (rule SDS-DEMO-006). |

|prior to the StartDate of the treaty status number in effect. | |

|BandAffiliation StartDate is prior to the date it is received and |BandAffiliation will be ignored (rule SDS-DEMO-006). |

|prior to the StartDate of the band affiliation in effect. | |

|TreatyStatusNbr, BandAffiliation or ReserveResidency StartDate is |TreatyStatusNbr, BandAffiliation or ReserveResidency will be |

|after the date it is received (future-dated). |ignored (rule SDS-DEMO-012). |

|TreatyStatusNbr, BandAffiliation or ReserveResidency included from a |Will be ignored (rule SEC-DEMO-001). |

|school that is not a band school. | |

|TreatyStatusNbr is included and the student has not declared as a |TreatyStatusNbr will be ignored (rule SDS-DEMO-008). |

|treaty/registered/status Indian. | |

|BandAffiliation or ReserveResidency is included and the student has |BandAffiliation and ReserveResidency will be ignored (rule |

|not declared any aboriginal status. |SDS-DEMO-008). |

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 for an individual who is |No data will be returned, other than a message indicating |

|not already enrolled in or registered in a class delivered by the |that the learning id number is not for a student at the |

|sending school. |school (rule SEC-XML-003). |

|The query specifies a DeptAssignedPersonId that does not correspond |No data will be returned, other than a message indicating |

|to any individual. |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 Saskatchewan Learning 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).

NOTE: The system will not automatically set the exit date of a student’s school enrollment when the student enrolls in another school. This is because it is possible for a student to be enrolled in two or more schools at the same time, as long as only one is identified as the student’s base school. Rather than assume that a student has left the previous school, we will assume that a new enrollment as a base school might be incorrect and treat it as a non-base school. If the student has in fact left the previous school, the previous school has to explicitly indicate that (via XML or the web application), after which the new enrollment can be set to be the student’s base school.

-----------------------

[pic]

[pic]

[pic]

[pic]

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download