adding fhir interfaces to legacy systems · designed by mike lapshin, health samurai (lesson #1,...

19
HL7®, FHIR® and the flame Design mark are the registered trademarks of Health Level Seven International and are used with permission. November 20-22, Amsterdam | @HL7 @FirelyTeam | #fhirdevdays | www.devdays.com Adding FHIR Interfaces to Legacy Systems Pavel Smirnov, Health Samurai

Upload: others

Post on 18-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

HL7®, FHIR® and the flame Design mark are the registered trademarks of Health Level Seven International and are used with permission.

November 20-22, Amsterdam | @HL7 @FirelyTeam | #fhirdevdays | www.devdays.com

Adding FHIR Interfaces to Legacy Systems

Pavel Smirnov, Health Samurai

Page 2: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example
Page 3: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

Why do you need an API facade for your healthcare app at all?

•Extend existing legacy solution with new modules• Share data with external services•Perform operations by external requests

Page 4: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

FHIR facade - how?

• Storage-less API facade•API facade with an intermediate FHIR server

Page 5: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

Storage-less API facade

Translate FHIR REST calls to queries to the underlying database or services of the original system.

Page 6: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

Storage-less API facade: Pros

No duplication of data (single source of truth) -> Minimal computing resources

Page 7: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

Storage-less API facade: When to use

• Simple use cases when you need to implement a few individual API endpoints.

Page 8: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

API facade with an intermediate FHIR server

Data is translated to FHIR and synced with a FHIR server that exposes it over API

Page 9: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

API facade with an intermediate FHIR server: Pros I

Full control over the performance of every call - excellent performance

• even on complex FHIR search queries• even if the original data is distributed among several legacy

systems• even if legacy systems sometimes are not accessible

Page 10: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

API facade with an intermediate FHIR server: Pros II

Data is synced from the legacy system only once, even a high-load of FHIR calls will not affect the users of the legacy system

Page 11: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

API facade with an intermediate FHIR server: Pros III

Using a full-blown FHIR server allows you to build the whole new ecosystem of modern FHIR-first apps on top of it

You can ultimately move from legacy to the FHIR-first ecosystem

Page 12: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

API facade with an intermediate FHIR server: Cons

Data is stored twice

• Double cost of computer resources• FHIR data can be different than at the source at times

Page 13: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

API facade with an intermediate FHIR server: When to use

Any time unless you have a simple use case and confident about the success of storageless approach

Page 14: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

Translation of data to FHIR

Open source mapping language called JUTE (JSON Uniform TEmplates)

https://github.com/HealthSamurai/jute.clj

Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling)

Page 15: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

JUTE mapping example

Show demo!

We use it for other translations too e.g. HL7 v.2 to FHIR

Page 16: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

JUTE qualities & benefits

• Declarative• Readable• You do not need to be a programmer to use• Open source

Page 17: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

Amazing things happen with FHIR

Page 18: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

Thank you!

Pavel Smirnov, CEO, Health Samurai

Phone: (818) 731-1279

Email: [email protected]

Website: https://health-samurai.io

@paul_smirnoff

Page 19: Adding FHIR Interfaces to Legacy Systems · Designed by Mike Lapshin, Health Samurai (lesson #1, always to have a valid international passport for traveling) JUTE mapping example

www.devdays.com