# Align Assessments to Competencies

The functional alignment of assessment data to competency data requires the following:

  1. A unique identifier for the assessment
  2. A competency to be aligned to
  3. A data pipeline that emits results from the assessment system
  4. An alignment between the assessment and the competency
  5. An adapter that listens for or watches the assessment system for new data and converts it into assertions

With all requirements satisfied, the following sequence occurs:

  • The assessment system assesses a learner.
  • The assessment system emits a record (xAPI or otherwise) that identifies the learner, identifies the assessment or question, and provides a success/failure or score metric.
  • The assessment adapter receives the record.
  • The assessment adapter looks for alignments in CaSS by the assessment or question identifier.
  • The assessment adapter looks up the student in CaSS by the learner's identifier.
  • The assessment adapter creates an assertion on behalf of the assessment system that asserts that the assessment system believes the learner holds or does not hold the aligned competency, and optionally provides a confidence based on the score. The assessment system's record may or may not be attached as evidence.

Each of these requirements is described in detail below.

# 1. A unique identifier for the assessment

This unique identifier may come from the originating system or may be generated by an intermediate system. For instance, in Moodle, a question emitted via an xAPI statement has an identifier similar to

https://moodle.eduworks.com/question/question.php?cmid=4&id=2

and an assessment emitted via an xAPI statement has an identifier similar to

https://moodle.eduworks.com/mod/quiz/view.php?id=4

# 2. A competency to be aligned to

This competency should reasonably map to the assessment or assessment question. An assessment competency may have multiple competencies underneath it. This means that the assessment implicitly makes a statement about all of the competencies underneath the competency aligned.

# 3. A data pipeline that emits results from the assessment system

The data pipeline should emit, as a single record:

  • The assessment or question ID
  • An identifier for the individual
  • A score, which represents pass, fail, or that can be bounded between 0-1

The following is an example xAPI statement satisfying these requirements:

{
    "authority": {
        "objectType": "Agent",
        "name": "Eduworks",
        "mbox": "mailto:cass@eduworks.com"
    },
    "stored": "2019-10-25T15:34:33.406Z",
    "actor": {
        "name": "Fritz Ray",
        "mbox": "mailto:fritz.ray@eduworks.com",
        "objectType": "Agent"
    },
    "timestamp": "2019-10-25T16:33:34+01:00",
    "version": "1.0.0",
    "id": "9f110754-817f-4207-a015-26044c78f436",
    "result": {
        "score": {
            "raw": 0.33333,
            "min": 0,
            "max": 4,
            "scaled": 0.0833325
        },
        "completion": true,
        "success": true,
        "duration": "PT33S"
    },
    "verb": {
        "id": "http://adlnet.gov/expapi/verbs/completed",
        "display": {
            "en": "completed"
        }
    },
    "object": {
        "id": "https://moodle.eduworks.com/mod/quiz/view.php?id=4",
        "definition": {
            "type": "http://adlnet.gov/expapi/activities/assessment",
            "name": {
                "en": "Headset Use"
            }
        },
        "objectType": "Activity"
    }
}

# 4. An alignment between the assessment and the competency

A resource or assessment alignment in CaSS is structured as follows:

{
    "@type": "CreativeWork",
    "educationalAlignment": [
        {
            "@context": "http://schema.org/",
            "@type": "AlignmentObject",
            "alignmentType": "assesses",
            "targetUrl": "https://sandbox.credentialengineregistry.org/resources/ce-24aae5e7-868a-4cdc-a5ad-a857bf864590"
        }
    ],
    "@id": "https://dev.cassproject.org/api/data/schema.org.CreativeWork/ca22e231-0dc9-4368-85c7-4e37e96c710d/1525956177976",
    "@context": "http://schema.org/",
    "url": "https://moodle.eduworks.com/mod/quiz/view.php?id=4"
}

The following code creates this alignment:

var c = new CreativeWork();
c.generateId(repo.selectedServer); // (Ensure you have a repo defined in your code)
c.url = "https://moodle.eduworks.com/mod/quiz/view.php?id=4";
c.educationalAlignment = [new AlignmentObject()];
c.educationalAlignment[0].alignmentType = "assesses";
c.educationalAlignment[0].targetUrl = "https://sandbox.credentialengineregistry.org/resources/ce-24aae5e7-868a-4cdc-a5ad-a857bf864590";
EcRepository.save(c, console.log, console.error);

TIP

The CaSS Dashboard (cass-vlrc) can do this. Navigate to the competency, click Resources, and use the URL of the assessment or question to create a new Resource.

# 5. An adapter that listens for or watches the assessment system for new data and converts it into assertions

The CaSS xAPI Adapter performs this function.

Other CaSS adapters can be created to serve the same purpose, as can other code that uses the CaSS Library. Details on how the CaSS xAPI Adapter performs this function are available in the source code here (opens new window).