<<

Cloud FHIR APIs: Data Ingestion, Management, and Analytics

Kalyan Pamarthy & Dharmesh Patel, Google Cloud Healthcare

HL7 FHIR DevDays 2020, Virtual Edition, November 17–20, 2020 | @FirelyTeam | #fhirdevdays | www.devdays.com/november-2020

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

Kalyan Pamarthy Dharmesh Patel Product Manager Solutions Manager Google Cloud Healthcare API Google Cloud Healthcare API

2 ● Learn about the Google Cloud Healthcare API & Managed FHIR capabilities

● Preview recently launched features - OSS and Managed APIs

● See Managed FHIR capabilities in action! Cloud Healthcare API ● Let’s Build! Google Cloud FHIR APIs ● Leveraging Synthetic Data to Benchmark Thursday, Nov 19th, 5:15 pm-6:00 pm CET a Cloud-Based FHIR API Onix Friday, Nov 20th, 2:00 pm-2:45 pm ET ● Building FHIR Analytics and AI Applications Thursday, Nov 19th, 5:15 pm-5:35 pm CET

● FHIR Analytics using OHDSI Tools on Cloud Thursday, Nov 19th, 5:40 pm-6:00 pm CET 1. Google Cloud Healthcare - FHIR APIs

5 Accelerate your healthcare solution development

● Primary API surface for healthcare specific data management in the .

● Fully managed, Standards based serverless, REST APIs ○ FHIR (DSTU2, STU3 and R4) ○ HL7v2 ○ DICOM

● Value add capabilities (e.g De-Identification, Data Transformation, NLP) ● Stores PHI data in compliance with regulations (e.g HIPAA) Healthcare API ● Integrated with other Google Cloud applications (e.g BigQuery) ● Integrated with Google Cloud components (e.g Cloud PubSub, Cloud Functions)

● Support for Smart on FHIR Apps with API Management cloud.google.com/healthcare

Generally Available + new features in Preview Supported FHIR ● DSTU2, STU3 & R4 Support Versions

● Import and Export FHIR resources in ndJSON from/to Google Cloud Import & Export Storage ● Export to BigQuery - Streaming and Batch

Standard FHIR ● Resource Create/Read/Update/Patch/History/Delete Operations CRUD

● FHIR Search Cloud Healthcare Advanced FHIR ● Patient $Everything Operations FHIR APIs ● Execute Bundle (Batch & Transaction)

Notifications ● Pub/Sub notifications on changes to FHIR server

De-identification ● Standard and custom configurations to de-identify FHIR resources New IG Support & ● Configure and validate structured definitions Profiles ● Configure and validate IGs such as US Core, CARIN and DaVinci profiles

New Bulk Data ● $ export (System Level) with _type and _since

Cloud Healthcare Conditional ● Conditionally update and delete FHIR resources that match a search Update/Delete query FHIR APIs

Observation ● Retrieves the N most recent Observation resources for a subject Last$n matching search criteria specified as query parameters

● Translates a code from one value set to another using a concept map, Terminology or user provided concept maps to translate any code system to another $translate code 2. Google Cloud Healthcare - Data Transformation

10 New

CCD to FHIR ● Transform CCD XML documents to FHIR https://github.com/GoogleCloudPlatform/healthcare-data-harmonization/tree/master/mapping_configs/cda_fhir_r4

New DICOM to FHIR ● Transform DICOM studies to FHIR https://github.com/GoogleCloudPlatform/healthcare-data-harmonization/tree/master/mapping_configs/dicom_fhir_r4

HL7v2 to FHIR ● Transform HL7v2 to FHIR Cloud Healthcare https://github.com/GoogleCloudPlatform/healthcare-data-harmonization/tree/master/mapping_configs/hl7v2_fhir_r4 FHIR APIs

https://github.com/GoogleCloudPlatform/healthcare-data-harmonization { { "segmentId": "XAD", "use": "Work", "fields": { Transformation "text": "55 Fruit Street Massachusetts General "1": "55 Fruit Street", Hospital Boston MA 02114 USA", "2": "Massachusetts General Hospital", library "line": [ "3": "Boston", "55 Fruit Street" "4": "MA", ], "5": "02114", "city": "Boston", "6": "USA", "district": 100, "7": "Work", "state": "MA", "8": "Other geographic designation", "zipCode": "02114", use: XAD.7 "9": "100" "country": "USA", text: " ", XAD.1, XAD.2, XAD.3, XAD.4, } "type": "physical" XAD.5, XAD.6 => _StrJoin } } line: XAD.1 => _ListOf city: XAD.3 district: XAD.9 state: XAD.4 Sample maps: zipCode: XAD.5 - HL7v2 to FHIR for ADT_A01 country: XAD.6 Supports repeated and nested structures, and ORU_R01 initially type: "physical" terminology mapping, unit harmonization,

- FHIR to OMOP clinical entity extraction, user-defined - OMOP to FHIR Whistle mapping config functions - CCD to FHIR Healthcare API Cloud Data Fusion OSS Dataflow

FHIR Import API Fully managed, cloud-native data integration Reference Cloud Dataflow (Apache service for building and managing ETL and ELT Beam) pipeline to converting streaming data pipelines. HL7v2 messages to FHIR resources

With a graphical interface and a broad open Whistle Cloud Cloud source library of preconfigured connectors Storage config Healthcare and transformations, Cloud Data Fusion shie s https://github.com/GoogleCloudPlatform/healthcare-data-harmonization an organization’s focus away from code and FHIR Export API integration to insights and action.

Cloud Whistle BigQuery Healthcare config

HL7v2 → FHIR API

Cloud Whistle Cloud Healthcare config Healthcare 3. Google Cloud Healthcare - FHIR De-identification

14 Proprietary + Confidential Proprietary + Confidential

Raw FHIR Redacted Evaluation Analytics data DelD FHIR data and validation Secure sharing AI/ML training and prediction Proprietary + Confidential Proprietary + Confidential

Original (FHIR) record De-identified FHIR record Proprietary + Confidential

Leverage the Google Cloud Healthcare Project deployed (from start to API serverless capabilities to receive finish) in 3 weeks ADT, ORU, ORM & MDM messages, transform to FHIR and project into COVID monitoring dashboards BigQuery for analytics at scale (circa available for C-Suite 2M messages per day):- Drill down : Health System > HL7 > FHIR > BigQuery > Hospital > Unit > Patient All components running in Google Cloud, with multiple (5) feeds from HL7 Data latency circa 2-3 minutes interface engines. Processing 1000 messages per minute through the data pipeline. Proprietary + Confidential

1

2 replace sensitive data with a fixed character, ex. “John” > “****”

3 replace input with a category label, ex. “John” > “[NAME]”

4 shie by a random number of days, with the option to maintain chronological order between dates belonging to the same patient or population

5 replace input with a hashed value generated using a (customer-defined) encryption key Demo time! Ingest, Manage and Analyze Healthcare Data using FHIR

A. B. D. E. Configure Ingest C. Export Analyze FHIR Server HL7v2 De-identify Data to Data using in Google Data in FHIR Store GCS & BigQuery Cloud FHIR Store BigQuery & Looker

22 Configure FHIR API in Google Cloud

A. B. D. E. Configure Ingest C. Export Analyze FHIR Server HL7v2 De-identify Data to Data using in Google Data in FHIR Store GCS & BigQuery Cloud FHIR Store BigQuery & Looker

1 2 3 4 5 Create FHIR Import Enable Ingest FHIR Browse Store Impl. Guide Impl. Guide Data FHIR Data

curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://healthcare.googleapis.com/v1alpha2/projects/ha-portal/locations/us-central1/datas ets/default-dataset/fhirStores/default-fhir-store"

23 Ingest HL7v2 data in FHIR Store

A. B. D. E. Configure Ingest C. Export Analyze FHIR Server HL7v2 De-identify Data to Data using in Google Data in FHIR Store GCS & BigQuery Cloud FHIR Store BigQuery & Looker

HL7v2 HL7v2 HL7v2 FHIR

Simulated EHR MLLP Cloud FHIR HL7v2 Store Adapter1 Dataflow2 Store

Cloud Pub/Sub 1. https://github.com/GoogleCloudPlatform/mllp 2. https://github.com/GoogleCloudPlatform/healthcare-data-harmonization-dataflow 3. https://github.com/GoogleCloudPlatform/healthcare-data-harmonization/tree/master/mapping_configs/hl7v2_fhir_r4 24 De-identify FHIR Store

A. B. D. E. Configure Ingest C. Export Analyze FHIR API in HL7v2 De-identify Data to Data using Google Data in FHIR Store GCS & BigQuery Cloud FHIR Store BigQuery & Looker

De-identify

FHIR Store FHIR Store (FHIR Data with PII/PHI) (De-identified FHIR Data)

25 Export Data to & BigQuery

A. B. D. E. Configure Ingest C. Export Analyze FHIR API in HL7v2 De-identify Data to Data using Google Data in FHIR Store GCS & BigQuery Cloud FHIR Store BigQuery & Looker

:export

FHIR Store BigQuery

$export

Cloud Storage

26 Analyze Data using Looker

A. B. E. D. Configure Ingest C. Analyze Stream FHIR API in HL7v2 De-identify Data using Data to Google Data in FHIR Store BigQuery BigQuery Cloud FHIR Store & Looker

BigQuery Looker

27 Let’s Build: Google Cloud FHIR APIs Let’s Build! on Thursday Thursday, Nov 19th, 5:15pm - 6pm CET

1. Submit a request for the Google Cloud Sandbox environment (QwikLab) at bit.ly/google-cloud-fhir

2. You will receive instructions to access the Google Cloud Sandbox Environment (QwikLab)

3. During the Let’s Build, we will walk through setting up a Cloud FHIR server and using FHIR APIs with synthetic data

4. Follow along and ask questions!

28 Email us or find us on Zulip to chat about FHIR@Google

Kalyan Pamarthy Dharmesh Patel Product Manager Solutions Manager Google Cloud Healthcare API Google Cloud Healthcare API [email protected] [email protected]

29