Description

Students are required to meet certain medical encounters during their training. This is logged electronically and evaluated at the end of the students' training. If a student does not have a certain encounter by the end of the training a simulated version of the encounter must be experienced, such as through computer cases, simulations, readings, etc. All of these encounters need to be recorded in such a way to support reporting of the encounters, whether the encounter was live or some alternative, and the total percentage of alternative encounters.

Requirements

The following minimal requirements must be met:

  • A student can electronically log their encounters, both live and simulated
  • A report can display the student's encounters
  • A report can indicate if the encounter was live or simulated
  • A report can show the percentage of students that experienced the simulated encounter
  • A report can show the type of encounter, if the encounter was simulated

Potential Solution

The Experience API (xAPI) offers a solution by storing the encounter data as xAPI Statements, and providing a way to retrieve that data. Encoding the data for later reports is the largest consideration in the formatting of the encounters. The following breaks down the statement.

Storage (Encoding) of the Encounters

Actor

The actor portion of the Statement uniquely identifies the student. The "account" attribute was used for this demonstration to remove any personally identifiable information, since the account "name" attribute can be anything, such as some identification number.


"actor": {
    "name": "jono",
    "account": {
        "homePage": "http://adlnet.gov/demo/accounts/encounter",
        "name": "ABC123"
    }
}
                    

Verb

The verb of the Statement identifies the action taking place. Since all of the tracking was related to 'encounters', the verb 'encountered' was coined for use in this example.


"verb": {
    "id": "http://adlnet.gov/demo/verb/medical/encountered",
    "display": {
        "en-US": "encountered"
    }
}
                    

Object

The object identifies the encounter, such as patient with chest pain. The type attribute is used to indicate the type of encounter, ie. was it live, if not, what type of simulation was it?


"object": {
    "id": "http://adlnet.gov/demo/encounter/chest-pain",
    "definition": {
        "name": {
            "en-US": "patient with chest pain"
        },
        "type": "http://adlnet.gov/demo/encounter/type/alternate/reading"
    }
}
                    

Context

The context object used in this scenario is mainly for searchability. Using the category activities as 'tags' allows the reporting system to query a subset of statements in the LRS. For example, the IRI "http://adlnet.gov/demo/profile/medical-encounter" allows the report to retrieve only the Statements that follow this data format. And the IRI "http://adlnet.gov/demo/encounter/type/alternate" allows the report to query the LRS for only alternate encounters.


"context": {
    "contextActivities": {
        "category": [
            {
                "id": "http://adlnet.gov/demo/encounter/type/alternate"
            },
            {
                "id": "http://adlnet.gov/demo/profile/medical-encounter"
            },
            {
                "id": "http://adlnet.gov/demo/encounter/type/alternate/reading"
            }
        ]
    }
}
                    

Full Statement Example

A complete Statement is shown below.


{
    "actor": {
        "name": "jono",
        "account": {
            "homePage": "http://adlnet.gov/demo/accounts/encounter",
            "name": "ABC123"
        }
    },
    "verb": {
        "id": "http://adlnet.gov/demo/verb/medical/encountered",
        "display": {
            "en-US": "encountered"
        }
    },
    "object": {
        "id": "http://adlnet.gov/demo/encounter/chest-pain",
        "definition": {
            "name": {
                "en-US": "patient with chest pain"
            },
            "type": "http://adlnet.gov/demo/encounter/type/alternate/reading"
        }
    },
    "context": {
        "contextActivities": {
            "category": [
                {
                    "id": "http://adlnet.gov/demo/encounter/type/alternate"
                },
                {
                    "id": "http://adlnet.gov/demo/profile/medical-encounter"
                },
                {
                    "id": "http://adlnet.gov/demo/encounter/type/alternate/reading"
                }
            ]
        }
    },
    "timestamp": "2015-04-17T15:37:27.752Z"
}
                    

Live Examples

Live examples are hosted for demonstration purposes.

The encounter app

The reporting app