I am using Scorm 2004 and I am wondering if there is a way to calculate completion percentage based on interaction (i.e cmi.interactions.*)? or what's the straightforward way to calculate completion percentage?
The reason I was thinking about using interaction is because we have: cmi.interactions.0.objectives.n.id and I was thinking we can use cmi.objective.n.completion_status. But how to find the total number of objectives to find the completion ratio?
I appreciate any help or hint.
Update
I was able to parse suspended_data. Now the question is how to get completion progress out of it.
{
"progress": {
"lessons": {
"1": {
"c": 1,
"p": 100,
"i": {
"0": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"1": {
"c": 1
},
"2": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"3": {
"c": 1
},
"4": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"5": {
"c": 1
},
"6": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"7": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"8": {
"c": 1,
"i": {
"0": {
"c": 1
},
"1": {
"c": 1
},
"2": {
"c": 1
},
"3": {
"c": 1
},
"4": {
"c": 1
}
}
},
"9": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"10": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"11": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"12": {
"c": 1
},
"13": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"14": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"15": {
"c": 1
},
"16": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
}
}
},
"2": {
"c": 1,
"p": 100,
"i": {
"0": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"1": {
"c": 1
},
"2": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"3": {
"c": 1
},
"4": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"5": {
"c": 1
},
"6": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"7": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"8": {
"c": 1
},
"9": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
}
}
},
"3": {
"c": 1,
"p": 100,
"i": {
"0": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"1": {
"c": 1
},
"2": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"3": {
"c": 1
},
"4": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"5": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"6": {
"c": 1
},
"7": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"8": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"9": {
"c": 1
},
"10": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"11": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
},
"12": {
"c": 1
},
"13": {
"c": 1,
"i": {
"0": {
"c": 1
}
}
}
}
},
"4": {
"a": 7,
"p": 47,
"r": 1,
"s": 20,
"i": {
"0": {
"c": 1,
"k": 1,
"s": 0
},
"1": {
"c": 1,
"k": 0,
"s": 1
},
"2": {
"c": 1,
"k": 0,
"x": [1]
},
"3": {
"c": 1,
"k": 1,
"s": 3
},
"4": {
"c": 1,
"k": 0,
"s": 3
},
"5": {
"c": 1,
"k": 0,
"s": 2
},
"6": {
"c": 1,
"k": 1,
"s": 1
}
}
}
},
"p": 75
},
"score": 20
}