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

  • Geen activiteiten

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

  • la.result

Entiteiten

  • Result

  • Score

Producer

  • Leermiddelenaanbieder – Digitaal toetssysteem

Consumer

  • Administratiesysteemaanbieder – Cijferadministratie

Endpoints

Cijferadministratie

  • PUT Accept result message from Leermiddelenaanbieder

  • POST Accept result-bundle message from Leermiddelenaanbieder

  • PUT Accept score message from Leermiddelenaanbieder

  • POST Accept score-bundle message from Leermiddelenaanbieder

Digitaal toetssysteem

  • GET result by resultId

  • GET score by scoreId

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
Kijk- en Luistertoetsen HAVO5

V

De naam van de Toets is herkenbaar voor de medewerkers

status

string

ENUM

De status van het Toetsresultaat

in progress
final
canceled

V

Dit veld is additioneel toegevoegd en kan gebruikt worden om toetsresultaten in verschillende stadia door te sturen.

Defaultwaarde is final

assessment-
DateTime

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
G, V, O
L1F, 1F,…,4S
A1…C2

V

Zie resultType

resultType

string

ENUM

Het resultaattype dat van toepassing is op deze Toets

0.0-10.0
OVG
RnTR
RnERK

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
Betrapt op spieken

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
Kijk- en Luistertoetsen HAVO5

V

De naam van de Toets is herkenbaar voor de medewerkers

status

string

ENUM

De status van de toetsscore

in progress
final
canceled

V

Dit veld is additioneel toegevoegd en kan gebruikt worden om toetsscores in verschillende stadia door te sturen.

Defaultwaarde is final

assessment-
DateTime

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.