SCORM · Schema
SCORM CMI Data Model
Schema representing the SCORM CMI (Computer Managed Instruction) data model used to track learner progress in a Learning Management System
E-LearningLMSStandardsEducationInteroperability
Properties
| Name | Type | Description |
|---|---|---|
| cmi.core.student_id | string | Unique identifier for the learner (SCORM 1.2) |
| cmi.core.student_name | string | Learner's name (SCORM 1.2) |
| cmi.core.lesson_location | string | Bookmark of the learner's current location in the SCO |
| cmi.core.lesson_status | string | SCORM 1.2 completion/success status combined field |
| cmi.core.score.raw | number | Raw score earned by the learner |
| cmi.core.score.min | number | Minimum possible score |
| cmi.core.score.max | number | Maximum possible score |
| cmi.core.total_time | string | Total time spent in HH:MM:SS.SS format |
| cmi.core.session_time | string | Time spent in the current session |
| cmi.core.exit | string | How the learner exited the SCO |
| cmi.completion_status | string | SCORM 2004 completion status (separate from success status) |
| cmi.success_status | string | SCORM 2004 success/mastery status |
| cmi.score.scaled | number | SCORM 2004 scaled score (-1 to 1) |
| cmi.score.raw | number | SCORM 2004 raw score |
| cmi.score.min | number | SCORM 2004 minimum score |
| cmi.score.max | number | SCORM 2004 maximum score |
| cmi.location | string | SCORM 2004 learner progress location bookmark |
| cmi.progress_measure | number | Measure of learner's progress (0 to 1) |
| cmi.suspend_data | string | Arbitrary data string for the SCO to save state |
| cmi.learner_id | string | SCORM 2004 learner identifier |
| cmi.learner_name | string | SCORM 2004 learner name |
| cmi.mode | string | Mode in which the SCO is being launched |
| cmi.interactions | array | Collection of learner interaction records |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://api-evangelist.github.io/scorm/json-schema/scorm-cmi-data-schema.json",
"title": "SCORM CMI Data Model",
"description": "Schema representing the SCORM CMI (Computer Managed Instruction) data model used to track learner progress in a Learning Management System",
"type": "object",
"properties": {
"cmi.core.student_id": {
"type": "string",
"description": "Unique identifier for the learner (SCORM 1.2)"
},
"cmi.core.student_name": {
"type": "string",
"description": "Learner's name (SCORM 1.2)"
},
"cmi.core.lesson_location": {
"type": "string",
"description": "Bookmark of the learner's current location in the SCO"
},
"cmi.core.lesson_status": {
"type": "string",
"enum": ["passed", "failed", "completed", "incomplete", "browsed", "not attempted"],
"description": "SCORM 1.2 completion/success status combined field"
},
"cmi.core.score.raw": {
"type": "number",
"minimum": 0,
"description": "Raw score earned by the learner"
},
"cmi.core.score.min": {
"type": "number",
"description": "Minimum possible score"
},
"cmi.core.score.max": {
"type": "number",
"description": "Maximum possible score"
},
"cmi.core.total_time": {
"type": "string",
"pattern": "^\\d+:\\d{2}:\\d{2}(\\.\\d+)?$",
"description": "Total time spent in HH:MM:SS.SS format"
},
"cmi.core.session_time": {
"type": "string",
"description": "Time spent in the current session"
},
"cmi.core.exit": {
"type": "string",
"enum": ["time-out", "suspend", "logout", ""],
"description": "How the learner exited the SCO"
},
"cmi.completion_status": {
"type": "string",
"enum": ["completed", "incomplete", "not attempted", "unknown"],
"description": "SCORM 2004 completion status (separate from success status)"
},
"cmi.success_status": {
"type": "string",
"enum": ["passed", "failed", "unknown"],
"description": "SCORM 2004 success/mastery status"
},
"cmi.score.scaled": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "SCORM 2004 scaled score (-1 to 1)"
},
"cmi.score.raw": {
"type": "number",
"description": "SCORM 2004 raw score"
},
"cmi.score.min": {
"type": "number",
"description": "SCORM 2004 minimum score"
},
"cmi.score.max": {
"type": "number",
"description": "SCORM 2004 maximum score"
},
"cmi.location": {
"type": "string",
"description": "SCORM 2004 learner progress location bookmark"
},
"cmi.progress_measure": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Measure of learner's progress (0 to 1)"
},
"cmi.suspend_data": {
"type": "string",
"description": "Arbitrary data string for the SCO to save state"
},
"cmi.learner_id": {
"type": "string",
"description": "SCORM 2004 learner identifier"
},
"cmi.learner_name": {
"type": "string",
"description": "SCORM 2004 learner name"
},
"cmi.mode": {
"type": "string",
"enum": ["browse", "normal", "review"],
"description": "Mode in which the SCO is being launched"
},
"cmi.interactions": {
"type": "array",
"description": "Collection of learner interaction records",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the interaction"
},
"type": {
"type": "string",
"enum": ["true-false", "choice", "fill-in", "long-fill-in", "matching", "performance", "sequencing", "likert", "numeric", "other"],
"description": "Type of interaction"
},
"learner_response": {
"type": "string",
"description": "Learner's response to the interaction"
},
"result": {
"type": "string",
"enum": ["correct", "incorrect", "unanticipated", "neutral"],
"description": "Result of the interaction"
},
"weighting": {
"type": "number",
"description": "Weight given to this interaction"
},
"latency": {
"type": "string",
"description": "Time taken to complete the interaction"
}
}
}
}
}
}