1. cmi
    1. _version
      1. Read Only
      2. type: characterstring
      3. values: "1.0"
    2. comments_from_learner
      1. _children
        1. Read Only
        2. values: comment, location, timestamp
      2. _count
        1. Read Only
        2. type: non-negative integer
      3. n []
        1. comment
          1. Read / Write
          2. type: localized_string_type (SPM: 4000)
          3. format:
        2. location
          1. Read / Write
          2. type: characterstring [SPM: 250]
          3. format: (controlled by the SCO)
          4. value space: ISO 10646-1
        3. timestamp
          1. Read / Write
          2. type: time [second(10, 0)]
          3. format: second(10, 0)
        4. SPM 250
    3. comments_from_lms
      1. _children
        1. Read Only
        2. values: comment, location, timestamp
      2. _count
        1. Read Only
        2. type: non-negative integer
      3. n []
        1. comment
          1. Read Only
          2. type: localized_string_type [SPM: 4000]
          3. value space: ISO 10646-1
        2. location
          1. Read Only
          2. type: characterstring [SPM: 250]
          3. value space: ISO 10646-1
        3. timestamp
          1. Read Only
          2. type: time [second(10, 0)]
          3. format: second(10, 0)
        4. SPM 100
    4. completion_status
      1. Read / Write
      2. type: state
      3. values: complete, incomplete, not attempted, unknown
    5. completion_threshold
      1. Read Only
      2. format: real(10,7)
      3. range: 0...1
      4. value space: 0.0 <= cmi.completion_threshold <= 1.0
    6. credit
      1. Read Only
      2. type: state
      3. values: credit, no_credit
    7. entry
      1. Read Only
      2. type: state
      3. values: ab_initio, resume, ""
    8. exit
      1. Write Only
      2. type: state
      3. values: timeout, suspend, logout, normal, ""
    9. interactions
      1. _children
        1. Read Only
        2. values: id, type, objectives, timestamp, correct_responses, weighting, learner_response, result, latency, description
        3. Data Type: characterstring
        4. Value Space: ISO-10646-1 [5]
      2. _count
        1. Read Only
        2. Data Type: non-negative integer
        3. Value Space: non-negative integer
      3. n []
        1. id
          1. Read / Write
          2. Value Space: characterstring per RFC 3986[6]
          3. Data Type: long_identifier_type
          4. format: SPM: 4000
        2. type
          1. Read / Write
          2. type: state
          3. values: true-false, choice, fill-in, long-fill-in, matching, performance, sequencing, likert, numeric, other
        3. objectives
          1. _count
          2. Read Only
          3. type: non-negative integer
          4. n []
          5. id
          6. Read / Write
          7. type: long_identifier_type
          8. format: SPM: 4000
        4. timestamp
          1. Read / Write
          2. type: time
          3. format: second(10, 0)
        5. correct_responses
          1. _count
          2. Read Only
          3. type: non-negative integer
          4. n[]
          5. pattern
          6. Read / Write
          7. format: depends on interaction type
        6. weighting
          1. Read / Write
          2. format: real(10,7)
        7. learner_response
          1. Read / Write
          2. value: format depends on interaction type
        8. result
          1. Read / Write
          2. type: state
          3. values: correct, incorrect, unanticipated, neutral, real(10,7)
        9. latency
          1. Read / Write
          2. type: timeinterval
          3. format: second(10, 2)
        10. description
          1. Read / Write
          2. type: localized_string_type
          3. format: SPM: 250
      4. format:SPM: 250
    10. launch_data
      1. Read Only
      2. type: characterstring
      3. limits: SPM: 4000
    11. learner_id
      1. Read Only
      2. type: long_identifier_type
      3. limits: SPM: 4000
    12. learner_name
      1. Read Only
      2. type: localized_string_type
      3. limits: SPM: 250
    13. learner_preference
      1. _children
        1. Read Only
        2. values: audio_level, language, delivery_speed, audio_captioning
      2. audio_level
        1. Read / Write
        2. type: real(10,7)
        3. range: 0...*
      3. language
        1. Read / Write
        2. type: language_type
        3. limits: SPM: 250
      4. delivery_speed
        1. Read / Write
        2. type: real(10,7)
        3. range: 0...*
      5. audio_captioning
        1. Read / Write
        2. type: state
        3. values: -1, 0, 1
    14. location
      1. Read / Write
      2. type: characterstring
      3. limits: SPM: 1000
    15. max_time_allowed
      1. Read Only
      2. type: timeinterval (second(10, 2))
    16. mode
      1. Read Only
      2. type: state
      3. values: browse, normal, review
    17. objectives
      1. _children
        1. Read Only
        2. values: id, score, success_status, completion_status, description
      2. _count
        1. Read Only
        2. type: non-negative integer
      3. n []
        1. id
          1. Read / Write
          2. type: long_identifier_type
          3. format: SPM: 4000
        2. score
          1. _children
          2. Read Only
          3. values: scaled, raw, min, max
          4. scaled
          5. Read / Write
          6. format: real(10,7)
          7. range: -1 ... 1
          8. raw
          9. Read / Write
          10. format: real(10,7)
          11. min
          12. Read / Write
          13. format: real(10,7)
          14. max
          15. Read / Write
          16. format: real(10,7)
        3. success_status
          1. Read / Write
          2. type: state
          3. values: passed, failed, unknown
        4. completion_status
          1. Read / Write
          2. type: state
          3. values: complete, incomplete, not attempted, unknown
        5. progress_measure
          1. Read / Write
          2. format: real(10,7)
          3. range: 0 ... 1
        6. description
          1. Read / Write
          2. type: localized_string_type
          3. format: SPM: 250
    18. progress_measure
      1. Read / Write
      2. format: real(10,7)
      3. range: 0 ... 1
    19. scaled_passing_score
      1. Read / Write
      2. format: real(10,7)
      3. range: -1 ... 1
    20. score
      1. _children
        1. Read Only
        2. values: scaled, raw, min, max
      2. scaled
        1. Read / Write
        2. format: : real(10,7)
        3. range: -1 ... 1
      3. raw
        1. Read / Write
        2. format: real(10,7)
      4. min
        1. Read / Write
        2. format: real(10,7)
      5. max
        1. Read / Write
        2. format: real(10,7)
    21. session_time
      1. Write Only
      2. type: timeinterval
      3. format: second(10, 2)
    22. success_status
      1. Read / Write
      2. type: state
      3. values: passed, failed, unknown
    23. suspend_data
      1. Read / Write
      2. type: characterstring
      3. format: SPM: 64000
    24. time_limit_action
      1. Read / Write
      2. type: state
      3. values: exit,message, continue,message, exit,no message, continue,no message
    25. total_time
      1. Read / Write
      2. type: timeinterval
      3. format: second(10, 2)
  2. adl
    1. nav
      1. request
        1. Read \ Write
        2. type: request
        3. values: continue, previous, choice, exit, exitAll, abandon, abandonAll, _none_
      2. request_valid
        1. continue
          1. Read Only
          2. type: state
          3. values: true, false, unknown
        2. previous
          1. Read Only
          2. type: state
          3. values: true, false, unknown
        3. choice
          1. Read Only
          2. type: state
          3. values: true, false, unknown
  3. peg
    1. learner_preference
      1. locale
        1. Read / Write
        2. type: characterstring
        3. format: SPM: 4000
        4. standard: rfc-5646
      2. learner_level
        1. Read / Write
        2. type: characterstring
        3. format: SPM: 4000
        4. standard: open
    2. tracker
      1. items
        1. _children
        2. _count
          1. Read Only
          2. type: non-negative integer
        3. n []
          1. id*
          2. Read / Write
          3. type: long_identifier_type
          4. format: SPM: 4000
          5. url*
          6. Read / Write
          7. type: characterstring
          8. format: SPM: 4000
          9. category*
          10. Read / Write
          11. type: characterstring
          12. format: SPM: 4000
          13. title
          14. Read / Write
          15. type: characterstring
          16. format: SPM: 4000
          17. description
          18. Read / Write
          19. type: characterstring
          20. format: SPM: 4000
          21. subcategory
          22. Read / Write
          23. type: characterstring
          24. format: SPM: 4000
          25. height
          26. Read / Write
          27. type: characterstring
          28. format: SPM: 4000
          29. width
          30. Read / Write
          31. type: characterstring
          32. format: SPM: 4000
          33. thumbnailurl
          34. Read / Write
          35. type: characterstring
          36. format: SPM: 4000
  4. Color Key
    1. Read Only
      1. From LMS
    2. Read Only
      1. From Manifest via LMS
    3. Calculated Value
      1. The SCO calculates this
    4. metadata
      1. Metadata specifying permissions, data type, range, and valid values.
    5. Relationship
      1. Subtopic 1
  5. API 1484_11 Signatures
    1. boolean
    2. ""
    3. Initialize("")
    4. true
    5. boolean
    6. Terminate("")
    7. ""
    8. true
    9. characterstring
    10. GetValue(element: CMIElement)
    11. "cmi.progress_measure"
    12. "0.70"
    13. boolean
    14. SetValue(element: CMIElement, value: string)
    15. "cmi.progress_measure", "0.8"
    16. true
    17. boolean
    18. Commit("")
    19. ""
    20. true
    21. CMIErrorCode
    22. GetLastError()
    23. "351"
    24. characterstring SPM: 250
    25. GetErrorString(errorCode: CMIErrorCode)
    26. "351"
    27. "Unique Identifier Constraint Violated"
    28. characterstring SPM: 250
    29. GetDiagnostic(errorCode: CMIErrorCode)
    30. "0"
    31. “The data model element’s value is already in use and is not unique”
  6. Data types
    1. characterstring thas lists a complete identification of a data model element
    2. CMIElement
    3. characterstring representing the error code of the last error encountered. (convertible to an integer in the range from 0 to 65536 inclusive)
    4. CMIErrorcode
    5. characterstring that has a maximum length of 255 characters textual message containing a description of the error code
    6. CMIErrorString
    7. characterstring
    8. A string of characters as defined in ISO 10646.
    9. a characterstring prefixed with the language indicator of the language the string is written in default is english {lang=en}
    10. localized_string_type
    11. ISO
    12. time
    13. boolean
    14. non-negative integer
    15. base 10 number, with a precision of 7 decimal places
    16. real(10,7)
    17. CMIErrorCode
    18. long_identifier_type
    19. ISO 3609 time string
    20. timeinterval
    21. A data type used to represent a language 2-letter codes are defined by ISO 639-1 [14] • 3-letter codes are defined by ISO 639-2 [15] • The value “i” is reserved and used as a prefix for registrations defined by Internet Assigned Numbers Authority (IANA) • The value “x” is reserved and used as a prefix for private use and the subcode: • 2-letter subcodes are ISO 3166-1 alpha-2 country codes[16] • subcodes of from 3 to 8 letters are registered with IANA
    22. language_type
    23. Subtopic 1
    24. request
    25. Smallest Permitted Maximum - The minimum amount of space that an LMS most provide. In the case of characterstrings this is the length of the string In the case of arrays this is the number of elements in the array
    26. SPM 4000
  7. Error Code Ranges and Categories
    1. No error
    2. 0
    3. General Errors
    4. 100-199
    5. Syntax Errors
    6. 200-299
    7. RTS Errors
    8. 300-399
    9. Data Model Errors
    10. 400-499
    11. Implementation defined errors
    12. 1000-65535
  8. Reserver Property Delimiters
    1. {lang=en}
    2. {lang=<language type>}
    3. {lang=en} {lang=fr} {lang=en-US} {lang=en-CA} {lang=fr-CA}
    4. Subtopic 4
    5. {case_matters=<boolean>}
    6. {case_matters=true}
    7. {case_matters=true} {case_matters=false}
    8. {order_matters=<boolean>}
    9. {order_matters=true}
    10. {order_matters=true} {order_matters=false}
    11. Subtopic 4
    12. [.]
    13. na - needs to be provided
    14. 1[.]a
    15. Separates a pair of values that are related for an interaction
    16. [,]
    17. na - needs to be provided
    18. Separates a pair of values that are related for an interaction
    19. 1[.]a[,]2[.]c[,]3[.]b
    20. [:]
    21. na - needs to be provided
    22. Used to provide a separator for a range of inclusive numeric values
    23. 1[:]100
  9. Response Types
    1. yes/no or true/false questions
    2. "true" "false"
    3. True / False
    4. true-false
    5. {case_matters=<boolean>}
    6. multiple choice questions (the user can select one or more choices)
    7. "{lang=en}auto" "car" "car[,]automobile"
    8. Multiple Choice
    9. choice
    10. {order_matters=<boolean>} {case_matters=<boolean>} {lang=en}
    11. fill in the blank
    12. {order_matters=true} {order_matters=false}
    13. Fill In
    14. fill-in
    15. {lang=en}
    16. essay questions
    17. “{lang=en}Four score and seven years ago…” “Four score and seven years ago…”
    18. Long Fill In
    19. long-fill-in
    20. [,]
    21. drag and drop
    22. Matching
    23. 1[.]a[,]2[.]c[,]3[.]b
    24. matching
    25. [.]
    26. simulations where the user must identify steps to perform an activity
    27. Performance
    28. ”step_1[.]inspect wound[,]step_2[.]clean wound[,]step_3[.]apply bandage”
    29. performance
    30. Like RT
    31. surveys
    32. "strongly_disagree" "agree"
    33. likert
    34. Numeric
    35. numeric fill in the blanks or where the user responds only with numbers
    36. "10.5"
    37. numeric
    38. [:]
    39. Sequencing
    40. The user puts items in order
    41. "a[,]b[,]c"
    42. sequencing
    43. Other
    44. anything else...
    45. other