Results API 2.0.1
Titel | Results API |
Status | In ontwikkeling ROSA-Architectuurscan BEsluitvorming implementatie in beheer |
Versie | Documentatie: 2.0.1 |
schemaVersion: 2.0.0 | |
Datum | 15 September 2025 |
Auteur | Werkgroep Toetsen en examineren |
Acties |
|
De Results API wordt gebruikt om leerresultaten te delen in het Afsprakenstelsel Edu-V. Deze API wordt aangeboden als onderdeel van de gegevensdienst Leerresultaten met het Digitaal toetssysteem of Gebruiksomgeving digitale leermiddelen als Verzender.
Scope: werkingsgebieden funderend onderwijs en vavo
De afspraken met betrekking tot het administreren van leerresultaten zijn van toepassing op de werkingsgebieden:
Primair onderwijs
Gespecialiseerd onderwijs
Voortgezet onderwijs
Voortgezet algemeen volwassenenonderwijs (vavo)
De gegevensdiensten zijn niet ontwikkeld voor het middelbaar beroepsonderwijs. In het middelbaar beroepsonderwijs wordt gebruik gemaakt van Onderwijs Koppelingen Examinering.
De technische specificatie bestaat uit:
Samenvatting
Gegevensdienst |
|
Scopes |
|
Entiteiten | |
Verzender |
|
Ontvanger |
|
Endpoints | Administratiesysteem leerresultaten
Leermiddelendashboard
|
POST /results
Operatie met endpoint POST /results in het koppelvak van Administratiesysteem leerresultaten of Leermiddelendashboard wordt door het Digitaal toetssysteeem aangeroepen:
Operatie en endpoint | POST /results |
|---|---|
OperatieID | postResults |
Samenvatting | Het verzoek om bij het ontvangende systeem de toetsscores & -resultaten te verwerken voor een individuele onderwijsdeelnemer of groep van onderwijsdeelnemers. |
Beschrijving | Lijst van score & resultaat items per onderwijsdeelnemer, met het verzoek nieuwe scores/resultaten te creëren of bestaande scores/resultaten te wijzigen. Het bericht is ingericht op groepsgewijze aanlevering of aanlevering van individuele onderwijsdeelnemer. Bij de lijst is algemene informatie gevoegd zoals toets/examen, afnamemoment en opmerkingen. |
Tags | Administratiesysteem leerresultaten |
Parameters bij request | - |
Object in request body | Object AssessmentScoresAndResults, met onderliggende objecten StudentScoresAndResults, Assessment en ScoreScale. |
Antwoorden (statuscodes) | 201 (Created): “Het verzoek is geaccepteerd de verwerking heeft plaatsgevonden; dit heeft tot de creatie van een resource geleid.“ 202 (Accepted): “Het verzoek is geaccepteerd voor verwerking, maar de verwerking heeft nog niet plaatsgevonden; in feite zou de verwerkingen nog niet gestart kunnen zijn. De verwerking zal later wel of niet plaatsvinden, waarbij het verzoek bij de verwerking eventueel zou kunnen worden afgewezen.“ In deze eerste versie kunnen ontvangende systemen alleen terugkoppeling geven op bericht niveau. Ofwel, een bericht is volledig geaccepteerd (202 of 201), of een bericht is volledig geweigerd (400). Fouten die door middel van HTTP-resultaatcodes 400, 401 en 403 kunnen worden teruggeven, hebben dus alleen betrekking op het bericht. Niet op de individuele resultaten. |
Antwoorden (foutcodes) | 400 (Bad request) 401 (Unauthorized) 403 (Forbidden) |
Object AssessmentScoresAndResults
Het gegevensobject AssessmentScoresAndResults (Toetsscores en -resultaten) inclusief onderliggende objecten StudentScoresAndResults (Deelnemerscores en -resultaten) met bijbehorende gegevensgroepen omvat de gegevens over de scores en resultaten door individuele onderwijsdeelnemers behaald bij een bepaalde toetsafname, en wordt in onderstaande figuur weergegeven.
In bovenstaand figuur wordt het gegevensobject AssessmentScoresAndResults weergegeven. Dit object heeft stereotype <Entiteittype> om aan te geven dat dit een entiteit is. Dit object omvat de gegevenselementen id tot en met toolName zoals in het blok getoond met kardinaliteit over verplichting en hoeveel keren dit element mag voorkomen. Bij ontbrekende kardinaliteit is dit exact 1 (verplicht 1 keer).
Deze elementen zijn attributen of gegevensgroepen. Een attribuut is een gegevensveld met een waarde, ieder attribuut heeft een datatype. Wanneer dit datatype een lijst van waarden (enumeratie) is dan wordt deze enumeratie (stereotype <Enumeratie>) getoond. De relatie tussen een object en betreffende enumeratie is schematisch gerepresenteerd door een pijl van object naar enumeratie.
Bijvoorbeeld attribuut id is een gegevensveld van type CharacterString en attribuut status is gegevensveld van type enumeratie StatusType_enum (en in het figuur is dan ook een pijl getekend naar deze enumeratie).
Een gegevensgroep is een element met deelelementen gedefinieerd door een object. Ieder object is van type groep (stereotype <Groep>) of entiteit stereotype <Entiteittype> wanneer dit object een entiteit is. De relatie tussen een object en betreffende gegevensgroep is schematisch gerepresenteerd door een pijl van object naar deelobject.
Bijvoorbeeld het element school is een gegevensgroep van type SchoolReference (en in het figuur is dan ook een pijl getekend naar het object SchoolReference).
In het gegevensobject AssessmentScoresAndResults bevinden zich de gegevens zoals in navolgende tabel gespecificeerd.
In de kolom “O/V” in navolgende tabellen wordt aangegeven of het element (veld/object/array) optioneel (O) of verplicht (V) is; bij vermelding V* in deze kolom is de verplichting conditioneel en wordt de voorwaarde uit de vullingsregel duidelijk gemaakt.
Veld | Type | Format | Omschrijving | Voorbeeld | O/V | Vullingsregel |
id | string | uuid | Unieke identifier voor dit object . | ad80f160- cd06-48dd-af15-84263e173082 | V | Indien de status van dit object wijzigt wordt hetzelfde id gehanteerd. |
additionalInfo | string | string | Additionele informatie of opmerking over de afname | HAVO-normering Betrapt op spieken Internet viel uit | 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 de afname is afgebroken. |
assessment- | string | datetime | Tijdstempel van moment waarop de toetsafname gestart of afgesloten is. | 2017-07-21T17:32:28Z | V |
|
assessment-Definition | object | Assessment | Definitie van toets en eventuele toetsonderdelen bestaande uit identifier en naam van toets en toetsonderdelen. |
| V | Deze toetsdefinitie is gespecificeerd in het object Assessment. De toetsdefinitie hoeft niet bekend te zijn bij de ontvanger. Vanuit individuele score of resultaat kan worden verwezen naar de toets of een toetsonderdeel uit deze toetsdefinitie. |
employees | array | object EmployeeReference | Lijst van verwijzingen naar onderwijsmedewerkers die het Toetsresultaat van de onderwijsdeelnemers mogen administreren in het ontvangende systeem. | [{ “userMasterIdentifier”: “ABC456”, “userIds”: [ { “userId”: “XYZ456”, “userIdType”: “ASI” } ] }] | V* | In po is dit veld niet verplicht. Een verwijzing naar een onderwijsmedewerker is gespecificeerd in een object Waarde van |
reviewUrl | string | url | Een URL naar de details over alle scores en resultaten van dit object in het Digitaal toetssysteem. Door het volgen van deze URL kan aanvullende informatie over de resultaten worden ingezien. | https://toetssysteem.nl/review123abc | O | Het moet een complete en geldige URL zijn. In andere (internationale) standaarden wordt dit veld ook wel deeplink of submission review url genoemd. |
school | object | object SchoolReference | Verwijzing naar de onderwijsorganisatie waar de onderwijsdeelnemers de opleiding volgen waarvoor ze deelnemen aan de toetsafname. | [{ “organisationMasterIdentifier”: “ABC123”, “organisationIds”: [ { “organisationId”: “XYZ123”, “organisationIdType”: “AS_ID” } ] }] | V | Deze verplichte verwijzing naar de school/organisatie is gespecificeerd in een object Waarde van |
schoolPeriod | string | string | Een referentie naar een Schoolperiode (SchoolPeriod) waarop de scores en resultaten betrekking hebben. | 2024-2025 | V | Binnen po en vo wordt hier alleen het bekende, vaste formaat “eejj-eejj“ voor schooljaar gebruikt (e staat voor eeuw, j staat voor jaar). |
scoreScale-Definitions | array | ScoreScale | Definitie van de scoreschalen die van toepassing zijn op de scores en resultaten. |
| O | Deze scoreschaal is gespecificeerd in het object ScoreScale. Vanuit individuele score kan worden verwezen naar een of meer scoreschalen. |
studentScores-AndResults | array | StudentScoresAndResults | De scores en resultaten van een individuele onderwijsdeelnemer. |
| O | Deze lijst van objecten StudentScoresAndResults bevat per object de scores en -resultaten van een onderwijsdeelnemer. Deze lijst mag ontbreken als alle scores en resultaten van alle onderwijsdeelnemers ontbreken, bijvoorbeeld door calamiteit. |
timestamp | string | datetime | Tijdstempel waarop het bericht is samengesteld. | 2017-07-21T17:32:28Z | V |
|
toolName | string | string | De naam van het systeem (de tool) waaruit de scores en resultaten zijn verzonden. | Toetssysteem A | O |
|
Object Assessment
Het gegevensobject Assessment (Toetsdefinitie) omvat de definitiegegevens van een toets eventueel met toetsonderdelen, en wordt in onderstaand figuur weergegeven.
In het gegevensobject Assessment bevinden zich de gegevens zoals in navolgende tabel gespecificeerd.
Veld | Type | Format | Omschrijving | Voorbeeld | O/V | Vullingsregel |
id | string | string | Unieke identifier voor de toets | 6c92d082- 0d03-4194-b352-988b2e6f9ae6 TV_GRA-01 | V | Dit id hoeft niet bekend te zijn bij de ontvanger. Dit id van maximaal 36 karakters kan een toetscode zijn uit de OSO toetscodelijst of een leverancier-eigen uuid. |
name | string | string | Naam van de toets die bij de score of het resultaat kan worden getoond, bijvoorbeeld in de administratie om de toetsresultaten aan een resultaatkolom toe te wijzen | Schoolexamen | V | De naam van de toets is herkenbaar voor de medewerkers. |
version | string | string | Versie van de toets | 2 | O | Voor verwijzing naar de versie van de toets, met name bedoeld voor methodetoetsen. Bij kleine wijzigingen in de normering blijft het id van de methodetoets gelijk en is er een nieuwe versie; die versie wordt geduid in dit veld. |
subjects | array | [ subjectPrefix, subjectName ] | Vakken of leergebieden van de toets | [ | O | Deze optionele lijst van vakken/leergebieden van objecten Dit object |
studyLevelId | string
| uuid | Code als verwijzing naar het onderwijsniveau van de toets | 82ca4442-246c-44b3-a562-7b101793feb4 | O | Waarde is de referentie naar het betreffende onderwijsniveau in Object StudyLevel (zoals in Education API) en gevuld met waarden uit Waardelijst Onderwijsniveaus, gebaseerd op de niveaus van SLO (deze is hier te vinden). Binnen po worden alleen de enkelvoudige onderwijsniveaus gebruikt, zoals referentie naar “Groep 1” of “Groep 8”. |
parts | array | [ id, name, index ] | De onderdelen van de toets voor duiding van een score of resultaat | [ | O | Deze lijst bestaat uit objecten Een toets hoeft geen onderdelen te hebben, dus deze lijst is optioneel. |
| string | string | Unieke identifier voor het toetsonderdeel | part3 | V | Het id van maximaal 36 karakters kan een toetscode zijn uit de OSO toetscodelijst of een leverancier-eigen uuid. |
| string | string | Naam van het toetsonderdeel die bij de score of het resultaat kan worden getoond, bijvoorbeeld in de administratie om de toetsresultaten aan een resultaatkolom toe te wijzen | Module 3 | V | De naam van het toetsonderdeel is herkenbaar binnen de toets. |
| integer | integer | Het volgnummer van het toetsonderdeel om toetsonderdelen in volgorde van voorkeur te kunnen tonen | 3 | V | Getal groter gelijk aan 1. Er mogen geen |
Object ScoreScale
Het gegevensobject ScoreScale (Scoreschaal) omvat de definitiegegevens van een scoreschaal, en wordt in onderstaand figuur weergegeven.
In het gegevensobject ScoreScale bevinden zich de gegevens zoals in navolgende tabel gespecificeerd.
Veld | Type | Format | Omschrijving | Voorbeeld | O/V | Vullingsregel |
id | string | uuid | Unieke identifier voor de scoreschaal. | 6c92d082- 0d03-4194-b352-988b2e6f9ae7 | V |