5 years later, a look back at the HSVO E-Learning project and NRC’s role

Today marks the 5-year anniversary of the conclusion of my 2 year on-site contract for NRC which ran from November 3rd, 2008 to November 3rd, 2010. As I believe all the NDAs on the project we worked on have expired, I’ll be looking back at what that project was all about, what its challenges were, and (in a separate follow-on post) how we solved them.

National Research Council of Canada, Institute for Information Technology (NRC-IIT) in Fredericton, NB (Photo credit: Wikipedia)
With over 20 research facilities in nearly as many different cities across the country, the National Research Council of Canada (NRC) is our nation’s largest government-sponsored, citizen-operated science & technological research organization.
How I got there
Stephen MacKay (then Research Group Leader at NRC-IIT Fredericton) would become the first representative of NRC I would meet in-person during my early career. It was my final summer of freedom, towards the end of my “startup run” after Grad School in Japan, where I had spent a year in between the conclusion of my Sony internship (2007-10-12) up to my eventual hiring at NRC (2008-11-03). For that year, I had been a self-starter entrepreneur living on the thinnest of shoestring budgets. I had been trying my best to setup a business around online video that I was convinced would change the way we monetize content and behavior online more fairly in favor of content creators, and attempting to evangelize a model where site loyalty would be rewarded properly (as I still think it should be, although making a go of it I’ll admit requires not just initial funding but you must guarantee a certain scale which is the real trick, if that original revenue-share idea is to be sustainable). Think about that “not yet” failed business/technology as Blockchain but the rewards of a “BitCoin” don’t go out for solving a cryptographic hashing algorithm, rather for duration of video viewing and in particular ecosystem ad/partner economic interaction. Apologize for the digression, but it’s important to set the tone though, as I had just given it my all and built a product still in search of an audience (hah even to this day).
In any case, I met Stephen MacKay at the 2008 CNSR Conference which by chance took place in Halifax, NS allowing me to attend on my limited “wannabe entrepreneur” budget. I had already spent the last of my “petty cash” booking a June flight to Toronto, to speak at MobileMonday Toronto, an effort which I had hoped would expose me to some potential wealthy investors in the big city. Stephen was interested in my work and saw my potential, we exchanged cards and he said to look him up and that there might be some opportunities to work with NRC coming up in the near future. I continued my long 18-20 hour days working on “the dream” throughout that summer until my 25th birthday in October, by which time I had promised my parents and most importantly myself that I would have either secured funding, or, bitten the bullet and started looking for a full-time job.
So it was with great resignation that I finally desperately reached out to Stephen to follow-up on our meeting at CNSR to see what opportunities he mentioned might be available. I had at first just attempted to gain an audience to pitch the business idea and early prototype to NRC as a potential for their “new business incubation lab”. Stephen however urged me to look into some of the recent full and part-time contract postings and working with NRC that way, as it was unlikely that they could take on any funding relationship with such an early stage startup (to this day I don’t think they take enough risks on startups but prefer helping fairly established incumbents build out their products or research new ones, but that’s another story). I found the Application Development position profile to be quite interesting and relevant to the work I had been doing. They wanted someone who knew multimedia/video-conferencing (had been in deep research on online & mobile video for over 2 years), who knew SOA and how to integrate web services (had been integrating YouTube, GoogleSearch, Flickr, PayPal and several other key APIs to my startup), and who could program in Java (focused on Java for 4 years in University and 1-2 years of practical on-the-job work afterwards).
In fact, when I really think back though it was actually one of my would-be interviewers Bruce Spencer, my eventual supervisor, whom was the first person at NRC that I corresponded with. I had briefly contacted him in 2006 while working on my thesis at the International University of Japan. That work focused on Semantic Web technologies and how they might benefit the growing MobileTV (now more commonly known as OTT) market. Bruce was a leading academic in Atlantic Canada for accomplishing intelligent content recommendations in the RACOFI project that lead to the InDiscover music recommendation service which got sold to Bell Labs in 2007. This was what led me to email him via my 4th year “CS Advanced Topics – Semantic Web” teacher at Acadia University (Dr. Andre Trudel) who was my first go-to for Semantic Web questions, as I worked through my thesis in Japan. So quite a long-winded explanation, but that’s how I wound up at NRC for 2 years of my life. The rest will tell the story of what happened while I was there.
NRC’s Goal
According to their own website, their purpose is to be:
“the Government of Canada’s premier research and technology organization (RTO).”
They intend to accomplish this by:
“Working with clients and partners, to provide innovation support, strategic research, scientific and technical services to develop and deploy solutions to meet Canada’s current and future industrial and societal needs”
In many ways in fact NRC really acts as the public-facing version of the Military-focused government research department known as the Defence Research and Development Canada which of course researches and develops technologies and solutions for our navy, military and airforce in cooperation with established military-industrial provider companies (Aerospace, Transport, Armour, Ballistics/Weapons, Threat Detection, etc).
Within that operating model there are a few other similar departments (check out the full list of Canadian government departments) but based on my understanding the different the two which stand out differ as follows:
- Innovation, Science and Economic Development Canada (ISED) – focuses on investments in domestic companies and research projects at a large-scale, particularly those at late-stages to assist with implementation and real-world roll-outs, to realize immediate benefits to Canadians (i.e. jobs-based investments, or practical short-term ROI projects needing a help to finalize projects already underway)
- International Development Research Centre (IDRC) – focuses on investing in projects beyond our borders with large-scale benefit potentials, particularly those within developing countries
- Natural Sciences and Engineering Research Council of Canada (NSERC) – focuses on working with academics and students at at post-secondary education institutions (Universities, Colleges, etc) and helping find companies to encourage joint-investment from into academic research projects with potential to deliver innovations to Canadians.
See slides 22-29 for a nice summary of the NRC’s role in HSVO:
https://www.slideshare.net/Downes/the-national-research-council-in-new-brunswick
Problem
It is difficult or impossible for students and researchers at Medical Schools across the country (and world) to share unique, expensive pieces of medical equipment and training systems they have with each other in order to collaborate and improve the overall learning environment to give students the best possible education regardless of where they are (i.e. rural locations, big cities, on campus, in expensive lab, at home). The premise is we should be doing a better job of teaching all of our doctors and our medical system is only as strong as the weakest link. We can and should have a system in place to facilitate shared learning and sharing of resources. To realize this, we will certainly need a higher throughput network through which to share essential data in real-time.
Solution
A rising tide lifts all ships. That’s the premise CANARIE had in funding the HSVO project at least, a project which aimed to use the research fund to build an E-Learning middleware that will enable one-click launching/activation of any device or service, from any location (over the web) and provide the infrastructure through which each device or service can share its key input and output data to remote locations. Also, it would offer up an at the time world-leading 10 GBps fiber optic backbone which could handle just about all the HD video and high-fidelity visualization data we could throw at it in real-time with no buffering, loading or painful experience-ruining stalling out.

SAVOIR single point of integration for every service/device whether at different schools, or, physical locations within the same school. This enables virtual organizations like the HSVO to collaborate in ways they’ve never been able to before.
The SAVOIR middleware comprising of an ESB for message transport, consistent SDK for message translation across multiple programming languages, and some SOAP-based Web Services around the four key elements: Users, Resources, Sessions, Workflows all work together to realize the vision of the HSVO.
HSVO project partners
The following project listing was all I had left from my private notes of this work I did on HSVO at NRC. Having this posted publicly for posterity is useful to me because it was such a massive chunk of my early career up to this point, maybe someone from the project will want it at a later date.
Health Services Virtual Organization (HSVO) partners are the following 8 major organizations:
- National Research Council of Canada (NRC)
- SAVOIR2.0 – Desktop: http://198.164.40.171/hsvo/
FLEX Authoring Tool & portal - SAVOIR2.0 – Mobile: http://198.164.40.210:8080/savoir2/
HTML5/AJAX fallback Authoring Tool & portal - SAVOIR Backend Web Services: http://198.164.40.210:8080
Web Services to manage Users, Sessions, Resources, Workflows, Rules, Messages- SAVOIR 2.0 – ESB: http://198.164.40.210:8080/SAVOIR_BUS/
Inbound Endpoint for all devices. - SAVOIR 2.0 – WebBroker: http://198.164.40.210:8080/SAVOIR_WebBroker/SavoirWebBroker
Rule Engine aka. SAVOIR Threshold Manager from which messages get routed.
TECHNOLOGY: FLEX/AJAX frontend, SOAP ws-* backend, built in Java with CXFTeam: Bruce Spencer, Sandy Liu, Bruno Emond, Bryan Copeland, Yonghua You, Yosri Harzallah
[REF1, REF2] - SAVOIR 2.0 – ESB: http://198.164.40.210:8080/SAVOIR_BUS/
- SAVOIR2.0 – Desktop: http://198.164.40.171/hsvo/
- Northern Ontario School of Medicine (NOSM)
- NOSM – OpenLabyrith v2.0: http://demo.openlabyrinth.ca/
Web-based virtual patient pathway evaluation tool (like an online quiz tool with sophisticated algorithms to evaluate current score in real-time, based on student decisions). It provides interactive, multi-level, potentially recursive tree structures implementing a case or problem that you can solve or explore, with a VUE-compatible visual authoring tool.
TECHNOLOGY: AJAX/JS-based Web API service extension of original OLv1.0, integration via C#/ASP.net - NOSM – verse: https://code.google.com/archive/p/nosm-verse/
Second Life integration for OpenLabyrith VPs
TECHNOLOGY: Ariadne4j wrapper for OpenLabyrinth, integration via Java - NOSM – LegoMindstorms: Developer docs for Java
The ultimate example of an Edge Device, this showed the possibilities of SAVOIR for IoT devices/sensors, before “IoT” was even a thing. - NOSM – Web DICOM viewer: http://chafey.github.io/cornerstoneDemo/ (a web API Service integration via AJAX)
TECHNOLOGY: C#/ASP.netTeam: Rachel Ellaway, Dr. David Topps, Jordan MacDonald, Roger Sanche, Alison Peek
[REF1 , REF2, REF3]
- NOSM – OpenLabyrith v2.0: http://demo.openlabyrinth.ca/
- McGill University – CIM Shared Reality Lab (McGill)
- McGill – “Shared Reality” 360 Camera Array: http://srl.mcgill.ca/projects/hsvo/public/TheMonkeyPrototype/index.html
A circular array of cameras whereby any one could be toggled as needed. In addition, an algorithm could provide an “interpolated view” of multiple camera angles.
Listener and wrapper into the camera angle being displayed and interpolation mode toggle, integration via C++ - McGill – Laerdal SimMan: http://www.laerdal.com/doc/86/SimMan
Physical Mannequin patient simulator that could display vital signs and real reactions to student interventions.
TECHNOLOGY: An SDK for physical device, integration via C++Team: Dr. Jeremy Cooperstock, Adriana Olmos, Jeff Blum, Kevin Lachepelle
[REF1, REF2, REF3]
- McGill – “Shared Reality” 360 Camera Array: http://srl.mcgill.ca/projects/hsvo/public/TheMonkeyPrototype/index.html
- Stanford University – School of Medicine, Innovation (Stanford)
- Stanford/IIL – Hypovolemic Shock Model: http://innovationinlearning.com/services.html
Provided algorithm for intelligently calculating blood loss and the effect of particular interventions or treatments on patient shock or recovery.
TECHNOLOGY: SOAP-based Web Service, integration via AJAX (data displayed in real-time on a Google Visualization Chart)Team: Dr. Parvati Dev (with development consulting team from India)
[REF1, REF2]
- Stanford/IIL – Hypovolemic Shock Model: http://innovationinlearning.com/services.html
- University of Wisconsin – La Crosse School of CS (UWLAX)
- UWLAX – Remote Stereo Viewer (RSV): http://visu.uwlax.edu/NGI/RSV.html
- UWLAX – Voluminous immersive Segmentation (VolSeg): http://visu.uwlax.edu/NGI/ImmSeg.htmlTECHNOLOGY: Desktop medical visualization application, integration via C
Team: Dr. Steve Senger (with research assistants)
- UWLAX – Remote Stereo Viewer (RSV): http://visu.uwlax.edu/NGI/RSV.html
- Communications Research Centre (CRC)
- User Controlled LightPath (UCLP): http://www.i2cat.net/en/projects/uclp
Could intelligently connect research nodes anywhere in the world to the CANARIE private research network (Canada’s first 10 GB/s+ Fiber backbone) - Isabel Videoconferencing: http://isabel.dit.upm.es/
Custom installation working with HD Polycom-grade cameras on the UCLP 10GB/s network, with scaling algorithm for when using a lower fidelity network.Team: Bobby Ho, John Spence & Michel Savoie
[REF1, REF2, REF3]
- User Controlled LightPath (UCLP): http://www.i2cat.net/en/projects/uclp
- University of Cork, Ireland – School of Medicine: http://www.ucc.ie/en/medical/
- VirtualPatient ECGs: https://ecg.bidmc.harvard.edu/maven/dispcase.asp?ans=0&rownum=231
Quiz-style ECG readouts designed to teach and challenge medical & nursing students - OpenEMR: http://demo.open-emr.org:2105/openemr/interface/main/tabs/main.php
Emergency Medical Records system instance, to run alongside OpenLabyrinth virtual patient cases for added level of realism.Team: Kevin Smith liaison with reps from the additional schools who coordinated
- VirtualPatient ECGs: https://ecg.bidmc.harvard.edu/maven/dispcase.asp?ans=0&rownum=231
- CANARIE:
- Funding Partner provided $2 million seed funding to HSVO and oversight towards building a system that can maximize their research network’s data usage in a manner that provides clear benefits to Medical Students and improves their overall training experience for online and LMS-based portions of their Medical School curriculum.
Team: Hervé Guy with management consulting from Martin Brooks (iDeal consulting) & Mark Richards
- Funding Partner provided $2 million seed funding to HSVO and oversight towards building a system that can maximize their research network’s data usage in a manner that provides clear benefits to Medical Students and improves their overall training experience for online and LMS-based portions of their Medical School curriculum.
NRC received $500,000 of the $2,000,000 CANARIE fund which was created for the HSVO project as part of their Network Enabled Platform (NEP) program. The remaining amount of the fund was split amongst the 6 other partner organizations, with larger amounts you can guess at as good as me roughly in descending order as partners are listed above. The entire NEP was overseen by Herve Guy of CANARIE whom ensured that each of the 10 teams that were funded could deliver virtual organizations that expanded the capacity usage of the private research network. It was actually preferred that the project demonstrate full usage of their allotted network lightpaths in terms of data transmission utilization rates, via their (at the time almost unheard of) massive 10 GB/s fiber optic backbone. For this reason our team combined HD live video streams, and a massive amount of real-time data communication between services and devices. To get a glimpse of the HSVO project in action check out the videos in the following playlist:
Conclusion
To conclude the first part, I’ll just say we certainly weren’t the first “Virtual Organization” to tackle the Health IT integration problem, but hopefully, we’ll have been the last to have gone through the painful slog we did to come to the conclusions we finally reached. The HSVO had a multi-talented group of skilled physicians, designers, developers, infrastructure technicians, researchers, and academically-minded thought leaders; perhaps the main thing it lacked were more business-minded folks thinking about practical monetization and business spin-offs or at least an evangelist focused on how to sustain the project into a viable open source project when the CANARIE funding ran out. Team members have since dispersed to many facets of life, moving on to everything from alternate research posts to becoming deans of medical schools, and from technical leadership at Atlantic Canada’s lottery, to design leadership at Google. In the next post, I’ll detail the solution our team built in much more detail, and how it in fact can perform quite well, especially given that we now have commercial Fiber-to-the-X (i.e. Fiber to the Home, Office, etc) at 100GB/s and up.