Presentation is loading. Please wait.

Presentation is loading. Please wait.

SMART Architecture and Application Development Overview

Similar presentations


Presentation on theme: "SMART Architecture and Application Development Overview"— Presentation transcript:

1 SMART Architecture and Application Development Overview
Nikolai Schwertner Lead Software Developer, SMART (

2 Vocabulary Apps API Containers

3 Vocabulary Apps API Containers

4 Vocabulary Apps API Containers

5 Apps and containers An app runs against one container (at a time) A container connects to multiple data sources

6 SMART components

7 SMART components

8 SMART components

9 SMART components

10 Inspired by Web APIs Facebook, OpenSocial, Google
Web standards! Apps can run on separate servers, different implementation stacks

11 Apps need (at least!) UI Standards-based integration, flexibility Authentication In-browser, server-to-server Data Context, Medical Record Elements

12 Container UI

13 Container UI

14 Container UI

15 Container UI

16 Authentication Authentication
Health IT systems have different authentication mechanisms! How to keep apps agnostic? Each container implements a consistent mechanism for delegating access: OAuth. The app only needs to speak OAuth.

17 Apps need data! Contextual data (patient, physician)  low-hanging fruit Medical data (blood pressure, cholesterol) existing standards? pragmatic approaches?

18 SMART data 80/20 approach concentrate on common outpatient data
Payloads specified down to coding systems e.g. SNOMED for problems (we’re opinionated!) Extensible representations in RDF iterative design, building models over time

19 Data elements Sample SMART Problem (RDF) <sp:Problem>
<sp:problemName> <sp:CodedValue> <sp:code rdf:resource=" <dcterms:title>Backache (finding)</dcterms:title> </sp:CodedValue> </sp:problemName> <sp:onset> </sp:onset> <sp:resolution> </sp:resolution> </sp:Problem>

20 Data principles REST Paradigm: Each patient, data element has a URI
John Smith: John Smith’s atorvastatin: URIs can map to underlying EMR IDs

21 Data principles Consistent coding systems
Medications: RxNorm (SCD, SBD, Packs) Problems: SNOMED CT Labs: LOINC Containers may need to translate from other terminologies, with provenance

22 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=" <dcterms:title>Serum sodium</dcterms:title> <sp:codeProvenance> <sp:CodeProvenance> <sp:sourceCode rdf:resource=" /> <dcterms:title>Random blood sodium level</dcterms:title> <sp:translationFidelity rdf:resource=" /> </sp:CodeProvenance> </sp:codeProvenance> </sp:CodedValue> </sp:labName>

23 Data principles source 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=" <dcterms:title>Serum sodium</dcterms:title> <sp:codeProvenance> <sp:CodeProvenance> <sp:sourceCode rdf:resource=" /> <dcterms:title>Random blood sodium level</dcterms:title> <sp:translationFidelity rdf:resource=" /> </sp:CodeProvenance> </sp:codeProvenance> </sp:CodedValue> </sp:labName> source

24 Data principles SMART translation source 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=" <dcterms:title>Serum sodium</dcterms:title> <sp:codeProvenance> <sp:CodeProvenance> <sp:sourceCode rdf:resource=" /> <dcterms:title>Random blood sodium level</dcterms:title> <sp:translationFidelity rdf:resource=" /> </sp:CodeProvenance> </sp:codeProvenance> </sp:CodedValue> </sp:labName> SMART translation source

25 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)

26 Architecture Summary SMART Containers supply Apps with UI integration
Authenticated API Access Data Containers shoulder significant responsibility! Data models are critical to enable app developers Keeping developer experience in mind Data need to be predictable, (relatively) simple


Download ppt "SMART Architecture and Application Development Overview"

Similar presentations


Ads by Google