IPASIService2018GetSectionStatus Method Provincial Approach to Student Information API
This service will return the Section Status objects based on the Section 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<SectionStatusResponse> GetSectionStatus(
	SectionStatusRequest request
)

Parameters

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

Return Value

Type: ListSectionStatusResponse
A list of SectionStatusResponse object. Each response object may contain one or more CoreAlerts, the source Section version number that created this status, and the source Section object itself. Each CoreAlert represents a piece of Section 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.

40101, 40103, 40109, 40110, 40111, 40117, 40119, 40120, 40121, 40122, 40123, 40126, 40128, 40129, 40140, 61012
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 SectionStatus objects. These represent the current core alerts attached to each Section record in the PASI core. This information can then be used to create end user work items when data changes are required.
The SectionStatusResponse object will contains the source Section object if the KnownSectionVersion 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 Section from the Shadow table). If the KnownSectionVersion is equal to the current version or the current version was not used (KnownEvaluatedMarkVersion is null) to create the current status (Section is newer) than nothing is returned.

This service is to be used during the data synchronization process. For more information on the data synchronization process see this section .

The process that generates the Status object in PASI core is asynchronous. This process is initiated by submitting an Section (calling SubmitSection) but the completion is dependent on the number of Sections 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 Section a status object will still be generated.

Since the business rules surrounding an Section are dependent on more than just the information supplied by the Section an Section Status object can change even if the Section doesn't. Below is a list of actions that can trigger an Section Status to be updated in PASI core:
  • Section – Submitting an update to the Section
  • 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
  • Section 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
SectionIdsList<StatusRefIdVersionInfo>Yes
SectionIds.ExpectedVersionNullable`1No
SectionIds.KnownSourceVersionNullable`1No
SectionIds.RefIdGuidYes


Response Fields

Full Property NameTypeRequiredOther Attributes
List<SectionStatusResponse>List<SectionStatusResponse>No
List<SectionStatusResponse>.AvailabilityStatusStringNo
List<SectionStatusResponse>.SectionStatusSectionStatusInfoNo
List<SectionStatusResponse>.SectionStatus.CoreAlertsList<CoreAlert>No
List<SectionStatusResponse>.SectionStatus.CoreAlerts.AcknowledgementStatusStringNo
List<SectionStatusResponse>.SectionStatus.CoreAlerts.AlertCodeInt32Yes
List<SectionStatusResponse>.SectionStatus.CoreAlerts.AlertTypeStringYes
List<SectionStatusResponse>.SectionStatus.CoreAlerts.ArgumentsList<KeyValuePair>No
List<SectionStatusResponse>.SectionStatus.CoreAlerts.Arguments.KeyStringYes
List<SectionStatusResponse>.SectionStatus.CoreAlerts.Arguments.ValueStringYesPASI.Validation.Schema.IsNotRequired
List<SectionStatusResponse>.SectionStatus.CoreAlerts.DescriptionStringNo
List<SectionStatusResponse>.SectionStatus.MaxSourcePASIVersionInt64No
List<SectionStatusResponse>.SectionStatus.PASICoreVersionInt64No
List<SectionStatusResponse>.SectionStatus.SectionRefIdGuidNo
List<SectionStatusResponse>.SectionStatus.SourceSectionSectionInfoNo
List<SectionStatusResponse>.SectionStatus.SourceSection.CourseCodesList<String>Yes
List<SectionStatusResponse>.SectionStatus.SourceSection.CreditsOfferedInt16Yes
List<SectionStatusResponse>.SectionStatus.SourceSection.DeliveryScheduleStringYesValue must be an appropriate SectionDeliverySchedule code value
List<SectionStatusResponse>.SectionStatus.SourceSection.DescriptionStringYesValue must be no more than 255 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]
List<SectionStatusResponse>.SectionStatus.SourceSection.EffectiveUtcDateTimeNo
List<SectionStatusResponse>.SectionStatus.SourceSection.EndDateDateTimeNo
List<SectionStatusResponse>.SectionStatus.SourceSection.InstructionalLanguageStringYesValue must be an appropriate InstructionalLanguage code value
List<SectionStatusResponse>.SectionStatus.SourceSection.InstructionalMinutesOfferedNullable`1NoValue must be between 0 and 32767
List<SectionStatusResponse>.SectionStatus.SourceSection.IsDeletedBooleanYes
List<SectionStatusResponse>.SectionStatus.SourceSection.LocalSectionIdStringNoValue must be no more than 8 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]
List<SectionStatusResponse>.SectionStatus.SourceSection.PASICoreVersionInt64Yes
List<SectionStatusResponse>.SectionStatus.SourceSection.PrimaryDeliveryMethodStringYesValue must be an appropriate PrimaryDeliveryMethod code value
List<SectionStatusResponse>.SectionStatus.SourceSection.RefIdGuidYes
List<SectionStatusResponse>.SectionStatus.SourceSection.SchoolCodeStringYesValue must be in the form of a number between '0001' and '9999'
List<SectionStatusResponse>.SectionStatus.SourceSection.SchoolYearInt16YesValue must be between 1900 and 2100
List<SectionStatusResponse>.SectionStatus.SourceSection.SectionTermStringYesValue must be an appropriate SectionTerm code value
List<SectionStatusResponse>.SectionStatus.SourceSection.StartDateDateTimeNo
See Also

Reference