/
B uilding  FHIR  Servers on Existing Applications B uilding  FHIR  Servers on Existing Applications

B uilding FHIR Servers on Existing Applications - PowerPoint Presentation

liane-varnes
liane-varnes . @liane-varnes
Follow
359 views
Uploaded On 2018-10-26

B uilding FHIR Servers on Existing Applications - PPT Presentation

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

cda fhir data patient fhir cda patient data server clinical resources database search information servers application resource relational mappings

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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