My department has been using a custom-built SCORM Learning Module template for developing our corporate training. The template permits a variety of page widths and flexible height throughout, and has features such as branching, dynamic pdf generation, in-module text search, and aggregation of all sorts of...
I work for the University of Michigan Health System, on the Learning Management Team. We run the enterprise LMS, create online learning activities for use across UMHS, and offer innovative solutions and training for educators embedded throughout the system.
Back in 2008, I attended a SCORM 2.0 requirements gathering workshop hosted by LETSI in Pensacola. My participation was driven by the hope we could improve SCORM and maybe move it toward some of the capabilities that we particularly wanted:
- Make the LMS disappear from the user’s view where it wasn’t absolutely needed, yet track everything that needs to be tracked.
- Open up the data inside the LMS to any application that needed to consume it using standards, so this wouldn’t be a custom project for every application.
- Track and use demographic, role and other types of non-SCORM data for consumption by adaptive learning applications.
- Eliminate technical limitations of SCORM, including cross-domain issues, the requirement for an open SCORM session to be present before communication could occur, and allow third party participation in tracking for use cases like mentoring and checklist-driven demos.
Fast-forward to a few months ago, we finally got the chance to unwrap our shiny new LRS and try it out! An xAPI LRS came with the Rustici SCORM Engine we integrated with our LMS. This was very exciting for us, since we had lots of ideas that could now be tested.
Unfortunately, experimentation with new technologies is challenging in our production environment due to high-availability requirements and clinical dependencies on the LMS, so we installed the LRS in a test environment instead, and started to build prototype xAPI projects. We are currently in the process of implementing a stand-alone LRS in its own production environment, and that will enable the real pilots to begin without affecting the LMS.
Projects we are working on tend to fall into two categories: ones that involve the Learning Management System and ones that don’t. I think xAPI projects that involve integration with the LMS are only really interesting where xAPI can solve a technical problem or provide an LMS-related use-case that SCORM or AICC cannot fulfill. If it’s already working well, why fix it? Over the last few years, LMS’s have developed workarounds for some of the technical limitations of SCORM on their own, albeit in a non-standards sort of way, so the case for a LMS/LRS integration is somewhat diminished, but it is still worth doing, if only because it is a STANDARD.
However, the typical LMS is not truly an all-encompassing learning universe and there isn’t really a compelling reason to make it that. xAPI has quite a self-standing role to play. We need to bring the tracking to where people learn, not hope that people will come to where the tracking is for their not-explicitly-required learning. Truly, the use of the word “tracking” when used with xAPI is misleading - since some of the best uses for xAPI have absolutely nothing to do with tracking completions and scores.
We may want to aggregate results, but it is not clear that the LMS will be the best place to do that after a while, since its data is a subset of the kind of data that could be collected with xAPI.
The reality is that people that have a choice will never go to the LMS for all of their learning, and especially not their “real” learning, no matter what LMS vendors would like us to believe, and despite vendor attempts at providing social learning and communities within Learning Management Systems. But there are plenty of reasons for exposing, analyzing, or otherwise “tracking” some of that currently invisible learning in ways that don’t involve the LMS at all.
In case anyone is interested in getting our code, or taking projects further than we are able to at the moment, some of the projects our team has worked on are listed below.
I’m working on an HTML version of a Flash Treasure Hunt training game I built a couple of years ago. When it’s done, this will be more of a flexible framework than a specific game, capable of being used for any of the many situations in healthcare that require finding the right tool, part or medication quickly and accurately. Searchable anesthesia carts, cardiac arrest team “crash carts”, cardiac catheterization tubing racks, operating rooms, and even patient rooms are just some of the possible settings that could be portrayed in the game.
I work in a small learning management department in a large Health System. One of the “forever” problems we’d like to solve, is how to get out of the way of our many clinical subject matter experts and make it EASY for them to put trackable learning content online by themselves. Why is this still a problem in this age of online applications? Simply put: cost, learning curve and trackability.
Licensing costs in a decentralized environment
Software license costs are a big issue in a distributed authoring environment, particularly for departments that watch every penny. There are hundreds of potential authors out there, mostly in departments that do not prioritize the purchase of elearning software. Licenses for the big elearning software packages (Articulate, Storyline, Lectora, etc.) are not inexpensive, even with academic discounts and whatever site-licenses may exist.
The field of Healthcare today is filled with opportunities for improvement. Inconsistent treatment, preventable illness, and medical errors that result in injury are all too common, along with enormous inefficiency and waste.
The Institute of Medicine, the medical arm of the National Academy of Sciences, is leading an initiative that descibes a better organizing principle for healthcare – a “Learning Healthcare System.” A learning healthcare system is simply one that continuously “Learns,” meaning that healthcare data from many sources, including electronic medical records is turned into guidelines and knowledge and that knowledge is swiftly translated into practice so that all clinical decisions and processes are based on the best available and most current evidence. New knowledge is in turn generated in the course of practice, and the cycle continues, fostering continuous improvement at all levels: national, organizational, unit, team and individual.
I sometimes use Google Maps on the iPhone as my GPS when traveling, so it was very inconvenient a few days ago when it stopped talking, right when I needed it. Once I got home, I spent some time searching for fixes, but most answers...
Movable Type has a built in container tag
which is often used to show the “More” part of a long entry, or anything else that should be displayed only if the entry is extended:
<div>Special text or page elements for Extended Entries go here</div>
But what if you want something to show up only if the entry is NOT extended? There is no corresponding <MTEntryIfNotExtended> tag.
Fortunately that functionality is simple to replicate using Movable Type variables.
I sometimes record lectures or meetings for later reference, and have found Mechanical Turk to be an efficient and affordable method for transcribing them. It can be quite confusing to get started using MTurk though, and the available blogs on the subject don’t really help you navigate the current MTurk interface, so here is the step-by-step process I use to have a lecture transcribed:
Cut your audio into 5 or 10 minute clips
Download Audacity – a free audio editing tool that works on both Windows and Mac.
Import your voice-recording file. (File > Import >Audio)
If you see a warning about FFMpeg being missing, just ignore it.
When installing Plupload module to work with Media module on a Hostgator site, I got the error:
Your server is capable of displaying file upload progress, but does not have the required libraries. It is recommended to install the PECL uploadprogress library (preferred) or to install APC.
Looking at the suggested library (pecl.php.net) it was a shell script that pretty obviously required privileges that I would not have on a shared host. However, Hostgator has another library already installed that implements PECL: CodeGen_PECL. It just has to be enabled.
I had occasion to make a patch file the other day, and since I do this so rarely, it took some time to look up how to do it. So here, in a nutshell is how to use diff on a Mac.
At the prompt, type
diff -up newfile oldfile
But really the easiest way to get the paths right is to type:
…then drag first the new file, then the old file from the desktop onto the terminal window right at the end of the line after
-up . It will fill in the paths for you.
The SimpleLDAP plugin by Cliff Griffin is exactly what I needed for a proof-of-concept WordPress site I’m working on, but it hasn’t been officially updated in a while and was not entirely compatible with WordPress v.3.5.
I’ve updated the plugin to eliminate the errors I was getting, and it now works fine on my site, but it could probably use some TLC from someone more experienced with working with WordPress.
The original version of the plugin I used as a basis is v18.104.22.168.1, available at http://wordpress.org/plugins/simple-ldap-login/.
Drupal 7: CTools module error: Failed: PDOException: SQLSTATE: Integrity constraint violation:
When I re-installed CTools (Chaos Tools Suite) during a Drupal 7 upgrade, it resulted in this error: Failed: PDOException: SQLSTATE: Integrity constraint violation: 1062 Duplicate entry ’29′ According to this post, it may have something to do withinsufficient memory allocation to PHP preventing hook_install from...