Forum Discussion

DavidHerrera543's avatar
DavidHerrera543
Community Member
2 years ago

Issues with Completion reporting in Cornerstone when using xAPI: Failed assessments showing as "completed" in the user's transcrtipt.

Hello everyone!

                            I'm hoping you can help here. My team and I are exporting our first xAPI courses to publish in Cornerstone (CSOD) and while they play correctly, the completion of the courses with assessments are not tracked as we would expect. 

What we would basically like is for a course to only be marked as completed in Cornerstone if they successfully pass the assessment. However, while looking at the xAPI statements the exported storyline file sends to the LMS/LRS, we noticed that "failed" statement for the assessment looks as follows (text redacted in bold, italics, and underlined for security purposes): 

{
  "actor": {
    "objectType": "Agent",
    "name": "Username",
    "account": {
      "homePage": "OurLMSHomepage.com",
      "name": "000001"
    }
  },
  "verb": {
    "id": "http://adlnet.gov/expapi/verbs/failed",
    "display": {
      "en-US": "failed"
    }
  },
  "object": {
    "objectType": "Activity",
    "id": "urn:articulate:storyline:ourcourse",
    "definition": {
      "type": "http://adlnet.gov/expapi/activities/objective",
      "name": {
        "und": "ourcourse"
      },
      "description": {
        "und": "course description."
      }
    }
  },
  "result": {
    "completion": true,
    "success": false,
    "duration": "PT1M28.51S",
    "score": {
      "scaled": 0.2
    }
  },
  "context": {
    "registration": "123443563",
    "contextActivities": {
      "parent": [
        {
          "objectType": "Activity",
          "id": "urn:articulate:storyline:ourcourse"
        }
      ],
      "grouping": [
        {
          "objectType": "Activity",
          "id": "urn:articulate:storyline:ourcourse"
        }
      ]
    }
  },
  "timestamp": "2023-03-20T20:37:42.508Z",
  "id": "123098",
  "authority": {
    "objectType": "Agent",
    "name": "username",
    "account": {
      "homePage": "OurLMSHomepage.com",
      "name": "00001"
    }
  },
  "stored": "2023-03-20T20:37:48.76"
}

The piece I'm interested in is the "Result" statement:

 "result": {
    "completion": true,
    "success": false,
    "duration": "PT1M28.51S",
    "score": {
      "scaled": 0.2
    }

While is marks success as "false", it marks completion as "true", and it seems that this makes Cornerstone automatically assume that the course can be moved to completion status in the user's transcript and, in turn, issue a certificate of completion. Their Support Center article on the matter states: 

"The CSOD LRS (xAPI Statement Viewer) will record valid verbs as they are sent from the course, however, to mark the course complete on the Transcript and move the course to the Completed Tab - the following conditions need to occur:
The course will send any of the following verbs:

  • passed
  • completed
  • failed
  • attempted 

and the result tag in the statement has the value of completion = True"

Source: https://csod.my.site.com/supportcentral/s/article/xAPI-When-does-a-course-move-to-Completed-Tab-on-Transcript?language=en_US

Based on this CSOD article, I can understand why even if the user fails the assessment, they are still marked as complete in the transcript. However, I believe this is a big problem because reporting-wise, the user show show as incomplete if a test fails. While I'm looking on the CSOD end on possibilities to address this, I would like to ask for this community's support in figuring out if there is a way to either:

  1. Create a send xAPI custom statement that informs that if the course is failed (our success is false), then to set the value of completion to "false".
  2. If this is not possible via Articulate statements, does anyone know if the Storyline-based xAPI statement that sends this information can be adjusted via the export files?

Any support will be appreciated!