This document outlines the contents and format of the Alberta Education PESCTranscript XML as delivered by the Ministry of Education, Government of Alberta.
With Release 5.01 of PASI an updated version of the PESC transcript (based on v1.5.0 of the PESC High School Transcript standard) will be available from PASI.
The following documents are the PASI specifications for the updated PESC High School transcript that is produced by PASI
This transcript can be requested using the Request Transcript service and it can be retrieved using the Retrieve Transcript service.
The Transcript Processing Agent generates the PESC XML at the same time that the PASI Transcript XML and the PDF is generated. This section describes the mapping between the PASI Transcript XML and the PESC High School Transcript.
The following xml illustrates a PESC High School Transcript from a high level.
<HighSchoolTranscript> <TransmissionData> <Source/> <Destination/> </TransmissionData> <Student> <Person/> <AcademicRecord> <!-- 0 or 1 of these for Alberta Education --> <School/> <AcademicAward/> <AcademicSession> <Course/> </AcademicSession> <Course/> </AcademicRecord> <AcademicRecord> <!-- 0 or many of these for external credentials --> <School/> <AcademicAward/> </AcademicRecord> </Student> <UserDefinedExtensions/> </HighSchoolTranscript>
The xml can be styled using PESC Transcript Stylesheet.
The Transcript Processing Agent generates the PESC XML at the same time that the PASI Transcript XML and the PDF is generated. This section describes the mapping between the PASI Transcript XML and the PESC High School Transcript.
Mapping of what goes into each of the corresponding fields on <TransmissionData>.
Data Element | Source |
---|---|
Document ID | Newly Generated GUID |
CreatedDateTime | Current Date & Time |
DocumentTypeCode | If the document order is connected to a transcript request that is stored in the [TranscriptRequest] table then use the RequestDocumentType otherwise use “StudentRequest”. |
TransmissionType | “Original” |
Source/Organization | <Organization> <APAS>AB00000000</apas> <OrganizationName>Alberta Education</OrganizationName> <LocalOrganizationID> <LocalOrganizationIDCode>AB00000000</LocalOrganizationIDCode> <LocalOrganizationIDQualifier>AB</LocalOrganizationIDQualifier> </LocalOrganizationID> <Contacts> <Email> <EmailAddress>studentrecords@gov.ab.ca</EmailAddress> </Email> </Contacts> </Organization> Note: “AB00000000” represents Alberta Education to APAS and the PSIs. |
Destination/Organization | If the transcript has a recipient that is an APAS PSI then use: <Organization> <APAS>__*1*__</APAS> <OrganizationName>__*2*__</OrganizationName> <LocalOrganizationID> <LocalOrganizationIDCode>*3*</LocalOrganizationIDCode> <LocalOrganizationIDQualifier>AB</LocalOrganizationIDQualifier> </LocalOrganizationID> </Organization> If the transcript has a recipient that is not APAS PSI then use: <Organization> <MutuallyDefined>__*1*__</MutuallyDefined> <OrganizationName>__*2*__</OrganizationName> </Organization> Where:
|
DocumentProcessCode | “PRODUCTION” if in the production environment “TEST” otherwise |
RequestTrackingID | Use the Request Tracking ID from the Document Order. |
Mapping of what goes into each of the corresponding fields on <Person>.
Data Element | Source |
---|---|
AgencyAssignedID | <AgencyIdentifier> <AgencyAssignedID>*1*</AgencyAssignedID> <AgencyCode>Province<AgencyCode> <AgencyName>Alberta Education</AgencyName> <CountryCode>CA</CountryCode> <StateProvinceCode>AB</StateProvinceCode> </AgencyIdentifier> Where *1* is the unformatted ASN of the student from AlbertaHighSchoolTranscript/Identification/StateProvinceId. |
Birth | <Birth> <BirthDate>*1*</BirthDate> <Birth>
Where *1* is the unformatted ASN of the student from AlbertaHighSchoolTranscript/Identification/BirthDate. |
Name | <Name> <FirstName>*1*</FirstName> <MiddleName>*2*</MiddleName> <LastName>*3*</LastName> </Name> Where
Note: The transcript delivered to the PSI for a student with LNU as their last name should contain a last name of “LNU”. |
Gender | If the document order is connected to a transcript request that is stored in the [TranscriptRequest] table and that request has a non-null value for gender then generate the gender segment as follows: <Gender> <GenderCode>*1*</GenderCode> <NoteMessage>Alberta Education does not report gender on the high school transcript.</NoteMessage> <NoteMessage>This gender is from the originating transcript request.</NoteMessage> </Gender> Where *1* is the gender from the originating transcript request. It will be “Unreported” in all other situations. Otherwise generate the gender segment as follows: <Gender> <GenderCode>Unreported</GenderCode> <NoteMessage>Alberta Education does not report gender on the high school transcript.</NoteMessage> </Gender> |
Mapping of what goes into each of the corresponding fields on <AcademicRecord>.
Data Element | Source |
---|---|
School | <School> <OrganizationName>Alberta Education</OrganizationName> <Contacts> <Email>studentrecords@gov.ab.ca</Email> </Contacts> </School> |
AcademicAward | There are three different scenarios that will result in an <AcademicAward> being in the transcript |
Scenario #1 - Alberta Education External Credentials | |
For external credentials that have Alberta Education as the org, use the following format: <AcademicAward> <AcademicAwardDate>*1*</AcademicAwardDate> <AcademicAwardTitle>*2*</AcademicAwardTitle> </AcademicAward> Where
|
|
Scenario #2 - Alberta Education Credentials | |
For credentials awarded by Alberta Education, use the following format: <AcademicAward> <AcademicAwardLevel>*1*</AcademicAwardLevel> <AcademicAwardDate>*2*</AcademicAwardDate> <AcademicAwardTitle>*3*</AcademicAwardTitle> </AcademicAward> Where
|
|
Scenario #3 - No Alberta Education Credentials | |
If there is no Alberta Education awarded credential, use the following format: <AcademicAward> <AcademicAwardLevel>B17</AcademicAwardLevel> </AcademicAward> |
|
AcademicSession | See the <AcademicRecord>.<AcademicSession> section later on this page for full detail. |
Course | See the <AcademicRecord>.<Course> section later on this page for full detail. |
Only applies to courses in the <AdditionalCredits> segment in the PASI Transcript XML. There will be one of these for every course that appears in the <AdditionalCredits> segment of the PASI Transcript XML.
Mapping of what goes into each of the corresponding fields on <Course>.
Data Element | Source |
---|---|
CourseCreditBasis | Always returned as “HighSchoolTransferCredit” |
CourseCreditUnits | Always use “CarnegieUnits” |
CourseCreditEarned | Use the value in <Course>.<CreditsAwared>. |
CourseSupplementalAcademicGrade | <CourseSupplementalAcademicGrade> <CourseSupplementalGrade> <SupplementalGradeCode>InstructorAssignedGrade</SupplementalGradeCode> <CourseAcademicSupplementalGrade>*1*</CourseAcademicSupplementalGrade> </CourseSupplementalGrade> </CourseSupplementalAcademicGrade> If the PASI course has a <ExternalMark> segment then include the CourseSupplementalGrade with a SupplementalGradeCode of “InstructorAssignedGrade” where *1* is the value from <ExternalMark>.<ExternalMarkValue>. If <ExternalMark> is not present in the PASI transcript xml then the segment should not appear in the PESC xml. |
AgencyCourseID | Use the value from <Course>.<CourseCode> |
CourseTitle | If the course is <Subject>.<Course> in the PASI transcript xml, then use the value <Course>.<CourseDescription> (Course Full English Name) truncated to the maxlength. If the course is <Subject>.<OccupationalArea>.<Level>.<Course>, then use a value that is constructed from “{Level}|{Occ Area}|{Title}” based on the following:
|
UserDefinedExtensions | Additional structured information. See the next section for full detail. |
Mapping of what goes into each of the corresponding fields on <Course>.<UserDefinedExtensions>.<Extensions>.
Data Element | Source |
---|---|
CourseTitle | Use the value in <Course>.<CourseDescription>, based on Course Full English Name. |
CareerAndTechnologyStudies | <CareerAndTechnologyStudies> <OccupationalAreaName>*1*</OccupationalAreaName> <LevelName>*2*</LevelName> </CareerAndTechnologyStudies> Where
Note: This entire segment only is included if the <Course> is within an <OccupationalArea>.<Level>. |
StudentHasSupportingInformation | Use “true” if the PASI course xml has <Course>.<StudentHasSupportingInformation> of true. (This is the new tag being added by section 3.1.1.1). Omit otherwise. |
CourseCreditEarnedExplanation | <CourseCreditEarnedExplanation> <CourseCreditEarnedExplanationType>*1*</CourseCreditEarnedExplanationType> <CourseCreditEarnedExplanationDescription>*2*</CourseCreditEarnedExplanationDescription> </CourseCreditEarnedExplanation> Only include this tag if the <AdditionalCredits>.<Subject>.<Course> segment in the PASI Transcript XML has a <ExternalMark>. Where
|
Every course/exam that appears in the <CourseInformation> in the PASI Transcript XML will be grouped into appropriate AcademicSession based on the SessionDesignator that is derived for the course.
The AcademicSessions appear in order within the PESC xml. They should be sorted by AcademicSessionDetail.SessionDesignator and then by AcademicSessionDetail.SessionType.
Mapping of what goes into each of the corresponding fields on <AcademicSession>.
Note: This segment will not be present if the student has not performed any coursework or taken any diploma or GED exams in an Alberta high school.
Data Element | Source |
---|---|
AcademicSessionDetail | <AcademicSessionDetail> <SessionDesignator/> <SessionType/> <SessionSchoolYear/> <SessionBeginDate/> </AcademicSessionDetail> See section 2.4.3 in the Alberta Education High School Transcript PESC XML specification for full details on this segment and how to use the values contained in the PASI Transcript xml course. The values are taken from these places in the PASI Transcript xml:
|
Course | 1 or more of these. One for each course that is in the CourseInformation in the PASI Transcript XML. See the <AcademicRecord>.<AcademicSession>.<Course> section below for more full detail. |
Mapping of what goes into each of the corresponding fields on <Course>.
There will be one of these for every course that appears in the <CourseInformation> segment of the PASI Transcript XML.
Data Element | Source |
---|---|
CourseCreditBasis | The following values can appear:
Note: In the situation where a course meets the criteria for “Equivalence” and “HighSchoolDualCredit”, only “Equivalence” will appear here. |
CourseCreditUnits | Always use “CarnegieUnits” |
CourseCreditEarned | Omit this segment if the PASI course is missing the <OfficialMarkValue> segment. Otherwise, use the value <Course>.<CreditsAwared>. |
CourseAcademicGradeScaleCode | Always use “89” |
CourseAcademicGrade | Use the value from <Course>.<OfficialMarkValue> if the PASI course has a value in <OfficialMarkValue>. Omit this segment if the <OfficialMarkValue> segment has been omitted from the PASI Course. |
CourseSupplementalAcademicGrade | <CourseSupplementalAcademicGrade> <CourseSupplementalGrade> <SupplementalGradeCode>ExamGrade</SupplementalGradeCode> <CourseAcademicSupplementalGrade>*1*</CourseAcademicSupplementalGrade> </CourseSupplementalGrade> <CourseSupplementalGrade> <SupplementalGradeCode>InstructorAssignedGrade</SupplementalGradeCode> <CourseAcademicSupplementalGrade>*2*</CourseAcademicSupplementalGrade> </CourseSupplementalGrade> </CourseSupplementalAcademicGrade> If the PASI course has an <Exam> segment then include the CourseSupplementalGrade with a SupplementalGradeCode of “ExamGrade” where *1* is the <Course>.<Exam>.<ExamMarkValue>. If the PASI course has a <SchoolMark> segment then include the CourseSupplementalGrade with a SupplementalGradeCode of “InstructorAssignedGrade” where *2* is the <Course>.<SchoolMark>.<SchoolMarkValue>. If neither is present in the PASI transcript xml then the segment should not appear in the PESC xml. |
AgencyCourseID | Use the value from <Course>.<CourseCode> |
CourseTitle | If the course is <Subject>.<Course> in the PASI transcript xml, then use the value <Course>.<CourseDescription> truncated to the maxlength. If the course is <Subject>.<OccupationalArea>.<Level>.<Course> the use a value that is constructed from “{Level}|{Occ Area}|{Title}” based on the following:
|
CourseOverrideSchool | <CourseOverrideSchool> <OrganizationName>*1*</OrganizationName> <LocalOrganizationID> <LocalOrganizationIDCode>*2*</LocalOrganizationIDCode> <LocalOrganizationIDQualifier>AB</LocalOrganizationIDQualifier> </LocalOrganizationID> </CourseOverrideSchool> Where
|
LanguageOfInstruction | If the PASI course has an <Exam> segment then include the following where *1* is the <Exam>.<ExamLanguage> converted to a PESC appropriate language code (see existing PESC code for this conversion). <LanguageOfInstruction> <LanguageCode>*1*</LanguageCode> <InstructionUsage>Examination</InstructionUsage> </LanguageOfInstruction> If the PASI course has a <SchoolMark> segment then also include the following where *2* is the <SchoolMark>.<InstructionalLanguage> converted to a PESC appropriate language code (see section Student.AcademicRecord.AcademicSession.Course.LanguageOfInstruction of Alberta Education High School Transcript PESC XML specification for conversion details). <LanguageOfInstruction> <LanguageCode>*2*</LanguageCode> <InstructionUsage>Instruction</InstructionUsage> </LanguageOfInstruction> If neither is present in the PASI transcript xml then the segment should not appear in the PESC xml. |
UserDefinedExtensions | Additional structured information. See the next section for full detail. |
Mapping of what goes into each of the corresponding fields on <UserDefinedExtensions>.<Extensions>.
Data Element | Source |
---|---|
CourseTitle | Use the value in <Course>.<CourseDescription>. |
CareerAndTechnologyStudies | <CareerAndTechnologyStudies> <OccupationalAreaName>*1*</ OccupationalAreaName> <LevelName>*2*</LevelName> </CareerAndTechnologyStudies> This entire segment only is included if the <Course> is within an <OccupationalArea>.<Level>. Where
|
DeclaredAsDualCreditEnrolment | Use “true” if the PASI course xml has <SchoolMark>.<IsDualEnrolement> of true. This segment will be omitted unless the value is true. |
EquivalentToCourseID | Use the value from <Course>.<CourseEquivalency>.<EquivalentCourseCode> if the PASI course xml has <Course>.<CourseEquivalency> segment. Omit otherwise. |
EndNote | <EndNote> <EndNoteType>*1*</EndNoteType> <EndNoteDescription>*2*</EndNoteDescription> </EndNote> There will be one of these EndNote segments for every <Course>.<EndNote> other than those for “DualEnrolment” and “MissingSelectedMark”. Where
|
There could be be one of these when the organization is “Alberta Education” and the student has completed CTS Credentialed Pathways for.
Mapping of what goes into each of the corresponding fields on <AcademicRecord>.<UserDefinedExtensions>.<Extensions>.
Data Element | Source |
---|---|
StudentHasSupportingInformation | This will only appear if the organization is not “Alberta Education”. See the next section regarding usage for external credentials. |
CareerAndTechnologyStudiesCredentialedPathways | <CareerAndTechnologyStudiesCredentialedPathways> <CareerAndTechnologyStudiesCredentialedPathway> <!-- 1 to many of these --> <PathwayName>*1*</PathwayName> <CompletedSchoolYear>*2*</CompletedSchoolYear> <ContributingCourseCodes>*3*</ContributingCourseCodes> </CareerAndTechnologyStudiesCredentialedPathway> </CareerAndTechnologyStudiesCredentialedPathways> There will be one of these CareerAndTechnologyStudiesCredentialedPathway segments for every <AlbertaHighSchoolTranscript>.<CTSCredentialedPathways>.<CTSCredentialedPathway> that exists in the PASI Transcript XML. Where:
|
There will be one of these for each organization (other than Alberta Education) that the student has an external credential for. These appear in the <ExternalCredentials> area of the PASI Transcript XML.
There could be more the one <AcademicAward> segment if a single organization has given the student more than one external credential
Mapping of what goes into each of the corresponding fields on <AcademicRecord>.
Data Element | Source |
---|---|
School | <School> <OrganizationName>*1*</OrganizationName> </School> Where *1* is the value from <ExternalCredential><CredentialAwardingOrganization> from the PASI Transcript XML. |
AcademicAward | <AcademicAward> <AcademicAwardDate>*1*</AcademicAwardDate> <AcademicAwardTitle>*2*</AcademicAwardTitle> </AcademicAward> Where
|
UserDefinedExtensions | <UserDefinedExtensions> <Extensions> <StudentHasSupportingInformation>true</StudentHasSupportingInformation> </Extensions> </UserDefinedExtensions> |
Mapping of what goes into each of the corresponding fields on <UserDefinedExtensions>.<Extensions>.
Data Element | Source |
---|---|
AlbertaHighSchoolTranscript_PESC/Revision | “2” |
AlbertaHighSchoolTranscript_PESC/SpecificationURL | https://extranet.education.alberta.ca/pasidevnet/Docs/Data%20Standards/ |
TranscriptPDF | Optional CDATA attribute that contains the PDF version of the transcript. To be used as the location of the PDF if the original transcript request asked for the PDF of the transcript to be embedded in the PESC xml. This will be a PDF of the transcript encoded in base64. |
The external location for the published PDFs are located here: https://extranet.education.alberta.ca/pasidevnet/Docs/Business/generated_documents.html