Report Types
This article outlines the different report types available in the Reports API and provides examples of their usage.
A note about array limits
Some reports accept arrays of users, activities or sessions. The maximum number of array entries is normally limited to 100. If you have a scenario that specifically requires a limit higher than this, please discuss your use case with our support team.
A note about Item references
Sessions initialised with Item objects in Items API may
have provided host page-specific id
for some Items that differs from their reference
in the Item bank. The Activity-specific identifier is reported as the item_reference
of each Item
in the raw data (generally the *-by-item-*
reports).
If the Item bank reference is required, it can be found as ibk_item_reference
in the same object.
Deprecated
For backward compatibility, an ibk_reference
attribute may also be present.
While its value matches that of ibk_item_reference
, it is deprecated, and should not be used.
Sessions List
For a group of users, lists up to 100 sessions against one or more activities and the user's percentage score on each session. The list is sorted in descending order based on time submitted. The report uses partial item scoring, so the overall score is the sum of the individual item scores (including any partially correct items) as a percentage of the maximum possible score for all items.
Starting from the 2023.1.LTS update, you can filter by date using the mintime
and maxtime
attributes.
Example - Sessions List
{
"id": "report-10",
"type": "sessions-list",
"limit": 5,
"ui": "table",
"activities": [
{"id": "Summer_Test_1", "name": "Summer Test 1, 2015"},
{"id": "Weekly_Math_Quiz", "name": "Weekly Math Quiz"}
]
}
Attributes - Sessions List
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
sessions-list |
ui
The user interface style for this report. Options: table
, list
type |
string |
default |
table
|
ui_clickable
Toggle clickable styling for certain elements.
If you listen for a click event using
on()
, the corresponding attribute below will be
true
by default:
Key |
Type |
Description |
session
|
boolean |
Clickable style for sessions in the list. |
limit
The number of sessions to display. Max:
100
mintime
A timestamp filter based on the completion time of the sessions. The earliest UTC Unix timestamp or datetime string (in ISO 8601 format) to get results from.
type |
int | string |
default |
- |
maxtime
A timestamp filter based on the completion time of the sessions. The latest UTC Unix timestamp or datetime string (in ISO 8601 format) to get results from.
type |
int | string |
default |
- |
users
An array of one or more user objects:
Key |
Type |
Default |
Description |
id
*
|
string |
|
The ID of the user. |
name
*
|
string |
|
The name of the user for display purposes. |
activities
An array of one or more activity objects:
Key |
Type |
Default |
Description |
id
*
|
string |
|
The ID of the activity. |
name
|
string |
|
The name of the activity for display purposes. If not provided, this defaults to the name specified during session initialization. |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
display_user
If display_user is set to true
and at least one user is specified in the users array, the student name will be displayed.
type |
boolean |
default |
false
|
display_activity
If display_activity is set to false
, the name of the activity will not be displayed (this might be useful if exactly one activity is specified in the activities array).
type |
boolean |
default |
true
|
Sessions List By Item
For a group of users, lists up to 100 sessions against a single activity and the per-item score on each session. The report indicates which items were correct, incorrect, unattempted and partially correct in each session. Hovering over an item nodes in the report shows the user's score for the item, according to the scoring rule configured on the item during authoring. Note that items may have different maximum scores, and therefore contribute different weighting to the overall score.
The items in an activity may change from time to time, so this report can order and compare items using either their item reference, or using the original order in which the items appeared in each session. See the "align_items"
attribute for information on the two modes.
Starting from the 2023.1.LTS update, you can filter by date using the mintime
and maxtime
attributes.
Example - Sessions List By Item
{
"id": "sessions-list-by-item-1",
"type": "sessions-list-by-item",
"limit": 5,
"display_user": true,
"activity_id": "edde56e8-ff65-e42e-b4fe49caad796bd",
"users": [
{"id": "brianmoser", "name": "Brian Moser"},
{"id": "12345678", "name": "John Carter"}
]
}
Attributes - Sessions List By Item
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
sessions-list-by-item |
limit
The number of sessions to display. Max:
100
mintime
A timestamp filter based on the completion time of the sessions. The earliest UTC Unix timestamp or datetime string (in ISO 8601 format) to get results from.
type |
int | string |
default |
- |
maxtime
A timestamp filter based on the completion time of the sessions. The latest UTC Unix timestamp or datetime string (in ISO 8601 format) to get results from.
type |
int | string |
default |
- |
activity_id
The ID of the activity to report on.
users
An array of one or more user objects:
Key |
Type |
Default |
Description |
id
*
|
string |
|
The ID of the user. |
name
*
|
string |
|
The name of the user for display purposes. |
display_user
If display_user is set to true
and at least one user is specified in the users array, the student name will be displayed.
type |
boolean |
default |
false
|
align_items
Determines which items are returned for each session and how they are ordered in the report UI and raw data.
It may be set to one of the following strings:
"reference"
: The item nodes are ordered left-to-right according to the order of items in the most recent retrieved session. If an earlier session did not include one or more of those items, that session's raw data will contain null entries for the missing items, and those item nodes will not be displayed in the UI. Use this mode where each session is expected to contain the same items (in a potentially variable order).
"index"
: The item nodes are ordered left-to-right according to the order they appeared in each session. The full list of items for each session is returned in their original order. If one or more sessions contain a different number of items, the report UI will expand to accommodate all items in the largest session. Shorter sessions will be padded with blank nodes in the UI. Use this mode where each session may contain different items. You can use the default UI to compare the sessions based on the order the items were presented, or access the raw data to compare the sessions in a different way.
type |
string |
default |
"reference"
|
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Sessions Summary
For a single user session, shows how many items were correct, incorrect, unattempted (skipped) and unmarked. The report uses dichotomous item scoring to calculate the number of correct items, so partially correct items will be reported as incorrect.
Hovering on the score bar displays the percentage of correct items, rounded to the nearest whole percent.
Example - Sessions Summary
{
"id": "report-demo",
"type": "sessions-summary",
"user_id": "brianmoser",
"session_ids": [
"AC023456-2C73-44DC-82DA28894FCBC3BF"
]
}
Attributes - Sessions Summary
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
sessions-summary
|
user_id
The ID of the user to show progress for.
session_ids
An array of one or more session IDs to report on.
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Sessions Summary by Question
For a single user session, shows how many questions were correct, incorrect, unattempted (skipped) and unmarked. The report uses dichotomous question scoring to calculate the number of correct questions.
Hovering on the score bar displays the percentage of correct questions, rounded to the nearest whole percent.
Example - Sessions Summary by Question
{
"id": "report-24",
"type": "sessions-summary-by-question",
"user_id": "mce_student",
"session_ids": [
"d7ad7585-a0c1-4c01-9762-44a85f55835c"
]
}
Attributes - Sessions Summary by Question
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
sessions-summary-by-question
|
user_id
The ID of the user to show progress for.
session_ids
An array of one or more session IDs to report on.
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Sessions Summary by Tag
For a single user, shows their score for the given session/s, categorised by a set of tags. This report provides a drill-down view of the user's performance within a particular tag hierarchy (a pre-configured set of tags). The first two levels of the tag hierarchy are used. As an example, imagine a given tag hierarchy defines Subject tags (eg. Math, English) each comprising a set of Topic Areas (Arithmetic, Algebra, Geometry):
-
For the given session/s, the report shows the percentage of correct, incorrect and unattempted items within each Subject that the session/s covered.
-
Drilling down on a Subject shows the percentage of correct, incorrect and unattempted items in each Topic Area of that Subject.
The report dynamically determines which items were served during the given session/s, and calculates the percentage score for each tag as a proportion of all items in the session bearing that tag. For example, if the session included 8 items tagged Math, and the user had 6 correct, the report calculates a score of 75% for that tag.
The report can be configured to calculate the tag scores using the number of items wholly correct (dichotomous scoring), or as a sum of partial scores per item per tag (partial scoring). Use the
scoring_type
parameter to specify the desired scoring mode.
Example - Sessions Summary by Tag
{
"id": "demo-bar-chart",
"type": "sessions-summary-by-tag",
"scoring_type": "partial",
"user_id": "brianmoser",
"ui": "bar-chart",
"hierarchy_reference": "author",
"session_ids": ["B146BA2C-C2D0-4368-B90FFBA2B245F2BA"]
}
Attributes - Sessions Summary by Tag
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
sessions-summary-by-tag
|
ui
The user interface style for this report.
Options:
-
table
-
bar-chart
Deprecated
type |
string |
default |
table
|
scoring_type
How to display item scores; dichotomous (right/wrong) or partial scoring. Options:
dichotomous
,
partial
type |
string |
default |
dichotomous
|
user_id
The ID of the user to show progress for.
session_ids
An array of one or more session IDs to report on.
hierarchy_reference
The reference of the tag hierarchy to report against.
tag_labels
Choose whether to use the tag name
or description
for the labels shown in the report. When the description
option is set and a tag does not have a description, the tag's name will be used instead.
type |
string |
default |
description |
organisation_id
The ID of the Item bank to fetch Item data and Tag content and Hierarcies from. This needs to match the organisation_id
used when initialising the Sessions.
The consumer making the request will need to have access to the Item bank. This access can be ensured via API consumers configuration in the Learnosity Console.
type |
integer |
default |
The API Consumer's primary organisation. |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Session Detail By Item
For a single user session, shows the user's responses to each item. Question responses are rendered in review mode, which is read-only and shows the attempted and correct responses. Each item is presented in full, including any static content and features embedded in the item container. This report is like viewing the user's scored exam paper, with details of how each question was scored.
The report also shows a badge indicating the user's score for each item, according to the scoring rule configured on the item during authoring. See
item scoring
for details.
Note that intro and outro items are not included in this report.
Report only works for sessions created with Items API. For Assess API or Questions API sessions please use
Session Detail By Question report.
Example - Session Detail By Item
{
"id": "report-demo",
"type": "session-detail-by-item",
"user_id": "$ANONYMIZED_USER_ID",
"session_id": "8c393c87-77b6-4c14-8da7-75d39243e642",
"questions_api_init_options": {
"showCorrectAnswers": false
}
}
Attributes - Session Detail By Item
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
session-detail-by-item
|
user_id
The ID of the user to report on.
session_id
The ID of the session to report on.
items_api_init_options
Initialization options to be passed through to Items API.
type |
object |
|
The following options are supported (click a property to see its full description in the Items API docs):
|
questions_api_init_options
Initialization options to be passed through to Questions API.
type |
object |
|
The following options are supported (click a property to see its full description in the Questions API docs):
|
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
display_scores
Display item scores next to each item in the report.
type |
boolean |
default |
true |
Session Detail By Question
For a single user session, shows the specific responses of the user for each question. Question responses are rendered in review mode, which is read-only and shows the attempted and correct responses. This report only displays the specific questions embedded in each item; any additional content and features from the item container will be omitted. This report is like viewing a simplified exam paper, or answer sheet, that only shows sections the user was asked to complete without any accompanying reference material.
Example - Session Detail By Question
{
"id": "report-demo",
"type": "session-detail-by-question",
"user_id": "brianmoser",
"session_id": "B146BA2C-C2D0-4368-B90FFBA2B245F2BA",
"questions_api_init_options": {
"showCorrectAnswers": false
}
}
Attributes - Session Detail By Question
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
session-detail-by-question
|
user_id
The ID of the user to report on.
session_id
The ID of the session to report on.
questions_api_init_options
Initialization options to be passed through to Questions API.
type |
object |
|
The following options are supported (click a property to see its full description in the Questions API docs):
|
display_scores
Display item scores next to each question in the report.
type |
boolean |
default |
false |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
false
|
load_content_from_source
If true
, the report will render the question using the latest version stored in the item pool from which the assessment was served (or from the itembank if no item pool was used). If false
, the report will always retrieve the version of the question served at the time of the session. Note: true
only works for sessions created with Items API. Using true
for a session created via Assess API or Questions API will throw an invalid param error.
type |
boolean |
default |
false
|
Progress by Tag
For a single user, shows a breakdown of their exposure and performance within a set of content. The set of content is specified using a tag hierarchy (a pre-configured set of tags). The first two levels of the tag hierarchy are used.
As an example, imagine a given tag hierarchy defines Subject tags (eg. Math, English) each comprising a set of Topic Areas (Arithmetic, Algebra, Geometry):
-
The report shows the percentage of items the user has seen in each Subject. The percentage is in proportion to all items tagged with that Subject in the entire itembank. The report also shows how many items the user got correct in that subject, as a percentage of all items they've seen for the Subject. An item counts as "seen" if it appeared in at least one of the user's saved sessions.
-
Drilling down on a Subject shows how many items the user got correct in each Topic Area of that Subject, as a percentage of all items they've seen for the Topic Area.
The report uses dichotomous item scoring to calculate the number of correct items, so partially correct items are counted as incorrect for the calculation of the "% correct" figures. If the user has responded to an item more than once, the most recent score is used.
Example - Progress by Tag
{
"id": "report-3",
"type": "progress-by-tag",
"user_id": "mce_student_1",
"hierarchy_reference": "CCSS"
}
Attributes - Progress by Tag
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
progress-by-tag
|
ui
The user interface style for this report. Options:
table
,
bar-chart
type |
string |
default |
table
|
user_id
The ID of the user to show progress for.
hierarchy_reference
The reference of the tag hierarchy to show progress against.
tag_labels
Choose whether to use the tag name
or description
for the labels shown in the report. When the description
option is set and a tag does not have a description, the tag's name will be used instead.
type |
string |
default |
description |
organisation_id
The ID of the Item bank to fetch Item data and Tag content and Hierarchies from. This needs to match the organisation_id
used when initialising the Sessions.
The consumer making the request will need to have access to the Item bank. This access can be ensured via API consumers configuration in the Learnosity Console.
type |
integer |
default |
The API Consumer's primary organisation. |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Progress by Tag By User
For a group of users, shows a breakdown of their progress and performance within a set of content. The set of content is specified as one specific tag type within a tag hierarchy (a pre-configured set of tags).
As an example, imagine a given tag hierarchy defines ContentPool tags (eg. Formative, Quiz, Assessment) each comprising a set of Subjects (English, Math, History), each comprising a set of Topic Areas (eg. Arithmetic, Algebra, Geometry). If the report is given the tag path ContentPool:Formative -> Subject:Math, then:
- The report shows each Topic Area of Formative Math, and
-
Each user's percentage score correct, incorrect and incomplete within the topic area. Each percentage is in proportion to all Formative Math items in the itembank for that Topic Area. Unattempted items count as "incomplete", as does any item that has never appeared in a saved session for that user.
The report uses partial item scoring, so the progress percentage is calculated as the sum of scores on completed items, including any partially correct scores, as a proportion of the maximum possible score if all items in the Topic Area were completed and fully correct. If the user has responded to an item more than once, the most recent score is used.
Example - Progress by Tag By User
{
"id":"report-9",
"type":"progress-by-tag-by-user",
"users":[{"id":"mce_student_1","name":"Brian Moser"},{"id":"mce_student_2","name":"John Carter"}],
"hierarchy_reference":"CCSS"
}
Attributes - Progress by Tag By User
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
progress-by-tag-by-user
|
ui_clickable
Toggle clickable styling for certain elements.
If you listen for a click event using
on()
, the corresponding attribute below will be
true
by default:
Key |
Type |
Description |
user
|
boolean |
Clickable style for user names. |
tag
|
boolean |
Clickable style for tag names. |
progress
|
boolean |
Clickable style for progress cells. |
users
An array of one or more user objects:
Key |
Type |
Default |
Description |
ids
*
|
string |
|
The ID of the user. |
name
*
|
string |
|
The name of the user for display purposes. |
hierarchy_reference
The tag hierarchy to show progress against.
tag_hierarchy_path
An array of tags describing the path through the hierarchy, starting at the top level moving down to the tag you want to report progress on.
By default, the report will be based on the top level of the hierarchy.
Key |
Type |
Default |
Description |
type
*
|
string |
|
The type of the tag. |
name
*
|
string |
|
The name of the tag. |
tag_labels
Choose whether to use the tag name
or description
for the labels shown in the report. When the description
option is set and a tag does not have a description, the tag's name will be used instead.
type |
string |
default |
description |
organisation_id
The ID of the Item bank to fetch Item data and Tag content and Hierarcies from. This needs to match the organisation_id
used when initialising the Sessions.
The consumer making the request will need to have access to the Item bank. This access can be ensured via API consumers configuration in the Learnosity Console.
type |
integer |
default |
The API Consumer's primary organisation. |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Event Progress by Tag by User
For a group of users, shows how often a specific event was triggered as they progressed through a set of content. The set of content is specified as one specific tag type within a tag hierarchy (a pre-configured set of tags).
As an example, imagine a given tag hierarchy defines ContentPool tags (eg. Formative, Quiz, Assessment) each comprising a set of Subjects (English, Math, History), each comprising a set of Topic Areas (eg. Arithmetic, Algebra, Geometry). If the report is given the tag path ContentPool:Quiz -> Subject:Math and the event_id "received_help", then:
- The report shows each Topic Area of the Math Quiz items, and
-
The percentage of the item scores in each Topic Area for which the "received_help" event was triggered during any of the user's sessions.
The report uses partial item scoring, so each percentage is in proportion to the maximum possible score across all Math Quiz items in the itembank for that Topic Area. Therefore, the percentage measures how much of the maximum possible score for the specified tags coincided with a particular event.
The flexibility of the event progress by tag by user report makes it well suited to advanced use cases and analysis of user behaviour. Consider these scenarios:
-
Use a custom "show_calculator" event to report how often users use a calculator.
-
Use a custom "link_clicked" event to report how often users click an external link to view some reference content.
-
Use a custom "time_threshold_elapsed" event to report instances where users take a certain amount of time to answer questions.
Example - Event Progress by Tag by User
{
"id": "event-progress-1",
"type": "event-progress-by-tag-by-user",
"users": [
{ "id": "brianmoser", "name": "Brian Moser" },
{ "id": "12345678", "name": "John Carter" }
],
"event": {
"id": "correct_with_help",
"display": "Correct with Help"
},
"hierarchy_reference": "questiontype",
"tag_hierarchy_path": [
{
"type": "questiontype",
"name": "clozeassociation"
}
]
}
Attributes - Event Progress by Tag by User
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
event-progress-by-tag-by-user
|
ui_clickable
Toggle clickable styling for certain elements.
If you listen for a click event using
on()
, the corresponding attribute below will be
true
by default:
Key |
Type |
Description |
user
|
boolean |
Clickable style for user names. |
tag
|
boolean |
Clickable style for tag names. |
progress
|
boolean |
Clickable style for progress cells. |
users
An array of one or more user objects:
Key |
Type |
Default |
Description |
id *
|
string |
|
The ID of the user. |
name *
|
string |
|
The name of the user for display purposes. |
event
An object that describes the event to show progress on.
Key |
Type |
Description |
id *
|
string |
The ID of the event. The event ID must be configured by Learnosity for your consumer before using this report.
|
display *
|
string |
The name of the event for display purposes. |
hierarchy_reference
The tag hierarchy to show progress against.
tag_hierarchy_path
An array of tags describing the path through the hierarchy, starting at the top level moving down to the tag you want to report progress on.
By default, the report will be based on the top level of the hierarchy.
Key |
Type |
Default |
Description |
type *
|
string |
|
The type of the tag. |
name *
|
string |
|
The name of the tag. |
tag_labels
Choose whether to use the tag name
or description
for the labels shown in the report. When the description
option is set and a tag does not have a description, the tag's name will be used instead.
type |
string |
default |
description |
organisation_id
The ID of the Item bank to fetch Item data and Tag content and Hierarcies from. This needs to match the organisation_id
used when initialising the Sessions.
The consumer making the request will need to have access to the Item bank. This access can be ensured via API consumers configuration in the Learnosity Console.
type |
integer |
default |
The API Consumer's primary organisation. |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Progress - Single
For a single user, shows a breakdown of their progress and performance within a set of content. The set of content is specified as single tag type within a tag hierarchy (a pre-configured set of tags).
As an example, imagine a given tag hierarchy defines ContentPool tags (eg. Formative, Quiz, Assessment) each comprising a set of Subjects (English, Math, History). If the report is given the tag path ContentPool:Formative -> Subject:Math, then:
-
The report shows the user's percentage score correct, incorrect and incomplete within all Formative Math content. Each percentage is in proportion to all items in the itembank tagged as Formative Math. Unattempted items count as "incomplete", as does any item that has never appeared in a saved session for that user.
The report uses partial item scoring, so the progress percentage is calculated as the sum of scores on completed items, including any partially correct scores, as a proportion of the maximum possible score if all items in the Subject were completed and fully correct. If the user has responded to an item more than once, the most recent score is used.
Example - Progress - Single
{
"id": "progress-bar-1",
"type": "progress-single",
"ui": "bar",
"user_id": "12345678",
"hierarchy_reference": "book",
"tag_hierarchy_path": [
{
"type": "course",
"name": "maths"
},
{
"type": "chapter",
"name": "4 - Probability"
}
]
}
Attributes - Progress - Single
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
progress-single
|
ui
The user interface style for this report. Options:
bar
,
pie
user_id
The ID of the user to show progress for.
hierarchy_reference
The tag hierarchy to show progress against.
tag_hierarchy_path
An array of tags describing the path through the hierarchy, starting at the top level moving down to the tag you want to report progress on.
Key |
Type |
Default |
Description |
type
*
|
string |
|
The type of the tag. |
name
*
|
string |
|
The name of the tag. |
organisation_id
The ID of the Item bank to fetch Item data and Tag content and Hierarcies from. This needs to match the organisation_id
used when initialising the Sessions.
The consumer making the request will need to have access to the Item bank. This access can be ensured via API consumers configuration in the Learnosity Console.
type |
integer |
default |
The API Consumer's primary organisation. |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Last Score by Activity by User
For a group of users, lists their most recent numeric and percentage score on one or more activities. The report can be configured to calculate the overall score as the number of items correct (dichotomous scoring), or as the sum of scores on each individual question (partial scoring). Remember that each item container may contain multiple individual questions. Use the
scoring_type
parameter to specify how the overall score should be calculated.
Example - Last Score by Activity by User
{
"id": "report-5",
"type": "lastscore-by-activity-by-user",
"scoring_type": "partial",
"ui": "numeric",
"display_time_spent": true,
"users": [
{"id": "mce_student", "name": "Jesse Pinkman"},
{"id": "mce_student_1", "name": "Walter White"},
{"id": "mce_student_2", "name": "Skylar White"},
{"id": "mce_student_3", "name": "Saul Goodman"}
],
"activities": [
{"id": "Summer_Test_1", "name": "Summer Test"},
{"id": "Weekly_Math_Quiz", "name": "Weekly Math Quiz"}
]
}
Attributes - Last Score by Activity by User
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
lastscore-by-activity-by-user
|
ui
The user interface style for this report. Options:
bar
,
numeric
ui_clickable
Toggle clickable styling for certain elements.
If you listen for a click event using
on()
, the corresponding attribute below will be
true
by default:
Key |
Type |
Description |
user
|
boolean |
Clickable style for user names. |
activity
|
boolean |
Clickable style for activity names. |
score
|
boolean |
Clickable style for score cells. |
scoring_type
How to display item scores; dichotomous (right/wrong) or partial scoring. Options:
dichotomous
,
partial
type |
string |
default |
dichotomous
|
users
An array of one or more user objects:
Key |
Type |
Default |
Description |
id
*
|
string |
|
The ID of the user. |
name
*
|
string |
|
The name of the user for display purposes. |
activities
An array of one or more activity objects:
Key |
Type |
Default |
Description |
id
*
|
string |
|
The ID of the activity. |
name
|
string |
id
|
The name of the activity for display purposes. |
display_time_spent
If display_time_spent
is set to true
, the time spent on each activity is shown in the tooltips for each activity score. Time spent is categorized by correct, incorrect, unattempted, unmarked and total items.
Note: time spent is always calculated dichotomously for the items in each activity, regardless of what scoring_type
is set for this report. Time spent for partially unmarked items will be reported as unmarked; for fully marked items, time spent on partially attempted and partially correct items will be reported as incorrect. This means a report in partial scoring mode may show a non-zero correct score, but no time spent on correct items.
type |
boolean |
default |
false |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Last Score by Activity
For a single user, lists their most recent numeric and percentage score on one or more activities. The report can be configured to calculate the overall score as the number of items correct (dichotomous scoring), or as the sum of scores on each individual question (partial scoring). Remember that each item container may contain multiple individual questions. Use the
scoring_type
parameter to specify how the overall score should be calculated.
Example - Last Score by Activity
{
"id": "report-6",
"type": "lastscore-by-activity",
"scoring_type": "partial",
"user_id": "mce_student",
"display_time_spent": true,
"activities": [
{"id": "Summer_Test_1", "name": "Summer Test"},
{"id": "Weekly_Math_Quiz", "name": "Weekly Math Quiz"}
]
}
Attributes - Last Score by Activity
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
lastscore-by-activity
|
user_id
The ID of the user to show progress for.
ui
The user interface style for this report. Options:
bar
,
numeric
ui_clickable
Toggle clickable styling for certain elements.
If you listen for a click event using
on()
, the corresponding attribute below will be
true
by default:
Key |
Type |
Description |
activity
|
boolean |
Clickable style for activity names. |
score
|
boolean |
Clickable style for score cells. |
scoring_type
How to display item scores; dichotomous (right/wrong) or partial scoring. Options:
dichotomous
,
partial
type |
string |
default |
dichotomous
|
activities
An array of one or more activity objects:
Key |
Type |
Default |
Description |
id
*
|
string |
|
The ID of the activity. |
name
|
string |
id
|
The name of the activity for display purposes. |
display_time_spent
If display_time_spent
is set to true
, the time spent on each activity is shown in the tooltips for each activity score. Time spent is categorized by correct, incorrect, unattempted, unmarked and total items.
Note: time spent is always calculated dichotomously for the items in each activity, regardless of what scoring_type
is set for this report. Time spent for partially unmarked items will be reported as unmarked; for fully marked items, time spent on partially attempted and partially correct items will be reported as incorrect. This means a report in partial scoring mode may show a non-zero correct score, but no time spent on correct items.
type |
boolean |
default |
false |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Last Score by Item by User
For a group of users, lists their most recent percentage score on a single activity and shows whether each item was correct, incorrect, unmarked or unattempted. The report can be configured to calculate the overall scores as the number of items correct (dichotomous scoring), or as the sum of scores on each individual question (partial scoring). Remember that each item container may contain multiple individual questions. Use the
scoring_type
parameter to specify how the overall score should be calculated.
The items in an activity may change from time to time, so this report can order and compare items using either their item reference, or using the original order in which the items appeared in each session. See the "align_items"
attribute for information on the two modes.
Note
See note about Item references
Example - Last Score by Item by User
{
"id": "report-7",
"type": "lastscore-by-item-by-user",
"display_time_spent": true,
"display_item_numbers": true,
"scoring_type": "partial",
"users": [
{"id": "mce_student", "name": "Jesse Pinkman"},
{"id": "mce_student_2", "name": "Skylar White"},
{"id": "mce_student_1", "name": "Walter White"},
{"id": "mce_student_3", "name": "Saul Goodman"}
],
"activity_id": "Weekly_Math_Quiz"
}
Attributes - Last Score by Item by User
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
lastscore-by-item-by-user
|
display_item_numbers
If display_item_numbers is set to true
, item numbers are displayed in the table header above each score column.
type |
boolean |
default |
false |
display_time_spent
If display_time_spent
is set to true
, the time spent on each item is shown in the tooltip that is activated by hovering over the item score icon.
type |
boolean |
default |
false |
ui_clickable
Toggle clickable styling for certain elements.
If you listen for a click event using
on()
, the corresponding attribute below will be
true
by default:
Key |
Type |
Description |
user
|
boolean |
Clickable style for user names. |
score
|
boolean |
Clickable style for score cells. |
scoring_type
How to display item scores; dichotomous (right/wrong) or partial scoring. Options:
dichotomous
,
partial
type |
string |
default |
dichotomous
|
users
An array of one or more user objects:
Key |
Type |
Default |
Description |
id
*
|
string |
|
The ID of the user. |
name
*
|
string |
|
The name of the user for display purposes. |
activity_id
The ID of the activity to report on.
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
align_items
Determines which items are returned for each session and how they are ordered in the report UI and raw data.
It may be set to one of the following strings:
"reference"
: The item nodes are ordered left-to-right according to the order of items in the session of the first specified user. If another user's session did not include one or more of those items, that session's raw data will not contain entries for the missing items, and those item nodes will not be displayed in the UI. Use this mode where each session is expected to contain the same items (in a potentially variable order).
"index"
: The item nodes are ordered left-to-right according to the order they appeared in each session. The full list of items for each session is returned in their original order. If one or more sessions contain a different number of items, the report UI will expand to accommodate all items in the largest session. Shorter sessions will be padded with blank nodes in the UI. Use this mode where each session may contain different items. You can use the default UI to compare the sessions based on the order the items were presented, or access the raw data to compare the sessions in a different way.
type |
string |
default |
"reference"
|
Last Score by Tag by User
For a group of users, lists their most recent performance on a single activity, categorised by tags. The report shows the percentage of correct, incorrect and unattempted items within each tag category. The tag categories to include will be taken from the first level of the specified tag hierarchy.
The report dynamically determines which items were served during the given session/s, and calculates the percentage score for each tag as a proportion of all items in the session bearing that tag. For example, if the session included 8 items tagged Math, and the user had 6 correct, the report calculates a score of 75% for that tag.
The report can be configured to calculate the overall score as the number of items correct (dichotomous scoring), or as the sum of scores on each individual question (partial scoring). Remember that each item container may contain multiple individual questions. Use the scoring_type
parameter to specify how the overall score should be calculated.
Example - Last Score by Tag by User
{
"id": "report-8",
"type": "lastscore-by-tag-by-user",
"display_time_spent": true,
"users": [
{"id": "mce_student", "name": "Jesse Pinkman"},
{"id": "mce_student_1", "name": "Walter White"},
{"id": "mce_student_2", "name": "Skylar White"},
{"id": "mce_student_3", "name": "Saul Goodman"}
],
"activity_id": "Weekly_Math_Quiz",
"hierarchy_reference": "DepthofKnowledge"
}
Attributes - Last Score by Tag by User
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
lastscore-by-tag-by-user
|
scoring_type
How to display item scores; dichotomous (right/wrong) or partial scoring. Options:
dichotomous
,
partial
type |
string |
default |
dichotomous
|
users
An array of one or more user objects:
Key |
Type |
Default |
Description |
id
*
|
string |
|
The ID of the user. |
name
*
|
string |
|
The name of the user for display purposes. |
activity_id
The ID of the activity to report on.
hierarchy_reference
The reference of the tag hierarchy to report against. Only top tag type of tag hierarchy specified is used.
tag_labels
Choose whether to use the tag name
or description
for the labels shown in the report. When the description
option is set and a tag does not have a description, the tag's name will be used instead.
type |
string |
default |
description |
organisation_id
The ID of the Item bank to fetch Item data and Tag content and Hierarcies from. This needs to match the organisation_id
used when initialising the Sessions.
The consumer making the request will need to have access to the Item bank. This access can be ensured via API consumers configuration in the Learnosity Console.
type |
integer |
default |
The API Consumer's primary organisation. |
ui_clickable
Toggle clickable styling for certain elements.
If you listen for a click event using
on()
, the corresponding attribute below will be
true
by default:
Key |
Type |
Description |
user
|
boolean |
Clickable style for user names. |
score
|
boolean |
Clickable style for score cells. |
display_time_spent
If display_time_spent
is set to true
, the time spent on each activity and tag is shown in the tooltips for each activity and tag score. Time spent is categorized by correct, incorrect, unattempted, unmarked and total items.
Note: time spent is always calculated dichotomously for the items in each activity, regardless of what scoring_type
is set for this report. Time spent for partially unmarked items will be reported as unmarked; for fully marked items, time spent on partially attempted and partially correct items will be reported as incorrect. This means a report in partial scoring mode may show a non-zero correct score, but no time spent on correct items.
type |
boolean |
default |
false |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Last Score - Single
For a single user, shows the overall score for their most recent session on a single activity, rendered as a standalone bar chart or pie chart suitable for incorporating into custom reporting pages. Hovering over the chart graphic shows a breakdown of the score including correct, incorrect and unattempted components. The report uses partial item scoring, so the overall score is the sum of the individual item scores, including any partially correct items.
Example - Last Score - Single
{
"id": "lastscore-bar-1",
"type": "lastscore-single",
"ui": "bar",
"user_id": "12345678",
"activity_id": "mid-term"
}
Attributes - Last Score - Single
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
lastscore-single
|
ui
The user interface style for this report. Options:
bar
,
pie
user_id
The ID of the user to show progress for.
activity_id
The ID of the activity to report on.
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Live Activity Status by User
A live report that renders activity status information for users including:
- Name of the activity (optional, depending on the
display_activity
parameter)
- Status of the activity and whether the activity is paused
- Status of the student (window/tab focused or unfocused) [Only when using Assess API ≥ 2.61.0]
- Current item or question the user is viewing
When initializing a live report, the user_id is mandatory in the security object,
see the Security section.
There is also a flag to enable
control events
, which give administrators
the ability to send push events to users terminals, enabling them to:
- Pause/Unpause
- Extend Test Time
- Send student to a specific item
- Exit & Save
- Exit & Discard
Note
This report is primarily for monitoring student progress during proctored assessments. It is updated based on live interactions of students with their assessments in real time. It should not be used to display, analyze, or control historical sessions. Unless a student is interacting live with their assessment, this report will show that user as inactive and control events for their assessment will be ignored. For use cases involving session management, we recommend integrating with Data API's endpoints for status polling and forcing submission.
Example - Live Activity Status by User
{
"id": "report-23",
"type": "live-activitystatus-by-user",
"activity": {
"id": "itemassessdemo",
"name": "Demo Test"
},
"show_user_selectors" : true,
"show_action_controls" : true,
"display_activity": true,
"users": [
{
"id": "brianmoser",
"name": "Brian Moser",
"hash": "7224f1cd26c7eaac4f30c16ccf8e143005734089724affe0dd9cbf008b941e2d"
},
{
"id": "walterwhite",
"activity": {
"id": "myactivitydemo",
"name": "My Demo Activity"
},
"name": "Walter White",
"hash": "fd1888ffc8cf87efb4ab620401130c76fc8dff5ca04f139e23a7437c56f8f310"
}
]
}
Attributes - Live Activity Status by User
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
live-activitystatus-by-user
|
show_user_selectors
Determine whether to display user selectors. If true
, selectors can be used to select one or more users displayed in the report. Use getSelectedUsers()
to retrieve the currently selected user(s).
Passing this option will override the default set by control_events
.
type |
boolean |
default |
false
|
show_action_controls
Determine whether to display the action drop down menu. If true
, the action drop down menu will be displayed. The action drop down menu can be used to send control events to the selected user(s), eg. pause, unpause, extend time, etc.
Passing this option will override the default set by control_events
.
type |
boolean |
default |
false
|
control_events
If true
, show_user_selectors
and show_action_controls
will be defaulted as true
.
type |
boolean |
default |
false
|
activity
The global activity config to apply to each user in the report.
Key |
Type |
Description |
id
|
string |
The ID of the activity to filter by. Can be overridden per user.
|
name
|
string |
The name of the activity for display purposes. |
display_activity
If set to true
, the name of the activity will be displayed (useful if more than one activity filter is specified per user).
type |
boolean |
default |
false
|
users
An array of one or more user objects:
Key |
Type |
Description |
id
*
|
string |
The ID of the user. |
name
|
string |
The name of the user for display purposes. |
activity
|
object |
The per-user activity config. If set, each property in this object overrides the report's global activity config for this user.
Valid properties are id
and
name
.
|
hash
*
|
string |
The hash is resulting from applying the
SHA256 hashing algorithm
to the concatenation of the user
id
and
consumer_secret
(no delimiters).
|
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Activity Summary by Group
An aggregate report for exploring results for groups of users across one or more activity_ids
. User groupings are defined during report generation and can be used to analyse results by region, school, class, demographic traits or any other arbitrary grouping. The report displays a configurable set of statistical measures about each group including the mean, median, percentile, standard deviation and many others. See the full list of available fields.
The report is initialised with the dataset_id
of a precomputed dataset created via Data API's /reports/datasets endpoints. The specified dataset must be of the type "activity-summary-by-group"
.
See the aggregate reports section for an introduction to creating and using them.
Example - Activity Summary by Group
{
"id": "activity-summary-by-group-report",
"type": "activity-summary-by-group",
"dataset_id": "616ee247-efb1-4448-8c61-00a1dc5f8e9b",
"group_path": [],
"columns": [
{
"type": "group_name",
"label": "Group name"
},
{
"type": "numeric",
"field": "population",
"label": "Students"
},
{
"type": "numeric",
"field": "lowest_percent",
"label": "Lowest score %"
},
{
"type": "numeric",
"field": "highest_percent",
"label": "Highest score %"
},
{
"type": "numeric",
"field": "mean_percent",
"label": "Average score %"
},
{
"type": "numeric",
"field": "median_percent",
"label": "Median score %"
},
{
"type": "numeric",
"field": "p75_percent",
"label": "75th percentile"
}
]
}
Attributes - Activity Summary by Group
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
activity-summary-by-group
|
dataset_id
Specifies the dataset to render in this report. The aggregate reports implementation guide describes how to create a new dataset. The type of the specified dataset must be "activity-summary-by-group"
.
group_path
Array of string group names indicating the group path which should initially display upon load. The root group path []
is displayed by default.
always_show_group_ancestors
Flag that specifies whether or not to display the ancestor rows for the current group in the report when navigating down the group hierarchy.
type |
boolean |
default |
false
|
columns
If provided, specifies an array of ColumnDefinition
objects defining which of the dataset's fields should be displayed when viewing group-level data. A custom header label can be specified for each column too. By default, the report will display all fields contained in the dataset using the default header labels for those fields.
See the columns reference page for detailed information on the available column types and their properties.
user_columns
If provided, specifies an array of ColumnDefinition
objects defining which of the dataset's fields should be displayed when viewing user-level data. A custom header label can be specified for each column too. By default, the report will display all fields contained in the dataset using the default header labels for those fields.
See the columns reference page for detailed information on the available column types and their properties.
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Events - Activity Summary by Group
Name |
Data |
Description |
load:data
|
Object |
The initial data for the report is loaded. The event handler is passed the raw data object for the group_path with which the report was initialised. The object structure is equivalent to that available via getGroup() . |
change:data
|
Object |
Fires after the data for a new group_path is loaded, in response to user navigation or a call to viewGroup() . The event handler is passed the raw data object for the newly loaded group_path . The object structure is equivalent to that available via getGroup() .
|
-- |
Sessions Summary by Group
An aggregate report for exploring results for groups of users across one or more specific session_ids
. User groupings are defined during report generation and can be used to analyse results by region, school, class, demographic traits or any other arbitrary grouping. The report displays a configurable set of statistical measures about each group including the mean, median, percentile, standard deviation and many others. See the full list of available fields.
The report is initialised with the dataset_id
of a precomputed dataset created via Data API's /reports/datasets endpoints. The specified dataset must be of the type "sessions-summary-by-group"
.
Once initialised, usage of the sessions-summary-by-group
report is identical to the activity-summary-by-group
.
See the aggregate reports section for an introduction to creating and using them.
Example - Sessions Summary by Group
{
"id": "sessions-summary-by-group-report",
"type": "sessions-summary-by-group",
"dataset_id": "8a280519-f779-445a-9116-8440512b28ad",
"group_path": [],
"columns": [
{
"type": "group_name",
"label": "Group name"
},
{
"type": "numeric",
"field": "population",
"label": "Students"
},
{
"type": "numeric",
"field": "lowest_percent",
"label": "Lowest score %"
},
{
"type": "numeric",
"field": "highest_percent",
"label": "Highest score %"
},
{
"type": "numeric",
"field": "mean_percent",
"label": "Average score %"
},
{
"type": "numeric",
"field": "median_percent",
"label": "Median score %"
},
{
"type": "numeric",
"field": "p75_percent",
"label": "75th percentile"
}
]
}
Attributes - Sessions Summary by Group
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
sessions-summary-by-group
|
dataset_id
Specifies the dataset to render in this report. The aggregate reports implementation guide describes how to create a new dataset. The type of the specified dataset must be "sessions-summary-by-group"
.
group_path
Array of string group names indicating the group path which should initially display upon load. The root group path []
is displayed by default.
always_show_group_ancestors
Flag that specifies whether or not to display the ancestor rows for the current group in the report when navigating down the group hierarchy.
type |
boolean |
default |
false
|
columns
If provided, specifies an array of ColumnDefinition
objects defining which of the dataset's fields should be displayed when viewing group-level data. A custom header label can be specified for each column too. By default, the report will display all fields contained in the dataset using the default header labels for those fields.
See the columns reference page for detailed information on the available column types and their properties.
user_columns
If provided, specifies an array of ColumnDefinition
objects defining which of the dataset's fields should be displayed when viewing user-level data. A custom header label can be specified for each column too. By default, the report will display all fields contained in the dataset using the default header labels for those fields.
See the columns reference page for detailed information on the available column types and their properties.
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
Events - Sessions Summary by Group
Name |
Data |
Description |
load:data
|
Object |
The initial data for the report is loaded. The event handler is passed the raw data object for the group_path with which the report was initialised. The object structure is equivalent to that available via getGroup() . |
change:data
|
Object |
Fires after the data for a new group_path is loaded, in response to user navigation or a call to viewGroup() . The event handler is passed the raw data object for the newly loaded group_path . The object structure is equivalent to that available via getGroup() .
|
-- |
Item Scores by Tag by User
Also known as the Learning Outcomes Report, this is a drilldown report for exploring progress and results for one or more students, with breakdown by tags.
This report can display granular results by any taggable attribute of your content, like topic area, learning outcome, content type, difficulty and depth of knowledge. It can also show results for intersections of those attributes (eg. scores for word-based algebraic math Questions at beginner level).
The drilldown and score breakdown behaviour is dynamically configured in-browser when initializing Reports API, based on tag types. This provides for very flexible reporting and reconfiguration on the fly.
The report uses a concept of Live Datasets to provide real-time score data as student sessions are submitted. To get started using this report type, speak to our support team about the tag types you'd like to use for your drill down behaviour.
Note
- This report is a premium bundle add-on. Contact support to make sure you have access.
- The learning outcomes report does not currently support multiple Item banks.
- The learning outcomes report is not currently integrated with any partner Item Banks.
Example - Item Scores by Tag by User
{
"reports": [
{
"id": "item-scores-by-tag-by-user-report",
"type": "item-scores-by-tag-by-user",
"items_tags_live_dataset_reference": "content-hierarchy-items-dataset-00001",
"session_items_live_dataset_reference": "content-hierarchy-sessions-dataset-00001",
"users": [
{
"id": "user_20180417a_00001",
"name": "Milhouse Vanhouten"
},
{
"id": "user_20180417a_00002",
"name": "Bart Simpson"
},
{
"id": "user_20180417a_00003",
"name": "Sherri Mackleberry"
}
],
"row_tag_type": "ch_proficiency_strand",
"column_tag_types": [
"ch_topic",
"ch_subtopic",
"ch_curriculum_code"
],
"item_tags": [
{
"type": "ch_title",
"name": "content_hierarchy_001"
}
]
}
],
"label_bundle": {
"total": "Practical Math, 2nd Ed."
}
}
Attributes - Item Scores by Tag by User
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
item-scores-by-tag-by-user |
Reference to an item tags live dataset. Please contact us to set up a live dataset that meets your needs.
session_items_live_dataset_reference
Reference to a session items live dataset. Please contact us to set up a live dataset that meets your needs.
users
An array of one or more user objects:
Key |
Type |
Description |
id
*
|
string |
The ID of the user. |
name
*
|
string |
The name of the user for display purposes. |
row_tag_type
A tag type to use for pivoting data into rows per user. If omitted, the report will not display scores by tags rows, but instead show the scores on the student level.
column_tag_types
Array of string tag types indicating the hierarchy of the column data. Each tag type add a level to the report.
session_statuses
Array containing strings of sessions_statuses to include.
An array of tags limiting the data of the report to sessions that include the specified tags.
Key |
Type |
Default |
Description |
type
*
|
string |
|
The type of the tag. |
name
*
|
string |
|
The name of the tag. |
An array of tags limiting the data of the report to items that include the specified tags.
Key |
Type |
Default |
Description |
type
*
|
string |
|
The type of the tag. |
name
*
|
string |
|
The name of the tag. |
activity_ids
A set of activity IDs for optional filtering.
min_time_started
A timestamp filter based on the created time of the sessions. The earliest UTC Unix timestamp or datetime string (in ISO 8601 format) to filter results to.
type |
int | string |
default |
- |
max_time_started
A timestamp filter based on the created time of the sessions. The latest UTC Unix timestamp or datetime string (in ISO 8601 format) to get results from.
type |
int | string |
default |
- |
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
type |
boolean |
default |
true
|
tag_labels
Choose whether to use the tag name
or description
for the labels shown in the report. When the description
option is set and a tag does not have a description, the tag's name will be used instead.
type |
string |
default |
description |
Response Analysis by Item
For a group of users having taken assessments consisting of the same set of Items, compare their responses side-by-side. Two views are available.
- A grid view allows to quickly compare users' responses to each Item, as well as the scores they obtained.
- A detailed view shows the full Items, and has the ability to show each of the responses users have given.
All provided sessions must contain identical Items, as matched by Item reference, Question reference(s) and
Question content. The ordering of Items in the provided sessions may be shuffled within each session, as long as the
set of Items is the same.
A dataListener
can also be used to retrieve the raw data.
The ordering of Items returned in the raw data for each session will respect the ordering of Items seen by each student.
The responses given by the student must therefore be joined to their respective Item permutation by matching the
sessions[].responses.items[].item_id
to items[].item_id
.
If the users
array is supplied, the ordering of Sessions returned in the raw data will follow
the order of the session's owner appearing in the users
array.
Otherwise, the sessions will be ordered by reverse chronological order of updated time.
This report has the ability to use the keyboard for interacting with the chart, in accordance with WCAG 2.1 guidelines.
Keyboard interaction added in version: v2020.2.LTS
Example - Response Analysis by Item
{
"reports": [
{
"id": "response-analysis-by-item-report",
"type": "response-analysis-by-item",
"question_source": "original",
"session_ids": [
"c8df0f45-2bfd-4d6c-9de1-20200224c001",
"c8df0f45-2bfd-4d6c-9de1-20200224c002",
"c8df0f45-2bfd-4d6c-9de1-20200224c003",
"c8df0f45-2bfd-4d6c-9de1-20200224c004",
"c8df0f45-2bfd-4d6c-9de1-20200224c005",
"c8df0f45-2bfd-4d6c-9de1-20200224c006",
"c8df0f45-2bfd-4d6c-9de1-20200224c007",
"c8df0f45-2bfd-4d6c-9de1-20200224c008",
"c8df0f45-2bfd-4d6c-9de1-20200224c009",
"c8df0f45-2bfd-4d6c-9de1-20200224c010",
"c8df0f45-2bfd-4d6c-9de1-20200224c011",
],
"users": [
{"id": "user_20200224a_00001", "name": "Milhouse Vanhouten"},
{"id": "user_20200224c_00002", "name": "Bart Simpson"},
{"id": "user_20200224c_00003", "name": "Sherri Mackleberry"},
{"id": "user_20200224c_00004", "name": "Nelson Muntz"},
{"id": "user_20200224c_00005", "name": "Terri Mackleberry"},
{"id": "user_20200224c_00006", "name": "Lewis Clark"},
{"id": "user_20200224c_00007", "name": "Adrian Belew"},
{"id": "user_20200224c_00008", "name": "Martin Prince"},
{"id": "user_20200224c_00009", "name": "Wendell Borton"},
{"id": "user_20200224c_00010", "name": "Nina Skalka"},
{"id": "user_20200224c_00011", "name": "Sophie Jensen"}
],
"item_reference_map": [
{"reference": "20200224_responseAnalysis_i01", "name": "Item 1"},
{"reference": "20200224_responseAnalysis_i02", "name": "Item 2"},
{"reference": "20200224_responseAnalysis_i03", "name": "Item 3"},
{"reference": "20200224_responseAnalysis_i04", "name": "Item 4"},
{"reference": "20200224_responseAnalysis_i05", "name": "Item 5"},
{"reference": "20200224_responseAnalysis_i06", "name": "Item 6"},
{"reference": "20200224_responseAnalysis_i07", "name": "Item 7"},
{"reference": "20200224_responseAnalysis_i08", "name": "Item 8"},
{"reference": "20200224_responseAnalysis_i09", "name": "Item 9"},
{"reference": "20200224_responseAnalysis_i10", "name": "Item 10"}
],
"render": true
}
]
}
Attributes - Response Analysis by Item
id
The ID attribute of the HTML hook for this report.
type
The type of this report.
type |
string |
default |
response-analysis-by-item |
session_ids
An array of one or more session IDs to report on.
users
An array of one or more user objects:
Key |
Type |
Description |
id
*
|
string |
The ID of the user. |
name
*
|
string |
The name of the user for display purposes. |
question_source
This parameter determines whether the detailed view displays
the original Item as seen by a student or the Item as
currently used for scoring. (See the related
Questions API parameter
and the
Data API Update Item method.)
Version added: v2021.3.LTS
type |
string |
values |
original Display the Item as originally seen by the student
scorable Display the version of the Item currently used for backend scoring
|
default |
scorable |
item_reference_map
An array of one or more objects providing user-friendly names for the Items in the sessions.
Key |
Type |
Description |
reference *
|
string |
The reference of the Item in the Item bank. |
name *
|
string |
The user-friendly name of the Item for display purposes. |
enable_histograms
Render Item response histogram charts in the report UI. This controls the histogram charts in both the grid and detail views.
Version added: v2020.2.LTS
type |
boolean |
default |
true
|
render
Renders the report in place of a DOM element with matching ID.
Note
You would set this property to false if you wanted to receive the raw report data only and use your own custom UI to display it.
Pass render: false
and use a dataListener
to get raw data.
type |
boolean |
default |
true
|