Recently, we have had clients asking how to report on the percentage of a course that a learner has completed. Rustici Engine (and SCORM Cloud) do have a way to return such a value, but a thing to note is that not all learning standards have a defined way for a course to set this value, even if you are able to see a progress bar in the content UI. There are differences in how this value is calculated under the hood for the different standards, so I’ve pulled together some notes below about how each handles it, starting with the two that support an element/extension to.
SCORM 2004 (2nd, 3rd, and 4th Editions) included an element called cmi.progress_measure that would indicate the percentage towards completion of a SCO. That element can have a value between 0 and 1 where 0 is a course that is not started and 1 is a completed course. While this was a great addition to the SCORM specification, unfortunately, the 2nd and 3rd Editions did not include a way to roll this up so that it was reportable. This means that it will not be surfaced by Rustici Engine except at the runtime level.
However, if your course is SCORM 2004 4th Edition, that specification did include the ability to roll up that particular data so that you can report on it . To be able to report on this element, remember the following:
- The course has to be published to actually set this cmi.progress_measure element, if you want a specific value. For example, 33%, 50%, etc.
- The course must be published to use SCORM 2004 4th Edition
If your course is published as cmi5, you also have a good chance to be able to get some robust progress data. There is an extension (https://w3id.org/xapi/cmi5/result/extensions/progress) that can be used to set a percentage completed in the result object of statements your cmi5 package sends.
If you are using our media content functionality, which launches mp3’s, mp4’s and PDF’s with a cmi5 wrapper, we will automatically be setting completion percentage for you. Otherwise, your course would need to include that extension in its statements.
If your course uses any other standard (or your course doesn’t set a progress amount), you will still get a value in Rustici Engine. However, it will be more simple, where 0 is incomplete and 1 is completed. Generally, there is no value in between unless you have a multi-SCO course. If you do, the progress will be calculated by taking the number of completed SCO’s divided by total number of SCOs, which could give you an intermediate completion amount.
Speaking of which, where do I find this data, you ask? In Rustici Engine and SCORM Cloud, we refer to “progress measure” as “RegistrationCompletionAmount”. First off, if you are using registration postbacks from either of our products, you should find that data in your postbacks. You can also see that same element in the response to the getRegistrationProgress API call, towards the bottom of the response.