FHIRFarm – How to build a FHIR Server Farm (quickly)

Slides:



Advertisements
Similar presentations
COI Architecture? Web Enabling Standard Patient-Model Searches in Disparate EMR Systems By Dan CorwinDan Corwin November 2007.
Advertisements

Building FHIR Servers on Existing Applications
The Open Health Data API Rik Smithies –
Natural Business Services for Construct Users Mark Barnard R&D Manager – Natural Business Services.
Green CDA Implementation Robert Worden Open Mapping Software Ltd HL7 UK
More Meaningful Use of CDA: the CDA-FHIR Bridge Robert Worden
1 C. Shahabi Application Programming for Relational Databases Cyrus Shahabi Computer Science Department University of Southern California
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Progress Report 11/1/01 Matt Bridges. Overview Data collection and analysis tool for web site traffic Lets website administrators know who is on their.
FHIR and Primary Care Systems; and a FHIR Query Tool Robert Worden Open Mapping Software Ltd
Peoplesoft: Building and Consuming Web Services
Chapter 14 Database Connectivity and Web Technologies
Distributed Systems: Client/Server Computing
Geoinfosys Technologies New Delhi 9 th February 2012 Development of ‘Geographical Information System’ (GIS) based “Decision Support System for Transport”
Project Implementation for COSC 5050 Distributed Database Applications Lab1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Navis Configurable Gate Configuring the Technology to Fit Your Gate Processes.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Tony Nguyen.  Architecture  Advantages  Disadvantages  Setup JSF Environment  JSF & Database  Conclusion  Demo.
NETMOD Architecture Phil Shafer IETF 72.
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
December 15, 2011 Use of Semantic Adapter in caCIS Architecture.
Fundamentals of Database Chapter 7 Database Technologies.
Modeling Tools for Healthcare Technical Overview April 8, 2009.
Presented by: Alicia Goodwin
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Data Visualization Project B.Tech Major Project Project Guide Dr. Naresh Nagwani Project Team Members Pawan Singh Sumit Guha.
Copyright © PASS Consulting Corp., Miami 2001 XX/1 XML Application Server.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
HL7 Roadshow 2009 Connected Healthcare HL7 Roadshow 2009 Connected Healthcare Jose Sueiras, March 2009.
Nadir Saghar, Tony Pan, Ashish Sharma REST for Data Services.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Kuali Enterprise Workflow Kuali Days – November 2008 Scott Gibson, University of Maryland Bryan Hutchinson, Cornell University James Smith, University.
1 1 EPCC 2 Curtin Business School & Edinburgh University Management School Michael J. Jackson 1 Ashley D. Lloyd 2 Terence M. Sloan 1 Enabling Access to.
James Akrigg Microsoft Ltd Integrating InfoPath Forms Into Workflow Solutions And Business Processes.
From RIMBAA to SIMBAA ? Robert Worden Open Mapping Software Ltd
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
Web application architecture1 Based on Jim Conallen: Web Applications with UML.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
EGEE User Forum Data Management session Development of gLite Web Service Based Security Components for the ATLAS Metadata Interface Thomas Doherty GridPP.
HSCIC – The journey on adopting FHIR
© 2012 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
Introduction and Principles Web Server Scripting.
WEB SERVER SOFTWARE FEATURE SETS
LCG Distributed Databases Deployment – Kickoff Workshop Dec Database Lookup Service Kuba Zajączkowski Chi-Wei Wang.
©2001 Priority Technologies, Inc. All Rights Reserved Meteor Status Miami Face to Face Meeting January 16 – 18, 2002.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
BRULES Domain Specific Kit Implementation for Business Rules Management MOCKWARE Supported by Cybersoft.
ECHO Technical Interchange Meeting 2013 Timothy Goff 1 Raytheon EED Program | ECHO Technical Interchange 2013.
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Java High level programming language ◦ Sun Microsystems ◦ ORACLE acquired Java Development Kit – JDK Java Runtime Environment – JRE Java Virtual Machine.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
Clinical Data Exchange using HL7 and Mirth Connect Lecture 2 - Toolset to use for working with Mirth Connect. - Mirth Connect architecture. - Changing.
Product Training Program
Robert Worden Open Mapping Software Ltd
FHIR and Relational Databases
FHIRForms – Viewing and Editing FHIR Data
Summary Report Project Name: Model-Driven Health Tools (MDHT)
What’s changed in the Shibboleth 1.2 Origin
Tiers vs. Layers.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
NIEM Tool Strategy Next Steps for Movement
Presentation transcript:

FHIRFarm – How to build a FHIR Server Farm (quickly) Robert Worden robert@OpenMapSW.com

Outline FHIR Current Status Building FHIR Servers and Clients Mapping Application Databases to FHIR FHIR Server Demo FHIR and Data Matching FHIR and NHS Technology Strategy

FHIR – Current Status FHIR is a new HL7 standard for healthcare interoperability Designed with implementers in mind ‘80% rule’ limits complexity of FHIR core Broad (but still shallow) coverage of healthcare domains Currently finalising first DSTU Much easier to implement than other recent HL7 standards. Rapidly being adopted by suppliers, providers, national programmes, e.g: Statement of direction for US ‘Meaningful Use’ Adopted by NHS for e-Referrals (Choose and Book) Providers will want to adapt multiple existing applications to be FHIR servers and clients (a FHIR Server Farm)

Building FHIR Servers and Clients from Existing Applications Client A Server B User Interface User Interface Business Logic FHIR Adapter FHIR Adapter Business Logic Relational Database Relational Database

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)

Three Kinds of Data Transform FHIR Search => Search commands for internal data structures Internal data structures => FHIR resource FHIR resource => Internal data structures Do you need to write software to do this? No: All three types of data transform can be generated from one set of declarative mappings.

Mapping and Transformation Toolset Define a Logical Model of information to be exchanged (UML, expressed in Eclipse Ecore) Define Mappings of any physical data structure onto the Logical Model Mappings 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)

Mappings, Transforms, and FHIR CDA XML Structure M = mappings B = Bridge M V2 XML Data Structure FHIR class model (EMF Ecore) FHIR Java reference implementation FHIR serialisation (XML or JSON) M B M Relational Database Structure Any-to-any transforms can be generated from the mappings. We are mainly interested in Relational Database <=> FHIR

Mapping a Relational Database to the FHIR Patient Resource

FHIR Server Farm Web service under Tomcat Currently two FHIR servers, created by mapping Relational Databases to FHIR resources: PAS system database ‘Noddy’ patient database (1 table) Jdbc access to the databases Read-only FHIR servers for the Patient resource Support a range of Patient searches Each server is defined entirely by configuration files No database-specific or resource-specific code

FHIR Server Farm Architecture Web server (e.g. Tomcat) Relational Database 1 Browser jdbc http FHIR Multi-Server Relational Database 2 Client Application Configuration File Configuration File Configuration File 3 Relational Database 3 No Database-specific or Resource-specific code!

Demo of FHIR Server Farm

FHIR and Data Matching As 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 The Open Source Comparative Query 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)

Comparative Query Tool Demo

FHIR and the NHS Technology Strategy Connect All – retain existing applications, but make them talk to each other Open APIs - to let one application request data from another NHS Number - as unique patient identifier across all applications FHIR is the best candidate standard Open API The fastest route to do this: enable all key applications as FHIR servers, using FHIRFarm with configuration files Scope – PAS, MPI, Patient Portal, e-dispensing, lab, .... Proposal: Implement Spine Mini-Services as a FHIR server (then SCR,...)

FHIRFarm: 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. Resource Narrative: defined in xhtml configuration files Write operations: The tools generate the required data transforms, but will always require business logic Public Demo Server Farm: Real soon now Documentation of the Open Source Tools: Real soon now FHIR Server Configuration Service: ask robert@OpenMapSW.com