presentation

Download Report

Transcript presentation

Adopting the Experience API to work with the Virtual Patient Standard - how, what and why?

Matt Cownie, Jonathan Wright University of the West of England, Bristol

Abstract The eXperience Application Programming Interface (xAPI) is a new specification that allows learning content to link with learning systems to track and share all types of learning experiences. Learning activities can be tracked using combinations of a limited vocabulary of activities, verbs and subjects. While the specification provides a default profile of activities and verbs it allows for communities of practice to develop custom profiles of their own agreed activities and verbs. This presentation will have main 3 parts.

XAPI Actor, Verb, Object Leaner , Completed, Virtual Patient

Caveat Emptor • Tincan OR experienceAPI OR xAPI • Versions 0.90-0.95-1.0-

1.01

• Many examples are ‘slightly wrong’ • • Libraries for Java, JS and PHP New .NET Library for the Tin Can API is Now Available!

• Refer to the final spec 1.0.1

• Assumes you are VP Standard aware

Part 1 - How Firstly it will demonstrate

how

to use the experience API to capture the stream of activities a learner generates while playing a Virtual Patient (VP). It will show technical examples that map VP concepts onto XAPI calls that can be used to populate a Learning Record System (LRS) with VP related learner data.

Simplest example (C#) Actor Verb Activity Activity Type Statement LRS

statement = actor + verb + activity

We made a statement http://tincanapi.com/public-lrs/ Statement in the LRS

JSON payload URL

URI URL

Simplest example (JavaScript)

More detail? “verb” : { “display” : {“en-US” :”visited”}, “id” : ”http://medbiq/exapi/verbs/visited } , COP Verb ?

“ type” : http://medbiq/exapi/activites/virtualPatient/ } } } COP Activity ?

Looks like, but

More detail with context (simple) Tie everything together

sessionId

XAPI - ContextActivities XAPI provides four possibilities ‘parent’, ‘grouping’, ‘category’, and ‘other’

Parent

- model the Virtual Patient as parent activity and set that as the context for all subsequent related activities. Further granularity would be a video and MCQ with a node as parent activity.

Grouping

- might want to group an activity within the VP with related activities in same VP or other VPs

Category

Category SHOULD be used to indicate a "profile" of xAPI behaviors ”

- e.g. PhysicalExam, Medication?

Other

- none of the above, perhaps supporting learning material or making a branching decision?

Some Concerns • Media Resources, Counters, CounterRules, DataItems,NodeRules, NodeAccessRules • Extensions • Exposing internal workings and Id’s • Name spacing • Versioning • Who’s the audience?

Part 2 - what Secondly it will review what this data looks like in an LRS and examples of querying it for meaning. It will outline what verbs and activities might be contained in a Virtual Patient specific profile and what use cases these could meet.

Simplest – manual get (c#) query results

Dashboard

A Report Builder

Statement Forwarding Painting by Eugene Delacroix , available under a Creative Commons Public Domain license .

Verbs and Activities and URL’s

VP Activities + types Video : video Document : file audio : audio Html5 activity : interaction YouTubeVid : media Short answer : note Page : page MCQ : question Flash activity : interaction DataItems : file?

CounterRules : event Image : media Unity activity : interaction CounterRules : event Blood Test : media NodeRules : event DataItemRequest : interaction Media Resources : media NodeAccessRule : event

VP Verbs Played :

played

Visited :

was at

Commented : restarted :

terminated?

commented

Listened :

listened

Watched :

watched

Altered:

updated?

Read :

read

Started :

started

Triggered: ?????

Answered :

answered

Requested :

requested

Exited :

exited

Completed :

completed

Extensions and Profile counter : extension feedback : extension

Part 3 – why (for VP’s) Lastly it will outline

why

the virtual patient community might want to adopt the experience API and ask whether a specific community profile is necessary. Influences for consideration include the “Internet of Things”, mobile learning, data-mining, combining virtual patients with other simulation activities, capturing the complete educational context of a learners VP experience and reporting into competency frameworks.

What were my use cases? 1. Reporting 2. Big Data 3. Learning Management System(s) 4. LTI 1.1 & outcomes 5. Simulation

Other VP use cases? 1. 3D & Games 2. Multi-modal simulation 3. Team based 4. Platform transition (state API) 5. Learner Profiles

Wider reasons to adopt XAPI

1. Transversal 2. Transparency

3. System silos 4. Simulation (non-linear) 5. Mobile 6. Innovation 7. Future proof

Answer the Question… Is a specific VP community profile necessary?

A friend in need http://www.adlnet.gov/tla/experience-api https://github.com/adlnet/xAPIWrapper http://nodejs.org/ https://www.npmjs.org/package/adl-xapiwrapper https://github.com/LearningLocker/learninglocker http://thedesignspace.net/misc/xapi https://github.com/RusticiSoftware/TinCan.NET

https://github.com/RusticiSoftware/TinCanJS https://registry.tincanapi.com/ http://tincanapi.com/public-lrs/ http://scorm.com/scorm-solved/scorm-cloud-developers/