Results Prototype
Details en transactierollen voor deze API.
API
- Naam
- Results
- Versie
- v2.1.0
- Sector(en) P
- PO VO MBO
- Status P
- Actief
Transactierollen P
Ontvanger
Verzender
Endpoints
Beschikbare endpoints voor deze API.
| Path |
|---|
/results |
API-specificatie (YAML)
Volledige definitie uit het afsprakenstelsel.
openapi: 3.0.0
info:
title: Results API
version: '2.1.0'
description: |-
The Results API is implemented by the receiver of assessment or test scores/results, typically the `Administratiesysteem leerresultaten` and `Leermiddelendashboard`.
The Results API is the destination of assessment or test scores and/or results and provides a POST endpoint to receive the latest state.
One main entity is available to consumers of the Results API (e.g. `Digitaal toetssysteem` and `Gebruiksomgeving digitale leermiddelen`):
- **AssessmentScoresAndResults**: the full set of scores/results information for an individual or a group of students.
In this object **AssessmentScoresAndResults** several objects are defined and used, like **Assessment**, **ScoreScale** and **StudentScoresAndResults**.
contact:
name: Edu-V
url: www.edu-v.org/afsprakenstelsel
email: info@edu-v.org
paths:
/results:
post:
operationId: postResults
summary: The request to create/change the assessment scores and results for an individual student or group of students.
description: |
List of student scores/results items, for each item to create a new scores/results object for the student or change an existing student scores/results object, including general information (e.g. the assessment/test and date and time of offering).
security:
- OAuth2:
- eduv.result
tags:
- Administratiesysteem leerresultaten
- Leermiddelendashboard
requestBody:
description: |
The general data and bundle of student scores/results that is to be stored in object assessment scores/results.
content:
application/json:
schema:
$ref: "#/components/schemas/AssessmentScoresAndResults"
responses:
"201" :
description: |
The request has led to the creation of a resource.
"202" :
description: |
The request has been accepted for processing, but the processing has not been completed; in fact, processing may not have started yet. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place.
"400" :
description: |
This is the error response for HTTP status code 400 (Bad request).
content:
application/json:
schema:
$ref: "#/components/schemas/StatusResponse"
"401" :
description: |
This is the error response for HTTP status code 401 (Unauthorized).
content:
application/json:
schema:
$ref: "#/components/schemas/StatusResponse"
"403" :
description: |
This is the error response for HTTP status code 403 (Forbidden).
content:
application/json:
schema:
$ref: "#/components/schemas/StatusResponse"
components:
schemas:
Assessment:
title: Assessment
type: object
x-tags:
- Result
description: 'Definition of assessment for which scores/results are reported.'
properties:
id:
type: string
description: 'Assessment identifier that is used for reference for which scores/results are reported.'
name:
type: string
description: 'Name of the assessment to be displayed to employees that register results in the gradebook.'
version:
type: string
description: 'Version of assessment.'
subjects:
type: array
items:
type: object
description: "Subject for which scores/results are reported as a result of the assessment."
properties:
subjectPrefix:
type: string
description: 'Prefix of the subject.'
subjectName:
type: string
description: 'Name of the subject'
studyLevelId:
type: string
description: 'Id of the study level of the assessment.'
parts:
type: array
items:
type: object
description: "Definition of assessment parts for which scores/results are reported."
properties:
id:
type: string
description: 'Assessment part reference for which scores/results are reported.'
name:
type: string
description: 'Name of the assessment part to be displayed in the gradebook.'
index:
type: integer
description: 'Number for sequencing the assessment parts.'
required:
- id
- name
- index
required:
- id
- name
AssessmentScoresAndResults:
title: AssessmentScoresAndResults
type: object
x-tags:
- Result
description: 'The message that contains information about the assessment (test) that has been taken and the scores and results for one or more participants (students).'
properties:
id:
type: string
description: 'Message id.'
additionalInfo:
type: string
description: 'Optional additional information about the bundle of student scores/results. E.g. a generic remark regarding all scores/results.'
assessmentDateTime:
type: string
format: date-time
description: 'Date and time of the assessment offering. Format: Conform openapi in ZULU time as specified in RFC 3339, section 5.6.'
assessmentDefinition:
$ref: "#/components/schemas/Assessment"
employees:
type: array
description: "List of employee identifications."
items:
$ref: "#/components/schemas/EmployeeReference"
reviewUrl:
type: string
description: 'Optional link into the assesment system (deeplink) to the details of about the bundle of student scores/results.'
school:
$ref: "#/components/schemas/SchoolReference"
schoolPeriod:
type: string
description: 'School period, e.g. schoolyear of semester.'
scoreScaleDefinitions:
type: array
description: "List of score scale definitions."
items:
$ref: "#/components/schemas/ScoreScale"
studentScoresAndResults:
type: array
items:
$ref: "#/components/schemas/StudentScoresAndResults"
timestamp:
type: string
format: date-time
description: 'Date and time of the message assembling. Format: Conform openapi in ZULU time as specified in RFC 3339, section 5.6.'
toolName:
type: string
description: 'Name of tool/system that sends these assessment scores/results.'
required:
- id
- assessmentDateTime
- assessmentDefinition
- school
- schoolPeriod
- timestamp
EmployeeIdEntry:
title: EmployeeIdEntry
type: object
x-tags:
- Result
description: 'A single reference to an employee, using id and type in an identification entry.'
properties:
userId:
type: string
description: 'Extra unique id of this user according to the type userIdType, besides the userMasterIdentifier.'
userIdType:
type: string
description: 'The type of extra unique id of this user in userId.'
enum:
- NEPRI # nlPersonRealId – value can be used for students and employees
- BPI # Basispoort ID – value can be used for students and employees
- eduID # eduID identifier – value can be used for students and employees
- ASI # LAS-key – value for identifier generated by student administration
required:
- userId
- userIdType
EmployeeReference:
title: EmployeeReference
type: object
x-tags:
- Result
description: 'A reference to an assessment participant (Employee) based on identification.'
properties:
userMasterIdentifier:
type: string
description: 'Unique id of this employee-user according to the master identifier type.'
userIds:
type: array
items:
$ref: "#/components/schemas/EmployeeIdEntry"
ResultEntry:
title: ResultEntry
type: object
x-tags:
- Result
description: 'A single result, using value and type in a result entry.'
properties:
resultValue:
type: string
description: 'Value of the achieved assessment Result.'
resultType:
$ref: '#/components/schemas/ResultType_enum'
assessmentId:
type: string
description: 'Reference to the assessment of this result.'
assessmentPartId:
type: string
description: 'Reference to the assessment part of this result.'
required:
- resultValue
- resultType
- assessmentId
ResultType_enum:
type: string
description: 'Enumeration for the type of results that defines allowed values for resultValue.'
enum:
- 'AE'
- 'AVI'
- 'CAE'
- 'CIV'
- 'CPercentiel'
- 'DLE'
- 'EducationLevel'
- 'FunctioningLevel'
- 'Grade0-10'
- 'Grade0.0-10.0'
- 'IV'
- 'LA'
- 'LGH'
- 'OVG'
- 'PassOrFail'
- 'Percentiel'
- 'RnERK'
- 'RnTR'
example: OVG
SchemaVersionType:
type: string
description: |
Schema version of this API using semantic versioning 2.0.0.
The API version number is communicated in the header.
The major version is communicated in the URI.
For more information see the [Edu-V versioning guidelines](https://edu-v.atlassian.net/wiki/spaces/AFSPRAKENS/pages/9437200/Versiebeheer).
default: 2.0.0
SchoolIdEntry:
title: SchoolIdEntry
type: object
x-tags:
- Result
description: 'A single reference to a school by using id and type in an identification entry.'
properties:
organisationId:
type: string
description: 'Unique id of this organisation to the type organisationIdType, besides the organisationMasterIdentifier.'
organisationIdType:
type: string
description: 'The type of extra unique id of this organisation in organisationId.'
enum:
- OIE_CODE # Onderwijsinstellingserkenningcode e.g. 09QQ (Marienbornschool)
- BP_ID # Basispoort gegenereerde identifier voor de school.
- DD_ID # Door de Centrale Registratie van Edu-iX gegenereerde DigiDeliveryId van de school.
- AS_ID # Door het Leerlingadministratiesysteem gegenereerde identifier van de school.
required:
- organisationId
- organisationIdType
SchoolReference:
title: SchoolReference
type: object
x-tags:
- Result
description: 'A reference to a school based on its identifications.'
properties:
organisationMasterIdentifier:
type: string
description: 'Unique id of this school according to the master identifier type.'
organisationIds:
type: array
items:
$ref: "#/components/schemas/SchoolIdEntry"
ScoreEntry:
title: ScoreEntry
type: object
x-tags:
- Result
description: 'A single score, using value and type in a score entry.'
properties:
scoreValue:
type: string
description: 'Value of the achieved assessment score.'
scoreType:
$ref: '#/components/schemas/ScoreType_enum'
scoreMaximum:
type: string
description: 'Maximum value of the achieved assessment score.'
assessmentId:
type: string
description: 'Reference to the assessment of this score.'
assessmentPartId:
type: string
description: 'Reference to the assessment part of this score.'
scoreScaleIds:
type: array
description: 'References to the score scale for conversion to result value.'
items:
type: string
required:
- scoreValue
- scoreType
- assessmentId
ScoreScale:
title: ScoreScale
type: object
x-tags:
- Result
description: 'Definition of score scales for conversion from score to result.'
properties:
id:
type: string
description: "Score scale identifier that is used for reference.'"
name:
type: string
description: "Name of the score scale."
scoreScaleEntries:
type: array
items:
type: object
description: "Entry for LHS & RHS combination."
properties:
LHS:
type: string
description: "Defines the score interval, e.g. '0-5' or '0.0-5.5'. The format is either a single value ('x') or a range ('x' - 'y'). In the case of a single value this is considered to be the inclusive lower value for the implied interval. When a range is specified (lower-to-upper) the values are inclusive for the specified interval."
RHS:
type: string
description: "Defines the result label which is based on the scoreValue and LHS, e.g. 'Onvoldoende'."
required:
- LHS
- RHS
required:
- id
- name
- scoreScaleEntries
ScoreType_enum:
type: string
description: 'Enumeration for the type of scores that defines allowed values for scoreValue.'
enum:
- DurationInSeconds
- NumberCorrect
- NumberIncorrect
- NumberItems
- PercentageCorrect
- ScorePoints
- SkillScore
example: 'ScorePoints'
StatusResponse:
title: StatusResponse
description: 'Functional status code and status message in list per student scores/results.'
type: array
items:
type: object
description: "Functional status code and status message in list item per student scores/results."
properties:
id:
type: string
description: 'Unique id of the student scores/results.'
status:
type: integer
description: 'See functional status codes within the Documentation.'
statusMessage:
type: string
description: 'See functional status messages within the Documentation.'
required:
- status
StatusType_enum:
type: string
description: 'Status of the student student scores/results statement.'
example: final
enum:
- InProgress
- Final
- Canceled
StudentIdEntry:
title: StudentIdEntry
type: object
x-tags:
- Result
description: 'A single reference to a student, using id and type in an identification entry.'
properties:
userId:
type: string
description: 'Extra unique id of this user according to the type userIdType, besides the userMasterIdentifier.'
userIdType:
type: string
description: 'The type of extra unique id of this user in userId.'
enum:
- NEPPI # nlPersonProfileId – value can be used for students and employees
- BPI # Basispoort ID – value can be used for students and employees
- eduID # eduID identifier – value can be used for students and employees
- NEPRI # nlPersonRealId – value can be used for students only
- ASI # Las-key – value can be used for students only
required:
- userId
- userIdType
StudentReference:
title: StudentReference
type: object
x-tags:
- Result
description: 'A reference to an assessment participant (Student) based on its identifications.'
properties:
userMasterIdentifier:
type: string
description: 'Unique id of this student-user according to the master identifier type.'
userIds:
type: array
items:
$ref: "#/components/schemas/StudentIdEntry"
StudentScoresAndResults:
title: StudentScoresAndResults
type: object
x-tags:
- Result
description: 'Scores/results statement for a specific student.'
properties:
id:
type: string
description: 'Unique id of this scores/results statement'
additionalInfo:
type: string
description: 'Optional additional information about these scores/results. E.g. for indicating which judgement level has been applied or the reason for absence of student scores/results.'
missing:
type: boolean
description: 'The indication whether the student scores/results are missing or not.'
results:
type: array
description: 'List of student results.'
items:
$ref: '#/components/schemas/ResultEntry'
reviewUrl:
type: string
description: 'Optional link into the assesment system (deeplink) to the details of these student scores/results.'
scores:
type: array
description: 'List of student scores.'
items:
$ref: '#/components/schemas/ScoreEntry'
status:
$ref: '#/components/schemas/StatusType_enum'
student:
$ref: "#/components/schemas/StudentReference"
dateCreated:
type: string
format: date-time
description: 'Date and time of the creation of this object. Format: Conform openapi in ZULU time as specified in RFC 3339, section 5.6.'
dateLastModified:
type: string
format: date-time
description: 'Date and time of the latest modification of this object. Format: Conform openapi in ZULU time as specified in RFC 3339, section 5.6.'
required:
- id
- student
- dateCreated
- dateLastModified
securitySchemes:
OAuth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api.example.com/oauth2/token
refreshUrl: https://api.example.com/oauth2/token
scopes:
eduv.result: scope to send and receive assessment result objects
x-tags:
- name: Result