201809 Open mHealth to FHIR
Submitting WG/Project/Implementer Group
Justification
Open mHealth to FHIR Connectathon Track OrientationPreview Slides
To pilot the Open mHealth to FHIR Implementation Guide which describes how to use FHIR and OMH to pull health data from popular third-party APIs like Runkeeper and Fitbit. Using the OMH SHIMMER adn an "Open mHealth to FHIR" server, this data is made accessible to a FHIR SMART client either in the native OMH schema format or as FHIR resources (typically FHIR Observations).
Use Cases to include:
- A patient preventing or managing one or more diseases
- Accessing to mHealth data for enterprise level-needs, e.g., to support population health and research purposes
Proposed Track Lead
Open mHealth Contacts:
GA Tech (Test Server) Contacts:
FHIR version
STU3
Expected participants
- GA Tech
- UCSF
<your name here!>
Roles
See the mFHIR Implementation Guide for the initial use cases and FHIR Mappings.
- FHIR-enabled EHR Sytem
- A Open mHealth to FHIR Server with FHIR server running SMART-on-FHIR protocols for authentication/authorization, etc.
- Patient’s step counter sensor (called ** StepSensor** in this use case) – specific product, may be the patient’s phone
- Data store for the Step-Counter Device output (e.g., cloud and/or phone (e.g., GoogleFit, HealthKit)) that either offers data directly in Open mHealth format using an Open mHealth endpoint, or is supported by Shimmer
- Open mHealth to FHIR Client a SMART on FHIR app – has roles for PCP, onboarding staff, and patient
Scenarios
See the mFHIR Implementation Guide for the initial use cases and FHIR Mappings.
Base Use case
StoryBoard Description:
The patient determined by e.g., http://tools.acc.org/ASCVD-Risk-Estimator-Plus/#!/calculate/estimate/ to be at moderate CV risk based on blood pressure, BMI, diet and exercise, blood glucose. Patient has a primary care physician (PCP). PCP and the patient jointly decide on improving exercise to meet AHA/WHO/CDC guidelines of150 minutes of moderate exercise (3-6 METS) every week, which they have refined into a mutually agreed upon step goal of 4000 steps daily. PCP prescribes the collection of steps using an mHealth device, to track daily steps and average daily and weekly steps. The patient is given an Open mHealth- compliant/supported consumer device (e.g., FitBit, GoogleFit, Misfit) by the clinic, or the patient already has an Open mHealth-compliant/supported device. At the next scheduled visit (e.g., in 90 days), the PCP and patient will jointly review during a clinic visit the daily step count and daily and weekly averages in the past 90 days vs the goal of 4000 daily steps. They will do this using a FHIR app that presents the data graphically within the EHR session.
Use Case 1: Retrieving OMH data in native OMH Schema format
See the mFHIR Implementation Guide for this initial use case.
Use Case 2: Retrieving OMH data as FHIR Observations
See the mFHIR Implementation Guide for this initial use case.
Test Implementations
- GAtech Reference Implementation Open mHealth to FHIR Server
- The latest version of the OMH on FHIR application can be launched with the SMART Application Launcher - INSTRUCTIONS
- Available on GitHub soon.....
Details on the frameworks selected for development of the OMH on FHIR prototype. The user interface uses AngularJS (https://angularjs.org/) and the SMART fhir-js-client.js (https://github.com/smart-on-fhir/client-js) library. AngularJS provides a nice framework for rapid development. It uses a Model View Controller (MVC) paradigm that is easy to use and results in well-organized applications. It also provides mechanisms for unit testing. The fhir-js-client library is developed by SMART on FHIR and handles all OAuth and resource requests from the client to the FHIR server. Using this library saved time by providing all methods necessary for user authentication for the FHIR server. Spring Boot (https://spring.io/guides/gs/spring-boot/) is used to implement the FHIR facade web service. This web service exposes endpoints to communicate with the Shimmer API. It also exposes FHIR endpoints for DocumentReference, Binary, and Observation Requests. The HAPI FHIR STU3 Structures library (https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-structures-dstu3) is used to ease creation, manipulation, and serialization of FHIR resources in the web service. This library provides Java objects for all FHIR STU3 resources. Spring Boot makes it very easy to stand up web services, and when combined with the HAPI FHIR libraries development of a FHIR web service is fast and simple.