15
FHIR SERVER DESIGN REVIEW Brian Postlethwaite June 2016 ® ©

FHIR Server Design Review

Embed Size (px)

Citation preview

Page 1: FHIR Server Design Review

FHIR SERVERDESIGN REVIEWBrian Postlethwaite

June 2016

® ©

Page 2: FHIR Server Design Review

Server Types• Generic Server• Publish/Sync• Façade• Cache

Database Structures• Blob Store (XML or json)• Atomised Data (Full ER Model)• View (Façade-ish)• Hybrid

Overview

Page 3: FHIR Server Design Review

FHIR SERVER TYPES

Page 4: FHIR Server Design Review

Server is pure FHIRNot intended to handle other formatsNo requirements from legacy systemsDo not require content conversions

Storage options very flexibleCan optimise storageCan optimise indexing

Security considerations

Generic FHIR Server

Page 5: FHIR Server Design Review

Utilize a separate FHIR serverContent extractionContent conversion

Storage/indexing/searching FHIR server problem

Synchronization timing and scope2 way changes?Security?

Publish / Sync

Page 6: FHIR Server Design Review

• Expose a FHIR interface to existing system

• Content conversion on the fly as required

• Complexities of conversion of queries onto existing structures

• Security applied by source

• If using views, updates can be challenging

• All server load is directly applied to the source services/tables

• How to handle history?

Facade

Page 7: FHIR Server Design Review

Basically a Façade and a generic FHIR in oneCache the content that was returnedContent required can be returned quicklySecurity applied by sourceIndexes can be:

• in replicated content• views on the source data• Synchronized from source data

Load an be minimized from the source data to the cache contentHistory can remain in the cache

Cache

Page 8: FHIR Server Design Review

DATABASE DESIGN

Page 9: FHIR Server Design Review

Native content format (xml/json)Extensions stored in placeNo need to assembleMay require object model conversion between formatsIndexing considerations

• dedicated index tables outside data• Sync or async updating?• XML content indexes?

Consider how meta updates should be done

Can still use SQL Server!

blob store xml/json

Page 10: FHIR Server Design Review

Traditional database design modelAll entities have their own tables and full ER model

Needs to be formatted for output

Challenges with extensionsEnsure model supports history

Just façade existing schema with extensions?

Atomised data

Page 11: FHIR Server Design Review

• Legacy database• Extensions for additional columns

• How to handle updates• How to handle incoming data

• Extensions?

• History?• Searching?

View (Façade)

Page 12: FHIR Server Design Review

Depends on storage modelTiming - Synch/AsyncFlexibility for new indexes

Simple Index on tableDedicated index tables (common for blob style)Data types in index - generic table/atomized

Effect on availability in searchImpact on applying security

Indexing for Search

Page 13: FHIR Server Design Review

• Blob store – fhir format• Internal replication from relational store• Extensions may only live in fhir store• FHIR store covers history• Indexing from either location

Hybrid

Page 14: FHIR Server Design Review

QUESTIONS?

Page 15: FHIR Server Design Review

THANK YOU