Transcript PPT3

Intelligent Health Lab
Indivo and SMART:
enabling standardized, substitutable,
patient-facing apps
Daniel Haas
Harvard Medical School
Children’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:
Sharing
Writing Data
Auditing
Etc.
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
Indivo
App
API
Indivo-specific
data models/APIs
Containers
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: Before
Indivo API
ClinicianClinicianFacing
IndivoFacing
Apps
Specific
Apps
Apps
Admin
API
Sharing API
Other
Indivo
Data
Models
Data Write
API
ClinicianClinicianFacing
Pure
Facing
Apps
SMART
Apps
Apps
Indivo
Data Read
API
Indivo
Core Data
Models
Intelligent Health Lab
Architecture: After
Indivo API
ClinicianClinicianFacing
IndivoFacing
Apps
Specific
Apps
Apps
Admin
API
Sharing API
Other
Indivo
Data
Models
Data Write
API
ClinicianClinicianFacing
Pure
Facing
Apps
SMART
Apps
Apps
Indivo
SMART API
SMART
Data
Models
Intelligent Health Lab
Technical Implications
SMART 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
Technical Implications:
Data
• Data Fidelity in Indivo
• Coding Systems
• Non-SMART data
 What happened to ‘pluggable document
processing?’
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
Technical Implications:
Indivo app Developers
• Start learning SMART!
APIs
data 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 containers
But only if you fail gracefully when Indivo-specific
APIs aren’t available
(Hint: Can you tell that I think this is important?)
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 platforms
 Goal: 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
Future Directions:
The SMART-Indivo Portal
Indivo API
SMART API
Clinician
Clinician
-Facing
Clinician
-Facing
Apps
-Facing
Apps
Apps
SMART
Container
Local EHR
SMARTIndivo
Connector
App
Indivo
Clinician
Clinician
-Facing
Patient-Facing
Apps
Facing
Apps
Apps
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
Indivo
App
API
Indivo-specific
data models/APIs
Containers