This Statement defines the structure and terms to record a learner's attendance of an event such as a lecture or other learning activity. The expectation is that the source data will be collected by a system designed to explicitly record attendance via some action of the learner, such as swiping a card, or of the teacher, such as completing an electronic register.
Common entity identifier: ActorA
The Actor entity describes the individual who has attended the event.
{
"actor": {
"objectType": "Agent",
"name": "John Smith",
"account": {
"name": "2",
"homePage": "https://courses.alpha.jisc.ac.uk/moodle"
}
},
Common entity identifier: VerbA
The Verb used in the attendance Statement is "attended" (http://adlnet.gov/expapi/verbs/attended). It indicates the Actor was present at a virtual or physical event or activity. It uses the Jisc Profile common entity identifier VerbA.
"verb": {
"id": "http://adlnet.gov/expapi/verbs/attended",
"display": {
"en": "attended"
}
},
The result.completion must be set to true or false, indicating if the Actor attended the event. The extension attendance_late can be set to 1 if the Actor did not attend the event on time. Attendance_category can be used to express additional detail, for example whether lateness was extreme or condoned, or to provide the source system attendance type code (as might be recorded in a conventional paper register).
Property [cardinality] | Description | Data type |
---|---|---|
result.completion [1] | When set to "true", result.completion indicates that the learner attended the event. "false" indicates that the learner did not attend the event. | Boolean |
http://result.extension.http://xapi.jisc.ac.uk/attendance_late [0..1] | When set to 1, indicates the person was late. | Integer 0/1. 1 for late |
result.extension.http://xapi.jisc.ac.uk/attendance_category [0..1] | Indicates any given category for non-attendance or lateness. | String |
"result":{
"completion":true,
"extensions":{
"http://xapi.jisc.ac.uk/attendance_late":1,
"http://xapi.jisc.ac.uk/attendance_category":"1",
}
}
The Object entity defines an event that has been attended.
Property [cardinality] | Description | Data type |
---|---|---|
object.objectType [1] | The value must be "Activity". | String, value must be "Activity". |
object.id [1] | An identifier for the Object of the Statement. This must be unique (within a given platform) across all Object types. | iri |
object.definition.type [1] | Indicates the type of the Object of the Statement. It is required and valid values are listed on the vocabulary page | iri |
object.definition.name [0..1] | Optional Object name | string |
object.definition.description [0..1] | Optional description of the Activity | string |
object.definition.extensions.http://xapi.jisc.ac.uk/subType [0.1] | May be used to qualify what kind of timetabled event occurred using an IRI given on the vocabulary page. | iri |
object.definition.extensions.http://xapi.jisc.ac.uk/event_type_id [0.1] | An identifier for the type of event. Value is from locally-defined list. | Integer related to event type |
object.definition.extensions.http://xapi.jisc.ac.uk/event_type_description [0.1] | Description of the event type. Description is from locally-defined list. | String, description of event |
object.definition.extensions.http://xapi.jisc.ac.uk/event_max_count [0.1] | The maximum number of people that could have attended the event. | Integer |
object.definition.extensions.http://xapi.jisc.ac.uk/event_mandatory [0.1] | States whether or not the event was mandatory. | Integer, 1 for mandatory, 0 for non mandatory |
object.definition.extensions.http://xapi.jisc.ac.uk/event_timetabled [0.1] | States whether or not the event was timetabled. | Integer, 1 for timetabled, 0 for not timetabled |
object.definition.extensions.http://xapi.jisc.ac.uk/starttime [0.1] | Planned start time. Uses datetimes for planned start time of event. | ISO8601 timestamp |
object.definition.extensions.http://xapi.jisc.ac.uk/endtime [0.1] | Planned end time. Uses datetimes for planned end time of event. | ISO8601 timestamp |
The Object defines an event that has been attended. Information on the event can be found in the object.extensions. See the objectD section in the common structures document.
"object": {
"objectType": "Activity",
"id": "http://wicketkeeper.poppleton.ac.uk/modules/2016/sem1/psy101/qlecture1",
"definition": {
"type": "http://xapi.jisc.ac.uk/lecture",
"name": {
"en": "Psychology 101 Introduction"
},
"description": {
"en": "The first tutorial of psychology 101"
},
"extensions": {
"http://xapi.jisc.ac.uk/subType": "http://xapi.jisc.ac.uk/workshop"
"http://xapi.jisc.ac.uk/starttime": "2016-02-05T10:00:00.000Z",
"http://xapi.jisc.ac.uk/endtime": "2016-02-05T14:00:00.000Z",
"http://xapi.jisc.ac.uk/event_type_id": "1",
"http://xapi.jisc.ac.uk/event_timetabled": 1,
"http://xapi.jisc.ac.uk/event_type_description": "Lecture",
"http://xapi.jisc.ac.uk/event_max_count": 32,
"http://xapi.jisc.ac.uk/event_mandatory": 1
}
},
Property [cardinality] | Description | Value information |
---|---|---|
context.instructor [0..1] | JSON Object | |
context.instructor.objectType [1] | Must be "Agent" | String, must be "Agent" |
context.instructor.account.homepage [1] | URL of the home page of the application for which the login id applies. | url |
context.instructor.account.name [1] | account.name gives the login id for the instructor. | string |
context.extensions.version [0..1] | Recommended, identifies the version of the Jisc Profile found on the ReadMe page. | string |
context.extensions.https://xapi.jisc.ac.uk/devicelocation [0..1] | devicelocation is an optional geoJSON Object with geolocation details of the device used to attend the event. | JSON Object following the geoJSON spec |
context.extensions.https://xapi.jisc.ac.uk/courseArea [0..1] | Umbrella course/parent area by a UDD Module Instance ID or VLE Module ID. | JSON Object |
"context": {
"instructor": {
"objectType": "Agent",
"account": {
"name": "2",
"homePage": "http://localhost/moodle"
}
},
"extensions": {
"http://xapi.jisc.ac.uk/version": "1.0",
"http://xapi.jisc.ac.uk/deviceLocation": {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [51.510531, -0.118930]
},
"properties": {
"name": "University of Jisc"
}
},
"http://xapi.jisc.ac.uk/courseArea": {
"http://xapi.jisc.ac.uk/vle_mod_id": "LA101-200-2016S1-0",
"http://xapi.jisc.ac.uk/uddModInstanceID": "LA101-200-2016S1-0",
}
}
}
{
"id": "12345678-1234-5678-1234-567812345678",
"actor": {
"objectType": "Agent",
"name": "John Smith",
"account": {
"name": "2",
"homePage": "https://courses.alpha.jisc.ac.uk/moodle"
}
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/attended",
"display": {
"en": "attended"
}
},
"result":{
"completion":true,
"extensions":{
"http://xapi.jisc.ac.uk/attendance_late":1,
"http://xapi.jisc.ac.uk/attendance_category":"1",
}
}
"object": {
"objectType": "Activity",
"id": "http://wicketkeeper.poppleton.ac.uk/modules/2016/sem1/psy101/qlecture1",
"definition": {
"type": "http://xapi.jisc.ac.uk/lecture",
"name": {
"en": "Psychology 101 Introduction"
},
"description": {
"en": "The first tutorial of psychology 101"
},
"extensions": {
"http://xapi.jisc.ac.uk/subType": "http://xapi.jisc.ac.uk/workshop"
"http://xapi.jisc.ac.uk/starttime": "2016-02-05T10:00:00.000Z",
"http://xapi.jisc.ac.uk/endtime": "2016-02-05T14:00:00.000Z",
"http://xapi.jisc.ac.uk/event_type_id": "1",
"http://xapi.jisc.ac.uk/event_timetabled": 1,
"http://xapi.jisc.ac.uk/event_type_description": "Lecture",
"http://xapi.jisc.ac.uk/event_max_count": 32,
"http://xapi.jisc.ac.uk/event_mandatory": 1
}
"context": {
"instructor": {
"objectType": "Agent",
"account": {
"name": "2",
"homePage": "http://localhost/moodle"
}
},
"extensions": {
"http://xapi.jisc.ac.uk/version": "1.0",
"http://xapi.jisc.ac.uk/deviceLocation": {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [51.510531, -0.118930]
},
"properties": {
"name": "University of Jisc"
}
},
"http://xapi.jisc.ac.uk/courseArea": {
"http://xapi.jisc.ac.uk/vle_mod_id": "LA101-200-2016S1-0",
"http://xapi.jisc.ac.uk/uddModInstanceID": "LA101-200-2016S1-0",
}
}