Percipio xAPI Statements & Vocabulary
Actors
All statements include actor as subject using either the account or mbox Inverse Functional Identifiers as configured for LRS. For example:
account:
{
homepage: 'https://domain.percipio.com',
name: 'user1234'
}
mbox: 'mailto:user1234@me.com'
account
: the homepage value uses the domain of the user's corresponding organization in Percipio such as https://company.percipio.com. The name value uses the User ID of the user in Percipio, if available; otherwise will use their Percipio assigned globally unique UUID.mbox
: the value uses the Email of the user in Percipio; if no email is present Percipio will use the 'account' identifier instead
Verbs
Label |
IRI |
|
---|---|---|
arrived at | https://xapi.percipio.com/xapi/verbs/arrived | Percipio-specific |
satisfied | https://w3id.org/xapi/adl/verbs/satisfied | |
experienced | http://adlnet.gov/expapi/verbs/experienced | |
completed | http://adlnet.gov/expapi/verbs/completed | |
passed | http://adlnet.gov/expapi/verbs/passed | |
failed |
http://adlnet.gov/expapi/verbs/failed | |
initialized | http://adlnet.gov/expapi/verbs/initialized | |
scored | https://w3id.org/xapi/dod-isd/verbs/scored |
Activity types
Label |
IRI |
|
---|---|---|
channel | https://xapi.percipio.com/xapi/activity-type/channel | Percipio-specific |
curriculum | https://xapi.percipio.com/xapi/activity-type/curriculum | Percipio-specific |
book | https://xapi.percipio.com/xapi/activity-type/book | Percipio-specific |
audiobook | https://xapi.percipio.com/xapi/activity-type/audiobook | Percipio-specific |
course | http://adlnet.gov/expapi/activities/course | |
scheduled content | http://adlnet.gov/expapi/activities/course | |
assessment | http://adlnet.gov/expapi/activities/assessment | Used for both course assessments and benchmark assessments |
video | https://w3id.org/xapi/video/activity-type/video |
Context extensions
Label |
IRI |
|
---|---|---|
arrivedFrom | https://xapi.percipio.com/xapi/context/extensions/arrivedFrom | Percipio-specific |
passingScore | https://xapi.percipio.com/xapi/context/extensions/passingScore | Percipio-specific |
componentCount | https://xapi.percipio.com/xapi/context/extensions/context/extensions/componentCount | Percipio-specific |
length | https://xapi.percipio.com/xapi/context/extensions/length | Percipio-specific |
length | https://w3id.org/xapi/video/extensions/length | |
completed-threshold | https://w3id.org/xapi/video/extensions/completion-threshold |
Result extensions
Label |
IRI |
|
---|---|---|
consumedComponentCount | https://xapi.percipio.com/xapi/result/extensions/consumedComponentCount | Percipio-specific |
consumedLength | https://xapi.percipio.com/xapi/result/extensions/consumedLength | Percipio-specific |
progress | https://w3id.org/xapi/video/progress | |
proficiencyLevel | https://xapi.percipio.com/xapi/result/extensions/proficiencyLevel | Percipio-specific |
Statements
Verb |
Object (Activity) |
Context | Result | Notes |
---|---|---|---|---|
arrived at |
channel | journey | course | book audiobook | assessment | scheduled content |
extensions.arrivedFrom |
Actor reached page representing object. arrivedFrom = search | channel | assignments | Unknown |
|
initialized | course | Actor had first interaction with course content. | ||
satisfied | course | extensions.componentCount |
extensions.consumedComponentCount completion: true duration (when available) score (when available) as:
|
Actor satisfied criteria for course (by experiencing a certain percentage of the course content AND/OR passing course assessment) Note: LRS config allows for this statement to use the verb 'completed' instead of 'satisfied', in the case that a particular LMS requires 'completed' in order to reflect success for a course. The relevant LRS Configuration is "courseSatisfiedVerb componentCount/consumedComponentCount indicate the number of components (videos) in the course and the number consumed (viewed) by the learner |
satisfied | scheduled content |
completion: true duration (when available) score (when available) as:
|
||
satisfied | journey | completion: true | ||
experienced | book | audiobook | extensions | duration |
Actor interacted with book or audiobook for specified amount of time Note: there are likely to be multiple experienced statements for the same actor/book or actor/audiobook session, since the UI sends information periodically rather than at the end of a particular interaction session |
completed | book | extensions.componentCount |
|
Actor has experienced a certain percentage of the book/audiobook and is considered to have 'completed' ('completion' thresholds are currently fixed values in Percipio) componentCount/consumedComponentCount indicate the number of components (chunks) in the book and the number consumed (viewed) by the learner |
completed |
audiobook |
extensions.length |
|
actor has experienced a certain percentage of the book/audiobook and is considered to have 'completed' ('completion' thresholds are currently fixed values in Percipio) Length/consumedLength indicate the length of the audiobook and the proportion of that length consumed by the learner, both values expressed in ISO8601 duration format |
completed | video |
extensions.length extensions.completion-threshold |
|
Actor has experienced a certain percentage of the video and is considered to have 'completed' Length indicates the length of the video in seconds Completion-threshold expresses how much of the video must be viewed to be considered completed, as a percentage value between 0 and 1 Progress expresses how much of the video the learner has viewed, as a percentage value between 0 and 1 |
passed | course assessment |
contextActivities.parent extensions.passingScore |
|
Actor submitted assessment for scoring and met passing threshold contextActivities.parent indicates the course the assessment corresponds to success = true score.raw is actor's raw score with current implementation, score.min = 0, score.max = 100, and score.raw is percentage correct extensions.passingScore is Percipio course-specific passing threshold |
failed |
course assessment |
contextActivities.parent extensions.passingScore |
|
Actor submitted assessment for scoring and did not meet passing threshold contextActivities.parent indicates the course the assessment corresponds to success = false score.raw is actor's raw score with current implementation, score.min = 0, score.max = 100, and score.raw is percentage correct extensions.passingScore is Percipio course-specific passing threshold |
initialized | benchmark assessment | registration | Actor started a benchmark assessment. | |
scored | benchmark assessment | registration |
completion: true
|
Actor received a score on a benchmark assessment. |
Note: the following items are all classed as 'linked content' by Percipio. All use the same activityType (see 'course' in the table above) in xAPI statements. | ||||
completed | standard linked content | completion: true | Standard linked content consists of a URL to be launched, and can be set to 'complete on launch' or 'self-reported completion' | |
completed | YouTube video | completion: true | Similar to standard linked content, with recognition that URL is to a YouTube video | |
completed | hosted file | completion: true | Linked content consisting of a single file (such as a PowerPoint or PDF), hosted on Percipio file servers, typically completes on launch | |
completed | standards-based hosted custom content | completion: true | Standards-based course that does not report a score uses the verb 'completed' | |
satisified | standards-based hosted custom content |
|
Standards-based course that reports a score uses the verb 'satisfied' Note: LRS config allows for this statement to use the verb 'completed' instead of 'satisfied', in the case that a particular LMS requires 'completed' in order to reflect success for a course. The relevant LRS Configuration is "courseSatisfiedVerb' |
|
completed | Wintellect | completion: true |
|
|
satisified | PracticeLab | completion: true |
Provider does not supply Percipio with additional information such as percent complete, number of modules in the lab, or number of modules completed by the learner Note: LRS config allows for this statement to use the verb 'completed' instead of 'satisfied', in the case that a particular LMS requires 'completed' in order to reflect success for a course. The relevant LRS Configuration is "courseSatisfiedVerb' |
|
satisfied | TestPrep | extensions.passingScore |
|
Note: LRS config allows for this statement to use the verb 'completed' instead of 'satisfied', in the case that a particular LMS requires 'completed' in order to reflect success for a course. The relevant LRS Configuration is "courseSatisfiedVerb' |
LRS Configuration
Configuration |
Required |
Default |
Values | Description |
---|---|---|---|---|
assessmentScoredVerb | N | scored |
|
Some LRSs or LMSs might not be able to interpret the verb ‘scored’. Setting this value to ‘completed’ causes that verb to be used instead of ‘scored’. Note that in this case, ‘completed’ signifies only that the actor has submitted a benchmark assessment for scoring and received a score; it does not imply that the actor has achieved any particular score, as there is no concept of pass or fail for benchmark assessments. |
courseSatisfiedVerb | N | satisfied |
|
Some LRSs or LMSs do not recognize the verb 'satisfied' but do recognize 'completed'. Setting this value to 'completed' will cause that verb to be used instead of 'satisfied' for all statements identified as 'satisfied' in the table above. |
contentTypeFilter | N | all |
|
Multi-select. Selecting a subset of the values causes statements related to any excluded content types not to be sent. Note that 'linkedcontent' is a separate value from 'course'. See table above for what is identified as 'linkedcontent'. |
verbFilter | N | all |
|
Multi-select. Selecting a subset of the values causes statements using any excluded verb not to be sent. Note that the 'satisfied' value here is independent of the value of courseSatisfiedVerb; if the 'satisfied' verb is excluded, all statements identified in the table above as 'satisfied' will be excluded, even if courseSatisfiedVerb = 'completed'. |
actorIdMethod | N | account |
|
Value can be either 'account' or 'mbox'. See top of this page for examples of each. If 'mbox' is chosen but there is no email address is available for the learner, 'account' IFI will be used instead. |
url | Y | The base url for the LRS xAPI API (be sure to exclude '/statements' at the end) | ||
authorization | Y | Value to include as authorization header for calls to the LRS xAPI API Value might look like 'Basic ODB1YUYyN2IxOzByNzY2MzVhMzU1MzZkYjA0ZGQ0MWQ0NTFhN2Iw4ZWQzYTFiMDg1NzUzNDk0' | ||
enabled | N | true | If the configuration is not enabled, no statements will be sent to the LRS. |