SMART Apps Rob Tweed M/Gateway Developments Ltd rtweed@mgateway.com @rtweed
What is SMART? Substitutable Medical Apps, Re-usable Technology www.smartplatforms.org A Harvard Medical School initiative Data and technical standards 2
The Problems Vast amounts of data are locked inside proprietary systems Use and visualisation of that data is limited to what the vendors provide Every proprietary system works differently and stores data differently 3
The ideal Create a system / platform independent way for web developers / designers to build innovative new extensions to any healthcare systems No knowledge of specific healthcare systems required Apps will just work on any system No need to go cap-in-hand to vendor for extensions to their system 4
SMART SMART provides a unified mechanism for diverse applications to interact with medical-record data SMART Apps built against the SMART API can be embedded within any SMART Container 5
SMART Container A SMART Container is, most often, an Electronic Medical Record (EMR) system used by physicians, but might also be a Personal Health Record (PHR) such as Indivo used by patients, or a data-analytics platform used by researchers 6
SMART-enabling VistA VistA: The EMR developed by the US Dept of Veterans Affairs Available as an Open Source EMR SMART-enablement project: Managed by Harvard Medical School An opportunity to demonstrate SMART technology on a real, industrial-strength EMR 7
Objective To create a SMART Container for VistA Contract awarded to E-cology Joseph Dal Molin George Lilly Rob Tweed
SMART standards are the key Data standards Technical standards 9
Data Standards SMART identifies core data categories Demographics Medications Vitals Problems etc 10
Data Standards SMART specifies that data is mapped to Resource Description Format (RDF) XML standard Describes Triples Part of the W3C Semantic Web standards 11
Querying RDF SPARQL is the standard query language for querying RDF graphs SQL-like syntax Somewhat arcane 12
JSON future JSON is on the horizon for next SMART version Replacement for RDF/XML Much easier for Javascript developers to handle 13
Technical Standards A SMART app is a web application that is loaded in an IFRAME hosted by a SMART container 14
Technical Standards SMART Container for VistA must be: Web-based Automated as much as possible/practical Secure RDF data has to be transported over HTTP to the browser s IFRAME Essentially a web service 15
Two Types of SMART App Self-contained Runs entirely in an iframe within the browser Uses Javascript to get data from host system Server-based Runs on a third-party server somewhere on the internet Server uses REST calls to obtain data from host system Secured using oauth 16
Mechanics of a SMART App Browser Web Server EWD VistA Request for SMART-enabled EWD Application
Mechanics of a SMART App Browser SMART Javascript Libraries Web Server EWD VistA iframe
Mechanics of a SMART App Browser SMART Javascript Libraries Web Server EWD VistA iframe SMART App Somewhere on the Internet
Mechanics of a SMART App Browser SMART Javascript Libraries Web Server EWD VistA iframe SMART Javascript Libraries SPARQL Visualise
Mechanics of a SMART App Browser SMART Javascript Libraries Web Server EWD VistA iframe SMART Javascript Libraries SPARQL Visualise SMART.MEDS_get()
Mechanics of a SMART App Browser SMART Javascript Libraries Web Server EWD VistA iframe SMART Javascript Libraries SPARQL Visualise SMART.MEDS_get()
Mechanics of a SMART App Browser SMART Javascript Libraries Web Server EWD VistA iframe SMART Javascript Libraries SPARQL Visualise SMART.MEDS_get()
Mechanics of a SMART App Browser SMART Javascript Libraries Web Server EWD VistA iframe RDF Projection/ Triple Store SMART Javascript Libraries SPARQL Visualise SMART.MEDS_get()
Mechanics of a SMART App Browser SMART Javascript Libraries Web Server EWD VistA iframe RDF Projection/ Triple Store SMART Javascript Libraries SPARQL Visualise SMART.MEDS_get()
Mechanics of a SMART App Browser SMART Javascript Libraries Web Server EWD VistA iframe RDF Projection/ Triple Store SMART Javascript Libraries SPARQL Visualise
Mechanics of a SMART APP SMART REST app Server-side logic on third-party server Fetches and uses data from a VistA server via REST calls User interface in browser 27
Using REST with SMART Deliver the main UI And log in VistA System Browser SMART App Server 28
Using REST with SMART VistA System Browser SMART App takes over SMART App Server 29
Using REST with SMART VistA System Browser RDF Data fetched From VistA SMART App Server 30
Using REST with SMART Browser! VistA System RDF Data fetched From VistA SMART App Server 31
Using REST with SMART VistA System Browser RDF Data fetched From VistA OAuth based security SMART App Server 32
OAuth The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service Equivalent to your car s valet key Limited access to your car Limited distance it can be driven No access to trunk You decide who to give it to and when 33
oauth Key Exchange Keys generated and sent to browser VistA System Browser SMART App Server 34
oauth Key Exchange VistA System Browser Keys forwarded to server SMART App Server 35
oauth Key Exchange VistA System Browser Keys sent along with request for data SMART App Server 36
oauth Key Exchange VistA System Browser Data returned if keys recognised SMART App Server 37
oauth Key Exchange VistA System Browser Web page(s) delivered to browser's iframe SMART App Server 38
Demos Smart-enabled VistA
Potential for SMART in UK Any healthcare system could be SMARTenabled SMART Container is required: Mapping of core clinical data sets to RDF Technical web and security mechanisms 40
SMART Limitations & Currently read-only Challenges Currently patient-specific Attaining uptake by commercial EHR vendors Attaining critical mass Data standards probably US-centric in some areas 41
Conclusions SMART demonstrates that vendorindependent Apps are possible Backed by Harvard Medical School Avoid re-invention of the wheels by building on SMART UK-specific extensions / modifications? 42