201809 Open mHealth to FHIR

From HL7Wiki
Jump to navigation Jump to search


Submitting WG/Project/Implementer Group

Omh logo.png

Justification

Open mHealth to FHIR Connectathon Track OrientationPreview Slides

To pilot the OmH-on-FHIR Implementation Guide which describes how to use FHIR and OmH to pull health data from popular third-party APIs like Google Fit and Runkeeper. Using the OmH shimmer and "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:

  1. A patient preventing or managing one or more diseases
  2. 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 OmH-on-FHIR Implementation Guide for the initial use cases and FHIR Mappings.


  • FHIR-enabled EHR system
  • 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 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 or Granola
  • OmH-on-FHIR Client a SMART on FHIR app – has roles for PCP, onboarding staff, and patient

Scenarios

See the OmH-on-FHIR 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 OmH-on-FHIR Implementation Guide for this initial use case.


Smartapp-binary.png

Use Case 2: Retrieving OmH data as FHIR Observations

See the OmH-on-FHIR Implementation Guide for this initial use case.


Smartapp-observation.png

Test Implementations

  • GAtech Reference Implementation OmH-on-FHIR Server


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.