330 likes | 547 Views
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.
E N D
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
More detail? COP Verb ? “verb” : { “display” : {“en-US” :”visited”}, “id” : ”http://medbiq/exapi/verbs/visited }, COP Activity ? “type” : http://medbiq/exapi/activites/virtualPatient/ } } }
More detail with context (simple) Tie everything together
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 xAPIbehaviors” - 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
Statement Forwarding Painting by Eugene Delacroix, available under a Creative Commons Public Domain license.
VP Activities + types Page : page Video : video Html5 activity : interaction Document : file audio : audio MCQ : question YouTubeVid : media Short answer : note Flash activity : interaction CounterRules : event DataItems : file? Image : media NodeRules : event Blood Test : media Unity activity : interaction DataItemRequest : interaction CounterRules : event Media Resources : media NodeAccessRule : event
VP Verbs Visited : was at Commented : commented Played : played restarted : terminated? Listened : listened Watched : watched Altered: updated? Read : read Triggered: ????? Started : started Answered :answered Requested :requested Completed : completed Exited : exited
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? • Reporting • Big Data • Learning Management System(s) • LTI 1.1 &outcomes • Simulation
Other VP use cases? • 3D & Games • Multi-modal simulation • Team based • Platform transition (state API) • Learner Profiles
Wider reasons to adopt XAPI • Transversal • Transparency • System silos • Simulation (non-linear) • Mobile • Innovation • 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/