Robert Worden rpwordenmecom Outline FHIR and CDA Building FHIR Servers and Clients Mapping Application Databases to FHIR FHIR Server Demo FHIR Client for Multiple Servers FHIR and Data Matching ID: 697149
Download Presentation The PPT/PDF document "B uilding FHIR Servers on Existing App..." 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
Building FHIR Servers on Existing Applications
Robert Worden
rpworden@me.comSlide2
OutlineFHIR and CDABuilding FHIR Servers and ClientsMapping Application Databases to FHIR
FHIR Server
Demo
FHIR Client for Multiple Servers
FHIR and Data
Matching
CDA-FHIR BridgeSlide3
More Meaningful Use of CDAWhen reading a CDA, a physician is not just a blank slate
for new information.
Often, he or she knows about the patient already.
The physician needs to
compare
the new information in the CDA with what they already know.
Their knowledge of the patient may be stored in an EMR.
Comparing requires
matching
of information from the CDA, with information in the EMR:
Match and identify the patient
Match clinical data for the patient (e.g. allergies, medications,..)
Then (possibly) make updates to the EMR, at the physician’s discretionSlide4
CDA Handler Module:
Extract patient data from CDA
Search and match patients
User chooses the matching patient
Extract clinical information from CDA
Compare with clinical information from application
(User choice of updates to the application)
Clinical Application(e.g. EHR)
CDA
Patient Search
Parameters
Candidate Matching
Patients
Selected Matching
Patient
Patient Clinical
Information
(Updates to Clinical
Information)
Architecture for CDA Match/Compare
Few clinical applications support this now.Slide5
CDA-FHIR Bridge
Clinical Application
CDA
FHIR server adapter for
application
Search, Match and Display
(FHIR client)
Patient
Resource
Clinical
Resources
Searches on
Patient
Candidate
Patient resources
Searches on
Clinical Resources
Clinical
Resources
(Updates to Clinical
Resources)
search
data
(update)
Searches on
Clinical
Resources
FHIR-enabled CDA Match/Compare
Three components simplify implementation.
FHIR
FHIR
UserSlide6
Building FHIR Servers and Clients from Existing Applications
User Interface
Business
Logic
Relational
Database
FHIR
Adapter
User Interface
Business
Logic
Relational
Database
FHIR
Adapter
Client A
Server BSlide7
What FHIR Adapters Do(Client) compose a FHIR search request (e.g. for a Patient Resource, with given NHS number).
(Client) send the FHIR search request
(Server)
translate
the FHIR search request into search commands for its internal data structures (e.g. SQL)
(Server)
translate the results of internal searches (e.g. SQL ResultSets) into FHIR resources(Server) send a bundle of FHIR Resources(Client) translate the FHIR resources into its internal data structures (e.g. RDBMS records)Slide8
Three Kinds of Data TransformFHIR Search => Search commands for internal data structures
Internal data structures => FHIR resource
FHIR resource => Internal data structures
All three types of data transform can be
generated
f
rom one set of declarative mappings.Do you need to write software to do this? No:Slide9
Mapping and Transformation ToolsetDefine a
Logical Model
of information to be exchanged (UML, expressed in Eclipse
Ecore
)
Define
Mappings of any physical data structure onto the Logical ModelMappings state precisely how the physical data structure represents information in the logical model.Mappings are declarative and easily testable.Open Source tools are used to define, validate, and test the mappings.The same tools generate any-to-any transforms between the data structures (in Java or XSLT) Generated transforms are precise and testable (e.g. round trip tests)Slide10
Mappings, Transforms, and FHIR
V2 XML Data Structure
FHIR class model
(EMF
Ecore
)
FHIR Java reference implementation
FHIR serialisation (XML or JSON)
Relational Database Structure
CDA XML Structure
M
M
M
B
M = mappings
B = Bridge
Any-to-any transforms can be generated from the mappings.
We
are
interested in
Relational Database <=> FHIRSlide11
Mapping a Relational Database to the FHIR Patient ResourceSlide12
FHIR Server FarmWeb service under TomcatCurrently two FHIR servers, created by mapping Relational Databases to FHIR resources:
PAS system database
‘
Noddy
’ patient database (1 table)
Jdbc
access to the databasesRead-only FHIR servers for the Patient resourceSupport a range of Patient searchesEach server is defined entirely by configuration filesNo database-specific or resource-specific codeSlide13
FHIR Server Farm Architecture
Browser
Client Application
Relational
Database 1
FHIR
Multi-Server
Configuration File
Configuration File
Configuration File 3
Relational
Database 2
Relational
Database 3
Web server (e.g. Tomcat)
http
jdbc
No Database-specific or Resource-specific code!Slide14
Demo of FHIR Server FarmSlide15
FHIR and IHE PDQ (HL7 V2.5)
FHIR
Patient
Server
Patient
Demographics
Supplier
FHIR Search
QBP^Q22
RSP^K22
Patient
ResourcesSlide16
FHIR and Data MatchingAs soon as a provider has two or more FHIR servers for the Patient resource, they can compare the Patients across them (in the common FHIR representation).
An application can interrogate the different FHIR servers, and compare the results
An Open
Source
Comparative
Q
uery Tool can compare across the servers, in terms of the FHIR Patient class model Bulk data matching and de-duplication can be done across databases (proprietary tool)Slide17
Searching Multiple FHIR ServersSlide18
CDA-FHIR BridgeEnables any incoming CDA as a small FHIR server
The CDA ‘server’ supports FHIR searches on common resources (Patient,
AllergyIntolerance
,...)
This is not a full transform from CDA to a FHIR Composition resource; extracting specific FHIR resources is much easier
Transforms depend on CDA templates
There will be a different bridge for each CDA profileThere is no dependence on the EHR application – the bridge is universal for each CDA profileEasy to buildSlide19
The CDA-FHIR Opportunity
Build
CDA-FHIR
bridges
FHIR-enabled
applications can easily make Meaningful
Use of CDA
More applications FHIR-enabled, to make meaningful use of CDA
Easier to make meaningful use of CDA
More
takeup of CDA
Virtuous Circle
Applications FHIR-enabled
for other reasonsSlide20
FHIR Mapping Tools: Work In Progress
Deployment
: currently deploying a FHIR Patient server for an NHS Trust; more are planned
Searches
: extend capability to more types of search, e.g. date range, alternative values,...
Extensions
: can hide the extra complexity of FHIR extensions – extensions are identical to core features, in the Ecore class model and in mappings.Write operations: The tools generate the required data transforms, but will always require business logicDocumentation of the Open Source Tools: Real soon nowFHIR Server Configuration Service: ask rworden@me.com