Skip to content

Instantly share code, notes, and snippets.

@rjchow
Last active April 12, 2019 02:59
Show Gist options
  • Save rjchow/6c310518fc6bbb60ef832f9e2c703b4c to your computer and use it in GitHub Desktop.
Save rjchow/6c310518fc6bbb60ef832f9e2c703b4c to your computer and use it in GitHub Desktop.

Summary

Added qualificationLevel field

Added fieldOfStudy field

Added attainmentDate date-time string

Added field to transcript: languageMedium

Added fields to recipient: studentId, nric, fin

Background: Schema 1.5 for Singaporean institutes

Following the feedback from Workforce Singapore Agency (WSG), SkillsFuture Singapore Agency (SSG) and Singapore Examinations and Assessment Board (SEAB), the OpenCerts schema will be updated to version 1.5 with the above mentioned non-breaking changes. The rest of this document will detail the examples and treatment of the fields.

qualificationLevel

Example:

  "qualificationLevel": [{
    "frameworkName": "singapore/ssec-eqa",
    "frameworkVersion": "2015",
    "code": "51",
    "description": "Polytechnic Diploma"
  }]

This field exists on the top level of the certificate file, and may be used to indicate what qualification level the certificate confers upon the recipient.

In the Singaporean context, reference should be taken from SSEC 2015

Accordingly, frameworkName and frameworkVersion should be exactly "singapore/ssec-eqa" and "2015".

For code, please use the 2 digit codes for EQA.

Description will be the corresponding description specified by the SSEC 2015 document.

In the case where you would like to indicate that your qualifcation is equivalent to another region's framework (ISCED for example), you may also include multiple qualificationLevel objects in the field.

In the case where your certificate confers multiple qualifications upon the recipient, you may likewise include multiple objects in qualificationLevel.

Example:

  "qualificationLevel": [{
    "frameworkName": "singapore/ssec-eqa",
    "frameworkVersion": "2015",
    "code": "51",
    "description": "Polytechnic Diploma"
  },
  {
    "frameworkName": "international/isced",
    "frameworkVersion": "2011",
    "code": "55",
    "description": "(Short-cycle tertiary education) Vocational"
  }]

fieldOfStudy

Example:

  "fieldOfStudy": [
    {
      "frameworkName": "singapore/ssec-fos",
      "frameworkVersion": "2015",
      "code": "0897",
      "description": "Biomedical Science"
    }
  ],

This field exists on the top level of the certificate file, and may be used to indicate what field of study the course has covered.

In the Singaporean context, reference should be taken from SSEC 2015

Accordingly, frameworkName and frameworkVersion should be exactly "singapore/ssec-fos" and "2015".

For code, please use the 4 digit codes for FOS.

Description will be the corresponding description specified by the SSEC 2015 document.

In the case that multiple fields of study were covered by the course, you may include multiple objects in the field.

Example:

  "fieldOfStudy": [
    {
      "frameworkName": "singapore/ssec-fos",
      "frameworkVersion": "2015",
      "code": "0897",
      "description": "Biomedical Science"
    },
    {
      "frameworkName": "singapore/ssec-fos",
      "frameworkVersion": "2015",
      "code": "0713",
      "description": "Biochemistry"
    }
  ],

attainmentDate

Example:

  "attainmentDate": "2018-07-25T00:00:00+08:00"

The date that the qualification was conferred upon the recipient

languageMedium

Example

"transcript": [
    {
      "name": "Bitcoin",
      "grade": "A+",
      "courseCredit": 3,
      "courseCode": "BTC-01",
      "examinationDate": "2018-08-01T00:00:00+08:00",
      "url": "https://blockchainacademy.com/subject/BTC-01",
      "description": "Everything and more about bitcoin!",
      "languageMedium: "english"
    }
    ...
]

The language in which the course was conducted in.

studentId nric fin

Example:

  "recipient": {
    "name": "Mr Blockchain",
    "did": "DID:SG-NRIC:S99999999A",
    "email": "mr-blockchain@gmail.com",
    "phone": "+65 88888888",
    "additionalProp": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "nric": "S0000001Z",
    "fin": "F0000001Z",
    "studentId": "1232"
  }

Some extra data fields that we've seen around but were not standardised previously: nric, fin, studentId

No validation is performed on these fields as they are simply strings. Please perform your own validation!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment