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 Architect
1. 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
2. Intelligent Health Lab
What is SMART?
“SMART provides a unified mechanism
for diverse applications to interact
with medical-record data.”
6. 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.
7. Intelligent Health Lab
But they are similar…
• Reading Medical Data:
Problems, Meds, Lab results, Vital Signs, etc.
• Authentication:OAuth-inspired
• Philosophy: substitutability
8. Intelligent Health Lab
So let’s take advantage of that!
Apps
Indivo
App
API
Indivo-specific
data models/APIs
Containers
9. 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
10. Intelligent Health Lab
Architecture: Before
Indivo API
Clinician-
Clinician-
Facing Admin
Indivo-
Facing API
Apps
Specific
Apps Other
Apps Sharing API Indivo
Data
Models
Data Write
API
Clinician- Indivo
Clinician-
Facing
Pure
Facing Data Read
Apps API Indivo
SMART
Apps Core Data
Apps Models
11. Intelligent Health Lab
Architecture: After
Indivo API
Clinician-
Clinician-
Facing Admin
Indivo-
Facing API
Apps
Specific
Apps Other
Apps Sharing API Indivo
Data
Models
Data Write
API
Clinician- Indivo
Clinician-
Facing
Pure
Facing SMART API
Apps SMART
SMART
Apps Data
Apps Models
12. 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
13. Intelligent Health Lab
Technical Implications:
Data
• Data Fidelity in Indivo
• Coding Systems
• Non-SMART data
What happened to ‘pluggable document
processing?’
14. 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
15. 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?)
16. 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.
17. Intelligent Health Lab
Future Directions:
The SMART-Indivo Portal
Indivo API
SMART API
Clinician SMART- Clinician
Clinician Indivo Clinician
-Facing
Clinician Indivo -Facing
Patient-
-Facing SMART Connector -Facing
Apps
-Facing Apps
Facing
Apps Container App Apps
Apps Apps
Local EHR
18. 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
Notas do Editor
The work we’ve done. Data models ‘require effort’, ‘bulk of the work’, in other containers
Held to a higher standard: blue sky: advantages for developers