xapiapps checklists/assessments include Observation Checklists, Coach Checklists, Self Assessments, and the checklist component of Group Training. They all follow the same statement format and protocol.

Statements are sent when a checklist is signed off. A checklist with 5 questions sends 6 statements; one per question, plus one statement for the checklist as a whole.


Example of xAPI statement

Successfully completed assessment

Unsuccessfully completed assessment

xAPI statements:

  • Individual question xAPI statements
    • <actor> correctly completed <question title>
    • <actor> incorrectly completed <question title>
  • Whole checklist/assessment xAPI statement
    • <actor> completed <checklist/assessment title> with score <percentage of score>

xAPI statement Structure

General structure for a statement (for both questions and whole checklist). More explanation for words in bold are below.

{
    "id": ..., // generated statement id
    "timestamp": ..., // timestamp when the checklist was signed off
    "actor": ...,   // LEARNER
    "context": {
        "contextActivities": {
            "other": ..., // PATHWAY
            "parent": ... // PARENT (question statements only)
        },
        "instructor": ..., // OBSERVER
        "registration": // REGISTRATION UUID
    },
    "object": ..., // OBJECT
    "result": ..., // RESULT
    "verb": {
        "display": {
            "en-US": "completed"
        },
        "id": "http://adlnet.gov/expapi/verbs/completed"
    }

LEARNER

The learner of the assessment/checklist is the actor.

See Actor Element of xAPI Statements.

PATHWAY

The pathway the checklist/assessment was part of is included in context.

See Pathway xAPI Statements

PARENT

This only applies to question level statements (not to the whole-checklist statement). The parent is a reference to the parent activity (the whole-checklist statement).

[
  {
    "definition": {
      "description": {
        "en-US": "myselfassess: Some introductory text"
      },
      "name": {
        "en-US": "myselfassess"
      },
      "type": "http://adlnet.gov/expapi/activities/assessment/"
    },
    "id": "https://acme.xapiapps.com/xapi/def/assdef/f4be0162-6254-ada2-653e-5f982823b4bd",
    "objectType": "Activity"
  }
]

Note that the name is the title text of the checklist, and the description is the titletext plus the introductory text.

OBSERVER

This is the observer for observation checklists, the coach for coach checklists, the learner for self assessments, and the roll taker for Group Training. It uses the actor format as described in the Actor section.

REGISTRATION UUID

This is a valid uuid related to the particular checklist instance (ie: one checklist being completed for one learner once); statements about the same checklist instance (whole checklist and question level) include the same registration.

OBJECT

Whole checklist OBJECT

For the whole checklist, the object looks like this:

{
  "definition": {
    "description": {
      "en-US": "Retail Management - Store Policies: Some introductory text"
    },
    "name": {
      "en-US": "Retail Management - Store Policies"
    },
    "type": "http://adlnet.gov/expapi/activities/assessment/"
  },
  "id": "http://acme.xapiapps.com/xapi/def/assdef/4f264be5-efee-4b14-91a3-bea1467a07a6",
  "objectType": "Activity"
}

Option questions OBJECT

(includes single-select, multi-select, likert scale)

For an option question, the object looks like this:

{
  "definition": {
    "choices": [
      {
        "description": {
          "en-US": "Yes"
        },
        "id": "Yes"
      },
      {
        "description": {
          "en-US": "No"
        },
        "id": "No"
      }
    ],
    "description": {
      "en-US": "Can you see that this is an option question?"
    },
    "interactionType": "choice",
    "name": {
      "en-US": "Can you see that this is an option question?"
    },
    "type": "http://adlnet.gov/expapi/activities/cmi.interaction"
  },
  "id": "https://acme.xapiapps.com/xapi/def/assdef/caf55137-e198-4c59-a954-49dce60eb9b9/q/509530d8-9fd1-40db-2bb3-812f17375798",
  "objectType": "Activity"
}

The choices section describes the options available to select from, and the name and description document the question being asked. The id uniquely identifies this question. Note that the actual answer given for the question is in the result section.

Text questions OBJECT

(includes text answer, date picker, counter)

For a text question, the object looks like this:

{
  "definition": {
    "description": {
      "en-US": "What does the learner think of text questions?"
    },
    "interactionType": "long-fill-in",
    "name": {
      "en-US": "What does the learner think of text questions?"
    },
    "type": "http://adlnet.gov/expapi/activities/cmi.interaction"
  },
  "id": "https://acme.xapiapps.com/xapi/def/assdef/caf55137-e198-4c59-a954-49dce60eb9b9/q/31a59043-1183-8d4a-0cff-288a7e3bcd0b",
  "objectType": "Activity"
}

The name and description document the question being asked. The id uniquely identifies this question. Note that the actual answer given for the question is in the result section.

RESULT

Whole checklist RESULT

Here’s a result for a top level checklist statement:

{
  "completion": true,
  "duration": "PT01M02S",
  "score": {
    "scaled": 0.8461538461538461
  },
  "success": true
}

The result section is filled out as follows:


checklist passedchecklist failedno pass/fail info
completiontruetruetrue
durationTime from start of checklist to signoff.Time from start of checklist to signoff.Time from start of checklist to signoff.
successtruefalsetrue
scoreScaled score if scoring turned on, otherwise not present.......


Option questions RESULT

(includes single-select, multi-select, likert scale)

Here’s a result for an option question:

{
  "completion": true,
  "response": "Yes",
  "score": {
    "max": 1,
    "min": 0,
    "raw": 1,
    "scaled": 1
  },
  "success": true
}

The result section is filled out as follows:


checklist passedchecklist failedno pass/fail info
completiontruetruetrue
responseText of chosen response.

If multi-choice:
"<choice 1>, <choice 2>,..."
e.g. "A, C and E"
Text of chosen response.

If multi-choice:
"<choice 1>, <choice 2>,..."
e.g. "A, C and E"
Text of chosen response.

If multi-choice:
"<choice 1>, <choice 2>,..."
e.g. "A, C and E"
successtruefalsetrue
scoreIncludes the min & max possible value for the question, the raw score of the chosen response, and the scaled version of the score for the response. Not present if checklist isn’t scored.......


Text questions RESULT

(includes text answer, date picker, counter)

Here’s a result for an text question:

{
  "completion": true,
  "response": "The learner reported some confusing with the task",
  "success": true
}

The result section is filled out as follows:


checklist passedchecklist failedno pass/fail info
completiontruetruetrue
responseText enteredText enteredText entered
successtruefalsetrue
scoretext answers don't have scorestext answers don't have scorestext answers don't have scores