Awarding Credential

Part of the Credential Calculator Infrastructure.

Once a student has achieved a credential requirement set a user can award a credential number to the student to recognize the student’s achievement. The process of awarding may be done in bulk where a user submits a list of ASNs to PASI and PASI determines which credential a student should receive a credential number for. In this case there is a credential_order definition that PASI follows in order to award only one credential per ASN submitted.

Alternatively, a single ASN may be submitted to PASI with the credential type specified by the user.

Manually Assessed Credentials

PASI has a cutoff date of 2010 for assessing credential requirements. This means a user must review a student’s records in order to award that student a credential that existed prior to 2010. The following Credential Requirement Sets are affected by this restriction:

A manually assessed credential can be identified in the PASI database by starting with the credential requirement characteristic IsSystemUpdateable found on the SecurityCredentialRequirement table.

Credential Order

The following order of awarding is to be used when determining which Credential Type to award to a Student when the Student has achieved multiple credentials prior to running the awarding processing.

Student AwardedCredential NameIf other credentials “Achieved”, we will allow awarding of1):If other credentials “Achieved”, we will Prevent awarding of:
AHSDAlberta High School DiplomaNoneAll
ADEXAdvanced High School Diploma with ExcellenceNoneAll
ADVDAdvanced High School DiplomaNoneAll
GHSDGeneral High School DiplomaNoneAll
HSEDHigh School Equivalency DiplomaAHSD, ADEX, ADVD, GHSDCHSA, IOPC, COSC
CHSACertificate of High School AchievementAHSD, HSEDCOSC, ADEX, ADVD, GHSD, IOPC
IOPCCertificate of AchievementAHSD, ADEX, ADVD, HSED, GHSDCOSC, CHSA
COSCCertificate of School CompletionAHSD, HSED, CHSAADEX, ADVD, GHSD, IOPC
Has no Credential 2) AHSD, ADEX, ADVD, GHSD, HSED, CHSA, IOPC, COSCNone

The following credentials are considered to be “equivalent” to eachother, which is reflected indirectly in the table above:


  • Credentials are explicitly coded for (versus determining order through a code table). The reason for this approach is that some credentials (such as Honorary High School Diploma) should not affect the awarding of any other credential.
  • If the student has multiple Achieved credentials that have not been awarded, the first column “Student Awarded” also represents the order in which awarding should occur. For example if the student has Achieved a General High School Diploma and an Alberta High School Diploma, the student should be awarded the Alberta High School Diploma because it is considered a higher order credential and therefore, is listed higher in the “Student Awarded” column.
  • If the student has been awarded with an Advanced High School Diploma and now has achieved an Alberta High School Diploma, we will not Award the Alberta High School Diploma as it is considered equivalent to Advanced High School Diploma.
  • This higher order credential constraint has been implemented in the PASIprep Award and Order Credentials in Bulk logic.

Credential Number Calculation Logic

A sequence is a user-defined schema bound object that generates a sequence of numeric values according to the specification with which the sequence was created. With the data re-structuring, we will no longer be able to generate the credential number from the StudentCredentialAwardedID surrogate key. Unlike identity columns values that are generated when rows are inserted, an application can obtain the next sequence number without inserting the row by calling the NEXT VALUE FOR function. In addition, we can use sp_sequence_get_range to get multiple sequence numbers at once. A sequence can be used in “insert” and “update” statements. 3)

If the student has been awarded multiple credentials, the credentials they can subsequently be awarded is the intersection of the rows from this column. For example, if the student has been awarded CHSA and HSED, they can only be awarded AHSD.
INSERT INTO [dbo].[StudentCredentialAwarded]
         ((1000000000) + reverse(NEXT VALUE FOR dbo.CredentialNumber_seq ^ (111222333)))
UPDATE [dbo].[StudentCredentialAwarded]
 SET [CredentialNumber] = ((1000000000) + reverse(NEXT VALUE FOR dbo.CredentialNumber_seq ^ (111222333)))
WHERE <Search Conditions,,>