{
    "@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; question interactions; 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.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.0",
            "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/result-extensions/answers",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.0",
            "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\"}}"
        }
    ],
    "templates": [
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#course-initialized",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.0",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Course initialized"
            },
            "definition": {
                "en": "The learner opened the course."
            },
            "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.0"
                    ]
                },
                {
                    "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-started",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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."
            },
            "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.0"
                    ]
                },
                {
                    "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"
                }
            ]
        },
        {
            "id": "https://xapi.com.au/profiles/course-builder/templates#lesson-experienced",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "type": "StatementTemplate",
            "prefLabel": {
                "en": "Question answered"
            },
            "definition": {
                "en": "Each answer submitted to a question or free-text block. 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.0"
                    ]
                },
                {
                    "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#question-passed",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "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.0"
                    ]
                },
                {
                    "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.0",
            "type": "Pattern",
            "prefLabel": {
                "en": "Any course statement"
            },
            "definition": {
                "en": "Any statement this profile defines."
            },
            "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#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.0",
            "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.0",
            "type": "Pattern",
            "prefLabel": {
                "en": "Course attempt"
            },
            "definition": {
                "en": "One registration: 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#video-session-statement",
            "inScheme": "https://xapi.com.au/profiles/course-builder/v1.0",
            "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.0",
            "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.0",
            "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.0",
            "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.0",
            "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.0",
            "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"
            ]
        }
    ]
}
