fhir server design review
TRANSCRIPT
![Page 2: FHIR Server Design Review](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/3.jpg)
FHIR SERVER TYPES
![Page 4: FHIR Server Design Review](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/6.jpg)
• 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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/8.jpg)
DATABASE DESIGN
![Page 9: FHIR Server Design Review](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/11.jpg)
• 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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/13.jpg)
• 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](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/14.jpg)
QUESTIONS?
![Page 15: FHIR Server Design Review](https://reader036.vdocument.in/reader036/viewer/2022062503/58a571741a28ab36768b4bb1/html5/thumbnails/15.jpg)
THANK YOU