diff --git a/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/degree.js b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/degree.js
new file mode 100644
index 00000000..35a2bf66
--- /dev/null
+++ b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/degree.js
@@ -0,0 +1,87 @@
+/* eslint-disable class-methods-use-this */
+import React from "react";
+import PropTypes from "prop-types";
+import {
+ DegreeScrollDataFeeder,
+ Degree
+} from "../common/degreeScrollFramework";
+
+// check whether use old wording
+const useOldWording2022 = dataSource =>
+ dataSource.additionalData.programData &&
+ dataSource.additionalData.programData.some(
+ prog =>
+ prog.programCode &&
+ prog.programCode.startsWith("B09") &&
+ prog.admitTerm &&
+ prog.admitTerm < "1810"
+ );
+// check whether it is diploma
+const isDiploma = degreeCode => degreeCode.startsWith("G");
+
+// data feeder
+const getDataFeeder = dataSource => {
+ // data feeder
+ const dataFeeder = new DegreeScrollDataFeeder();
+ // logo is default
+ dataFeeder.studentName = dataSource.recipient.name.toUpperCase();
+ // Use old wording for bachelor degree with admit term earlier than 1810.
+ // Otherwise, use new wording (incl. master degree and grad diploma)
+ dataFeeder.postNameText = !useOldWording2022(dataSource)
+ ? "having fulfilled the requirements prescribed\n" +
+ "by the Yong Siew Toh Conservatory of Music,\n" +
+ "National University of Singapore,\n" +
+ `${
+ isDiploma(dataSource.additionalData.degreeScroll[0].degreeCode)
+ ? "was awarded the"
+ : "was conferred the degree of"
+ }`
+ : "having fulfilled the requirements prescribed\n" +
+ "by the Yong Siew Toh Conservatory of Music, National\n" +
+ "University of Singapore, in collaboration with the\n" +
+ "Peabody Conservatory of Music of The Johns\n" +
+ "Hopkins University, was conferred the degree of";
+ dataFeeder.degreeCode = dataSource.additionalData.degreeScroll[0].degreeCode;
+ dataFeeder.degreeTitle =
+ dataSource.additionalData.degreeScroll[0].degreeTitle;
+ dataFeeder.honours = dataSource.additionalData.degreeScroll[0].honours;
+ dataFeeder.major = dataSource.additionalData.degreeScroll[0].major;
+ dataFeeder.conferDate =
+ dataSource.additionalData.degreeScroll[0].dateConferred;
+ dataFeeder.spaceBeforeSig = "2.5cm";
+ if (dataSource.additionalData.images) {
+ dataFeeder.useDefaultSignature(
+ dataSource.additionalData.images.TRUSTEES,
+ dataSource.additionalData.images.PRESIDENT
+ );
+ }
+ return dataFeeder;
+};
+
+const Template = ({ certificate }) => {
+ // JSON data source
+ const jsonData = certificate;
+
+ // data feeder
+ const dataFeeder = getDataFeeder(jsonData);
+
+ // 794px is width of A4 portrait (21cm)
+ const ratio = (window.innerWidth - 30) / 794;
+ const scale =
+ ratio < 1
+ ? {
+ transform: `scale(${ratio}, ${ratio})`,
+ transformOrigin: "top left"
+ }
+ : null;
+ const html = (
+
+
+
+ );
+ return html;
+};
+export default Template;
+Template.propTypes = {
+ certificate: PropTypes.object.isRequired
+};
diff --git a/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/index.js b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/index.js
new file mode 100644
index 00000000..f35c9890
--- /dev/null
+++ b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/index.js
@@ -0,0 +1,32 @@
+import PropTypes from "prop-types";
+import MultiCertificateRenderer from "template-utils/MultiCertificateRenderer";
+import { storeAddresses } from "../common";
+import Degree from "./degree";
+import Transcript from "../NUSTS-GENERAL-2019/transcript";
+
+const templates = [
+ {
+ id: "degree",
+ label: "Certificate",
+ template: Degree
+ },
+ {
+ id: "transcript",
+ label: "Transcript",
+ template: Transcript
+ }
+];
+
+const Cert = props => (
+
+);
+
+Cert.propTypes = {
+ certificate: PropTypes.object.isRequired
+};
+
+export default Cert;
diff --git a/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/integration.spec.js b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/integration.spec.js
new file mode 100644
index 00000000..13e64c60
--- /dev/null
+++ b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/integration.spec.js
@@ -0,0 +1,145 @@
+import { Selector } from "testcafe";
+import { readFileSync } from "fs";
+import { join } from "path";
+import { getData } from "@govtechsg/open-attestation";
+
+fixture("National University of Singapore").page`http://localhost:3000`;
+
+const Certificate = "./sample.opencert";
+
+const RenderedCertificate = Selector("#rendered-certificate");
+
+const validateTextContent = async (t, component, texts) =>
+ texts.reduce(
+ async (prev, curr) => t.expect(component.textContent).contains(curr),
+ Promise.resolve()
+ );
+
+test("NUS-MUSIC-2022 certificate is rendered correctly", async t => {
+ // Inject javascript and execute window.opencerts.renderDocument
+ const certificateContent = getData(
+ JSON.parse(readFileSync(join(__dirname, Certificate)).toString())
+ );
+ await t.eval(() => window.opencerts.renderDocument(certificateContent), {
+ dependencies: { certificateContent }
+ });
+
+ // Check content of window.opencerts.templates
+ const container = Selector("#rendered-certificate .container");
+ await container(); // wait for document to be rendered
+ const templates = await t.eval(() => window.opencerts.getTemplates());
+ await t
+ .expect(templates)
+ .eql([
+ { id: "degree", label: "Certificate", template: undefined },
+ { id: "transcript", label: "Transcript", template: undefined }
+ ]);
+
+ await validateTextContent(t, RenderedCertificate, [
+ "NATIONAL",
+ "UNIVERSITY",
+ "OF SINGAPORE",
+ "A0117560L, NAME",
+ "Bachelor",
+ "Music",
+ "31 January 2018"
+ ]);
+ await t.eval(() => window.opencerts.selectTemplateTab(1));
+ await validateTextContent(t, RenderedCertificate, [
+ "A0117560L, name",
+ "A0117560L",
+ "01/01/1905",
+ "11/09/2019",
+ "BACHELOR OF MUSIC",
+ "COMPLETED PROGRAMME",
+ "2013/2014 SEMESTER 2",
+ "MUA1154",
+ "Noon Recital Series 1B",
+ "MUA1162",
+ "Major Study 1B",
+ "MUA1163",
+ "Introduction to Professional Development",
+ "MUA1181",
+ "First Year Brass Class B",
+ "MUH1116",
+ "Communicating About Music II",
+ "MUT1122",
+ "Musical Concepts and Materials II",
+ "2014/2015 SEMESTER 1",
+ "MUA1109",
+ "Chamber Ensemble 1A",
+ "MUA2107",
+ "Large Ensembles 2A",
+ "MUA2153",
+ "Noon Recital Series 2A",
+ "MUA2161",
+ "Major Study 2A",
+ "MUA2180",
+ "Orchestral Repertoire for Brass 2A",
+ "MUH2115",
+ "Music and Context: Before 1800",
+ "MUL2101",
+ "Critical Thinking for Musicians",
+ "MUT2117",
+ "Musical Concepts and Materials III",
+ "2014/2015 SEMESTER 2",
+ "MUA1110",
+ "Chamber Ensemble 1B",
+ "MUA2108",
+ "Large Ensembles 2B",
+ "MUA2154",
+ "Noon Recital Series 2B",
+ "MUA2162",
+ "Major Study 2B",
+ "MUA2181",
+ "Orchestral Repertoire for Brass 2B",
+ "MUH2116",
+ "Music and Context: After 1800",
+ "MUT2118",
+ "Musical Concepts and Materials IV",
+ "SSY2223",
+ "Western Music within a Singaporean Context",
+ "2015/2016 SEMESTER 1",
+ "GEK1519",
+ "Science of Music",
+ "MUA2109",
+ "Chamber Ensemble 2A",
+ "MUA3105",
+ "Conducting",
+ "MUA3107",
+ "Large Ensembles 3A",
+ "MUA3153",
+ "Noon Recital Series 3A",
+ "MUA3161",
+ "Major Study 3A",
+ "MUA3181",
+ "Advanced Concepts in Orchestral Repertoire I",
+ "MUA3205",
+ "Materials of Jazz Music 1",
+ "MUH3203",
+ "History of Opera",
+ "2015/2016 SEMESTER 2",
+ "LAG1201",
+ "German 1",
+ "MUA2110",
+ "Chamber Ensemble 2B",
+ "MUA3108",
+ "Large Ensembles 3B",
+ "MUA3154",
+ "Noon Recital Series 3B",
+ "MUA3162",
+ "Major Study 3B",
+ "MUA3214",
+ "Introduction to Pedagogy",
+ "2016/2017 SEMESTER 1",
+ "GEK1054",
+ "Social and Cultural Studies through Music",
+ "GEM1003",
+ "Introduction to Theatre and Performance",
+ "MUA4162",
+ "Major Study 4B",
+ "MUA4219",
+ "Advanced Chamber Ensemble",
+ "2016/2017 SEMESTER 2"
+ ]);
+});
diff --git a/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/sample.opencert b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/sample.opencert
new file mode 100644
index 00000000..c55a96e7
--- /dev/null
+++ b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUS-MUSIC-2022/sample.opencert
@@ -0,0 +1,773 @@
+{
+ "schema": "opencerts/v1.5",
+ "data": {
+ "id": "3ea46b86-8808-4119-8b77-85d43a284e97:string:NUS-A0117560L-B091000-P10182678-21-20180131",
+ "$template": "90faff36-a312-4af7-9281-44142327aee8:string:sg/edu/nus/NUS-MUSIC-2019",
+ "issuedOn": "b9c7ed39-4a1e-41cd-9a74-8164d0ef1fab:string:2019-09-11T17:20:52+08:00",
+ "name": "d33b6539-affc-43b0-af25-aae0d4f9f91d:string:NUS Degree",
+ "issuers": [
+ {
+ "name": "a612e3bd-bb7b-4be1-950d-72a19f8c5b56:string:National University of Singapore",
+ "uen": "60e3219e-da2b-45cc-bccb-237424fcfdf5:string:200604346E",
+ "url": "a5f6c02c-f29f-4d06-9f52-45cb83d6d306:string:https://www.nus.edu.sg",
+ "email": "33fb849b-37d4-4d72-a094-8099b51f3b3c:string:transcript@nus.edu.sg",
+ "certificateStore": "ffadd433-d157-4775-8250-57bed5eda85a:string:0xfEbB273495F5C2c4783E23424Fe9773691b57fcB"
+ }
+ ],
+ "recipient": {
+ "name": "8b3de850-5365-456e-b116-600ac3598544:string:A0117560L, name",
+ "studentId": "59730281-3647-4273-b72a-13ef8878997d:string:A0117560L",
+ "dateOfBirth": "ab8c36f5-a16a-4a09-999c-74c76f591e37:string:1905-01-01"
+ },
+ "transcript": [
+ {
+ "name": "a34059c7-4656-460f-b8ac-7c3bb978439f:string:Major Study 1A",
+ "courseCode": "359bc844-bf12-4548-9446-32834bb196bf:string:MUA1161",
+ "grade": "eb284ff5-c1db-478e-87e6-f6d952b757c7:string:B-",
+ "courseCredit": "a86ba212-6944-47ab-8aa5-0e489d2b559e:number:5",
+ "status": "40214ff4-ac2e-4a48-8092-b445d4b004d8:string:P",
+ "includeInGPA": "152f4df0-95fd-4385-a1d1-4c97e2cfcf58:boolean:true",
+ "reportNo": "d0526453-e24c-4cfa-b41f-245966928827:string:1",
+ "semester": "2e939e40-7ae9-41ad-9221-d061d048c445:string:1320",
+ "transferSeq": "a46ccb62-4b98-497d-b0d7-04d46e42ff9f:number:1"
+ },
+ {
+ "name": "f5b980a8-a830-487f-80e8-0890580a3fef:string:Musical Concepts and Materials I",
+ "courseCode": "ea30248a-13b9-43ee-bcbf-315bfc7f5eb2:string:MUT1121",
+ "grade": "458eeb3e-2477-405b-90e9-299842280ddd:string:B-",
+ "courseCredit": "3051076e-3b36-4417-9169-a73098c2257c:number:6",
+ "status": "4cde32fb-2718-4cfb-9dbe-38aa2cac9040:string:P",
+ "includeInGPA": "3be7f8e0-632f-4034-ae4e-20558d50bb56:boolean:true",
+ "reportNo": "a005785e-8c14-4bd9-950f-2e63aa8622f8:string:1",
+ "semester": "2288f435-a6ce-4ecf-b396-621e798b8d5a:string:1320",
+ "transferSeq": "3e602b81-aa8d-4f27-a616-c70f2f3a3130:number:1"
+ },
+ {
+ "name": "38f369a4-ff1e-4f02-943e-8cf9727cca34:string:Communicating About Music I",
+ "courseCode": "2516cceb-5b14-40fb-8e1c-bc74550cbc0a:string:MUH1115",
+ "grade": "8e41160d-ffb7-4261-8f76-fb2d78ab96fc:string:B+",
+ "courseCredit": "81b93858-7313-4a18-be58-5aca8873925e:number:2",
+ "status": "dd9cc9ba-31e2-4abe-a814-781e12b535ca:string:P",
+ "includeInGPA": "72e9e448-0256-48b7-854a-28bdfec38b1c:boolean:true",
+ "reportNo": "38f18421-e031-45ac-a799-dc9dee45f496:string:1",
+ "semester": "5b906ce1-1631-4f99-b283-94dca2d5e0c6:string:1320",
+ "transferSeq": "8a251dcc-7e0c-482f-9db7-45a1a7d98c4e:number:1"
+ },
+ {
+ "name": "43ee8b6a-6587-43c2-b294-932251c9c506:string:First Year Brass Class A",
+ "courseCode": "17c60c7e-ba17-416d-b866-2f3f58bf1db8:string:MUA1180",
+ "grade": "d8f321b8-7219-499b-9f1e-6eeb2a11edb4:string:B+",
+ "courseCredit": "a2797159-0e66-4e10-b8ac-195ce4db4951:number:2",
+ "status": "dcbb3687-ecb2-4eb8-853f-9b695735c8bc:string:P",
+ "includeInGPA": "a29c2b0a-ef4d-43e6-92a2-8f69e669875d:boolean:true",
+ "reportNo": "6d27cbaf-3864-43b8-b47c-c81ebb3942be:string:1",
+ "semester": "91114495-3c5c-42f4-aa57-821275df43c9:string:1320",
+ "transferSeq": "0999849d-b35b-4ade-8c1f-14e9969e4042:number:1"
+ },
+ {
+ "name": "5177d35e-b4b4-45cd-ae82-5ba92871b5e0:string:Noon Recital Series 1A",
+ "courseCode": "e7ee43c2-60cf-48e7-93b3-3b087552c20f:string:MUA1153",
+ "grade": "488b305e-2ef3-48e0-ba9b-4e56c036ef8d:string:CS",
+ "courseCredit": "3a0cae32-1e84-4b00-8baa-db90da7f340a:number:0",
+ "status": "85be7beb-ede0-4564-8b18-3b14fde254f5:string:P",
+ "includeInGPA": "cb3b5db0-9bfd-403a-a4d0-846e7af5719e:boolean:false",
+ "reportNo": "32909bfd-15a8-40bf-84c4-154a4f885db3:string:1",
+ "semester": "4e25a05d-7870-446b-9452-57a892064df5:string:1320",
+ "transferSeq": "8b850506-c0c9-4a0c-b7c9-0f991839462c:number:1"
+ },
+ {
+ "name": "a4990e63-7b2c-415b-abd0-ee37c3298081:string:Noon Recital Series 1B",
+ "courseCode": "35ebc7fc-aa9d-42a8-a423-d7ce5cf00014:string:MUA1154",
+ "grade": "d4283ddc-4355-4018-98c3-da7e8825bccc:string:CS",
+ "courseCredit": "3855c86d-58e8-4388-b55d-6185a4052781:number:0",
+ "gradingBasis": "9aa533af-c161-4782-9341-5f793c3c0826:string:CSU",
+ "includeInGPA": "28e814bb-62b3-44cd-9003-0c9c1bc07f2a:boolean:false",
+ "reportNo": "27c5cd7f-a5dc-4352-8998-77243b03bf8d:number:1",
+ "semester": "3096d154-8b74-411c-bd2e-e30809da590b:string:1320"
+ },
+ {
+ "name": "b3a6bc80-d356-4305-b924-92bb3ee43310:string:Major Study 1B",
+ "courseCode": "b24171b8-9799-4fb8-8fd3-7ffbd507b268:string:MUA1162",
+ "grade": "9df98071-69d2-48ef-b427-0ac4451c31c5:string:B",
+ "courseCredit": "e5f12270-89a8-4e3c-9577-ef682665e1c8:number:6",
+ "gradingBasis": "1fb88c36-6c8e-41d7-8354-ff060efe87fa:string:GRD",
+ "includeInGPA": "cc52f292-9270-42d0-befa-d762f18ee749:boolean:true",
+ "reportNo": "9907d0e8-2f37-4164-99de-a458acfa38c3:number:1",
+ "semester": "17fee01c-baea-4c51-a695-a1a8f974e582:string:1320"
+ },
+ {
+ "name": "6eab9719-634b-430a-923d-ebcaa05555c4:string:Introduction to Professional Development",
+ "courseCode": "cb10e1c5-0f71-4ad3-bc24-110d0337c90b:string:MUA1163",
+ "grade": "e6d02afd-5a1c-4f48-aa56-463adf40e30b:string:B-",
+ "courseCredit": "084addd0-bc20-4ba0-8d21-e12d81345ba6:number:2",
+ "gradingBasis": "1148aae3-06f2-4e7b-87df-67e80a330aaa:string:GRD",
+ "includeInGPA": "d43e3590-2da8-440d-83dd-ede71b048a79:boolean:true",
+ "reportNo": "73cd9537-fdd1-4107-8966-48e4620152e6:number:1",
+ "semester": "cdf85977-ab13-4b40-b7e2-c58861f05779:string:1320"
+ },
+ {
+ "name": "ec83d788-2ce6-4ecd-958e-60af2c594aa4:string:First Year Brass Class B",
+ "courseCode": "0406a09e-9fb0-465a-9ab3-3db157c04e7f:string:MUA1181",
+ "grade": "f94565b5-f6fe-4e8e-b38b-966d194286ab:string:B-",
+ "courseCredit": "423f928f-7ab2-480b-a8d7-846335c4f4c1:number:2",
+ "gradingBasis": "12a61e63-8457-410d-b21c-e1b493a5d7cb:string:GRD",
+ "includeInGPA": "982fa3bf-1d61-4bd6-abc5-cd7d2e946e53:boolean:true",
+ "reportNo": "38def63f-4530-40e4-b484-87416a15816c:number:1",
+ "semester": "4b6e92e7-b508-46c5-ab62-7576e24267b6:string:1320"
+ },
+ {
+ "name": "b5e832a5-b692-4dc4-9355-908f8d590b4f:string:Communicating About Music II",
+ "courseCode": "9ae791b7-5392-40f9-b31d-b0d2f7bc03c6:string:MUH1116",
+ "grade": "e3bf51c5-78f8-4245-a955-5729a8c5774f:string:B",
+ "courseCredit": "9062844e-f2ff-4a7c-bc86-4dacd129b34e:number:2",
+ "gradingBasis": "5c3d7ae2-6b7d-4ed9-8006-dc868ef22454:string:GRD",
+ "includeInGPA": "af357e79-9b83-4dd9-b17d-cf78f812d55b:boolean:true",
+ "reportNo": "c094a088-0509-4651-b95e-718827f69878:number:1",
+ "semester": "b27a4596-3aa6-4cca-a847-5868dd336729:string:1320"
+ },
+ {
+ "name": "bb82d7d2-ff4f-4e79-98f6-1bf87e349b54:string:Musical Concepts and Materials II",
+ "courseCode": "86499213-dd90-49c1-a948-2292a95476f3:string:MUT1122",
+ "grade": "cee174a8-d388-421d-b71f-24d11d0160e6:string:C+",
+ "courseCredit": "b6cb8423-18f4-49d5-af83-907f6c6d96b2:number:6",
+ "gradingBasis": "ff95a0cc-d707-4e74-b29d-28611d5385f4:string:GRD",
+ "includeInGPA": "8e2e9c68-dce4-44c0-80d5-a004134efa36:boolean:true",
+ "reportNo": "45005c19-4007-4088-8e80-82ef703a0c82:number:1",
+ "semester": "9eaeacce-b7ff-42c8-a379-2e0c4071ca46:string:1320"
+ },
+ {
+ "name": "6a9bdf37-5cb4-499e-937b-9a651d03f000:string:Chamber Ensemble 1A",
+ "courseCode": "d4e53dcf-41b6-44f9-a62b-5d7e0f53e04e:string:MUA1109",
+ "grade": "19663184-c370-42fe-857f-40469b95874e:string:B",
+ "courseCredit": "40caf88f-c1c8-4629-b3a2-737b154cee71:number:2",
+ "gradingBasis": "fb2a1da0-ae8e-40e5-ab36-7c6886206b48:string:GRD",
+ "includeInGPA": "2c49f706-fb1f-4caa-9821-972f9d7a51bb:boolean:true",
+ "reportNo": "96a24b4d-3aa9-4a3f-a6d4-75bc7bd578e6:number:1",
+ "semester": "e80cd16e-e984-4980-b9df-a1231535065e:string:1410"
+ },
+ {
+ "name": "0a0eff36-29ac-41e0-8e23-2bda636acc87:string:Large Ensembles 2A",
+ "courseCode": "415132e9-551d-4a29-8a34-328649eb836c:string:MUA2107",
+ "grade": "06b9dbdf-f79a-4d0e-9064-8ce24b5ab5bf:string:CS",
+ "courseCredit": "d6a8b124-a69a-464c-bc3f-446435f980a2:number:2",
+ "gradingBasis": "9937fa45-d985-42c0-92f2-5bb51f8b1ea1:string:CSU",
+ "includeInGPA": "f13c24a7-28d7-4480-b284-7523d11d21fb:boolean:false",
+ "reportNo": "758d9ab5-7a7f-47c3-af0c-b90597fae7d3:number:1",
+ "semester": "4e38eebb-d85c-4fe6-bd2d-d87346570419:string:1410"
+ },
+ {
+ "name": "bcab4b94-d2d4-4a92-b8bf-75548b2a4200:string:Noon Recital Series 2A",
+ "courseCode": "f70f6b64-e571-4e23-867f-92a6ed8ee57c:string:MUA2153",
+ "grade": "acc848b0-0560-4768-88cd-03f6877d8b01:string:CS",
+ "courseCredit": "611959de-01d3-430d-86f0-c76ac249a5e1:number:0",
+ "gradingBasis": "3318e5f7-5085-4542-9ed7-8c36490aebb8:string:CSU",
+ "includeInGPA": "2a063634-a5f3-457d-bce2-015a82f4853b:boolean:false",
+ "reportNo": "78da2499-723b-47a5-b41f-7ec700c8a6f6:number:1",
+ "semester": "d5c4248f-839b-433d-9942-530d3eb0b81c:string:1410"
+ },
+ {
+ "name": "442a5e49-6bf4-4442-bcee-2ad50dce2c89:string:Major Study 2A",
+ "courseCode": "93d27386-4e9c-41d4-84bc-f3423d21f58f:string:MUA2161",
+ "grade": "472a4b8f-5c61-4c61-8741-67be2f234f3e:string:B",
+ "courseCredit": "73990b4d-2fe5-41f8-9070-60e9ffcb228a:number:5",
+ "gradingBasis": "86c1285f-4cbb-438a-9c73-cd3310996602:string:GRD",
+ "includeInGPA": "1f9b3c4d-bfc8-4d90-a3d6-1d850420db15:boolean:true",
+ "reportNo": "cde7a1ca-d065-447c-b1b9-5544bccabd45:number:1",
+ "semester": "45f40b8a-f443-4919-8878-3a427acbc076:string:1410"
+ },
+ {
+ "name": "111171da-3bdd-4007-9f71-46e1eeb42914:string:Orchestral Repertoire for Brass 2A",
+ "courseCode": "6e5e609e-86b7-49c0-92aa-f3bb291bfadc:string:MUA2180",
+ "grade": "66b02ed6-3e35-4997-bf64-21435c31e9d0:string:B+",
+ "courseCredit": "dde598b0-209f-4efa-a235-c56b810698ee:number:2",
+ "gradingBasis": "d2464e50-1e04-46c1-b9b3-5d6064d7caf3:string:GRD",
+ "includeInGPA": "a6993109-160f-4aa8-b446-51e75f56fc54:boolean:true",
+ "reportNo": "772861b0-fdb8-4bb7-a379-e5f1d4e8fae5:number:1",
+ "semester": "d588893b-91ad-4880-b226-5a78cdd05c2d:string:1410"
+ },
+ {
+ "name": "4b2ae1e6-952e-4249-b4a5-e9fb3f485c17:string:Music and Context: Before 1800",
+ "courseCode": "7e61927a-6cb4-4126-8e92-30e7ff0fcdaa:string:MUH2115",
+ "grade": "36642a51-5bd6-4c9a-8bfc-a01845e920a4:string:C+",
+ "courseCredit": "3abc684d-5867-4b57-8c3b-7b4f12944f0e:number:4",
+ "gradingBasis": "d2d65ec4-ebbc-41dc-9685-7c197be9ee8f:string:GRD",
+ "includeInGPA": "3dbccf59-3b01-44fa-b0d6-6590739b2b91:boolean:true",
+ "reportNo": "18f831e1-4e6c-4b52-8e68-a8e3bd0eb0ee:number:1",
+ "semester": "8c91ca43-123b-4ebc-8fd9-016690b6deb3:string:1410"
+ },
+ {
+ "name": "13eac72e-36ad-4899-8634-b10960738536:string:Critical Thinking for Musicians",
+ "courseCode": "ded8b56a-7ec7-4fe0-8a9a-b73d1649ae05:string:MUL2101",
+ "grade": "d695d35e-2602-4180-8b51-bb4c7f633bf7:string:B-",
+ "courseCredit": "fb8b5529-688d-4605-8484-30ccbf0ee611:number:4",
+ "gradingBasis": "857bd603-6092-4b95-b172-30ef8f97332c:string:GRD",
+ "includeInGPA": "12f238a6-f2bd-4a75-b67b-eb80a838da89:boolean:true",
+ "reportNo": "269e7e9d-b856-4ff7-ad08-66af71965cba:number:1",
+ "semester": "a89ccffd-9176-454b-9bc4-f61a6da52fca:string:1410"
+ },
+ {
+ "name": "91352035-64b2-49a8-91b6-7748bc9e0551:string:Musical Concepts and Materials III",
+ "courseCode": "f2fac4f7-c980-43c9-9192-3b68622170a6:string:MUT2117",
+ "grade": "d8261d1d-8bb0-457d-8736-97462556ac9d:string:D+",
+ "courseCredit": "02949986-6560-433b-9808-006c09702c8c:number:4",
+ "gradingBasis": "469ba92b-48a2-48a3-8e90-0d71d8b3cd86:string:GRD",
+ "includeInGPA": "7018dfcc-020c-4a9f-95f2-108e1ddb4993:boolean:true",
+ "reportNo": "431a32e1-1a31-47e8-9223-eb39c4e3d762:number:1",
+ "semester": "b783870c-18cc-4ad9-8be2-d720f3cfea97:string:1410"
+ },
+ {
+ "name": "ba0970b3-8820-4e27-b1db-57d4b73acda9:string:Chamber Ensemble 1B",
+ "courseCode": "ee1678dd-850e-4bf8-b412-7e95e33281d1:string:MUA1110",
+ "grade": "10133e20-e799-4ed8-8079-eea7af31da53:string:A-",
+ "courseCredit": "f0b76012-5dfa-40ab-aac5-1ed637580bc7:number:2",
+ "gradingBasis": "d732e222-3efa-4b45-953f-f93f9ac13660:string:GRD",
+ "includeInGPA": "26c70eef-355e-4269-b87b-38b32b9b74f1:boolean:true",
+ "reportNo": "a8a907ae-e06e-4ae6-af86-506826b731b9:number:1",
+ "semester": "8b878093-f39c-4a6e-a81b-3d0052677788:string:1420"
+ },
+ {
+ "name": "a87dc233-13b4-4f44-b16a-9cfa6843adde:string:Large Ensembles 2B",
+ "courseCode": "fab7d5d5-6a34-4b97-b851-6771d0106f7a:string:MUA2108",
+ "grade": "4ced618a-78c3-4452-8e65-0de69f840c9b:string:CS",
+ "courseCredit": "5cca6bc3-0d6f-4532-8baa-9c8f15f40ee2:number:2",
+ "gradingBasis": "a32a702d-3a99-45aa-aa66-9d0e8eb73372:string:CSU",
+ "includeInGPA": "0e6ee9a2-7adb-49d6-b641-8e3b1fd4cf43:boolean:false",
+ "reportNo": "d1f4729d-4d85-474f-bb2c-a2707e2164fc:number:1",
+ "semester": "c0c86632-becb-4575-bbf6-f4f7482ea617:string:1420"
+ },
+ {
+ "name": "7a1c53a2-7081-4b22-92cb-b29a0f9893e7:string:Noon Recital Series 2B",
+ "courseCode": "c6ad1660-1dde-4c81-9435-ac00ee398913:string:MUA2154",
+ "grade": "4de4b095-c0b4-4b79-83b4-bd0ebe5b88b6:string:CS",
+ "courseCredit": "cd231160-e8a1-4e21-aaac-06217bc31611:number:0",
+ "gradingBasis": "ae2d19e7-2634-4603-9430-a102aa0de604:string:CSU",
+ "includeInGPA": "8ca874e4-b3db-435b-96ca-a674ba383756:boolean:false",
+ "reportNo": "acd2f71c-1a9d-4b64-b682-6c46568b7a6f:number:1",
+ "semester": "1cda4978-ca25-46c9-ad19-a7e69570ace1:string:1420"
+ },
+ {
+ "name": "5741ac0b-d5ac-4329-ba07-8e395289b004:string:Major Study 2B",
+ "courseCode": "07a2d135-1c47-4df0-aef2-8799829cb3f8:string:MUA2162",
+ "grade": "7e569c14-dab9-4fa1-a2f7-4547fcf7039a:string:B+",
+ "courseCredit": "3f1535eb-041e-47d7-8038-2b31af945299:number:6",
+ "gradingBasis": "800eecb3-3bbc-4df4-9f78-3c15bddd063d:string:GRD",
+ "includeInGPA": "372d96ae-8c5b-49a9-802e-70aa5595a24b:boolean:true",
+ "reportNo": "9ff769be-19aa-42bf-9020-48cfed52bf85:number:1",
+ "semester": "ae2d7fa2-49ef-4e15-9ea4-129d0af28ad7:string:1420"
+ },
+ {
+ "name": "646a85e9-4361-4338-81ae-765d8289a327:string:Orchestral Repertoire for Brass 2B",
+ "courseCode": "2819818d-3a44-4a80-ba2f-350da8ed145c:string:MUA2181",
+ "grade": "a9b81862-f5aa-4ef8-8f71-763ccd92119e:string:A-",
+ "courseCredit": "361316e2-d3c8-4ed7-aa0e-ee8c467a0560:number:2",
+ "gradingBasis": "106dac55-7012-4429-b210-e0e2a52a6e1c:string:GRD",
+ "includeInGPA": "1f6756e6-8979-4a15-a670-523af598fa82:boolean:true",
+ "reportNo": "5fbc0320-d11a-4720-a85b-e5156d2df161:number:1",
+ "semester": "52373cbb-9e4b-4d05-9730-ea227b3725f5:string:1420"
+ },
+ {
+ "name": "b31680bb-f5fb-4708-b661-7d55642a5379:string:Music and Context: After 1800",
+ "courseCode": "69b984c7-748c-4b18-a588-13ab033c69bd:string:MUH2116",
+ "grade": "2f3ecb55-e491-4b43-8434-9609efa789e4:string:B-",
+ "courseCredit": "b7581ede-6e69-42fa-ab4d-9407ee473255:number:4",
+ "gradingBasis": "cea4ca9e-162a-428c-a93c-5531aaef78bb:string:GRD",
+ "includeInGPA": "7006b8ef-66fa-44ce-920b-587157b8e362:boolean:true",
+ "reportNo": "3c2609a5-0673-4ffd-8a3b-688a925a69dc:number:1",
+ "semester": "98b7caa7-f9d5-4b47-9155-42cdbe509851:string:1420"
+ },
+ {
+ "name": "a37213e4-70dc-45ba-8643-283eb1d82e09:string:Musical Concepts and Materials IV",
+ "courseCode": "ab826896-49c7-4680-ba4f-c9f2d5fdc3b3:string:MUT2118",
+ "grade": "8cc7edfc-0b5c-4bda-8639-2c3d8468db0c:string:D",
+ "courseCredit": "2d1165d5-619c-4d3e-826c-3863f1208ba1:number:4",
+ "gradingBasis": "4efccafb-e663-4e8e-9ae0-e7122128998a:string:GRD",
+ "includeInGPA": "6095eb49-2721-430f-b162-805ef4538193:boolean:true",
+ "reportNo": "4cb24aa2-ff6d-4397-bc9a-2597149ad56f:number:1",
+ "semester": "ed871ef9-c432-47f4-be28-185f4b5a0d0d:string:1420"
+ },
+ {
+ "name": "9c4a20a7-b9bf-4b0a-8b54-cb15d2b63650:string:Western Music within a Singaporean Context",
+ "courseCode": "e1f209b0-6be5-49ff-a46b-aeade117486b:string:SSY2223",
+ "grade": "bd87106d-8cf6-4a8f-b745-10ba9b70a9b3:string:C",
+ "courseCredit": "6bf8e04b-9d66-430c-8109-7750fc58cb0c:number:4",
+ "gradingBasis": "ae78868a-858e-4f14-ab6e-09495cd44101:string:GRD",
+ "includeInGPA": "45893f00-3331-4c53-a1cb-8ab7021c91a7:boolean:true",
+ "reportNo": "42dc0e9f-f087-419b-9101-38f469daccf5:number:1",
+ "semester": "8184c654-d906-4971-a471-c6bb48828556:string:1420"
+ },
+ {
+ "name": "3b2ac646-095c-415c-a1d4-f16524075a2f:string:Science of Music",
+ "courseCode": "593b6ba3-e257-4bf8-bcdc-77a9d2fe7088:string:GEK1519",
+ "grade": "0b25f9ab-ccc4-42c0-9bfb-d7e0902dcc13:string:S",
+ "courseCredit": "2e214365-2342-4bc9-8cb3-948cffe2183a:number:4",
+ "gradingBasis": "b61459f5-e30d-41ec-a829-eb7ccf2c5f6b:string:SNU",
+ "includeInGPA": "f1d66876-049d-4796-97c4-b62878c12c69:boolean:false",
+ "reportNo": "748a63e4-d8f0-45b3-b628-f7994a1bae0d:number:1",
+ "semester": "2139e814-a87f-4743-b4cf-5deffd53df14:string:1510"
+ },
+ {
+ "name": "90ae7739-532c-4a4b-a4fb-b19e33daa092:string:Chamber Ensemble 2A",
+ "courseCode": "438c8ddf-2030-41d3-ad20-6c033e71f41e:string:MUA2109",
+ "grade": "190b5695-6d70-47c0-86d6-26770548a5df:string:A",
+ "courseCredit": "65bf0074-4c47-470f-9021-67fe7cff255b:number:2",
+ "gradingBasis": "ae20f01b-4683-4d29-b341-28c24a0c5e47:string:GRD",
+ "includeInGPA": "5aeef654-a2a2-4591-a84c-448389216d7f:boolean:true",
+ "reportNo": "ab19555b-666e-4b31-b26f-eb78a1886061:number:1",
+ "semester": "623d5751-3fdf-44ae-9542-ec36243b157c:string:1510"
+ },
+ {
+ "name": "fe1221c4-e78d-4af5-b2b8-7b71375bfc3f:string:Conducting",
+ "courseCode": "0550a33b-c3f1-4c70-9486-7968137a4f3a:string:MUA3105",
+ "grade": "3fd09b42-2751-458e-adf6-62a3f63ec004:string:C+",
+ "courseCredit": "c218bd36-98af-4f5a-98a9-6f406ebce8da:number:2",
+ "gradingBasis": "adfa1478-9b62-4084-9a3a-27ba2075e9f4:string:GRD",
+ "includeInGPA": "a41fa61c-dd2b-4dbe-8b48-3a9823e7767b:boolean:true",
+ "reportNo": "d6e751c0-ac9c-4037-8866-8c729ca0bb0b:number:1",
+ "semester": "2444aa76-7dda-4f89-91c7-3a7ae60b3f68:string:1510"
+ },
+ {
+ "name": "5d6352f0-b1e0-45d7-9907-a6efaca29b6f:string:Large Ensembles 3A",
+ "courseCode": "e71a920c-f9f5-4516-b490-9d1ccd47b955:string:MUA3107",
+ "grade": "1cb60e47-0be1-4e85-99ef-1fd7d13da6f4:string:A",
+ "courseCredit": "993eb653-3117-4fd9-9f1e-ade11443aec5:number:2",
+ "gradingBasis": "76b9522a-8b9d-4686-a450-98c0468a8ca5:string:GRD",
+ "includeInGPA": "ff36224e-d796-448c-9862-72e0b5a1db29:boolean:true",
+ "reportNo": "5c0e4e9b-67e8-4ab3-8fae-52e7137bd2bc:number:1",
+ "semester": "3d6ddd02-2c1d-45e2-86d7-a62f7461cd10:string:1510"
+ },
+ {
+ "name": "29bdb21d-6411-43e2-b5fd-60b953fb3155:string:Noon Recital Series 3A",
+ "courseCode": "79626583-2651-4271-aef8-8d0d5ebb62f8:string:MUA3153",
+ "grade": "a355b9de-e832-4f92-b08e-dbd6592612cd:string:CS",
+ "courseCredit": "6c0ca6c1-5ed6-4b2c-b8bd-73846dc4b96a:number:0",
+ "gradingBasis": "135033aa-6e9c-4d0d-97bb-cf319d2c711c:string:CSU",
+ "includeInGPA": "ef63e360-1661-4ef7-982a-896a26af6912:boolean:false",
+ "reportNo": "f3da1905-993f-4021-ada8-3d6dbf54959d:number:1",
+ "semester": "274194b8-6d38-45db-910d-4da646576091:string:1510"
+ },
+ {
+ "name": "3ed676cc-5ff4-43eb-acff-741063de46fc:string:Major Study 3A",
+ "courseCode": "f61b1f9c-247c-4d81-af30-030773074750:string:MUA3161",
+ "grade": "05b71f9e-1bda-4c0e-83e5-da4ee798980f:string:A-",
+ "courseCredit": "7b495889-dbaf-46b0-9a4d-2bc42798cdec:number:5",
+ "gradingBasis": "cfd03eca-8430-4da3-8530-0b473ff53bde:string:GRD",
+ "includeInGPA": "e0f80bc4-6746-4ba0-9033-da0f5a3f105b:boolean:true",
+ "reportNo": "560494f3-740e-45dc-a0e6-52aada63d2bb:number:1",
+ "semester": "4903dc93-c4dd-4a39-aa5a-e34fbcddf65d:string:1510"
+ },
+ {
+ "name": "7031c21a-1a42-4285-87f2-0f7998c82e26:string:Advanced Concepts in Orchestral Repertoire I",
+ "courseCode": "72b32610-daac-4885-bf4f-d709043a8c9c:string:MUA3181",
+ "grade": "4350edbb-8bb0-42a4-8250-d8ace3ff32bd:string:A",
+ "courseCredit": "639f5d93-92ac-4b87-8469-cbd3a9a8537c:number:2",
+ "gradingBasis": "3f91d5bd-41a4-4c93-bdf2-9dadeaf7c824:string:GRD",
+ "includeInGPA": "2ae08e10-c85a-463d-8d01-e3009332297b:boolean:true",
+ "reportNo": "b0e60860-dd83-4d85-a4a2-6730377665f9:number:1",
+ "semester": "9720b679-c259-40ba-a1a7-d3b4cfb1b61e:string:1510"
+ },
+ {
+ "name": "b8d99f3b-d123-4dfa-9bdc-1c6b7b28093c:string:Materials of Jazz Music 1",
+ "courseCode": "28189669-ef9b-46f5-8f8e-76cd8911eb54:string:MUA3205",
+ "grade": "bbd699ea-8790-4bdc-8071-7e700c4170ce:string:C",
+ "courseCredit": "30b1fe32-9f46-4e6a-ba91-191410d78823:number:3",
+ "gradingBasis": "65945e02-4a3a-47eb-913e-f799c394440a:string:GRD",
+ "includeInGPA": "a96246c7-6c3e-467c-a206-c73a01aeec61:boolean:true",
+ "reportNo": "f628c5b3-9545-4d82-949a-31b51234f3ce:number:1",
+ "semester": "d7bc492e-c04b-46f2-95d5-a94fcd487d0b:string:1510"
+ },
+ {
+ "name": "9f49b6b6-92e5-4a88-b5b5-a95f92d88a19:string:History of Opera",
+ "courseCode": "1ff8f5eb-9d0d-4fae-9263-761a4d099814:string:MUH3203",
+ "grade": "3fd8b6f5-eee8-47f4-bff6-9a69b2bec3f3:string:C",
+ "courseCredit": "41fb7f44-2e0a-44f7-818d-0230627bd215:number:3",
+ "gradingBasis": "2995fcf6-9842-42e2-8223-18afdb6676b2:string:GRD",
+ "includeInGPA": "f8d2d14e-816a-40be-814c-4b10803ee88e:boolean:true",
+ "reportNo": "9848fa7f-6b75-4249-b0c2-68f4698d27fb:number:1",
+ "semester": "6ef96943-d868-45c3-8dbe-d7b34aac3f91:string:1510"
+ },
+ {
+ "name": "b6aacb5e-13ee-4214-b919-79f1a9fbb461:string:German 1",
+ "courseCode": "f9f25cee-4851-4281-8ebf-5fdf4997fdc6:string:LAG1201",
+ "grade": "9d6c1c55-c42e-4099-9d74-c39b30a4c758:string:D+",
+ "courseCredit": "db60ff3d-6225-40a2-84e6-6f009a679797:number:4",
+ "gradingBasis": "59d275ca-912d-4605-b41a-c6fedc9c75a4:string:GRD",
+ "includeInGPA": "4b108ef6-ec00-4b56-a74e-6be06132fede:boolean:true",
+ "reportNo": "ad507e87-6f09-4d92-b43a-dd31ed329134:number:1",
+ "semester": "e6c49ecc-5a7f-44cd-ba7a-1b7f2033be2e:string:1520"
+ },
+ {
+ "name": "54bb91f0-3409-4906-a4f4-0ea9e707bfb6:string:Chamber Ensemble 2B",
+ "courseCode": "7b543a3a-a925-4d79-99f2-4bda0b7408de:string:MUA2110",
+ "grade": "14580931-fe8d-4f81-a692-47aeb46343d2:string:A",
+ "courseCredit": "3615a24b-9c7a-4f1d-8c8e-07e185edac0d:number:2",
+ "gradingBasis": "3e405177-27a2-420c-ae55-f578afecd96a:string:GRD",
+ "includeInGPA": "4b21c838-0da4-4675-815e-6ce83a67aa23:boolean:true",
+ "reportNo": "34bf903d-0bc9-450b-9181-51c40f61de0e:number:1",
+ "semester": "a03be427-48ce-40c8-869d-f75957317218:string:1520"
+ },
+ {
+ "name": "56bf31aa-94d9-45af-8190-0915380e40af:string:Large Ensembles 3B",
+ "courseCode": "63814e88-96c8-469e-8959-ffa21cb8090e:string:MUA3108",
+ "grade": "9662bd95-f2ab-4185-83b5-48a094943b8a:string:B+",
+ "courseCredit": "54035914-ad18-4378-9eb7-05e48acca69e:number:2",
+ "gradingBasis": "eab539f9-7e9b-4254-8a63-9fb50cda3ad4:string:GRD",
+ "includeInGPA": "32f57f87-3e78-44b4-a054-c9c28df0339d:boolean:true",
+ "reportNo": "6ade46ea-8544-4137-8136-cc4135cc6fc0:number:1",
+ "semester": "98fe5035-fa47-4702-9da9-fd5039880145:string:1520"
+ },
+ {
+ "name": "14b87bf4-5df1-4f2f-a592-ebd5adb154e7:string:Noon Recital Series 3B",
+ "courseCode": "f31e476d-0d60-4919-ab8b-7dc3d0bb6432:string:MUA3154",
+ "grade": "88de2715-b66d-4360-a7a2-b84800294961:string:CS",
+ "courseCredit": "38d1bdc9-87c3-425e-a880-3acbfd595530:number:0",
+ "gradingBasis": "1283b3ce-5625-4a12-894f-6a6748022841:string:CSU",
+ "includeInGPA": "f6510e86-636a-413e-8e28-319a813db002:boolean:false",
+ "reportNo": "5e055930-46e1-4e4c-a9fe-6170a8095d16:number:1",
+ "semester": "b5b34108-4254-4d5c-b5c5-b8b5fcbd991a:string:1520"
+ },
+ {
+ "name": "94e35693-7e54-4111-a7bd-9d4e53b9b08e:string:Major Study 3B",
+ "courseCode": "21162ae0-3997-4e27-b529-57f5368b68de:string:MUA3162",
+ "grade": "386b53dd-b842-4c0b-a0b2-2dec2953a8b4:string:A-",
+ "courseCredit": "6c12108b-4af3-40ff-8ef5-73f87218295e:number:8",
+ "gradingBasis": "809bc2f5-1599-41a4-8638-f25163cc6d44:string:GRD",
+ "includeInGPA": "9e97b71c-9fb8-4acf-a51c-1047cb3bce5f:boolean:true",
+ "reportNo": "6aa70bc0-987d-4506-875d-634ff8e89ac3:number:1",
+ "semester": "292b5641-9654-416a-b959-aabf57309f0f:string:1520"
+ },
+ {
+ "name": "669c6b9b-df9f-47c6-a371-82ce442723f9:string:Introduction to Pedagogy",
+ "courseCode": "865eb6b7-61bc-4d80-b70e-d3110a0b90f1:string:MUA3214",
+ "grade": "bf3c417e-e9eb-49ec-a40e-aa77744a1692:string:B",
+ "courseCredit": "5ba74983-adcc-4577-8b6d-04f58102c8a9:number:3",
+ "gradingBasis": "b6af1f31-705b-43de-92d0-8c53b25035d3:string:GRD",
+ "includeInGPA": "dbf80e66-7574-442d-a834-510ba226ef8a:boolean:true",
+ "reportNo": "5449e507-80af-4cc5-bb1c-f322e6dd0a74:number:1",
+ "semester": "3afccbca-6aea-45fe-8cec-936b1da140f8:string:1520"
+ },
+ {
+ "name": "05c13f18-f973-406d-a29d-6cd83f6b15dc:string:Social and Cultural Studies through Music",
+ "courseCode": "6fe92b7c-3e5b-42fd-99d0-78cbc506b63b:string:GEK1054",
+ "grade": "977e3368-654d-4dbf-b1ed-aa35cacd4cb4:string:D+",
+ "courseCredit": "9c7bc176-def7-47db-9393-f5e9cbe95659:number:4",
+ "gradingBasis": "6049e4d1-c14e-461e-95c1-7d23d7a9d688:string:GRD",
+ "includeInGPA": "0a398d05-3f45-49c9-bd1e-c74ac17cd950:boolean:true",
+ "reportNo": "e58df159-531b-4890-a12d-133c063289cc:number:1",
+ "semester": "48662e2e-ca92-48de-97ef-8549d5f73613:string:1610"
+ },
+ {
+ "name": "ece02f37-3596-4595-9a13-8b91545d158c:string:Introduction to Theatre and Performance",
+ "courseCode": "878977a0-4ab4-4016-a305-70f33de00cb4:string:GEM1003",
+ "grade": "7e3da4d3-5ec8-40c3-9913-791a4c319cd7:string:D",
+ "courseCredit": "74585ead-0638-432c-b8af-8cac7d87a3e3:number:4",
+ "gradingBasis": "8b4c64a5-343c-468c-bf17-03576174f327:string:GRD",
+ "includeInGPA": "e2d0a6a8-acc0-4a03-b0ba-dbd8b3bb5a1f:boolean:true",
+ "reportNo": "fdcca6b7-aab3-4f73-b7a6-7cf09f9e2df4:number:1",
+ "semester": "3f42cf3a-b563-4605-aaa5-dcb9c2b3c61e:string:1610"
+ },
+ {
+ "name": "18e36d11-1125-47ce-bfff-9a5d6a1303b9:string:Major Study 4B",
+ "courseCode": "d7d36a3e-206a-48f9-b55a-b995c4ff57a9:string:MUA4162",
+ "grade": "8bb1f557-8e8f-4d5a-b950-02fc1e8ee7c8:string:A-",
+ "courseCredit": "438a7251-39d7-4d92-94c9-2e3109796747:number:12",
+ "gradingBasis": "e538e44b-9096-4c13-8a0c-5b347eaf3f41:string:GRD",
+ "includeInGPA": "7f9b3c53-a89b-4f48-8f5c-d3237473c2c6:boolean:true",
+ "reportNo": "31705df5-aa18-48f5-9c26-68618a48c6c3:number:1",
+ "semester": "38365ae6-1a34-4fa6-9946-e8aa52cccbc4:string:1610"
+ },
+ {
+ "name": "3a61f78d-3af9-429a-a56b-98cd6306b058:string:Advanced Chamber Ensemble",
+ "courseCode": "a697a48a-5986-4a6c-90d4-f148af510fc6:string:MUA4219",
+ "grade": "b5fcff75-1590-44d4-abe3-81482f40576b:string:A",
+ "courseCredit": "3eb31761-4bbb-460d-b088-25c7b483ce14:number:2",
+ "gradingBasis": "9fba53d1-a3bb-44f9-86bc-84de4c7bf3db:string:GRD",
+ "includeInGPA": "609b9785-2a52-49cb-9d81-8928c964f53e:boolean:true",
+ "reportNo": "c947e01d-5979-4254-8f6e-b6cc641912cb:number:1",
+ "semester": "a5f51979-18d1-4ac0-8245-f0c49ecc5096:string:1610"
+ },
+ {
+ "name": "a832171f-fd20-4788-9c17-460446687302:string:Main Subject Classical Trombone 4",
+ "courseCode": "d44002a6-ab6e-4d18-9af4-a3c5446f7882:string:KC-KI-BTB4",
+ "grade": "fd208b42-0c11-4787-ada7-9564a0157e9e:string:OVS",
+ "courseCredit": "91bb63f6-8327-419d-8b69-50a2de419af7:number:5",
+ "status": "b4ac42f9-0e05-4931-8b14-27709b5bdc7e:string:P",
+ "includeInGPA": "50426647-56b4-4920-95cd-dd9c2cec378c:boolean:false",
+ "reportNo": "9e70961a-6094-4875-a46b-bae3f4cb536c:string:1",
+ "semester": "d7fa44fc-5611-4638-a862-0895deb4c4f2:string:1620",
+ "transferSeq": "5510cbfd-1542-486c-8753-22d234115c2a:number:1"
+ },
+ {
+ "name": "3f89d0a3-21f5-43f1-bfd1-244b28429877:string:Group Lesson Bass Trombone 4",
+ "courseCode": "25dae465-78b0-4cae-af95-fbc2a8fda205:string:KC-KI-GLBTB4-15",
+ "grade": "fc364c29-d3a3-4c63-aac5-1e7fe192d085:string:",
+ "courseCredit": "e4a913e5-0985-4c18-90ef-8bf275423ec3:number:0",
+ "status": "2d7ca1b1-1237-415e-a195-b51cfae40277:string:P",
+ "includeInGPA": "1256cb26-51dc-4948-89dc-9268266cddd9:boolean:false",
+ "reportNo": "02a0a790-d8e0-4855-b9a0-f280daaec2d6:string:1",
+ "semester": "67d94de1-1561-4d9d-91e1-e2e91b0c8bd7:string:1620",
+ "transferSeq": "466fa6d3-0c2e-462d-a956-8a72e120bf80:number:1"
+ },
+ {
+ "name": "4fc09280-239f-45c0-b1e4-8789c27663a0:string:Coach Pianist 4",
+ "courseCode": "b8c3aef7-ae1d-4855-9be8-b3ca5f5d8068:string:KC-AL-COR4-11",
+ "grade": "dd1f9097-9795-4474-bc31-c53028baf2b3:string:OVS",
+ "courseCredit": "aaa7ab66-9311-4677-80e8-7ff317aefc4b:number:2",
+ "status": "e02534cd-dc78-4f5d-b738-d0cb255d0edd:string:P",
+ "includeInGPA": "e218adf2-86d6-47ac-a484-f5e7b6b30510:boolean:false",
+ "reportNo": "f91fbb81-aa89-4ad1-8f3b-59786f2a7ce9:string:1",
+ "semester": "ec068607-58cb-42a1-b171-b16f0fb98fba:string:1620",
+ "transferSeq": "bda56ccf-c2b9-474c-9569-ab1427e7ef75:number:1"
+ },
+ {
+ "name": "263025fc-2a43-4403-869e-71751665b1ec:string:Preparation for Professional Practice",
+ "courseCode": "46a1e712-4116-471c-ba46-9d32a6903e17:string:KC-AL-VBP-16",
+ "grade": "48e59151-5ee0-4085-9a1a-c41bf92980d8:string:OVS",
+ "courseCredit": "ea02fbf2-a5d4-4452-9f8a-e7ddcd3b2eeb:number:3",
+ "status": "541c1a2b-b703-4c64-91d0-f8a1325f28bc:string:P",
+ "includeInGPA": "85017438-d302-40ef-b678-afc9abcfb24e:boolean:false",
+ "reportNo": "ab367522-aff2-43ee-a9f6-c601579ec555:string:1",
+ "semester": "dd7bf0c2-39ae-46b9-8c98-d8f4fea94ddc:string:1620",
+ "transferSeq": "ef875bc0-9f81-42ad-b166-3d1c1660a534:number:1"
+ },
+ {
+ "name": "24eff4c2-5be7-4a18-9993-1b10d34e7b82:string:Brass Class 2",
+ "courseCode": "aa34fc5e-dcca-49cf-95c7-8e4b592fbb46:string:KC-KI-KK2-12",
+ "grade": "25fca3eb-f937-442c-b7f4-e4d0ad4ab109:string:OVS",
+ "courseCredit": "7721b1f6-28ad-4e99-ae7b-42c1208acc43:number:2",
+ "status": "6515b7a0-1ee6-4215-850a-fa0f88d6fae1:string:P",
+ "includeInGPA": "07f33774-f5e7-4dfb-add0-365de09f70a3:boolean:false",
+ "reportNo": "7bb12914-e25c-475f-aff4-97657b4a56db:string:1",
+ "semester": "f252fd93-3d85-496c-af66-137ee76171ea:string:1620",
+ "transferSeq": "05d460f6-48dd-4f27-966a-940d6685ea4b:number:1"
+ },
+ {
+ "name": "23e2c6ae-979d-4226-b505-b0b5464b8620:string:CDO1: Slide Factory Trombone Festival",
+ "courseCode": "983e229a-7d49-4a7e-adc1-d73dc241961b:string:CDO1",
+ "grade": "e6916c5c-4cf8-4b54-abfa-fda0997101e0:string:OVS",
+ "courseCredit": "7ca5594c-1fad-448c-9177-7ae087e9ea62:number:2",
+ "status": "0b0c092f-017e-479e-823f-24c6e6529565:string:P",
+ "includeInGPA": "6903b24a-2f09-44a3-8288-eeecb42a7577:boolean:false",
+ "reportNo": "435e934e-054f-4030-95ee-3ffa36015cf1:string:1",
+ "semester": "86cb7c48-311f-4001-80c3-77f2b36f6fb9:string:1620",
+ "transferSeq": "37af9770-7de5-4fa1-af8b-e374977523d7:number:1"
+ },
+ {
+ "name": "07c4d502-8592-42f1-98d4-9fc04174890a:string:Training Orkestpartijen 2",
+ "courseCode": "3070d536-30bc-4042-83a6-1d8d12475dbf:string:KC-KI-TROS4",
+ "grade": "be7f9d7d-cc89-4e01-bb4f-fa6cd08703d8:string:OVS",
+ "courseCredit": "df11c1bd-db54-4a1e-b9c5-e0f697069ed7:number:2",
+ "status": "c254eae7-8fb5-4923-bd3d-2c1ba8716cfe:string:P",
+ "includeInGPA": "ee9ce079-5fcc-4c54-8609-46bbc4e7d4f2:boolean:false",
+ "reportNo": "c3c42c5d-ed60-4181-bc83-6b9820c63f7a:string:1",
+ "semester": "00457192-a5b7-4d5f-910a-1918f47e5aa5:string:1620",
+ "transferSeq": "87d53833-0f62-4f30-aed8-dd83903ba0e8:number:1"
+ }
+ ],
+ "additionalData": {
+ "degreeScroll": [
+ {
+ "degreeTitle": "05ddad02-e964-4d7f-b39a-2d70f1a629b7:string:Bachelor of Music",
+ "dateConferred": "e13dbd42-70cd-4281-91f5-86f0db3b2a1c:string:2018-01-31",
+ "honours": "996e2987-d71a-4349-8676-53f9d8e0b3c9:string:Honours",
+ "major": "52e6a2fc-36af-4f75-86f2-b738a19583df:string:TROMBONE PERFORMANCE (HONS)",
+ "degreeCode": "3bc3ecae-a990-4ce8-b471-f1e5a9ea449a:string:B091000",
+ "type": "2bd2aa4d-42b5-4b9c-b427-f1d65b6e5e33:string:K8 MUSIC"
+ }
+ ],
+ "images": {
+ "PRESIDENT": {
+ "data": "caa7f648-43c4-4e77-9e5e-8ef878183123:string:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAABaCAIAAAAJsExNAAAEy0lEQVR42u2aPVbrOhRGnY4RQE9BB9TMgA6YBTOAir8KZsAsgI4ZUAMdBT3p6NLx/J7e0jpIsqw4tuP73b2LLIhtRTralo5kz25vbxeLRQUgwezq6ur8/Hzd1QDogXp0/lfoy8vLddcEoAeur68RGnRAaJACoUEKhAYpEBqkQGiQAqFBCoQGKRAapEBokAKhQQqEBikQGqRAaJACoUEKhAYpEBqkQGiQAqFBCoQGKRAapEBokAKhQQqEHpvHx8fX11f398XFxWw2W3eNpOgi9NfX1/39ffz9/v7+9vb27u7uX9tJPz8/7+/vn5+fXtk4Jgg9KH0K7Tk5Odnb21t308bm7e3t4eGh6aiPydSEttUWmKgHEbr6b2Q6Pj5ed+vGI29zNeGbHKF/CX16erq1tRV/X024C3unzjRubm78v2dnZxsbG+7vxWLx/PxcD8mTjQZCNwpdRV3rp1Q/z9qR25bjJQjOTJ7jLami26bz5bbmwfRSn393d5dsb2tAfAkfHx9xymHD7vJvO8zX1fBnlsQn+Gn3o5mEPugsiwtLea8Fd0XyNrZhd2UeHh76O78vehY6aJs/2k3o+tO3359Wd1IwuduorXJ5U3ZrW5TMeq3x1e8ROiYpdMatpeKTDEWM65eBhK6vtX/HsbX0npr2L7TtXV/dDkIvRTwVdLi8aSSuY5SPfpMZdXfu7OwEcieFbq12eXwKy6ybXH8OIXS+nKOjo0yoV6d/oZNzdzeh3ZeBLvGo3+Plsbs29JmhN78otFGKhW4a4LvFx97bwY6hrWRTtmCr3U3oOPPxrbPzW7Lw1Zmu0PbMZDIwxOVxdlG+Zspv/iQnX1dgkw3lDUya6vpiPp/X5dhMOtPkXoQOCmk6NNBidLopR1OHdRC6/HJ7N7qm+TG7cGaMl2Ie99N5oe0YVt7ApdKAzGlDCF2SBPa4H9+/0Mmjf4rQQQn1Mjw5XRaSzCXGEdp+U08OLvFIpk8IvdK2nW3wNIUOZpiSPK8uqv5Mjt/xT+eFtjVZReikYZ2Fbu21DinHQIz0YCW5lHl6emrdZ23SYqn+XkroyiwNPfmdOF9UHY3NzU0/2AQjtAtybImtid8HqBpELxQ6ueRtXRQGzSzvtYy1wQDhW1eZrfcJ5dBNBENa65PhSQkd13aV5aAjubvii41voaXikx+h8wUmK+8Go/JC8sNw+Vbj6oz0clJyp7bkSZg7OrLQQW1bn1q3BiS/bVdSwrJClz+pSZ7pmlzea615Rd7piQqdf33UzlZu6pnP5xPMoeMOKFmyuA2yl5cX2211HQ4ODmwSUjUIXf1+MuzWo9/f376GHV4iCNID95QnuacenFmZO7Cw10oS5eDRd1N8VoQX/BNk3usYsw5WMjqoEIROkHnuNRD5lGOcOmiA0AnsEm2cyGSE/tveLF8RhA4JHkmM8xJznF9Wg71gqQ1CgxQIDVIgNEiB0CAFQoMUCA1SIDRIgdAgBUKDFAgNUiA0SIHQIAVCgxQIDVIgNEiB0CAFQoMUCA1SIDRIgdAgBUKDFAgNUiA0SIHQIAVCgxQIDVIgNEiB0CAFQoMUCA1SIDRIgdAgBUKDFAgNUiA0SIHQIAVCgxQIDVIgNEiB0CAFQoMUCA1S/C/0uqsB0Bv/AEwL5dNeBrk9AAAAAElFTkSuQmCC",
+ "width": "815b04fd-fd3e-4a22-87b8-ff3ba1abb470:number:240",
+ "height": "3cef46e8-a481-451f-b3da-55ee0fba5a2e:number:90",
+ "unit": "6473a132-4ad7-406b-a845-66c10a549303:string:px"
+ },
+ "TRUSTEES": {
+ "data": "95a6a4b1-dd41-47fe-b03a-c94d00d71acd:string:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAABaCAIAAAAJsExNAAAEy0lEQVR42u2aPVbrOhRGnY4RQE9BB9TMgA6YBTOAir8KZsAsgI4ZUAMdBT3p6NLx/J7e0jpIsqw4tuP73b2LLIhtRTralo5kz25vbxeLRQUgwezq6ur8/Hzd1QDogXp0/lfoy8vLddcEoAeur68RGnRAaJACoUEKhAYpEBqkQGiQAqFBCoQGKRAapEBokAKhQQqEBikQGqRAaJACoUEKhAYpEBqkQGiQAqFBCoQGKRAapEBokAKhQQqEHpvHx8fX11f398XFxWw2W3eNpOgi9NfX1/39ffz9/v7+9vb27u7uX9tJPz8/7+/vn5+fXtk4Jgg9KH0K7Tk5Odnb21t308bm7e3t4eGh6aiPydSEttUWmKgHEbr6b2Q6Pj5ed+vGI29zNeGbHKF/CX16erq1tRV/X024C3unzjRubm78v2dnZxsbG+7vxWLx/PxcD8mTjQZCNwpdRV3rp1Q/z9qR25bjJQjOTJ7jLami26bz5bbmwfRSn393d5dsb2tAfAkfHx9xymHD7vJvO8zX1fBnlsQn+Gn3o5mEPugsiwtLea8Fd0XyNrZhd2UeHh76O78vehY6aJs/2k3o+tO3359Wd1IwuduorXJ5U3ZrW5TMeq3x1e8ROiYpdMatpeKTDEWM65eBhK6vtX/HsbX0npr2L7TtXV/dDkIvRTwVdLi8aSSuY5SPfpMZdXfu7OwEcieFbq12eXwKy6ybXH8OIXS+nKOjo0yoV6d/oZNzdzeh3ZeBLvGo3+Plsbs29JmhN78otFGKhW4a4LvFx97bwY6hrWRTtmCr3U3oOPPxrbPzW7Lw1Zmu0PbMZDIwxOVxdlG+Zspv/iQnX1dgkw3lDUya6vpiPp/X5dhMOtPkXoQOCmk6NNBidLopR1OHdRC6/HJ7N7qm+TG7cGaMl2Ie99N5oe0YVt7ApdKAzGlDCF2SBPa4H9+/0Mmjf4rQQQn1Mjw5XRaSzCXGEdp+U08OLvFIpk8IvdK2nW3wNIUOZpiSPK8uqv5Mjt/xT+eFtjVZReikYZ2Fbu21DinHQIz0YCW5lHl6emrdZ23SYqn+XkroyiwNPfmdOF9UHY3NzU0/2AQjtAtybImtid8HqBpELxQ6ueRtXRQGzSzvtYy1wQDhW1eZrfcJ5dBNBENa65PhSQkd13aV5aAjubvii41voaXikx+h8wUmK+8Go/JC8sNw+Vbj6oz0clJyp7bkSZg7OrLQQW1bn1q3BiS/bVdSwrJClz+pSZ7pmlzea615Rd7piQqdf33UzlZu6pnP5xPMoeMOKFmyuA2yl5cX2211HQ4ODmwSUjUIXf1+MuzWo9/f376GHV4iCNID95QnuacenFmZO7Cw10oS5eDRd1N8VoQX/BNk3usYsw5WMjqoEIROkHnuNRD5lGOcOmiA0AnsEm2cyGSE/tveLF8RhA4JHkmM8xJznF9Wg71gqQ1CgxQIDVIgNEiB0CAFQoMUCA1SIDRIgdAgBUKDFAgNUiA0SIHQIAVCgxQIDVIgNEiB0CAFQoMUCA1SIDRIgdAgBUKDFAgNUiA0SIHQIAVCgxQIDVIgNEiB0CAFQoMUCA1SIDRIgdAgBUKDFAgNUiA0SIHQIAVCgxQIDVIgNEiB0CAFQoMUCA1S/C/0uqsB0Bv/AEwL5dNeBrk9AAAAAElFTkSuQmCC",
+ "width": "05e2625d-0960-4b98-93a7-9648cf59c63f:number:240",
+ "height": "c5c9a2d3-975e-4a21-ba63-9a84c545cb85:number:90",
+ "unit": "c6f91e08-3e9e-4e33-bc95-8263dab9d47d:string:px"
+ }
+ },
+ "transcriptType": "8f2f039a-ae76-4cc0-98a5-3fd9d9432555:string:UGOF",
+ "transcriptReq": "49bbde5b-93d8-4a6c-99bd-d845ddad049d:string:001009864",
+ "transcriptGroup": [
+ {
+ "name": "09d2359d-e3f9-49b1-90e5-a6a44ba3de73:string:1320",
+ "term": "9a4d9524-9cfa-4086-9ada-d25f72146956:string:2013/2014 Semester 2",
+ "formOfStudy": "4e03fa62-d076-41b4-9983-058bd306b5af:string:ENRL",
+ "fosPrintArea": "1b418027-c5c1-4295-b587-a5f64876d428:string:ND",
+ "creditTransfer": [
+ {
+ "sourceType": "236d46c0-10f1-40a7-a079-bc701a569636:string:I",
+ "creditsNoGPA": "a7e7edbc-5995-4935-acd2-9d0f9e68362d:number:0",
+ "creditsGPA": "d56c6819-78a6-4e04-a940-f05ca08dbfae:number:15",
+ "orgId": "a06a713c-8598-482d-b760-1c8a16ba8bbe:string:National University of Singapore",
+ "sourceCareer, ": "293ff88b-3350-43e5-bda0-a6e317109a59:string:Non-Graduating",
+ "reportNo": "f06e05ad-663f-43cb-91b4-714f4f18ba80:number:1",
+ "transferSeq": "406c31e9-311f-43e9-810f-8c7e0e717751:number:1"
+ }
+ ],
+ "summary": [
+ {
+ "programName": "6abc598d-830d-47cc-92f1-631c5119be65:string:Bachelor of Music",
+ "includeInGPA": "502c828b-fbde-4887-a1f0-5787ce9b1756:boolean:true",
+ "GPAName": "6d884420-d2a8-450e-b4a9-6c1c42d45496:string:Cumulative Average Point",
+ "GPA": "c0b8e36a-c3c8-424e-bd3d-9757f8525b7d:number:3.15",
+ "reportNo": "885e3cb5-9656-44d5-bac0-065644993492:number:1"
+ }
+ ],
+ "reportNo": "c574125b-c9c4-4c1f-b66e-a01ceeba7650:number:1"
+ },
+ {
+ "name": "22b1c8ab-78a3-48dc-a155-f3818ae04860:string:1410",
+ "term": "74aaa2ba-0015-4da8-991f-cc2841f91474:string:2014/2015 Semester 1",
+ "formOfStudy": "58cd7f44-deae-45b3-88f7-33e522fbbecb:string:ENRL",
+ "fosPrintArea": "61e439ac-cd80-410f-a09e-19c7fb7aba53:string:ND",
+ "summary": [
+ {
+ "programName": "e84e9f19-616f-48f6-89d0-83d90f894084:string:Bachelor of Music",
+ "includeInGPA": "f78e1493-45cb-41d5-951b-23ca03d82f1e:boolean:true",
+ "GPAName": "3226cc2e-5c7d-481a-9025-208508b8d91f:string:Cumulative Average Point",
+ "GPA": "7eaa6698-9f3f-4a8d-b591-23e5e9dfe2dc:number:3.05",
+ "reportNo": "8295a854-c5b3-4a94-96a5-a1c31031a205:number:1"
+ }
+ ],
+ "reportNo": "b96473a7-00a5-4ca1-9f9b-b254ed3ca04d:number:1"
+ },
+ {
+ "name": "37454fae-ba72-43d2-8822-7bdb97edbb07:string:1420",
+ "term": "cb651749-a7c8-4430-878f-b83efd4babe7:string:2014/2015 Semester 2",
+ "formOfStudy": "f99bc9cf-cd93-4259-ba0b-0830c5d9d321:string:ENRL",
+ "fosPrintArea": "69b46025-d3b4-4851-96d3-b16eb1de8786:string:ND",
+ "summary": [
+ {
+ "programName": "b04da0d1-e4ca-4db2-9a82-63c9efe37f18:string:Bachelor of Music",
+ "includeInGPA": "272a4acf-5c37-47bb-9784-0d6c1ccfc8e5:boolean:true",
+ "GPAName": "52d883f3-0ca9-4c39-9515-143817de51c1:string:Cumulative Average Point",
+ "GPA": "31097c26-7def-41dd-b6db-63df11b0bfa9:number:3.03",
+ "reportNo": "e87b6c19-2763-4ab7-a62c-71ea9515200c:number:1"
+ }
+ ],
+ "reportNo": "161fc867-6f80-4908-a2cf-132942f10bb6:number:1"
+ },
+ {
+ "name": "384c2c5c-6799-4220-ac7f-62599e71e31b:string:1510",
+ "term": "c2b922dd-45da-49f0-a0f4-1b05f9c38199:string:2015/2016 Semester 1",
+ "formOfStudy": "13d7ebdc-08e0-4e06-a3b1-2ade6da44657:string:ENRL",
+ "fosPrintArea": "313866f6-7779-4b74-8c46-d0bb6582cbce:string:ND",
+ "summary": [
+ {
+ "programName": "e667c8d0-6cbd-483a-baa6-466d1d59bc4e:string:Bachelor of Music",
+ "includeInGPA": "de0d3d7c-295f-49a2-8561-ee17e650a3b8:boolean:true",
+ "GPAName": "2e04b4a1-45c1-490b-a84a-1e6e13112023:string:Cumulative Average Point",
+ "GPA": "6e42b074-98e9-4cf3-ac08-e2ed1a656c0d:number:3.16",
+ "reportNo": "03d19a6b-0b8b-43d6-beb1-b08686b2f59f:number:1"
+ }
+ ],
+ "reportNo": "d5c9e88a-3331-45ef-8e06-402e4f84dbb0:number:1"
+ },
+ {
+ "name": "68edde38-3d64-446d-85e1-52f5c138aad9:string:1520",
+ "term": "dec1867b-39fc-4d2a-ba74-c88fec3c4e51:string:2015/2016 Semester 2",
+ "formOfStudy": "2928fc39-07a8-4ded-a0fb-402283cf6196:string:ENRL",
+ "fosPrintArea": "38756622-0709-44df-a4ea-a14f1ed62959:string:ND",
+ "summary": [
+ {
+ "programName": "bec4b910-1eb8-40ac-a57b-e8252777f24d:string:Bachelor of Music",
+ "includeInGPA": "0cd06006-4812-46d4-ba3f-eb38834ea2b6:boolean:true",
+ "GPAName": "5acc9952-f62f-48be-bb54-ce270f145730:string:Cumulative Average Point",
+ "GPA": "6d19f8a9-7566-43ae-9a04-f11422c7d15a:number:3.25",
+ "reportNo": "0586cec1-4e4b-4ad7-af04-eaceb1b61df0:number:1"
+ }
+ ],
+ "reportNo": "885cb3c1-26ad-4d72-b4c2-df3948c7fd76:number:1"
+ },
+ {
+ "name": "6b7637ef-a460-41a8-b654-ba8c2d1e3130:string:1610",
+ "term": "8a19e838-e893-4a9b-88ef-359e8b368f6c:string:2016/2017 Semester 1",
+ "formOfStudy": "d4452e69-7206-4b4f-a3af-fbac7b7f0044:string:ENRL",
+ "fosPrintArea": "240740ce-405b-4437-97a5-ac5d78823fda:string:ND",
+ "summary": [
+ {
+ "programName": "89ba6987-3bc5-4d1a-85b8-699f6d6e2a66:string:Bachelor of Music",
+ "includeInGPA": "88f439d4-1dd5-48e2-b3b9-0e8b712aff5a:boolean:true",
+ "GPAName": "fa73a8b4-e25f-4540-81b8-eacb511da577:string:Cumulative Average Point",
+ "GPA": "c171e37d-b77d-4133-9317-d06c5bd036aa:number:3.27",
+ "reportNo": "f37c4aa8-98f2-4c32-8cfd-5e4a48843578:number:1"
+ }
+ ],
+ "reportNo": "ed925327-e604-42ca-94ca-ecf38b484c51:number:1"
+ },
+ {
+ "name": "630e243b-4ea4-46e2-b79d-5a0196a83680:string:1620",
+ "term": "74c8561a-6767-4363-9afb-e5b05ae7d6b1:string:2016/2017 Semester 2",
+ "formOfStudy": "7913c32d-0b5f-4a8c-81d9-3f514756931b:string:SEP",
+ "fosDescription": "155df9b7-c35d-4723-acf6-9f50d6e39eba:string:Participated in a Student Exchange Programme at",
+ "organization": "3977de0e-c348-4bf3-bba2-a03873a76924:string:Royal Conservatory of The Hague",
+ "fosPrintArea": "45495bdf-c8f9-44d5-a10f-0939c3ee66c2:string:EH",
+ "creditTransfer": [
+ {
+ "sourceType": "6a9a0662-29a8-4897-8156-93ffe51e9dd7:string:E",
+ "creditsNoGPA": "2369c1b9-e3a2-4c1a-b7fd-78053d363075:number:16",
+ "creditsGPA": "e604f540-e05b-4caf-adbe-c63b31e9497d:number:0",
+ "orgId": "8f2e90af-f797-435d-8365-897523c63985:string:Royal Conservatory of The Hague",
+ "orgName": "4cf54a36-0170-4959-a245-94d6db7a0534:string:Royal Conservatory of The Hague",
+ "reportNo": "b1a4de65-ac19-484c-a1b0-07875da53624:number:1",
+ "transferSeq": "a47f2d99-7cbb-46f4-ac79-eaca2f53c043:number:1"
+ }
+ ],
+ "summary": [
+ {
+ "programName": "7508acb9-1e32-4ebe-ac41-ff98414ac224:string:Bachelor of Music",
+ "includeInGPA": "1b4bc4bd-de29-4089-956b-527f535eee0c:boolean:true",
+ "GPAName": "31d2065a-13c4-4a66-b95f-3f44acb8c5dc:string:Cumulative Average Point",
+ "GPA": "36102ff8-cd01-4010-a393-c2d1b5398744:number:3.27",
+ "reportNo": "2f97bcb7-f3f7-4e49-be9a-e4145bb05ae4:number:1"
+ }
+ ],
+ "reportNo": "88986c91-2094-4df5-bc05-c6850da62e30:number:1"
+ }
+ ],
+ "programData": [
+ {
+ "programCode": "3045f43b-ce58-4746-ac5a-877d5d7945c9:string:B0910",
+ "programName": "88560c91-ca7d-4c80-8886-e4c68f762ad9:string:Bachelor of Music",
+ "statusCode": "3c4c1952-58e9-438d-a29d-0bace4400db3:string:CM",
+ "statusDescription": "b5f0c986-1609-4e22-aba1-f886b76cb2d9:string:Completed Programme",
+ "effectiveDate": "39888be5-cf69-43cd-9c06-5b002c42d28a:string:2018-01-31",
+ "admitTerm": "3fc2f13f-115b-4255-ab7d-37626d50cea0:string:1320",
+ "reportNo": "92b61219-ba35-4eda-aa9a-d205d7d8efaf:string:1"
+ }
+ ],
+ "degreeData": [
+ {
+ "degreeTitle": "f6f66922-ebea-4de2-a490-20d0298e4386:string:Bachelor of Music",
+ "dateConferred": "d074038c-6fb2-45b0-8181-e938a57d4882:string:2018-01-31",
+ "honours": "bc646dd9-f1d0-479c-b325-e90ed8df230c:string:Honours",
+ "plans": [
+ {
+ "specialProgram": "8577f08a-44db-430d-99e2-80b59ad8f9ed:boolean:false",
+ "type": "d04750e1-af42-498d-96d2-f3fe25873cc4:string:HON",
+ "typeName": "13f071db-7714-4138-b1bc-f70fd42dff7a:string:Honors",
+ "transcriptDescr": "97edc176-388c-438c-9789-5a244a91cda0:string:Trombone Performance"
+ }
+ ],
+ "reportNo": "69d9c035-3152-4a5f-a947-b051378a4336:number:1"
+ }
+ ]
+ }
+ },
+ "privacy": {},
+ "signature": {
+ "type": "SHA3MerkleProof",
+ "targetHash": "75d3ca2aeecc5bacfc7be299f1d6834a8f695615ab4ab298fe2d121a961182ba",
+ "proof": [
+ "bd49b8105d9eca061eff75bf64ab85001c40f595aecbea93431e00f7998f0dbb",
+ "46bd75115072dbd65dcfa4fa3b3baf736b2116501146173860db778ff6421516",
+ "f2da360adc3432a39eae6b0eae6f681c28b4f418ad6f2425eb5244dd1ef0b419",
+ "75103ba56b5b374b23af500a7f99e717228702641de665ef3b85ca0a0b58f6a6",
+ "3af5b6f98dff18d5895619cf018db316c2736ad31928357b71c174a73963dca7"
+ ],
+ "merkleRoot": "3862426f819b735c661f7981bfaed07eff1984a447b0406d831c1b15ec75e7c9"
+ }
+}
\ No newline at end of file
diff --git a/src/components/CertificateTemplates/tlds/sg/edu/nus/NUSTS-GENERAL-2019/transcript.js b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUSTS-GENERAL-2019/transcript.js
index 776612b0..178300f5 100644
--- a/src/components/CertificateTemplates/tlds/sg/edu/nus/NUSTS-GENERAL-2019/transcript.js
+++ b/src/components/CertificateTemplates/tlds/sg/edu/nus/NUSTS-GENERAL-2019/transcript.js
@@ -23,9 +23,10 @@ import scss from "../common/transcriptFramework.scss";
// construct class names
const cls = names => sassClassNames(names, scss);
-
// cutoff date for revamped transcript format
const revCutOffDate2021 = "2021-08-10";
+// cutoff date for displaying dismissal remarks
+const dismissalRemarksCutOffDate = "2019-06-13";
// flags to calssify transcript type
let isUG;
@@ -38,6 +39,7 @@ let isNG;
let isOfficial;
let isConferred;
let isRev2021;
+let toDisplayDismissalRemarks;
// Yale-NUS specific attributes and function
let lastTermYaleNUS;
@@ -1380,6 +1382,16 @@ class TranscriptData {
);
});
+ if (toDisplayDismissalRemarks) {
+ this.dataFeeder.push(
+ "ts-degrem",
+
+ {
+ "(STUDENT RECORDS ARE AVAILABLE UPON REQUEST AND WITH STUDENT'S CONSENT)"
+ }
+ |
+ );
+ }
}
}
@@ -1711,6 +1723,7 @@ const Template = ({ certificate }) => {
isOfficial &&
isConferred &&
jsonData.issuedOn >= revCutOffDate2021;
+ toDisplayDismissalRemarks = jsonData.issuedOn >= dismissalRemarksCutOffDate;
[isYaleNUS, progNameYaleNUS] = (transcriptData => {
const programData = transcriptData.additionalData.programData;
if (programData)
diff --git a/src/components/CertificateTemplates/tlds/sg/edu/nus/index.js b/src/components/CertificateTemplates/tlds/sg/edu/nus/index.js
index 1f48598d..d3627c21 100644
--- a/src/components/CertificateTemplates/tlds/sg/edu/nus/index.js
+++ b/src/components/CertificateTemplates/tlds/sg/edu/nus/index.js
@@ -34,6 +34,9 @@ const NUSICLJDP2019 = dynamic(() =>
const NUSMUSIC2019 = dynamic(() =>
import("./NUS-MUSIC-2019" /* webpackChunkName: "NUSTemplates" */)
);
+const NUSMUSIC2022 = dynamic(() =>
+ import("./NUS-MUSIC-2022" /* webpackChunkName: "NUSTemplates" */)
+);
const NUSJHUJDPMUSIC2019 = dynamic(() =>
import("./NUS-JHUJDP-MUSIC-2019" /* webpackChunkName: "NUSTemplates" */)
);
@@ -84,6 +87,7 @@ const templates = {
"NUS-DUKEPHD-2019": NUSDUKEPHD2019,
"NUS-DUKEPHD-2020": NUSDUKEPHD2020,
"NUS-MUSIC-2019": NUSMUSIC2019,
+ "NUS-MUSIC-2022": NUSMUSIC2022,
"NUS-ICLJDP-2019": NUSICLJDP2019,
"NUS-JHUJDP-MUSIC-2019": NUSJHUJDPMUSIC2019,
"NUS-ANUJDP-BA-2019": NUSANUJDPBA2019,