IPASIService2018GetCourseEnrolmentStatus Method Provincial Approach to Student Information API
This service will return the Course Enrolment Status objects based on the Course Enrolment Id(s) passed in.

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

List<CourseEnrolmentStatusResponse> GetCourseEnrolmentStatus(
	CourseEnrolmentStatusRequest request
)

Parameters

request
Type: PASI.DataContract.V201204CourseEnrolmentStatusRequest
The request contains a list of Course Enrolment Id (GUID) and a list of Course Enrolment version numbers the client is aware of (not Course Enrolment Status version).

Return Value

Type: ListCourseEnrolmentStatusResponse
A list of CourseEnrolmentStatusResponse object. Each response object may contain one or more CoreAlerts, the source Course Enrolment version number that created this status, and the source Course Enrolment object itself. Each CoreAlert represents a piece of Course Enrolment information that may need correction. For more information on CoreAlerts see the overview section here.

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.

40202, 40205, 40206, 40207, 40208, 40210, 40214, 40215, 40216, 40221, 40222, 40229, 40233, 40238, 40239, 40240, 40241, 40242, 40243, 40244, 40245, 40246, 40249, 40251, 40252, 40257, 40261, 40264, 40265, 40266, 40267, 40268, 40269, 40274, 40275, 40276, 40277, 40278, 40287, 40288, 40347, 42004, 61010, 61011
Remarks

This service is intended to be used during the data synchronization process using the IsDataAvailable service. See the Expected Versions section for important details on how this service will return data.

This service will return one or more CourseEnrolmentStatus objects. These represent the current core alerts attached to each Course Enrolment record in the PASI core. This information can then be used to create end user work items when data changes are required.
The CourseEnrolmentStatusResponse object will contains the source Course Enrolment object if the KnownCourseEnrolmentVersion in the request is not equal to the version used to calculate the status (this may result in PASI retrieving the proper version of the Course Enrolment from the Shadow table). If the KnownCourseEnrolmentVersion is equal to the current version or the current version was not used (KnownEvaluatedMarkVersion is null) to create the current status (Course Enrolment is newer) than nothing is returned.

The process that generates the Status object in PASI core is asynchronous. This process is initiated by submitting an Course Enrolment (calling SubmitCourseEnrolment) but the completion is dependent on the number of Course Enrolments being submitted at the time by all PASI clients. With this in mind the best strategy for obtaining the status object as soon as available is through the use of the IsDataAvailable service. Even if there are no issues with an Course Enrolment a status object will still be generated.

Since the business rules surrounding an Course Enrolment are dependent on more than just the information supplied by the Course Enrolment an Course Enrolment Status object can change even if the Course Enrolment doesn't. Below is a list of actions that can trigger an Course Enrolment Status to be updated in PASI core:
  • Course Enrolment – Submitting an update to the Course Enrolment
  • Student School Enrolment – Any of the submit Student School Enrolment services are called
  • SchoolCalendarYear – PASI core receives an update to a calendar from the Ministry
  • School – PASI core receives an update to a School from the Ministry
  • SchoolAuthority – PASI core receives an update to a School Authority from the Ministry
  • Course Enrolment Status Acknowledgment - By Acknowledging a core alert the status object is regenerated so the version number is increase and it will be synchronized.

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
CourseEnrolmentIdsList<StatusRefIdVersionInfo>Yes
CourseEnrolmentIds.ExpectedVersionNullable`1No
CourseEnrolmentIds.KnownSourceVersionNullable`1No
CourseEnrolmentIds.RefIdGuidYes


Response Fields

Full Property NameTypeRequiredOther Attributes
List<CourseEnrolmentStatusResponse>List<CourseEnrolmentStatusResponse>No
List<CourseEnrolmentStatusResponse>.AvailabilityStatusStringNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatusCourseEnrolmentStatusInfoNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.CoreAlertsList<CoreAlert>No
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.CoreAlerts.AcknowledgementStatusStringNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.CoreAlerts.AlertCodeInt32Yes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.CoreAlerts.AlertTypeStringYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.CoreAlerts.ArgumentsList<KeyValuePair>No
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.CoreAlerts.Arguments.KeyStringYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.CoreAlerts.Arguments.ValueStringYesPASI.Validation.Schema.IsNotRequired
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.CoreAlerts.DescriptionStringNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.CourseEnrolmentRefIdGuidNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.MaxSourcePASIVersionInt64No
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.PASICoreVersionInt64No
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolmentCourseEnrolmentInfoNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.ArePrerequisitesWaivedBooleanYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.CourseCodeStringYesValue must be 7 characters
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.CourseEnrolmentMarkCourseEnrolmentMarkInfoNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.CourseEnrolmentMark.AssignmentDateDateTimeYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.CourseEnrolmentMark.IsMarkApprovedBooleanYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.CourseEnrolmentMark.MarkFormatStringYesValue must be an appropriate MarkFormat code value
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.CourseEnrolmentMark.MarkValueStringYesValue must be no more than 3 characters
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.CourseEnrolmentStatusStringYesValue must be an appropriate CourseEnrolmentStatus code value
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.CreditsAttemptedInt16Yes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.EffectiveUtcDateTimeNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.EntryDateDateTimeNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.ExitDateDateTimeNo
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.InstructionalMinutesReceivedNullable`1NoValue must be between 0 and 2147483647
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.IsDeletedBooleanYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.IsDualEnrolmentBooleanYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.IsFundingRequestedBooleanYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.PASICoreVersionInt64Yes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.ProviderNumberStringNoValue must be no more than 100 characters
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.RefIdGuidYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.SectionRefIdGuidYes
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.StateProvinceIdStringYesValue must be in the form of a number between '000000001' and '999999999'
List<CourseEnrolmentStatusResponse>.CourseEnrolmentStatus.SourceCourseEnrolment.StudentSchoolEnrolmentRefIdGuidNo
See Also

Reference