next up previous contents
Next: Translation - Other Languages Up: Open Administration for Schools Previous: External User Management


The Saskatchewan SDS System

The Student Data System of Saskatchewan Education is an online system that has several components including:

Open Admin (OA) has a section on the export/transfer page to allow you to update the SaskEd database, using information from your local OA database, by simply clicking a button.

The information in your local database is considered to be authoritative and SaskEd only has a copy of some of this information. Your role will be to keep this information up to date so when changes occur locally (students withdraw from school or classes, etc.) these changes are sent to SaskEd immediately. You do this by simply clicking a button.

School Enrollments and Demographic Changes

OA has the following functions:

  1. SDS Web Site - will open a new window in your web browser with the SaskEd SDS website. This site will allow you to query for student information and verify student provincial numbers, etc. This is a useful site to use in conjunction with the OA SDS scripts.

  2. Get Student Numbers - This is the first step in synchronizing your data with SaskEd. It will try to enrol any of your students without provincial numbers with SaskEd. If this step cannot be accomplished you will have to use the SDS Website to query for your students. If this also fails, then you must contact SaskEd directly to get a provincial number. YOu then enter this number into the students records and continue with the next step.

    The script will locate all students without provincial numbers locally and provide a list of students to select in order to enrol them with SaskEd. Once selected and Update Enrollments clicked, the next screen will allow the selection of the enrollment reason and enrollment date. Once the Update Student Enrollments is clicked the data will be sent to SaskEd and a response back will indicate the result of the transaction. Hopefully this will indicate Transaction Successful, and the script will automatically put the provincial number into the appropriate student field. The student is now enrolled.

    If there was any error message, you may click on the student name to update any fields in his/her record. You may then click back twice and click reload in your browser to run this script again to try to get a successful transaction.

    Once successful, you may continue with the second button,

  3. Sync Student Enrollment - This script will query SaskEd for all students on record for your school and compare this list with your local records. It will then create two lists of students to attempt to synchronize SaskEd with the local records (which are considered to be authoritative).

    The first list contains all students in the SaskEd records that are not in the local records. These students will have to be withdrawn. The second list contains all students that are in the local records but not in the SaskEd records. These students will have to be enrolled.

    Once you click the Sync Student Enrollment button, you will see the students in both lists (after a delay during which the SaskEd records are downloaded and processed). Any students still without provincial numbers are excluded from these lists and are listed at the top of the screen. Any empty lists will be indicated with No Students.... Ideally you want both of these to be empty lists.

    The Students to be Withdrawn list will have checkboxes to indicate the date for their withdrawal from school. Click the most recent date (normally) for those records. Dates that are more than one school year old won't be allowed in any case. You may have to manually remove these students using the SDS Web Site.

    The Local Students to Enrol with SaskEd list will also have checkboxes for their effective dates. Check off the most recent date here, also. Again, old dates won't work, but you may try. If this doesn't work, you may again have to resort to using the SDS Web Site for checking this student's current enrollment status.

    Click the Update Selected Students button. The next screen allows you to select the reason for the enrollment or withdrawal. Once set, click the Update Student Enrollments button. This information will then be sent to SaskEd, and the results returned. If the transactions were successful, the student(s) are now added to or removed from the SaskEd records and synchronization with SaskEd has been achieved (in terms of student enrollments).

    If you have an error code such as Individual not found for DeptAssignedPersonId/Birthdate combination, then you will have to use the SDS Web Site to resolve the issue. In this case, open up another windows with the SDS site by clicking the green button. Click on the Enrollment item on the left menu menu, and then the Student Enrollment link near the top of the screen. Log in using your school information. Move back to your previous screen (with the error messages) and click on the student's provincial number to select it. Then right-click and copy it (Ctrl-C). Then move back to the SDS site window and paste this into the box called Saskatchewan Education Id and click the Search button.

    If you cannot get any student information, you must contact SaskEd - Student Records at:

    Otherwise, use the information provided to fix your local records (ie. birthdate errors are common). If the mistake is in the SaskEd records, then contact them to fix the mistakes.

  4. Check Students Demographics - This will check all student records for missing data or other kinds of errors that should be fixed before you try to click the 'Update Student Demographics' button to send this information to SaskEd. It will fail in any case, so should be fixed first. Print out the list of errors and then edit student records and add or fix student information. Then click this button again to make sure all is well. Once this is correct (and no errors show up), then go on to the next button.

  5. Update Students Demographics - Click the Force Bulk Updates checkbox. This will send all information from the local records to SaskEd and force them to update everything. The main problem is updating the student grade at the start of the year. But this can be done at any time to ensure all student addresses, etc. are correct at the SaskEd end. Of course, the local records have to correct, first!

    Any errors in this process will be indicated in red. Typically these are mistakes in the Health Services Number, but there are instances of Legal Name issues, mistakes in Postal Codes (a zero (0) is a letter Oh (O); double spaces are not allowed between the two triplets in the postal code), etc. These must be corrected by clicking on the student name and editing their records to correct the errors. You may then rerun the script to make sure it comes up it clean.

Background Theory and Errors

Student transfers (enrollment, withdrawal) are recorded in a transfer table (which can be viewed from the Main page (View/Edit Transfers). It keeps track of the date of transfer, type of transfer (ie. enrollment or withdrawal), description (normally name of school, etc. she/he came from or went to), exit and entry codes, student name and birthdate. These dates and codes are used when synchronizing student enrollments with SaskEd.

The transaction sent to SaskEd includes codes explaining the reasons for the student transfer (enrol or withdraw), if known. This is done when the Update Student Enrollments/Withdrawals button is clicked.

The entry (enrollment) codes are:
(Note: don't forget the leading zeros on the first two!) 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 schooling in Saskatchewan
15 = Continuation of enrollment at the same school
16 = Readmission
18 = New; no previous schooling
50 = Exchange Student
99 = Not base school

The exit (withdrawal) codes are:
(Note: don't forget the leading zeros on the first two!) 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 schooling 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

When errors are returned, you have several options, depending on the nature of the problem. If it appears to be a demographic problem with an address, etc. then simply click on the student name and edit his/her record to fix the problem. Typically these problems include:

  1. Missing Address - the Parent 1 information (primary parent) is used as the students address information. (ie. address1, city1, pcode1). This information is used for official transcripts. The home phone (hphone1) information is also sent to SaskEd, if present.

  2. Missing or incorrect Postal Code, etc. The error message will tell you this directly. An invalid postal code typically has a letter O, rather than the number zero. They look the same, but aren't.

    Another problem is the spacing between the two triplets. There can only be a single space between them. More than 1 space will flag an error.

    Unfortunately, in both cases above, the code looks correct. It just isn't.

    The postal codes can also be looked up. Open a new tab (CTRL-T) or a new window (CTRL-N) and go to the Canada Post website at:

    You can also find the site by looking in Google for Canada Post postal code search. There is also a link provided on the student edit page beside the postal codes.

    Highlight and then copy the address (CTRL-C) from the Student Edit page. Move to the Canada Post tab or window and paste (CTRL-V) the address into the street field. Edit the other address information and find your postal code. Highlight it and copy (CTRL-C) it. Then move back to the Student Edit page and paste it in. Verify that there is only 1 space between the triplets.

  3. The correct abbreviation for Saskatchewan is SK and nothing else. Normally the system administrator can change all province codes directly at the database level if you have many wrong province values.

  4. Incorrect grade - using a lowercase bf k, instead of the correct uppercase one. Don't confuse the grade with the homeroom. The grades have values of PK, K, and 1 to 12. Nothing else is allowed.

If the error is one of an inconclusive student match, legal name issues, etc. there are a couple of options. If you have a provincial student number for this student, there will be a Qry button to query SaskEd for the student information. Click this button to compare your data with SaskEd data for that student. If you don't have a provincial student number for this student, then you cannot query for information (since you can't identify the child).

Instead, click the SDS Website button to enter their website to find the student information that they have about this student. (Look under Enrollment and then Student Enrollment). Use the student number or lastname, firstname and birthdate to find your student information. If your school has an end date for enrollment or is registered as non-base, you should contact SaskEd to get them to change your information. Similarly for mistakes in student name or birthdate. If this information is incorrect, then you will have problems enrolling or withdrawing students, since the information must be identical between the local system and SaskEd.

If you are getting XML validation errors, then further steps are necessary. In the location box on your web browser that contains the web address (URL) for this script, add a question mark followed by debug=1 so that the end of the URL looks like: /sasklrn/ This will place the script into debug mode and will allow you to see the information sent to SaskEd (in blue) and received from SaskEd (in green). By looking at the data contained in the blue section (sent to SaskEd) you should be able to figure out what is wrong with a particular enrollment(transfer) record. This is the reason that smaller chunks of data (3000 characters) are sent... to try to narrow the problem down to one particular transfer record so that the data error can be fixed. A common problem is using ``Sask'' for the province or some non-allowed value for a grade (ie. KL,KB, etc rather than just K(kindergarten or PK (pre-kindergarten))

High School Functions

Only those three buttons above are required by elementary schools, since they do not submit any marks to SaskEd. The following functions are used to:

  1. Register classes with SaskEd.
  2. Enrol students in those classes and
  3. Submit marks for those classes to SaskEd

  1. Synchronize Class Enrollments - When setting up Open Admin for classes, all subjects are first added on the report card page. Then students are enrolled in those subjects. All subject enrollments are stored in an evaluation table (and contain student evaluations for each term.).

    When you click this button, the student subject enrollments are compared with (any) existing subject enrollment records in the SaskEd database. Any differences will cause updates to be sent to SaskEd to either enrol or withdraw the student in each course to make the SaskEd records agree with local records.

  2. Query Class Enrollments - will query SaskEd and compare them with local records and prepare a comprehensive report. (since the previous function is very terse in its output).

  3. Student Mark Submission - This will send the mark information entered by teachers to SaskEd. Teachers will have to include their certification numbers with their other information (on the teacher page) so that marks can be successfully submitted for accredited subjects. The first screen will indicate the subjects that may be sent, while the second screen allows per student selection of submissions.

    The mark submission process uses the mark in the final term for the subject. In a four term subject, this would be term 4. In a 2 term subject (ie. semestered), this would be term 2.

The Provincial Student Number and the Health Services Number (HSN) contain a check digit at the end that can help detect if any digits have been transposed or are incorrect when entered. This check digit will not detect all errors but is an aid in data integrity.

These checks are run as part of the Check Student Demographics script.

next up previous contents
Next: Translation - Other Languages Up: Open Administration for Schools Previous: External User Management