30
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 Pyrog: an open-source mapping tool and ETL for FHIR Corneliu MALCIU, cofounder

Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

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

Pyrog: an open-source mapping tool and ETL for FHIR

Corneliu MALCIU, cofounder

Page 2: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

In a few words

Page 3: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

1 Hospital = 100 independent softwares whose proprietary databases need to be synchronized

Remember when you were trying to install a new game

on you old cell phone?

An obsolete architecture...

✗ Difficult access to Data

✗ High costs

✗ No data governance

Page 4: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

30 000 deaths1

Each year in France due to a lack of communication in healthcare

… and its consequences

80% time3

Lost in data processing for each research project.

¹ French Ministry of Social Affairs and Health, B. Bégaud et D. Costagliola, Rapport sur la surveillance et la promotion du bon usage du médicament en France (2013)² French Ministry of Social Affairs and Health, Atlas des systèmes d’information hospitaliers (2018)³ Figure Eight, 2016 Data science report (2016)

30k€ per software2

Spent for each deployment to access clinical data. Half projects do not make it to production.

Page 5: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Now you just download it from your app store!

ARKHN : Data integration and standardization from proprietary formats to FHIR

Our solution: a common platform

✔ Clean and accessible Data

✔ Low deployment costs

✔ Full Data sovereignty

Page 6: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

. for everyone

Data integration for Healthcare facilities

1

FHIR API & server for software developers

2

3 Network access for data users & hospitals

Page 7: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Products & Tools

Mapping DB to FHIR: PYROG1

github.com/arkhn

Page 8: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Products & Tools

Mapping DB to FHIR: PYROG1

ETL to FHIR: FHIR PIPE2

github.com/arkhn

Page 9: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Products & Tools

Mapping DB to FHIR: PYROG1

ETL to FHIR: FHIR PIPE2

Native FHIR storage: PY FHIR STORE3

github.com/arkhn

Page 10: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Products & Tools

Mapping DB to FHIR: PYROG1

ETL to FHIR: FHIR PIPE2

Native FHIR storage: PY FHIR STORE3

Flask API: WAREHOUSE API4

github.com/arkhn

Page 11: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Products & Tools

Mapping DB to FHIR: PYROG1

ETL to FHIR: FHIR PIPE2

Native FHIR storage: PY FHIR STORE3

Some demo apps: TIMELINE, DASHBOARD...5

Flask API: WAREHOUSE API4

github.com/arkhn

Page 12: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Products & Tools

Mapping DB to FHIR: PYROG1

ETL to FHIR: FHIR PIPE2

Native FHIR storage: PY FHIR STORE3

Some demo apps: TIMELINE, DASHBOARD...5

Network access & Federated Learning6

Flask API: WAREHOUSE API4

github.com/arkhn

Page 13: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

An open source mapping

tool for .

PYROG

github.com/arkhn/pyrog

Page 14: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

~ 10K tables~ 100k columns

Page 15: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

~ 10K tables~ 100k columns

Page 16: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

~ 10K tables~ 100k columns

Page 17: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

- FHIR friendly- Documentation

Required features:

Page 18: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

- FHIR friendly- Documentation- Cleaning scripts

Required features:

M → male

F → female

* → unknown

PAT_ID GENDER

... ...

106 F

107 M

108 F

... ...

Page 19: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

- FHIR friendly- Documentation- Cleaning scripts

Required features:

- Joins

SELECT COUNTRY_LBL FROM COUNTRY LEFT JOIN ...

PAT_ID COUNTRY_ID

... ...

106 1

107 1

108 3

... ...

COUNTRY_ID COUNTRY_LBL

1 Neetherlands

2 France

... ...

PAT_ADR COUNTRY

Page 20: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

- FHIR friendly- Documentation- Cleaning scripts

Required features:

- Joins- Instantiation

BLOOD_PRESSURE → Observation (Blood Pressure)

GLYCEMIA → Observation (Glycemia)

Page 21: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

- FHIR friendly- Documentation- Cleaning scripts

Required features:

- Joins- Instantiation- DB Exploration

~ 10K tables~ 100k columns

Page 22: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Storing mapping rules with .

SOURCE

[RESSOURCE] FHIR_TYPE [ATTRIBUTE] input_column [join] script [attributes]

Mimic

Patient Gender

datamodel.prisma

type Source { resources: [Resource!]!}

type Resource { fhirType: FhirType! attributes: [Attribute!]!}

type Attribute { inputColumn: InputColumn join: Join attributes: [Attribute!]}

(Simplified) Data Model

Page 23: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Storing mapping rules with .

(Simplified) Data Model Query

SOURCE

[RESSOURCE] FHIR_TYPE [ATTRIBUTE] input_column [join] script [attributes]

Mimic

Patient Gender

Page 24: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

Storing mapping rules with .

(Simplified) Data Model Query

Json response

SOURCE

[RESSOURCE] FHIR_TYPE [ATTRIBUTE] input_column [join] script [attributes]

Mimic

Patient Gender

Page 25: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

What next?

● SQL Parser SELECT … FROM … LEFT JOIN … LEFT JOIN … LEFT JOIN … LEFT JOIN ...

Page 26: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

What next?

● SQL Parser

● FHIR Profiling

Page 27: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

What next?

● SQL Parser

● FHIR Profiling

● Mapping suggestion

github.com/arkhn/pagai

Page 28: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

What next?

● SQL Parser

● FHIR Profiling

● Mapping suggestion

● Use StructureMap?

Page 29: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

7 people (hiring!)20+ contributors (join us!)

Don’t miss:● Corneliu Malciu

Startup Track

● Florian BriandBuilding a Multi-Purpose Stack Using FHIR as a Persistence Layer

● Thomas Walter, Lumio MedicalData Privacy in AI using Federated Learning on FHIR

github.com/arkhn

Page 30: Corneliu MALCIU, cofounder - devdays.com...Corneliu MALCIU, cofounder. In a few words. 1 Hospital = 100 independent sof t w ares whose proprietary databases need to be synchronized

www.devdays.com

Corneliu MALCIU, [email protected]