2012 user's conference smart-indivo integration
DESCRIPTION
2012 Indivo X User's Conference talk on the deep SMART (www.smartplatforms.org) integration included in the Indivo version 2.0 release.By Daniel Haas, Indivo X Lead ArchitectTRANSCRIPT
Intelligent Health Lab
Indivo and SMART: enabling standardized, substitutable,
patient-facing appsDaniel Haas
Harvard Medical SchoolChildren’s Hospital Informatics Program
18 June, 2012
Intelligent Health Lab
What is SMART?
“SMART provides a unified mechanism for diverse applications to interact
with medical-record data.”
Intelligent Health Lab
What is SMART?
Apps
API
Containers
Intelligent Health Lab
What is SMART?
Apps
API
Containers
Intelligent Health Lab
Isn’t that Indivo?
Apps
API
Containers
Intelligent Health Lab
Nope.Unlike SMART, Indivo (pre-v2.0) supported:• A different API• Different data-models• A different authentication scheme• Patient-facing apps only• Extra functionality:
SharingWriting DataAuditingEtc.
Intelligent Health Lab
But they are similar…• Reading Medical Data:
Problems, Meds, Lab results, Vital Signs, etc.• Authentication: OAuth-inspired• Philosophy: substitutability
Intelligent Health Lab
So let’s take advantage of that!
Apps
API
Containers
Indivo App
Indivo-specific data models/APIs
Intelligent Health Lab
Goals• Enable existing (and future) SMART apps to
run against Indivo • Shift Indivo apps towards adopting SMART
standards• Enable hybrid SMART/Indivo apps that offer
additional functionality when run against Indivo
Intelligent Health Lab
Architecture: BeforeIndivo API
Data Read API
IndivoClinician-Facing AppsClinician-
Facing Apps
Pure SMART Apps
Clinician-Facing AppsClinician-
Facing AppsIndivo-Specific
Apps Sharing API
Data Write API
Admin API
Other Indivo Data
Models
Indivo Core Data
Models
Intelligent Health Lab
Architecture: AfterIndivo API
SMART API
IndivoClinician-Facing AppsClinician-
Facing Apps
Pure SMART Apps
Clinician-Facing AppsClinician-
Facing AppsIndivo-Specific
Apps Sharing API
Data Write API
Admin API
OtherIndivo Data
Models
SMART Data
Models
Intelligent Health Lab
Technical ImplicationsSMART Containers supply Apps with UI integration Authenticated API Access Data
Data models are critical to enable app developers Keeping developer experience in mind Data need to be predictable, (relatively) simple
Intelligent Health Lab
• Data Fidelity in Indivo• Coding Systems• Non-SMART data
What happened to ‘pluggable document processing?’
Technical Implications: Data
Intelligent Health Lab
Technical Implications: SMART app Developers
• Your apps will now run on Indivo!• If your apps are patient-facing (or might be
appropriate for patient eyes), you can add Indivo-specific calls to write data, share data, and more.
• Good coding practice: make sure to fail gracefully if Indivo calls aren’t available
Intelligent Health Lab
• Start learning SMART!APIsdata models
• Code your data Data in Indivo must be consistent with SMART standards
• When you build new Indivo apps, they will run on other SMART containersBut only if you fail gracefully when Indivo-specific APIs
aren’t available(Hint: Can you tell that I think this is important?)
Technical Implications: Indivo app Developers
Intelligent Health Lab
Future Directions: The SMART-Indivo Portal
• Mapping data from local EHR formats to other ontologies requires effort.Goal: If you’ve done it for any SMART container, you
shouldn’t have to do it for Indivo as well.• Obtaining data has been a primary obstacle for
personal health platformsGoal: If you have a SMART container exposing good medical
data, Indivo should be able to run apps against that data.• For instance: 60+ academic medical centers with i2b2
could all provide Indivo, running apps, simply by setting up the SMART-Indivo Portal.
Intelligent Health Lab
SMART API
SMART Container
Indivo API
IndivoSMART-Indivo
Connector App
Clinician-Facing Apps
Clinician-Facing Apps
Clinician-Facing Apps
Clinician-Facing Apps
Clinician-Facing Apps
Patient-Facing Apps
Local EHR
Future Directions: The SMART-Indivo Portal
Intelligent Health Lab
Summary• By deeply integrating Indivo with SMART technologies,
we have enabled Indivo to: consume apps written for other SMART platforms adhere to SMART standards for data models and data quality support hybrid apps that add patient-facing components
which are not yet ratified as part of the SMART model
Apps
API
Containers
Indivo App
Indivo-specific data models/APIs