{
    "@context": "https://w3id.org/xapi/profiles/context",
    "id": "https://xapi.com.au/profiles/course-builder",
    "type": "Profile",
    "conformsTo": "https://w3id.org/xapi/profiles#1.0",
    "prefLabel": {
        "en": "xAPI Course Builder Profile"
    },
    "definition": {
        "en": "Statements sent by courses built with xAPI Course Builder: course, lesson and assessment progress; the cmi5 defined statements when a course runs as a cmi5 AU; question interactions; branching scenario decisions and endings; feedback ratings and comments; and video and audio playback following the ADL Video and Audio Profiles."
    },
    "seeAlso": "https://xapi.com.au/profiles/course-builder/",
    "author": {
        "type": "Organization",
        "name": "The Digital Learning Guy",
        "url": "https://xapi.com.au"
    },
    "versions": [
        {
            "id": "https://xapi.com.au/profiles/course-builder/v1.2",
            "generatedAtTime": "2026-10-08T12:00:00Z",
            "wasRevisionOf": [
                "https://xapi.com.au/profiles/course-builder/v1.1"
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/v1.1",
            "generatedAtTime": "2026-10-05T12:00:00Z",
            "wasRevisionOf": [
                "https://xapi.com.au/profiles/course-builder/v1.0"
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/v1.0",
            "generatedAtTime": "2026-10-05T00:00:00Z"
        }
    ],
    "concepts": [
        {
            "id": "https://w3id.org/xapi/course-builder/extensions/version",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "ContextExtension",
            "prefLabel": {
                "en": "Course version"
            },
            "definition": {
                "en": "The published version label of the course that sent the statement. The player reads it back to decide whether a saved place or assessment result still applies."
            },
            "inlineSchema": "{\"type\":\"string\"}"
        },
        {
            "id": "https://w3id.org/xapi/course-builder/extensions/imported-from",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "ContextExtension",
            "prefLabel": {
                "en": "Imported from"
            },
            "definition": {
                "en": "On every statement from a course imported from a third-party package (such as SCORM): the original file, its SHA-256 fingerprint, its format and authoring tool, when it was imported and that the importer confirmed they hold the rights to use it."
            },
            "inlineSchema": "{\"type\":\"object\",\"properties\":{\"originalFile\":{\"type\":\"string\"},\"sha256\":{\"type\":\"string\"},\"standard\":{\"type\":\"string\"},\"tool\":{\"type\":\"string\"},\"importedAt\":{\"type\":\"string\"},\"rightsConfirmed\":{\"type\":\"boolean\"}}}"
        },
        {
            "id": "https://w3id.org/xapi/course-builder/result-extensions/answers",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "ResultExtension",
            "prefLabel": {
                "en": "Assessment answers"
            },
            "definition": {
                "en": "On a scored assessment's passed/failed statement: each question block id mapped to whether the learner's first answer was correct."
            },
            "inlineSchema": "{\"type\":\"object\",\"additionalProperties\":{\"type\":\"boolean\"}}"
        },
        {
            "id": "https://w3id.org/xapi/course-builder/result-extensions/ending",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "ResultExtension",
            "prefLabel": {
                "en": "Scenario ending"
            },
            "definition": {
                "en": "On a scenario's completed statement: the id of the ending scene the learner reached."
            },
            "inlineSchema": "{\"type\":\"string\"}"
        }
    ],
    "templates": [
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#course-initialized",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Course initialized"
            },
            "definition": {
                "en": "The learner opened the course (xAPI launch; cmi5 launches send cmi5-initialized instead)."
            },
            "verb": "http://adlnet.gov/expapi/verbs/initialized",
            "objectActivityType": "http://adlnet.gov/expapi/activities/course",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "none": [
                        "https://w3id.org/xapi/cmi5/context/categories/cmi5"
                    ]
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#course-started",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Course started"
            },
            "definition": {
                "en": "The learner started the course for the first time in this registration."
            },
            "verb": "http://activitystrea.ms/schema/1.0/start",
            "objectActivityType": "http://adlnet.gov/expapi/activities/course",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#course-completed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Course completed"
            },
            "definition": {
                "en": "Every lesson viewed and every graded block passed. result.success is whether all graded questions were passed. (xAPI launch; cmi5 launches send cmi5-completed instead.)"
            },
            "verb": "http://adlnet.gov/expapi/verbs/completed",
            "objectActivityType": "http://adlnet.gov/expapi/activities/course",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.result.completion",
                    "presence": "included",
                    "all": [
                        true
                    ]
                },
                {
                    "location": "$.result.success",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "none": [
                        "https://w3id.org/xapi/cmi5/context/categories/cmi5"
                    ]
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#cmi5-initialized",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "cmi5 initialized"
            },
            "definition": {
                "en": "The AU started a session: the first statement of every cmi5 session, in any launch mode."
            },
            "verb": "http://adlnet.gov/expapi/verbs/initialized",
            "objectActivityType": "http://adlnet.gov/expapi/activities/course",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/cmi5/context/categories/cmi5"
                    ]
                },
                {
                    "location": "$.context.registration",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/cmi5/context/extensions/sessionid']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "From the LMS context template; the same on every statement in a session."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "none": [
                        "https://w3id.org/xapi/cmi5/context/categories/moveon"
                    ]
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#cmi5-completed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "cmi5 completed"
            },
            "definition": {
                "en": "Every lesson viewed and every graded block passed. At most once per registration. cmi5 only: an LMS launch of a cmi5 package, in Normal launch mode."
            },
            "verb": "http://adlnet.gov/expapi/verbs/completed",
            "objectActivityType": "http://adlnet.gov/expapi/activities/course",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/cmi5/context/categories/cmi5"
                    ]
                },
                {
                    "location": "$.context.registration",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/cmi5/context/extensions/sessionid']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "From the LMS context template; the same on every statement in a session."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/cmi5/context/categories/moveon"
                    ]
                },
                {
                    "location": "$.result.duration",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Time since this session was initialized."
                    }
                },
                {
                    "location": "$.result.completion",
                    "presence": "included",
                    "all": [
                        true
                    ]
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#cmi5-passed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "cmi5 passed"
            },
            "definition": {
                "en": "Every scored assessment has a result and, together, they meet the LMS's masteryScore (or, without one, each assessment's own pass mark). At most once per registration, and never followed by failed. cmi5 only: an LMS launch of a cmi5 package, in Normal launch mode."
            },
            "verb": "http://adlnet.gov/expapi/verbs/passed",
            "objectActivityType": "http://adlnet.gov/expapi/activities/course",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/cmi5/context/categories/cmi5"
                    ]
                },
                {
                    "location": "$.context.registration",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/cmi5/context/extensions/sessionid']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "From the LMS context template; the same on every statement in a session."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/cmi5/context/categories/moveon"
                    ]
                },
                {
                    "location": "$.result.duration",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Time since this session was initialized."
                    }
                },
                {
                    "location": "$.result.success",
                    "presence": "included",
                    "all": [
                        true
                    ]
                },
                {
                    "location": "$.result.score.scaled",
                    "presence": "included"
                },
                {
                    "location": "$.result.score.raw",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/cmi5/context/extensions/masteryscore']",
                    "presence": "recommended"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#cmi5-failed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "cmi5 failed"
            },
            "definition": {
                "en": "The scored assessments' combined result missed the pass mark. Sent as the session ends, since a retake can still pass. cmi5 only: an LMS launch of a cmi5 package, in Normal launch mode."
            },
            "verb": "http://adlnet.gov/expapi/verbs/failed",
            "objectActivityType": "http://adlnet.gov/expapi/activities/course",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/cmi5/context/categories/cmi5"
                    ]
                },
                {
                    "location": "$.context.registration",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/cmi5/context/extensions/sessionid']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "From the LMS context template; the same on every statement in a session."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/cmi5/context/categories/moveon"
                    ]
                },
                {
                    "location": "$.result.duration",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Time since this session was initialized."
                    }
                },
                {
                    "location": "$.result.success",
                    "presence": "included",
                    "all": [
                        false
                    ]
                },
                {
                    "location": "$.result.score.scaled",
                    "presence": "included"
                },
                {
                    "location": "$.result.score.raw",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/cmi5/context/extensions/masteryscore']",
                    "presence": "recommended"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#cmi5-terminated",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "cmi5 terminated"
            },
            "definition": {
                "en": "The AU ended the session (Exit, or leaving the page): the last statement of the session, in any launch mode."
            },
            "verb": "http://adlnet.gov/expapi/verbs/terminated",
            "objectActivityType": "http://adlnet.gov/expapi/activities/course",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/cmi5/context/categories/cmi5"
                    ]
                },
                {
                    "location": "$.context.registration",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/cmi5/context/extensions/sessionid']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "From the LMS context template; the same on every statement in a session."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "none": [
                        "https://w3id.org/xapi/cmi5/context/categories/moveon"
                    ]
                },
                {
                    "location": "$.result.duration",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Length of the session."
                    }
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#lesson-experienced",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Lesson experienced"
            },
            "definition": {
                "en": "The learner viewed a lesson. The latest one is read back to resume the course."
            },
            "verb": "http://adlnet.gov/expapi/verbs/experienced",
            "objectActivityType": "http://adlnet.gov/expapi/activities/lesson",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#question-answered",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Question answered"
            },
            "definition": {
                "en": "Each answer submitted to a question or free-text block, and each decision in a scenario (a choice interaction on the scene's own activity, {block}/scene/{sceneId}, with result.success when the scene has a best choice). Choice-style responses use the CMI [,] / [.] separators; graded questions also carry result.success."
            },
            "verb": "http://adlnet.gov/expapi/verbs/answered",
            "objectActivityType": "http://adlnet.gov/expapi/activities/cmi.interaction",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.result.response",
                    "presence": "included"
                },
                {
                    "location": "$.object.definition.interactionType",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#scenario-completed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Scenario completed"
            },
            "definition": {
                "en": "The learner reached an ending of a branching scenario. result.success, when sent, is whether they took the best choice at every scene on the way that had one; reaching another ending after starting again sends this again."
            },
            "verb": "http://adlnet.gov/expapi/verbs/completed",
            "objectActivityType": "http://adlnet.gov/expapi/activities/simulation",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.result.completion",
                    "presence": "included",
                    "all": [
                        true
                    ]
                },
                {
                    "location": "$.result.success",
                    "presence": "recommended"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/course-builder/result-extensions/ending']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#question-passed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Question passed"
            },
            "definition": {
                "en": "Sent with question-answered when the answer is correct."
            },
            "verb": "http://adlnet.gov/expapi/verbs/passed",
            "objectActivityType": "http://adlnet.gov/expapi/activities/cmi.interaction",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.result.response",
                    "presence": "included"
                },
                {
                    "location": "$.object.definition.interactionType",
                    "presence": "included"
                },
                {
                    "location": "$.result.success",
                    "presence": "included",
                    "all": [
                        true
                    ]
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#question-failed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Question failed"
            },
            "definition": {
                "en": "Sent with question-answered when the answer is wrong."
            },
            "verb": "http://adlnet.gov/expapi/verbs/failed",
            "objectActivityType": "http://adlnet.gov/expapi/activities/cmi.interaction",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.result.response",
                    "presence": "included"
                },
                {
                    "location": "$.object.definition.interactionType",
                    "presence": "included"
                },
                {
                    "location": "$.result.success",
                    "presence": "included",
                    "all": [
                        false
                    ]
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#assessment-passed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Assessment passed"
            },
            "definition": {
                "en": "A scored assessment section was submitted and met its pass mark (cmi5 masteryscore, 0-1)."
            },
            "verb": "http://adlnet.gov/expapi/verbs/passed",
            "objectActivityType": "http://adlnet.gov/expapi/activities/assessment",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.result.success",
                    "presence": "included",
                    "all": [
                        true
                    ]
                },
                {
                    "location": "$.result.completion",
                    "presence": "included",
                    "all": [
                        true
                    ]
                },
                {
                    "location": "$.result.score.scaled",
                    "presence": "included"
                },
                {
                    "location": "$.result.score.raw",
                    "presence": "included"
                },
                {
                    "location": "$.result.score.max",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/cmi5/context/extensions/masteryscore']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/course-builder/result-extensions/answers']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#assessment-failed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Assessment failed"
            },
            "definition": {
                "en": "A scored assessment section was submitted below its pass mark."
            },
            "verb": "http://adlnet.gov/expapi/verbs/failed",
            "objectActivityType": "http://adlnet.gov/expapi/activities/assessment",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.result.success",
                    "presence": "included",
                    "all": [
                        false
                    ]
                },
                {
                    "location": "$.result.completion",
                    "presence": "included",
                    "all": [
                        true
                    ]
                },
                {
                    "location": "$.result.score.scaled",
                    "presence": "included"
                },
                {
                    "location": "$.result.score.raw",
                    "presence": "included"
                },
                {
                    "location": "$.result.score.max",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/cmi5/context/extensions/masteryscore']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/course-builder/result-extensions/answers']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#feedback-rated",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Feedback rated"
            },
            "definition": {
                "en": "A star rating (0-5, half stars) from a feedback block (Feedback Interaction Profile)."
            },
            "verb": "https://w3id.org/xapi/acrossx/verbs/rated",
            "objectActivityType": "https://xapi.com.au/activities/feedback",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.result.score.raw",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://xapi.com.au/extensions/star-rating']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#feedback-commented",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Feedback commented"
            },
            "definition": {
                "en": "A written comment from a feedback block, sent before its rating (Feedback Interaction Profile)."
            },
            "verb": "https://w3id.org/xapi/adb/verbs/commented",
            "objectActivityType": "https://xapi.com.au/activities/feedback",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.result.response",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://xapi.com.au/extensions/comment-text']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#video-initialized",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Video initialized"
            },
            "definition": {
                "en": "The video player loaded and is ready."
            },
            "verb": "http://adlnet.gov/expapi/verbs/initialized",
            "objectActivityType": "https://w3id.org/xapi/video/activity-type/video",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/video"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#video-played",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Video played"
            },
            "definition": {
                "en": "Playback started or resumed."
            },
            "verb": "https://w3id.org/xapi/video/verbs/played",
            "objectActivityType": "https://w3id.org/xapi/video/activity-type/video",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/video"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "recommended"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#video-paused",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Video paused"
            },
            "definition": {
                "en": "Playback paused."
            },
            "verb": "https://w3id.org/xapi/video/verbs/paused",
            "objectActivityType": "https://w3id.org/xapi/video/activity-type/video",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/video"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/progress']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/played-segments']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#video-seeked",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Video seeked"
            },
            "definition": {
                "en": "The learner moved the playhead."
            },
            "verb": "https://w3id.org/xapi/video/verbs/seeked",
            "objectActivityType": "https://w3id.org/xapi/video/activity-type/video",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/video"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time-from']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time-to']",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "recommended"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#video-completed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Video completed"
            },
            "definition": {
                "en": "The learner played enough of the video to meet its completion threshold. At most once per session."
            },
            "verb": "http://adlnet.gov/expapi/verbs/completed",
            "objectActivityType": "https://w3id.org/xapi/video/activity-type/video",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/video"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/progress']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/played-segments']",
                    "presence": "included"
                },
                {
                    "location": "$.result.completion",
                    "presence": "included",
                    "all": [
                        true
                    ]
                },
                {
                    "location": "$.result.duration",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#video-terminated",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Video terminated"
            },
            "definition": {
                "en": "The learner left the media; ends the session."
            },
            "verb": "http://adlnet.gov/expapi/verbs/terminated",
            "objectActivityType": "https://w3id.org/xapi/video/activity-type/video",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/video"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/progress']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/played-segments']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#video-interacted",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Video interacted"
            },
            "definition": {
                "en": "Full screen, volume, speed or captions changed: carries the full-screen + screen-size + video-playback-size, volume, speed, or cc-enabled + cc-subtitle-lang context extensions (Video Profile screenchange, volumechange, closed-captioning)."
            },
            "verb": "http://adlnet.gov/expapi/verbs/interacted",
            "objectActivityType": "https://w3id.org/xapi/video/activity-type/video",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/video"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#audio-initialized",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Audio initialized"
            },
            "definition": {
                "en": "The audio player loaded and is ready."
            },
            "verb": "http://adlnet.gov/expapi/verbs/initialized",
            "objectActivityType": "https://w3id.org/xapi/audio/activity-type/audio",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/audio"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#audio-played",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Audio played"
            },
            "definition": {
                "en": "Playback started or resumed."
            },
            "verb": "https://w3id.org/xapi/video/verbs/played",
            "objectActivityType": "https://w3id.org/xapi/audio/activity-type/audio",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/audio"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "recommended"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#audio-paused",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Audio paused"
            },
            "definition": {
                "en": "Playback paused."
            },
            "verb": "https://w3id.org/xapi/video/verbs/paused",
            "objectActivityType": "https://w3id.org/xapi/audio/activity-type/audio",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/audio"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/progress']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/played-segments']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#audio-seeked",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Audio seeked"
            },
            "definition": {
                "en": "The learner moved the playhead."
            },
            "verb": "https://w3id.org/xapi/video/verbs/seeked",
            "objectActivityType": "https://w3id.org/xapi/audio/activity-type/audio",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/audio"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time-from']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time-to']",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "recommended"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#audio-completed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Audio completed"
            },
            "definition": {
                "en": "The learner played enough of the audio to meet its completion threshold. At most once per session."
            },
            "verb": "http://adlnet.gov/expapi/verbs/completed",
            "objectActivityType": "https://w3id.org/xapi/audio/activity-type/audio",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/audio"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/progress']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/played-segments']",
                    "presence": "included"
                },
                {
                    "location": "$.result.completion",
                    "presence": "included",
                    "all": [
                        true
                    ]
                },
                {
                    "location": "$.result.duration",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#audio-terminated",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Audio terminated"
            },
            "definition": {
                "en": "The learner left the media; ends the session."
            },
            "verb": "http://adlnet.gov/expapi/verbs/terminated",
            "objectActivityType": "https://w3id.org/xapi/audio/activity-type/audio",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/audio"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/length']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/progress']",
                    "presence": "included"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/played-segments']",
                    "presence": "included"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#audio-interacted",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Audio interacted"
            },
            "definition": {
                "en": "Volume changed (Audio Profile volumechange)."
            },
            "verb": "http://adlnet.gov/expapi/verbs/interacted",
            "objectActivityType": "https://w3id.org/xapi/audio/activity-type/audio",
            "rules": [
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://xapi.com.au/profiles/course-builder/v1.2"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/course-builder/extensions/version']",
                    "presence": "recommended"
                },
                {
                    "location": "$.context.registration",
                    "presence": "recommended"
                },
                {
                    "location": "$.timestamp",
                    "presence": "included"
                },
                {
                    "location": "$.context.contextActivities.parent[*].id",
                    "presence": "included",
                    "scopeNote": {
                        "en": "The course activity."
                    }
                },
                {
                    "location": "$.context.contextActivities.category[*].id",
                    "presence": "included",
                    "any": [
                        "https://w3id.org/xapi/audio"
                    ]
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/session-id']",
                    "presence": "included",
                    "scopeNote": {
                        "en": "Same value from initialized to terminated."
                    }
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/completion-threshold']",
                    "presence": "recommended"
                },
                {
                    "location": "$.result.extensions['https://w3id.org/xapi/video/extensions/time']",
                    "presence": "included"
                },
                {
                    "location": "$.context.extensions['https://w3id.org/xapi/video/extensions/volume']",
                    "presence": "included"
                }
            ]
        }
    ],
    "patterns": [
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#course-attempt-statement",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "Any course statement"
            },
            "definition": {
                "en": "Any statement this profile defines, other than the cmi5 defined ones."
            },
            "alternates": [
                "https://xapi.com.au/profiles/course-builder/templates#course-initialized",
                "https://xapi.com.au/profiles/course-builder/templates#course-started",
                "https://xapi.com.au/profiles/course-builder/templates#course-completed",
                "https://xapi.com.au/profiles/course-builder/templates#lesson-experienced",
                "https://xapi.com.au/profiles/course-builder/templates#question-answered",
                "https://xapi.com.au/profiles/course-builder/templates#question-passed",
                "https://xapi.com.au/profiles/course-builder/templates#question-failed",
                "https://xapi.com.au/profiles/course-builder/templates#assessment-passed",
                "https://xapi.com.au/profiles/course-builder/templates#assessment-failed",
                "https://xapi.com.au/profiles/course-builder/templates#feedback-rated",
                "https://xapi.com.au/profiles/course-builder/templates#feedback-commented",
                "https://xapi.com.au/profiles/course-builder/templates#scenario-completed",
                "https://xapi.com.au/profiles/course-builder/templates#video-initialized",
                "https://xapi.com.au/profiles/course-builder/templates#video-played",
                "https://xapi.com.au/profiles/course-builder/templates#video-paused",
                "https://xapi.com.au/profiles/course-builder/templates#video-seeked",
                "https://xapi.com.au/profiles/course-builder/templates#video-completed",
                "https://xapi.com.au/profiles/course-builder/templates#video-terminated",
                "https://xapi.com.au/profiles/course-builder/templates#video-interacted",
                "https://xapi.com.au/profiles/course-builder/templates#audio-initialized",
                "https://xapi.com.au/profiles/course-builder/templates#audio-played",
                "https://xapi.com.au/profiles/course-builder/templates#audio-paused",
                "https://xapi.com.au/profiles/course-builder/templates#audio-seeked",
                "https://xapi.com.au/profiles/course-builder/templates#audio-completed",
                "https://xapi.com.au/profiles/course-builder/templates#audio-terminated",
                "https://xapi.com.au/profiles/course-builder/templates#audio-interacted"
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#course-attempt-rest",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "Rest of a course attempt"
            },
            "definition": {
                "en": "Zero or more course statements."
            },
            "zeroOrMore": "https://xapi.com.au/profiles/course-builder/patterns#course-attempt-statement"
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#course-attempt",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "Course attempt"
            },
            "definition": {
                "en": "One registration of an xAPI launch: opens with course-initialized (sent again on every relaunch), then any of the course's statements. course-started is sent once; course-completed once the course's requirements are met."
            },
            "primary": true,
            "sequence": [
                "https://xapi.com.au/profiles/course-builder/templates#course-initialized",
                "https://xapi.com.au/profiles/course-builder/patterns#course-attempt-rest"
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#cmi5-session-statement",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "cmi5 session statement"
            },
            "definition": {
                "en": "A cmi5 completed, passed or failed statement, or any of the course's own statements."
            },
            "alternates": [
                "https://xapi.com.au/profiles/course-builder/templates#course-initialized",
                "https://xapi.com.au/profiles/course-builder/templates#course-started",
                "https://xapi.com.au/profiles/course-builder/templates#course-completed",
                "https://xapi.com.au/profiles/course-builder/templates#lesson-experienced",
                "https://xapi.com.au/profiles/course-builder/templates#question-answered",
                "https://xapi.com.au/profiles/course-builder/templates#question-passed",
                "https://xapi.com.au/profiles/course-builder/templates#question-failed",
                "https://xapi.com.au/profiles/course-builder/templates#assessment-passed",
                "https://xapi.com.au/profiles/course-builder/templates#assessment-failed",
                "https://xapi.com.au/profiles/course-builder/templates#feedback-rated",
                "https://xapi.com.au/profiles/course-builder/templates#feedback-commented",
                "https://xapi.com.au/profiles/course-builder/templates#scenario-completed",
                "https://xapi.com.au/profiles/course-builder/templates#video-initialized",
                "https://xapi.com.au/profiles/course-builder/templates#video-played",
                "https://xapi.com.au/profiles/course-builder/templates#video-paused",
                "https://xapi.com.au/profiles/course-builder/templates#video-seeked",
                "https://xapi.com.au/profiles/course-builder/templates#video-completed",
                "https://xapi.com.au/profiles/course-builder/templates#video-terminated",
                "https://xapi.com.au/profiles/course-builder/templates#video-interacted",
                "https://xapi.com.au/profiles/course-builder/templates#audio-initialized",
                "https://xapi.com.au/profiles/course-builder/templates#audio-played",
                "https://xapi.com.au/profiles/course-builder/templates#audio-paused",
                "https://xapi.com.au/profiles/course-builder/templates#audio-seeked",
                "https://xapi.com.au/profiles/course-builder/templates#audio-completed",
                "https://xapi.com.au/profiles/course-builder/templates#audio-terminated",
                "https://xapi.com.au/profiles/course-builder/templates#audio-interacted",
                "https://xapi.com.au/profiles/course-builder/templates#cmi5-completed",
                "https://xapi.com.au/profiles/course-builder/templates#cmi5-passed",
                "https://xapi.com.au/profiles/course-builder/templates#cmi5-failed"
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#cmi5-session-middle",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "cmi5 session middle"
            },
            "definition": {
                "en": "Zero or more statements within a cmi5 session."
            },
            "zeroOrMore": "https://xapi.com.au/profiles/course-builder/patterns#cmi5-session-statement"
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#cmi5-session-end",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "cmi5 session end"
            },
            "definition": {
                "en": "cmi5-terminated, when the AU got to send it."
            },
            "optional": "https://xapi.com.au/profiles/course-builder/templates#cmi5-terminated"
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#cmi5-session",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "cmi5 session"
            },
            "definition": {
                "en": "One cmi5 session (one cmi5 sessionid): cmi5-initialized first, then any statements, then cmi5-terminated last."
            },
            "sequence": [
                "https://xapi.com.au/profiles/course-builder/templates#cmi5-initialized",
                "https://xapi.com.au/profiles/course-builder/patterns#cmi5-session-middle",
                "https://xapi.com.au/profiles/course-builder/patterns#cmi5-session-end"
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#cmi5-attempt",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "cmi5 attempt"
            },
            "definition": {
                "en": "One registration of a cmi5 launch: one or more sessions, one after another. completed and passed are sent at most once per registration, and passed is never followed by failed."
            },
            "primary": true,
            "oneOrMore": "https://xapi.com.au/profiles/course-builder/patterns#cmi5-session"
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#video-session-statement",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "Video session statement"
            },
            "definition": {
                "en": "Any video statement between initialized and terminated."
            },
            "alternates": [
                "https://xapi.com.au/profiles/course-builder/templates#video-played",
                "https://xapi.com.au/profiles/course-builder/templates#video-paused",
                "https://xapi.com.au/profiles/course-builder/templates#video-seeked",
                "https://xapi.com.au/profiles/course-builder/templates#video-interacted",
                "https://xapi.com.au/profiles/course-builder/templates#video-completed"
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#video-session-middle",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "Video session middle"
            },
            "definition": {
                "en": "Zero or more video statements."
            },
            "zeroOrMore": "https://xapi.com.au/profiles/course-builder/patterns#video-session-statement"
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#video-session",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "Video session"
            },
            "definition": {
                "en": "The statements sharing one session-id, as in the ADL Video Profile general pattern: initialized, then any playback statements, then terminated."
            },
            "primary": true,
            "sequence": [
                "https://xapi.com.au/profiles/course-builder/templates#video-initialized",
                "https://xapi.com.au/profiles/course-builder/patterns#video-session-middle",
                "https://xapi.com.au/profiles/course-builder/templates#video-terminated"
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#audio-session-statement",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "Audio session statement"
            },
            "definition": {
                "en": "Any audio statement between initialized and terminated."
            },
            "alternates": [
                "https://xapi.com.au/profiles/course-builder/templates#audio-played",
                "https://xapi.com.au/profiles/course-builder/templates#audio-paused",
                "https://xapi.com.au/profiles/course-builder/templates#audio-seeked",
                "https://xapi.com.au/profiles/course-builder/templates#audio-interacted",
                "https://xapi.com.au/profiles/course-builder/templates#audio-completed"
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#audio-session-middle",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "Audio session middle"
            },
            "definition": {
                "en": "Zero or more audio statements."
            },
            "zeroOrMore": "https://xapi.com.au/profiles/course-builder/patterns#audio-session-statement"
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/patterns#audio-session",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.2",
            "type": "Pattern",
            "prefLabel": {
                "en": "Audio session"
            },
            "definition": {
                "en": "The statements sharing one session-id, as in the ADL Audio Profile general pattern: initialized, then any playback statements, then terminated."
            },
            "primary": true,
            "sequence": [
                "https://xapi.com.au/profiles/course-builder/templates#audio-initialized",
                "https://xapi.com.au/profiles/course-builder/patterns#audio-session-middle",
                "https://xapi.com.au/profiles/course-builder/templates#audio-terminated"
            ]
        }
    ]
}
