IPASIService2020SubmitStudentSchoolEnrolment Method Provincial Approach to Student Information API
This service will allow the PASI Client to submit an student school enrolment to the PASI Core.

Namespace: PASI.ServiceContract
Assembly: PASI.ServiceContract (in PASI.ServiceContract.dll) Version: 9.25.26.0 (9.25.26.0)
Syntax

SubmitResponse SubmitStudentSchoolEnrolment(
	SubmitStudentSchoolEnrolmentRequest request
)

Parameters

request
Type: PASI.DataContract.V2020SubmitStudentSchoolEnrolmentRequest
This object represents a single enrolment record for one student. A particularly important field from a system point of view is RefId.

RefId is a GUID created by the PASI client to uniquely identify an enrolment. Any future updates to this enrolment must reference this Id.

The extended information section on the StudentSchoolEnrolment data contract is used to supply additional information about an enrolment. This section of the data contract was created to allow for the collection of new data in the future on an enrolment while minimizing the structural changes to the contract. This flexibility is achieved by the client supplying the data element name and data element (key/value pair) in the structure. The PASI core will validate each data element name supplied by the PASI client to ensure it is one the PASI core accepts (unknown data element names will cause an enrolment to be rejected). The next section explains the data elements and acceptable values.

Return Value

Type: SubmitResponse
This service returns the standard submit response that contains any rejection that occurred, the RefId of the enrolment and the PASICoreVersion associated with the enrolment.

If any rejections are returned the enrolment is not saved in the PASI core and the PASICoreVersion will be set to the current version if it exists otherwise it will be set to zero.

Service Validations

The following codes can be returned from the service operation. This list also shows core alerts that could be generated as a result calling this service. These codes are in addition to the standard set of codes that can be returned defined as in the Approach to Error Reporting. Click the link for the details.

9003, 9009, 9013, 9023, 9055, 9062, 9063, 10001, 10016, 10020, 10056, 10057, 10058, 10064, 10073, 10080, 10087, 10088, 10098, 10099, 10103, 10104, 10117, 10118, 10127, 10133, 10134, 10140, 10150
Remarks

This service allows a PASI client to submit a new enrolment for a student enrolling at a school the PASI client represents. With the use of the enrolment RefId the same service is also used for updating or logically deleting an existing enrolment. This service may only be called on a student that currently exists within PASI Core (they have an assigned State Province Id).

When updating or logically deleting an existing enrolment the enrolment passed by the PASI client will replace the enrolment in the PASI core in its entirely.

When consuming the service, it is important to set the SchoolYear data element to the latter portion for the school year period. For example: For the 2010/2011 school year, the SchoolYear data element should be set to 2011.

In addition to having a valid, registered certificate the PASI client must also be granted permission to call this service. If a PASI client submits an enrolment without this permission then the service will return an error and the enrolment will not be accepted.

If an enrolment is or should be logically deleted the registration status property is set to "CreatedInError" on the enrolment

The validation on the ExtendedInfo property will preform the following checks:

  1. Are required attributes provided
  2. Are any keys duplicated
  3. Are keys (proper case) and values valid (based on accepted values and string length checks)
  4. Are the keys provided in ascending alphabetical order
  5. When a multiple integer value is accepted are the values in ascending order


Validation of the next step in will not be preformed if the previous contained errors (e.g. if the required key(s) are not found the duplicate check would not be preformed)

KeyValuesDescription
GrantsProgramCodes See Grants Program Codes Identifies the type or course of study in which a student is enrolled, such as home schooling or bilingual education. Each grants program code consists of three numeric characters. Note: a maximum of 3 Grants Program codes can be provided delimited by commas. E.g. “311,422,500”.
EnrolmentTypeCodes See Enrolment Type Codes Used to identify students for funding or data collection purposes. Students can be assigned up to three enrollment type codes. Each enrolment type code consists of three numeric characters. Note: a maximum of 3 enrolment type codes can be provided delimited by commas. If an FNMIDeclaration is provided a maximum of 2 enrolment types codes can be provided.
ExceptionCodesSee Exception Codes Exception Codes are used to identify exceptional students. Also referred to as Special Education codes. Students can be assigned up to two exception codes. Each exception type code consists of two numeric characters. Note: a maximum of 2 exception type codes can be provided delimited by commas. E.g. "45,46"
FrenchHoursOfInstructionTotal hours of French instruction per year that the student receives Used to calculate the entitlement to Federal Government Funding for French Language programs. Note: this key/value is required to be provided when supplying a GrantsProgramCodes of 211, 221 and 230.
ResidentBoardSchool Authority Code Refers to the school authority in which the student's parent lives. Each school authority code consists of 4 numeric characters. Note: this key/value should only be provided when grants codes 110 or 140 are used.
FNMIDeclaration See FNMI Declaration Codes Declaration captured at the time of enrolment. Note: this key/value should only be provided when a declaration is made. This cannot be submitted by Band-Operated schools
FrancophoneBoardSchool Authority CodeThis is the school authority code of the student’s resident francophone board.

Request and Response Class Diagram



Request Fields

Full Property NameTypeRequiredOther Attributes
CallerInfoCallerInfoYes
CallerInfo.ClientMessageIDStringYesValue must be no more than 50 characters Value must not have control characters, leading, trailing or multiple embedded spaces. Content must not match regular expression: ^\s|\s{2,}|\s$|[\x00-\x19]|[\x7F-\x9F]|[^\x00-\xFF]
CallerInfo.SentUtcTimeDateTimeYes
CallerInfo.SoftwareSoftwareYes
CallerInfo.Software.BuildNumberStringYesValue must be no more than 30 characters Value must not have control characters, leading, trailing or multiple embedded spaces. Content must not match regular expression: ^\s|\s{2,}|\s$|[\x00-\x19]|[\x7F-\x9F]|[^\x00-\xFF]
CallerInfo.Software.ManufacturerStringYesValue must be no more than 100 characters Value must not have control characters, leading, trailing or multiple embedded spaces. Content must not match regular expression: ^\s|\s{2,}|\s$|[\x00-\x19]|[\x7F-\x9F]|[^\x00-\xFF]
CallerInfo.Software.ProductStringYesValue must be no more than 100 characters Value must not have control characters, leading, trailing or multiple embedded spaces. Content must not match regular expression: ^\s|\s{2,}|\s$|[\x00-\x19]|[\x7F-\x9F]|[^\x00-\xFF]
CallerInfo.Software.VersionStringYesValue must be no more than 30 characters Value must not have control characters, leading, trailing or multiple embedded spaces. Content must not match regular expression: ^\s|\s{2,}|\s$|[\x00-\x19]|[\x7F-\x9F]|[^\x00-\xFF]
CallerInfo.UserUserYes
CallerInfo.User.IPAddressStringYesValue must be no more than 50 characters Value must not have control characters, leading, trailing or multiple embedded spaces. Content must not match regular expression: ^\s|\s{2,}|\s$|[\x00-\x19]|[\x7F-\x9F]|[^\x00-\xFF]
CallerInfo.User.LocalIDStringYesValue must be no more than 50 characters Value must not have control characters, leading, trailing or multiple embedded spaces. Content must not match regular expression: ^\s|\s{2,}|\s$|[\x00-\x19]|[\x7F-\x9F]|[^\x00-\xFF]
CallerInfo.User.NameStringYesValue must be no more than 100 characters Value must not have control characters, leading, trailing or multiple embedded spaces. Content must not match regular expression: ^\s|\s{2,}|\s$|[\x00-\x19]|[\x7F-\x9F]|[^\x00-\xFF]
CallerInfo.User.OrganizationCodeStringYesValue must be no more than 6 characters
HistoricalChangeInfoHistoricalChangeInfoNo
HistoricalChangeInfo.CommentsStringNoValue must be no more than 250 characters
HistoricalChangeInfo.ReasonCodeStringYesValue must be an appropriate EnrolmentChangeReason code value
StudentSchoolEnrolmentStudentSchoolEnrolmentYes
StudentSchoolEnrolment.EffectiveUtcDateTimeNo
StudentSchoolEnrolment.ExitDateTypeStringYesValue must be an appropriate ExitDateType code value
StudentSchoolEnrolment.ExtendedSchoolEnrolmentInfoExtendedInfoListNoName: SISV1
KeyRequiredMaxElementsAttributes
LocalStudentIdNo1Value must contain between 1 and 15 characters
ResidentBoardNo1Value must be in the form of a number between '0001' and '9999'
FrancophoneBoardNo1Value must be in the form of a number between '0001' and '9999'
FNMIDeclarationNo1Value must be an appropriate FNMIDeclaration code value
FrenchHoursOfInstructionNo1Value must be in the form of a number between '1' and '9999'
EnrolmentTypeCodesNo3Value must be an appropriate EnrolmentTypeCodes code value
ExceptionCodesNo2Value must be an appropriate ExceptionCodes code value
GrantsProgramCodesNo3Value must be an appropriate GrantsProgramCodes code value
StudentSchoolEnrolment.ExtendedSchoolEnrolmentInfo.ListList<ExtendedInfo>Yes
StudentSchoolEnrolment.ExtendedSchoolEnrolmentInfo.List.NameStringYesValue must not have control characters, leading, trailing or multiple embedded spaces. Content must not match regular expression: ^\s|\s{2,}|\s$|[\x00-\x19]|[\x7F-\x9F]|[^\x00-\xFF]
StudentSchoolEnrolment.ExtendedSchoolEnrolmentInfo.List.ValuesList<KeyValuePair>Yes
StudentSchoolEnrolment.ExtendedSchoolEnrolmentInfo.List.Values.KeyStringYes
StudentSchoolEnrolment.ExtendedSchoolEnrolmentInfo.List.Values.ValueStringYesPASI.Validation.Schema.IsNotRequired
StudentSchoolEnrolment.GradeStringYesValue must be an appropriate GradeCode code value
StudentSchoolEnrolment.IsDeletedBooleanYes
StudentSchoolEnrolment.PASICoreVersionInt64Yes
StudentSchoolEnrolment.ProgrammingTimeframeStringYesValue must be an appropriate ProgrammingTimeframe code value
StudentSchoolEnrolment.ProgrammingTypeStringYesValue must be an appropriate ProgrammingType code value
StudentSchoolEnrolment.RefIdGuidYes
StudentSchoolEnrolment.RegistrationExitDateDateTimeYes
StudentSchoolEnrolment.RegistrationStartDateDateTimeYes
StudentSchoolEnrolment.SchoolCodeStringYesValue must be in the form of a number between '0001' and '9999'
StudentSchoolEnrolment.SchoolProvidedProgramPercentageNullable`1No
StudentSchoolEnrolment.SchoolYearInt16YesValue must be between 1900 and 2100
StudentSchoolEnrolment.StateProvinceIdStringYesValue must be in the form of a number between '000000001' and '999999999'


Response Fields

Full Property NameTypeRequiredOther Attributes
SubmitResponse.IdStringNo
SubmitResponse.PASICoreVersionInt64No
SubmitResponse.RejectionsList<Rejection>No
SubmitResponse.Rejections.CodeStringYes
SubmitResponse.Rejections.DescriptionStringYes
See Also

Reference