Upload
brian-postlethwaite
View
85
Download
0
Embed Size (px)
Citation preview
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
FHIR SERVER TYPES
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
Utilize a separate FHIR serverContent extractionContent conversion
Storage/indexing/searching FHIR server problem
Synchronization timing and scope2 way changes?Security?
Publish / Sync
• 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
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
DATABASE DESIGN
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
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
• Legacy database• Extensions for additional columns
• How to handle updates• How to handle incoming data
• Extensions?
• History?• Searching?
View (Façade)
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
• 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
QUESTIONS?
THANK YOU