Results API
Titel | Results API |
Status | DRAFT WERKGROEP KLANKBORDgroep ARCHITECTenraad REDACTIE BEsluitvorming CONCEPT |
Stadium | POC PILOT BEHEER |
Versie | 0.0.5 |
Datum | 19 Juli 2023 |
Auteur | Uitwisselen summatieve toetsresultaten |
Acties |
|
De Results API wordt gebruikt om Toetsresultaten en Toetsscores uit te wisselen vanuit het Digitaal toetssysteem van de Leermiddelenaanbieder naar het Administratiesysteem onderwijsdeelnemers van de Administratiesysteemaanbieder.
De technische specificatie bestaat uit:
Samenvatting
Scopes |
|
Entiteiten |
|
Producer |
|
Consumer |
|
Endpoints | Cijferadministratie
Digitaal toetssysteem
|
Berichtdefinitie: Result
Het Result bericht wordt gebruikt voor het uitwisselen van een toetsresultaat. Dit toetsresultaat is bepaald door de component Digitaal toetssysteem en betreft het eindresultaat (na omzetting van de score).
Veld | Type | Format | Omschrijving | Voorbeeld | O/V | Vullingsregel |
id | string | uuid | Unieke identifier voor dit toetsresultaat | result123abc | V | Indien de status of het result wijzigt wordt hetzelfde id gehanteerd. |
schemaVersion | string | string | Het versienummer van de berichtdefinitie die wordt gehanteerd. | 1.3.0 | V | Conform Semantic Versioning 2.0.0 |
eckId | string | ECK iD | Het ECK iD van de onderwijsdeelnemer | - | V* | eckId is verplicht. Indien onbekend dan kan userIds gehanteerd worden |
userId | array | [userId, userIdType] | Alternatief userId indien eckId onbekend is | [12345, nlPersonProfileId] | O* | Verplicht zodra eckId onbekend is. userIdType is conform de secundaire identifiers voor een Onderwijsdeelnemer. Zie pagina identiteiten. |
assessmentId | string | uuid | Unieke identifier voor de Toets | toets123abc | V | De assessmentId hoeft niet bekend te zijn bij de Cijferadministratie |
assessment-Name | string | string | Naam van de Toets die wordt getoond in de Administratie om de Toetsresultaten aan een cijferkolom toe te wijzen | Schoolexamen | V | De naam van de Toets is herkenbaar voor de medewerkers |
status | string | ENUM | De status van het Toetsresultaat | in progress | V | Dit veld is additioneel toegevoegd en kan gebruikt worden om toetsresultaten in verschillende stadia door te sturen. Defaultwaarde is final |
assessment- | string | datetime | Tijdstempel waarop de toetsafname gepland was | 2017-07-21T17:32:28Z | V |
|
resultValue | string | string | Het resultaat (resultaatwaarde) van de deelnemer (leerling of student) aan de Toets. | 0.0…10.0 | V | Zie resultType |
resultType | string | ENUM | Het resultaattype dat van toepassing is op deze Toets | 0.0-10.0 | V | 1.0-10.0 voor cijfers met één decimaal. OVG voor Onvoldoende, Voldoende of Goed |
missing | boolean | {True,False} | Geeft aan of het toetsresultaat ontbreekt | True, False | O | Verplicht als resultValue leeg is |
additionalInfo | string | string | Additionele informatie over dit toetsresultaat | HAVO-normering | O | Dit veld kan bijvoorbeeld gebruikt worden om onderscheid te maken in toetsresultaten van dezelfde onderwijsdeelnemer met een normering op HAVO en VWO niveau. Ook kan het veld gebruikt worden om een reden op te geven waarom er een resultaat ontbreekt. Bijvoorbeeld fraude of niet aanwezig. |
reviewUrl | string | url | Een URL naar de details over het toetsresultaat van deze deelnemer in het Digitaal toetssysteem | - | O | In andere (internationale) standaarden wordt dit veld ook wel deeplink of submission review url genoemd. Een onderwijsmedewerker kan door het klikken op deze reviewUrl bij aanvullende informatie komen over het toetsresultaat. |
employees | array | [eckId, [userId, userIdType]] | Array van Onderwijsmedewerkers die het Toetsresultaat van de Leerling mogen administreren in de Cijferadministratie. | - | V | Minimaal 1 Onderwijsmedewerker is toegevoegd. De Onderwijsmedewerker is gespecificeerd met een eckId of een alternatief userId. Het userId is wederom een array van het userId en het userIdType. userIdType is conform de secundaire identifiers voor een Onderwijsmedewerker. Zie pagina identiteiten. |
Gebundelde overdracht van toetsresultaten
Let op, in geval van gebundelde overdracht van toetsresultaten worden de gegevens additionalInfo, assessmentId, assessmentName, assessmentDateTime, employees, reviewUrl, schemaversion en resultType als algemene gegevens aan de lijst gekoppeld en worden de gegevens id, eckid/userIds, additionalInfo, missing, resultValue, status en reviewUrl aan een lijstitem gekoppeld.
Berichtdefinitie: Score
Het Score bericht wordt gebruikt voor het uitwisselen van een toetsscore. De toetsscore kan in combinatie met de scoreschaal gebruikt worden door de component Cijferadministratie om het eindresultaat te bepalen. De omzetting vindt plaats door component Cijferadministratie. De hiervoor benodigde informatie wordt beschikbaar gesteld in het bericht door de component Digitaal toetssysteem.
Veld | Type | Format | Omschrijving | Voorbeeld | O/V | Vullingsregel |
id | string | uuid | Unieke identifier voor deze toetsscore | score123abc | V | Indien de status of de score wijzigt wordt hetzelfde id gehanteerd. |
schemaVersion | string | string | Het versienummer van de berichtdefinitie die wordt gehanteerd. | 1.3.0 | V | Conform Semantic Versioning 2.0.0 |
eckId | string | ECK iD | Het ECK iD van de onderwijsdeelnemer | - | V* | eckId is verplicht. Indien onbekend dan kan userIds gehanteerd worden |
userId | array | [userId, userIdType] | Alternatief userId indien eckId onbekend is | [12345, nlPersonProfileId] | O* | Verplicht zodra eckId onbekend is. userIdType is conform de secundaire identifiers voor een Onderwijsdeelnemer. Zie pagina identiteiten. |
assessmentId | string | uuid | Unieke identifier voor de Toets | toets123abc | V | De assessmentId hoeft niet bekend te zijn bij de Cijferadministratie |
assessment-Name | string | string | Naam van de Toets die wordt getoond in de Administratie om de scores aan een cijferkolom toe te kunnen wijzen | Schoolexamen | V | De naam van de Toets is herkenbaar voor de medewerkers |
status | string | ENUM | De status van de toetsscore | in progress | V | Dit veld is additioneel toegevoegd en kan gebruikt worden om toetsscores in verschillende stadia door te sturen. Defaultwaarde is final |
assessment- | string | datetime | Tijdstempel waarop de toetsafname gepland was | 2017-07-21T17:32:28Z | V |
|
scoreValue | string | string | De score (scorewaarde) van de deelnemer (leerling of student) aan de Toets. | 7.6 | V | De waarde van de score moet voldoen aan de omzetting in scoreschaal. |
scoreScale | array | [LHS, RHS] | De scoreschaal die van toepassing is op de score voor deze Toets | [{ 0.0-5.4, Onvoldoende},{5.5-10.0, Voldoende}] | V | Geeft voor een interval aan waarden (LHS) aan welke resultaatwaarde (RHS) daarvoor geldt. |
missing | boolean | {True,False} | Geeft aan of de toetsscore ontbreekt | True, False | O | Verplicht als scoreValue leeg is |
additionalInfo | string | string | Additionele informatie over deze toetsscore | Betrapt op spieken of Niet aanwezig | O | Dit veld kan bijvoorbeeld gebruikt worden om een reden op te geven waarom er de score ontbreekt. |
reviewUrl | string | url | Een URL naar de details over de toetsscore van deze deelnemer in het Digitaal toetssysteem | - | O | In andere (internationale) standaarden wordt dit veld ook wel deeplink of submission review url genoemd. Een onderwijsmedewerker kan door het klikken op deze reviewUrl bij aanvullende informatie komen over de score. |
employees | array | [eckId, [userId, userIdType]] | Array van Onderwijsmedewerkers die de score van de toetsdeelnemer mogen administreren in de Cijferadministratie. | - | V | Minimaal 1 Onderwijsmedewerker is toegevoegd. De Onderwijsmedewerker is gespecificeerd met een eckId of een alternatief userId in userIds. Het userIds is wederom een array van het userId en het userIdType. userIdType is conform de secundaire identifiers voor een Onderwijsmedewerker. Zie pagina identiteiten. |
Gebundelde overdracht van toetsscores
Let op, in geval van gebundelde overdracht van toetsscores worden de gegevens additionalInfo, assessmentId, assessmentName, assessmentDateTime, employees, reviewUrl, schemaversion en scoreScale als algemene gegevens aan de lijst gekoppeld en worden de gegevens id, eckid/userIds, additionalInfo, missing, scoreValue, status en reviewUrl aan een lijstitem gekoppeld.
Status- en foutcodes
Status code | Status | statusMessage | Toelichting |
200 | 0 | OK | Verzoek succesvol verwerkt |
400 | 1 | schema validation unsuccessful | Schemavalidatie niet succesvol |
400 | 2 | schemaVersion not supported | De ontvanger kan de gevraagde SchemaVersion niet aanbieden. |
401 | 3 | scope required | Client is niet geautoriseerd voor scope. |
403 | 4 | consent required | De gegevenssoort is van classificatie II of IV. Dit vereist een activering van de gegevensuitwisseling. Dit is in dit foutscenario niet het geval. |
403 | 5 | edu_org_id unknown | De Verzender communiceert in de context van een Onderwijsorganisatie die niet bekend is bij Ontvanger. |
404 | 6 | Result unknown | De identifier van het resultaat is onbekend. |
404 | 7 | Score unknown | De identifier van het resultaat is onbekend. |
400 | 99 | Vullingsregel: in statusMessage een beschrijving van de reden opnemen | Overige reden |
Technisch: API specificatie
Release notes
0.0.1: Eerste draft van de API.
0.0.2: Berichtdefinities en YAML files zijn toegevoegd t.b.v. de 80 procent specificatie.
0.0.3: De technische specificatie is verder uitgewerkt. Ook is de feedback uit de werkgroepen verwerkt in een volgende versie:
Query parameter edu_org_id is toegevoegd aan alle endpoints als implementatie van het activeren en deactiveren van gegevensuitwisselingen en de M2M identificatie en authenticatie.
Het transactiepatroon melding bevestiging is toegepast voor het uitwisselen van het Result berichten. Dit heeft geresulteerd in PUT endpoint voor de meldingen voor de relevante referentiecomponent Cijferadministratie.
BasispoortIDs zijn toegevoegd als opties voor Onderwijsdeelnemer, Onderwijsmedewerker en School.
De status- en foutcodes zijn toegevoegd aan de documentatie en aan de YAML.
In de YAML is aangegeven welke referentiecomponent de endpoints aanbiedt als Producer.
De YAML is geactualiseerd op basis van de bovenstaande wijzigingen.
0.0.4: Het bericht Score is toegevoegd. Tevens zijn er een bundel van toetsresultaten en een bundel van toetsscores toegevoegd. In de YAML zijn deze berichten geïmplementeerd in PUT (enkele score/resultaat) en POST (meerdere scores/resultaten) endpoints.
0.0.5: GET endpoints om een resultaat of een score op basis van id op te vragen bij het Digitaal toetssysteem zijn aan de YAML toegevoegd. Dit stelt een cijferadministratie in staat om bij onduidelijkheid over de status van een resultaat of een score de laatste gegevens op te vragen.