Substitutable Medical Apps Josh C Mandel MD JoshuaMandelchildrensharvardedu Lead Architect SMART httpsmartplatformsorg Research Faculty Harvard Medical School Sharp Area 4 Facetoface July 1 2011 ID: 414869
Download Presentation The PPT/PDF document "SHARP Area 3: SMART" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
SHARP Area 3: SMART(Substitutable Medical Apps)
Josh C. Mandel, MDJoshua.Mandel@childrens.harvard.eduLead Architect, SMART (http://smartplatforms.org)Research Faculty, Harvard Medical SchoolSharp Area 4 Face-to-face, July 1 2011Slide2
SMART goals
Health IT users work with installable, substitutable apps
Health IT systems benefit from
efficient
marketplace
of apps
vibrant
developer communitySlide3
Why substitutable apps?
Improved user experienceMore integrated innovation
Case study
: Wired competitionSlide4
Why substitutable apps?
Improved user experienceMore integrated innovation
Case study
: Wired competitionSlide5
Why substitutable apps?
David
McCandless
&
Stefanie
Posavec
for
Wired Magazine
informationisbeautiful.netSlide6
Vocabulary
Apps
Containers
APISlide7
Vocabulary
Containers
Apps
APISlide8
A Substitutable App
Your system here.
SMART Reference EMR
Indivo
PCHR
i2b2Slide9
Vocabulary
Containers
Apps
APISlide10
SMART $5K ChallengeSlide11
SMART $5K ChallengeSlide12
An app runs against
one container (at a time)A container connects to multiple data
sources
Apps
and
containersSlide13
SMART componentsSlide14
SMART componentsSlide15
SMART componentsSlide16
SMART componentsSlide17
Web standards!
Apps can run on separate servers,different implementation stacks
Inspired by
Web APIs
Facebook
,
OpenSocial
, GoogleSlide18
Data Context, Medical Record Elements
UI Standards-based integration, flexibilityAuthentication
In-browser, server-to-server
Apps need
(
at least!
)Slide19
Contextual
data (patient, physician) low-hanging fruitMedical data
(blood pressure, cholesterol)
existing standards?
pragmatic approaches?
Apps
need data!Slide20
Open standards
?Slide21
CCR: “Licensee may access and download an electronic file of a Document (or portion of a Document) for temporary storage on one computer for purposes of viewing, and/or printing one copy of a Document for individual use. Neither the electronic file nor the single hard copy print may be reproduced in any way.”
Open standards?Slide22
Intuitive payload?Slide23
What’s practical?
PCHRs provide practical data models
Indivo
http://wiki.indivohealth.org/index.php/Indivo_Document_Model
MS
HealthVault
Data Types:
http://developer.healthvault.com/types/types.aspx
Google Health Subset of CCR:
http://code.google.com/apis/health/ccrg_reference.htmlSlide24
SMART
d
ata
80/20 approach
concentrate on common outpatient data
Payloads specified down to coding systems
e.g. SNOMED for problems
Extensible representations in RDF
iterative design, building models over timeSlide25
Data elements
Sample
SMART Problem
(RDF)
<
sp:Problem
>
<
sp:problemName
>
<
sp:CodedValue
>
<
sp:code
rdf:resource
="http://www.ihtsdo.org/snomed-ct/concepts/161891005"/>
<
dcterms:title
>Backache (finding)</
dcterms:title
>
</
sp:CodedValue
>
</
sp:problemName
>
<
sp:onset
>2007-06-12</
sp:onset
>
<
sp:resolution
>2007-08-01</
sp:resolution
>
</
sp:Problem
>Slide26
Data principles
REST Paradigm:
Each patient, data element has a URI
John Smith:
http://smart-emr.hospital.org/records/123
John Smith’s
atorvastatin
:
http://smart-emr.hospital.org/records/123/medications/456
URIs can map to
underlying EMR IDsSlide27
Data principles
Consistent coding systems
Medications:
RxNorm
(SCD, SBD, Packs)
Problems:
SNOMED CT
Labs:
LOINC
Containers may need to
translate
from other terminologies, with provenanceSlide28
Data principles
Consistent coding systems
Example of a translated LOINC code
Medications:
RxNorm
(SCD, SBD)
Problems:
SNOMED CT
Labs:
LOINC
Containers may need to
translate
from other terminologies, with provenance
<
sp:labName
>
<
sp:CodedValue
>
<
sp:code
rdf:resource
="
http://loinc.org/codes/2951-2
"/>
<
dcterms:title
>Serum sodium</
dcterms:title
>
<
sp:codeProvenance
>
<
sp:CodeProvenance
>
<
sp:sourceCode
rdf:resource
="
http://local-emr/labcodes/01234
" />
<
dcterms:title
>Random blood sodium level</
dcterms:title
>
<
sp:translationFidelity
rdf:resource
="http://smartplatforms.org/terms/code/
fidelity#automated
" />
</
sp:CodeProvenance
>
</
sp:codeProvenance
>
</
sp:CodedValue
>
</
sp:labName
>Slide29
Data principles
Consistent coding systems
Example of a translated LOINC code
Medications:
RxNorm
(SCD, SBD)
Problems:
SNOMED CT
Labs:
LOINC
Containers may need to
translate
from other terminologies, with provenance
<
sp:labName
>
<
sp:CodedValue
>
<
sp:code
rdf:resource
="
http://loinc.org/codes/2951-2
"/>
<
dcterms:title
>Serum sodium</
dcterms:title
>
<
sp:codeProvenance
>
<
sp:CodeProvenance
>
<
sp:sourceCode
rdf:resource
="
http://local-emr/labcodes/01234
" />
<
dcterms:title
>Random blood sodium level</
dcterms:title
>
<
sp:translationFidelity
rdf:resource
="http://smartplatforms.org/terms/code/
fidelity#automated
" />
</
sp:CodeProvenance
>
</
sp:codeProvenance
>
</
sp:CodedValue
>
</
sp:labName
>
sourceSlide30
Data principles
Consistent coding systems
Example of a translated LOINC code
Medications:
RxNorm
(SCD, SBD)
Problems:
SNOMED CT
Labs:
LOINC
Containers may need to
translate
from other terminologies, with provenance
<
sp:labName
>
<
sp:CodedValue
>
<
sp:code
rdf:resource
="
http://loinc.org/codes/2951-2
"/>
<
dcterms:title
>Serum sodium</
dcterms:title
>
<
sp:codeProvenance
>
<
sp:CodeProvenance
>
<
sp:sourceCode
rdf:resource
="
http://local-emr/labcodes/01234
" />
<
dcterms:title
>Random blood sodium level</
dcterms:title
>
<
sp:translationFidelity
rdf:resource
="http://smartplatforms.org/terms/code/
fidelity#automated
" />
</
sp:CodeProvenance
>
</
sp:codeProvenance
>
</
sp:CodedValue
>
</
sp:labName
>
source
SMART translationSlide31
Data challenges
Different coding systems
e.g. for medications, NDC
RxNorm
e.g. for problems, ICD9
SNOMED CT (?)
Different models
e.g. is a problem event-at-a-time, or duration?
No models – can’t expose data you don’t have.
(but some may be worth storing, e.g., fulfillments)Slide32
SMART
g
overnance
Open
specifications
, documentation
Open-source
reference
implementation
Open-source
client
libraries
Apps and Containers
needn’t be
open-source
(promote a commercial ecosystem)Slide33
Translation
/ Integration efforts CHB’s Cerner
OpenMRS
HealthVault
,
Indivo
i2b2
Exploring
Extended data models
Integration of CDS
Mobile apps + containers
Ongoing
projectsSlide34
Cross-SHARP sharing
of:sample datalogical models
Collaboration around
integrating SHARPN functionality as SMART
apps
(e.g. CTAKES pilot)
extracting patient record
data
Other opportunities?
Discussion topics!Slide35
Questions?Slide36
Container UISlide37
Container UISlide38
Container UISlide39
Container UISlide40
Health IT systems have different authentication mechanisms!
How to keep apps agnostic?Each container implements a consistentmechanism for delegating access: OAuth.The app
only needs to speak
OAuth
.
Authentication
AuthenticationSlide41
App distribution model?Slide42
App distribution model?
Light,
test-driven
certification as SMART
Independent
groups may
endorse
apps
Individual
containers
install
selected apps
(local arrangements,
e.g. contractual terms)Slide43
App distribution model?