XML Dialogues



Table of Contents

Revision History 2

Purpose of this Document 3

Student Achievement and Supports XML Dialogues 3

Typical Dialogues 3

Student Achievement and Supports XML Specification 4

1. Objects 5

1.1 StudentIntensiveSupports 5

1.2 StudentInclusionInterventionProgramPlan 6

1.3 StudentEnglishAdditionalLanguage 8

1.4 StudentProvincialAssessment 8

2. Elements 10

2.1 StudentIdentification 10

2.2 IntensiveSupportInfo 10

2.3 WhoIsStudentInfo 12

2.4 LearningCapacityInfo 12

2.5 AssessmentInfo 13

2.6 MedicalInfo 14

2.7 AreaOfDevelopmentInfo 14

2.8 TransitionPlanningInfo 17

2.9 AdditionalNotesInfo 18

2.10 MeasureableOutcomeInfo 18

2.11 ServiceInfo 19

2.12 EducationInstituteServiceInfo 20

2.13 SchoolDivisionServiceInfo 21

2.14 OtherAgencyServiceInfo 22

2.15 OutcomeAssessmentInfo 22

2.16 EnglishAdditionalLanguageInfo 25

2.17 ProvincialAssessmentInfo 27

3. Queries 30

3.1 QueryByStudent 30

3.2 QueryBySchool 31

4. Message Infrastructure 33

4.1 SAS_Message 33

4.2 SAS_Header 34

4.3 SAS_Event 35

4.4 SAS_Request 36

4.5 SAS_Response 37

4.6 SAS_Ping 38

Appendix A – Additional Edits 40

SchoolId 41

SAS_Query 41

Revision History

|Date |Version |Changes |

|2013 Mar 15 |Pre-release | |

|2013 Aug 20 |1.0 |Removed Strength and Interest elements |

|2013 Oct 07 |1.0 |Renamed Outcome elements for clarity |

|2013 Dec 18 |1.1 |Added student assessment objects and elements |

|2014 Jan 16 |1.1 |Simplified student assessment elements |

|2014 Apr 4 |1.1 |Changed ‘ORR’ student assessment to ‘Regina Public Assessment’ |

|2014 May 5 |1.1 |Changed object and element names for numeracy and literacy assessments to |

| | |StudentProvincialAssessment / ProvincialAssessmentInfo from StudentStandardizedAssessment|

| | |/ StandardizedAssessmentInfo. |

|2014 Aug 27 |1.2 |Added AssessmentLevel code values 140-142. See page 29 |

|2014 Dec 10 |1.2 |Corrected the typo in the header information on page 34 and page 36 |

|2014 Dec 18 |1.2 |Updated Intensive Supports disability code values. |

Purpose of this Document

This document presents the format of XML for exchanging Student Achievement and Supports information between partners. It does not address the technology of transmitting and receiving messages (i.e. transport layer).

Student Achievement and Supports 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 or school division (at minimum, the Ministry of Education returns acknowledgement that it received the original messages).

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

Message types include:

• Events (new or changed data)

• Requests for data

• Responses to requests and events

Typical Dialogues

[pic]

Student Achievement and Supports XML Specification

The Ministry of Education (MOE) Student Achievement and Supports XML specification defines how XML is structured for communication between schools / school divisions and The Ministry of Education. It was designed using the Schools Interoperability Framework (SIF) Implementation Specification (see ) as a starting point, but is not compliant with SIF.

The MOE Student Achievement and Supports 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 Student Achievement and Supports 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.3 SAS_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.

2 StudentIntensiveSupports

This object allows the school or school division to submit Intensive Supports information for a student.

|Element |Attribute |Status |Description/Notes |

|StudentIntensiveSupports | | |Provides information about a student’s Intensive |

| | | |Support requirements |

| |RefID |Required |The reference ID for returning messages |

|StudentIdentification | |Required |Element 2.1 |

|IntensiveSupportInfo | |Required |See “IntensiveSupportInfo”, Element 2.2. |

Example

123456789

1989-10-31

1234567

2013-09-01

2014-07-31

3 StudentInclusionInterventionProgramPlan

This object allows the school or school division to submit Inclusion and Intervention Program Plan (eIIP) information for a student.

|Element |Attribute |Status |Description/Notes |

|StudentInclusionInterventionProgramPlan | | |Provides information about a student’s |

| | | |inclusion intervention program plan |

| |RefID |Required |The reference ID for returning messages |

|SchoolYear | |Optional |The school year of the student’s personal |

| | | |program plan, expressed as both four-digit |

| | | |calendar years that the school year spans |

| | | |with a hyphen between (e.g. “2012-2013”). |

| | | |Default is current school year based on |

| | | |calendar date |

|StudentIdentification | |Required |Element 2.1 |

|WhoIsStudentInfo | |Optional |See “WhoIsStudentInfo” Element 2.3 |

|LearningCapacityInfo | |Optional |See “LearningCapacityInfo” Element 2.4 |

|AssessmentInfo | |Optional and |See “AssessmentInfo” Element 2.5 |

| | |Repeatable | |

|MedicalInfo | |Optional |See “MedicalInfo” Element 2.6 |

|AreaOfDevelopmentInfo | |Optional and |See “AreaOfDevelopmentInfo” Element 2.7 |

| | |Repeatable | |

|TransitionPlanningInfo | |Optional |See “TransitionPlanningInfo” Element 2.8 |

|AdditionalNotesInfo | |Optional |See “AdditionalNotesInfo” Element 2.9 |

|MeasureableOutcomeInfo | |Optional and |See “MeasureableOutcomeInfo” Element 2.10 |

| | |Repeatable | |

|ServiceInfo | |Optional and |See “ServiceInfo” Element 2.11 |

| | |Repeatable | |

|OutcomeAssessmentInfo | |Optional and |See “OutcomeAssessmentInfo” Element 2.15 |

| | |Repeatable | |

4 StudentEnglishAdditionalLanguage

This object allows the school to submit English as an Additional Language requirements for a student.

|Element |Attribute |Status |Description/Notes |

|StudentEnglishAdditionalLanguage | | |Provides information about a student’s English as an|

| | | |Additional Language requirements |

| |RefID |Required |The reference ID for returning messages |

|StudentIdentification | |Required |Element 2.1 |

|EnglishAdditionalLanguageInfo | |Required |See “EnglishAdditionalLanguageInfo” Element 2.16 |

Example

< StudentEnglishAdditionalLanguage RefId="1">

123456789

1989-10-31

1234567

2012-09-01

2013-07-31

5 StudentProvincialAssessment

This object allows the school or school division to submit provincial assessment (literacy and numeracy) information for a student.

|Element |Attribute |Status |Description/Notes |

|StudentProvincialAssessment | | |Provides information about a student’s provincial |

| | | |assessments. |

| |RefID |Required |The reference ID for returning messages |

|StudentIdentification | |Required |Element 2.1 |

|ProvincialAssessmentInfo | |Required and |See “ProvincialAssessmentInfo”, Element 2.17. |

| | |Repeatable | |

Example

< StudentProvincialAssessment RefId="1">

123456789

1989-10-31

1234567

2013-09-01

2. Elements

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

7 StudentIdentification

Used to identify a student. 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.

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

| | | |be a 9-digit number that exists on the ministry SDS database. |

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

This element provides information about the Intensive Supports for a student.

|Element |Attribute |Status |Description/Notes |

|IntensiveSupportInfo | | |Provides detailed information about a student’s |

| | | |Intensive Supports |

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

| | | |providing the Intensive Supports |

|SupportLevel | |Required |Intensive Support level |

| |Code |Required |See SupportLevel Code Values |

| |SelectedCode |Required |See SupportLevel SelectedCode Values |

|Disability | |Optional and |Disability(s) to be added/removed from student’s|

| | |Repeatable |Intensive Support profile. Only two |

| | | |disabilities will be accepted for a student; |

| | | |additional disabilities will be ignored. |

| |Code |Required |See Disability Code Values |

| |SelectedCode |Required |See Disability SelectedCode Values |

|StartDate | |Optional |Effective start date of the disability(s). The |

| | | |start date must fall within the current school |

| | | |year. Defaults to date of XML if not specified.|

|EndDate | |Optional |Effective end date of the disability(s). The |

| | | |end date must fall within the school year. |

| | | |Defaults to July 31 of the current school year |

| | | |if not specified. Rejected if prior to start |

| | | |date. |

SupportLevel Code Values

01. Occasional

02. Frequent

SupportLevel SelectedCode Values

Yes SupportLevel is required for student

No SupportLevel is not required for student

Disability Code Values

01. Blind or Visual Impairment

02. Deaf or Hard of Hearing

03. Intellectual Disability

04. Mental Health Impairment

05. [Deprecated – no longer used]

06. Orthopaedic Disability

07. Other Diagnosed

08. Pervasive Developmental Disorder

09. Physical Health Impairment

10. Prenatal Substance Exposure

11. Substance-related Disorders

12. Undiagnosed

Disability SelectedCode Values

Yes Disability exists for student (i.e. add disability)

No Disability does not exist for student (i.e. remove disability)

Example

1234567

2011-09-01

2012-07-31

2.3 WhoIsStudentInfo

This element provides information about the eIIP strengths, interests, and learning styles for a student.

|Element |Attribute |Status |Description/Notes |

|WhoIsStudentInfo | | |Provides information about a student’s strengths, |

| | | |interests, and learning styles for his/her eIIP. |

|WhoIsStudent | |Required |Narrative describing student strengths, interests, and|

| | | |learning styles. |

|WhoIsStudentDate | |Required |Effective date of strengths, interests, and learning |

| | | |styles. |

2.4 LearningCapacityInfo

This element provides information about the eIIP Learning Capacity for a student.

|Element |Attribute |Status |Description/Notes |

|LearningCapacityInfo | | |Provides information about a student’s learning |

| | | |capacity for his/her eIIP. |

|LearningCapacity | |Required |Learning capacity |

| |Code |Required |See LearningCapacity Code Values |

| |SelectedCode |Required |See LearningCapacity SelectedCode Values |

|LearningCapacityDate | |Required |Effective date of Learning capacity |

LearningCapacity Code Values

01. Above Average Ability – Capable of handling regular or extended curriculum (> 115 IQ)

02. Average Ability – Capable of handling regular curriculum (~ 100 IQ)

03. Low Average Ability – Requires classroom adaptations (~80 IQ)

04. Borderline Intellectual Ability – Requires adaptations & individual programming (~60-80 IQ)

05. Significant Cognitive Disability – Requires individualized programming (123456789

1997-03-15

27 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 |Not used at this time. |

| |IncludeLookupNames |Optional |Code (see below) to indicate whether or not to include |

| | | |SchoolName in the returned data. Applicable only if |

| | | |querying objects that optionally include SchoolName. |

| | | |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 (see below). |

|ToGrade | |Optional |The last grade of the grade range for which data is to |

| | | |be returned (see notes below) |

| |Code |Required |Grade code (see below). |

Grade Codes

|PK |Pre-kindergarten (age group of 2 ½ to 5 year olds) |

|0K |Kindergarten (4 – 7 years old) |

|01 |Grade 1 (5 – 8 years old) |

|02 |Grade 2 (6 – 9 years old) |

|03 |Grade 3 (7 – 10 years old) |

|04 |Grade 4 (8 – 11 years old) |

|05 |Grade 5 (9 – 12 years old) |

|06 |Grade 6 (10 – 13 years old) |

|07 |Grade 7 (11 – 14 years old) |

|08 |Grade 8 (12 – 15 years old) |

|09 |Grade 9 (13 – 16 years old) |

|10 |Grade 10 (14 – 17 years old) |

|11 |Grade 11 (15 – 18 years old) |

|12 |Grade 12 (16 + years old) |

Object Names Supported for Query

IntensiveSupportsInfo

• Returns all information for student’s currently enrolled

EnglishAdditionalLanguageInfo

• Returns all English as an Additional Language Info for currently enrolled students.

Include Lookup Names Codes

|Yes |Include lookup names such as SchoolName |

|No |Do not include lookup names such as SchoolName |

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.

Examples

Request all student intensive support information for all students enrolled in a school during a particular school year (defined by a date range):

1234567

2012-08-01

2013-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 SAS_Message. Within this tag is another tag identifying the type of message:

SAS_Event

SAS_Request

SAS_Response

SAS_Ping

4.1 SAS_Message

The outermost tag on all messages.

|Element |Attribute |Status |Description/Notes |

|SAS_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.0). Defaults to 1.0 if not specified. |

XML Namespace and Related Values

For this release of the Ministry of Education Student Achievement and Supports XML specifications, use:

xmlns=””

xmlns:xsi=""

xsi:schemaLocation=" "

Example

Message content goes here

30 SAS_Header

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

|Element |Attribute |Status |Description/Notes |

|SAS_Header | | | |

|SAS_MsgId | |Required |A unique identifier of the message (see note below) |

|SAS_Date | |Required |The date the message was sent |

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

|SAS_SourceId | |Required |The unique ID of the originator of the message. This is the |

| | | |department-assigned number of the organization. |

Note

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

Two techniques to ensure uniqueness are recommended. Schools or school divisions can pick from either of these techniques:

• Concatenate department-assigned school number, date/time, message sequence number and user id to create a unique SAS_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 SAS_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 SAS_MsgId should be used for the corrected message.

Example

12345678901234567890123456789012

2012-09-23

20:23:54

8888888

4.3 SAS_Event

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

|Element |Attribute |Status |Description/Notes |

|SAS_Event | | | |

|SAS_Header | |Required |See SAS_Header above |

|SAS_ObjectData | |Required |Wrapper for the data being sent |

|SAS_ObjectData/ | |Required and |Identifies the type of object being sent and wraps the |

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

|SAS_ObjectData/ | |Required and |The actual data being sent (see object specifications |

|SAS_EventObject/ objectname | |Repeatable |above) |

Event Action Values

|Add | |

|Change | |

| | |

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

4.4 SAS_Request

A request message asks for data to be returned.

|Element |Attribute |Status |Description/Notes |

|SAS_Request | | | |

|SAS_Header | |Required |See SAS_Header above |

|SAS_Query | |Required |The query for data. See SAS_Query under Queries. |

|SAS_Query/ objectname | |Required and |The actual queries, which can be any query in section 3. |

| | |Repeatable | |

Example

12345678901234567890123456789012

2012-09-16

20:23:54

1234567

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

|SAS_Response | | | |

|SAS_Header | |Required |See SAS_Header above |

|SAS_Ack | |Required |Acknowledgement of the message that elicited this response|

|SAS_Ack/ SAS_OriginalMsgId | |Required |The message ID of the message that elicited this response |

|SAS_Ack/ SAS_OriginalSource Id | |Required |The unique ID of the originator of the message that |

| | | |elicited this response |

|SAS_Ack/SAS_Status | |Required |Whether or not the original message was successfully |

| | | |processed |

|SAS_Ack/SAS_Status/ SAS_StatusCode | |Required |Status code (see below) |

|SAS_Ack/SAS_Status/ SAS_StatusMsg | |Optional |Message if required to clarify the status |

|SAS_Ack/SAS_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 |

|SAS_Ack/SAS_Error/ SAS_ErrorSeverity | |Required |Message severity (see below) |

|SAS_Ack/SAS_Error/ SAS_ErrorCode | |Required |Error code (values published separately) |

|SAS_Ack/SAS_Error/ SAS_ErrorMsg | |Optional |Message describing the error |

|SAS_ObjectData | |Optional |Wrapper for any data being returned |

|SAS_ObjectData/ SAS_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 |

|SAS_ObjectData/ SAS_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 |

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

|SAS_Ping | |Required |Request to acknowledge the ping |

|SAS_Header | |Required |See SAS_Header above |

Example

12345678901234567890123456789012

2009-09-23

20:23:54

1234567

Appendix A – Additional Edits

Additional Edits Revision History

|Date |Version |Changes |

|2013 Mar 15 |Pre-release | |

| | | |

| | | |

| | | |

The following rules indicate edits Student Achievement and Supports 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 or school division (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). |

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

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

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

Google Online Preview   Download