Page 1
HL7®, FHIR® and the flame Design mark are the registered trademarks of Health Level Seven International and are used with per mission.
November 20-22, Amsterdam | @HL7 @FirelyTeam | #fhirdevdays | www.devdays.com
Let’s Build! - IoMT Data to FHIR
Nate Malubay
Page 2
Prerequisites
• Create a free Azure account
• https://azure.microsoft.com/free
• Mac with Xcode 11 installed
• https://developer.apple.com/xcode
Page 3
Nate Malubay
• Software Engineer – Microsoft Health Cloud & Data
• Developing mobile applications for 11 years
• Working with Personal Health Devices and IoMT for 5 years
Page 4
What is IoMT?
Internet of Medical Things
• A subset of IoT devices
• Devices that provide patient health data that can be:
• Worn
• Used
• Ambient
Internet
of
Medical
Things
Page 5
Session outline
1. Overview of IoMT end-to-end solution
2. Deployment of cloud services (Azure Cloud Shell)
3. IoMT FHIR Connector for Azure on GitHub
4. HealthKitOnFhir on GitHub
5. Deployment of iOS sample app (Xcode)
6. Test IoMT data pipeline
Page 6
Clone HealthKitOnFhir
https://github.com/microsoft/healthkit-on-fhir
Page 7
Overview
Apple HealthKit IoMT Device
HealthDataSync
HealthKitOnFhir
Swift-Smart IomtFhirClient IoMT FHIR
Connector
for Azure
Patient Phone
Azure API
for FHIR
Cloud
Page 8
Deploy cloud services
• Cloud services will be deployed using a PowerShell script and will take about 10 minutes
• We will run the script using the Azure Cloud Shell accessed in your Azure subscription
• The script will deploy:
• an endpoint for transforming high-frequency health data (IoMT FHIR Connector for Azure)
• a FHIR server (Azure API for FHIR)
Page 9
Deploy cloud services
Navigate to portal.azure.com and sign into your account.
Page 10
Deploy cloud services
Navigate to Azure Active Directory.
Page 11
Deploy cloud services
Open the Azure Cloud Shell by clicking the icon in at the top of the screen.
Page 12
Deploy cloud services
You may be prompted to select an environment and create a storage account.
Page 13
Deploy cloud services
Wait for the Cloud Shell to initialize – This will take about 1 minute.
Page 14
Deploy cloud services
Log into your Azure subscription.
Page 15
Deploy cloud services
Connect to Azure Active Directory.
Page 16
Deploy cloud services
Clone the HealthKitOnFhir repository in the Cloud Shell.
Page 17
Deploy cloud services
Navigate to the “Scripts” directory.
Page 18
Deploy cloud services
Run the deployment script.
Page 19
Deploy cloud services
The script will take about 10 minutes to complete.
Page 20
PowerShell summary
Page 21
IoMT FHIR Connector for Azure https://github.com/microsoft/iomt-fhir
Normalize Group Transform Persist
Normalizes non FHIR data into a common format
Transforms data into FHIR Observations
Persists Observations into a FHIR Server
Groups data by device, type and time
Page 22
IoMT FHIR Connector for Azure https://github.com/microsoft/iomt-fhir
• Can output to any* FHIR server
• Can be used with other inputs
• Azure IoT Hub/IoT Central
• Cloud to Cloud
• Direct device connection
• Supports additional outputs for data processing
FHIR Version R4
CRUD for Patient, Device and Observation
OAuth 2.0 identity provider with support for client credentials
*
Page 23
HealthKitOnFHIR https://github.com/microsoft/healthkit-on-fhir
HealthKitOnFhir is a Swift library that automates the export of Apple HealthKit Data to a FHIR Server.
Page 24
HealthKitOnFHIR https://github.com/microsoft/healthkit-on-fhir
• Observes changes to HealthKit
data and exports new or updated data to FHIR
• Exports ”historical” HealthKit data
• Simplifies obtaining user permission for HealthKit data
• Extensible and customizable
Apple HealthKit
HealthDataSync
HealthKitOnFhir
Swift-Smart IomtFhirClient
Page 25
Why is Microsoft releasing IoMT solutions? 1. Simplify sharing IoMT data with
physicians and researchers
2. Promote and bootstrap experimentation and learning
3. Support and Evangelize FHIR
Page 26
Sample app deployment Open the sample application in Xcode.
Page 27
Sample app deployment Wait for the Swift Package dependencies to resolve
Page 28
Sample app deployment Run the application in the
iOS Simulator.
Page 29
Sample app deployment The application should launch in the simulator. This will take about 2 minutes.
Page 30
Test the IoMT to FHIR Pipeline
1. Configure the sample application
2. Sign Into the sample application
3. Create a Patient Resource
4. Grant permission to read HealthKit data
5. Start observing changes to HealthKit
6. Add data to the Health app
7. View the Observation in the FHIR server
Page 31
Configure the application Download the Config.json file.
Page 32
Configure the application Drag the Config.json file onto the screen of the iOS Simulator.
Page 33
Sign in Tap “Sign In” and use the credentials created by the deployment to sign into the application.
Page 34
Sign in
The username can password is generated by the PowerShell script.
Page 35
Create a Patient Resource Create a test patient (this will create a Patient Resource in the FHIR server) and tap Next.
Page 36
Grant permission
Grant access to HealthKit data
Page 37
Start observing HealthKit
Tap “Start Observing” and wait for the operation to complete.
Page 38
Add data to the Health app Exit the sample application and launch the Apple Health app
Page 39
Add data to the Health app Tap the “Browse” tab.
Page 40
Add data to the health app Select the “Heart” cell.
Page 41
Add data to the Health app Select the “Heart Rate” cell.
Page 42
Add data to the Health app Tap the “Add Data” button.
Page 43
Add data to the Health app Enter a heart rate value and tap the “Add” button.
Page 44
View the Observation
Navigate back to the sample app and wait for the sync to complete.
Page 45
View the Observation Select the HeartRateMessage cell.
Page 46
View the Observation Select the Observation date cell.
Page 47
View the Observation View the Observation JSON.
Page 48
Summary
1. We used a PowerShell script to deploy the Azure API for FHIR and the IoMT FHIR Connector for Azure
2. Deployed an iOS application that monitors HealthKit and exports data to persist in a FHIR server
3. Added test data to the Apple Health application
4. Verified the data was exported to the FHIR server
Page 49
Star the repositories
https://github.com/microsoft/healthkit-on-fhir https://github.com/microsoft/iomt-fhir
Contribute to the projects See us in the lounge
Thank you