This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "201809 Open mHealth to FHIR"

From HL7Wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 9: Line 9:
 
[https://docs.google.com/presentation/d/1IPdbK_e8-GFubWXudTpnoA2nKVYD4YIado2J8WcoAFA/edit?usp=sharing  Open mHealth to FHIR Connectathon Track OrientationPreview Slides]
 
[https://docs.google.com/presentation/d/1IPdbK_e8-GFubWXudTpnoA2nKVYD4YIado2J8WcoAFA/edit?usp=sharing  Open mHealth to FHIR Connectathon Track OrientationPreview Slides]
  
To pilot the [https://healthedata1.github.io/mFHIR/index.html Open mHealth to FHIR Implementation Guide]
+
To pilot the [https://healthedata1.github.io/mFHIR/index.html OmH-on-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 [https://github.com/openmhealth/shimmer 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).
+
which describes how to use FHIR and OmH to pull health data from popular third-party APIs like Google Fit and Runkeeper.  Using the [https://github.com/openmhealth/shimmer 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:
 
Use Cases to  include:
Line 23: Line 23:
  
 
Open mHealth Contacts:  
 
Open mHealth Contacts:  
* [mailto:simona.carini@ucsf.edu Simona Carina]
+
* [mailto:simona.carini@ucsf.edu Simona Carini]
 
* [mailto:Ida.Sim@ucsf.edu Ida Sim]
 
* [mailto:Ida.Sim@ucsf.edu Ida Sim]
  
Line 41: Line 41:
 
==Roles==
 
==Roles==
 
<!-- Roles are sets of functionality (generally defined by a Conformance resource) that a single system can take on -->
 
<!-- Roles are sets of functionality (generally defined by a Conformance resource) that a single system can take on -->
See the [https://healthedata1.github.io/mFHIR/index.html mFHIR Implementation Guide] for the initial use cases and FHIR Mappings.
+
See the [https://healthedata1.github.io/mFHIR/index.html OmH-on-FHIR Implementation Guide] for the initial use cases and FHIR Mappings.
  
  
* '''FHIR-enabled EHR Sytem'''
+
* '''FHIR-enabled EHR system'''
 
* A '''Open mHealth to FHIR Server''' with FHIR server running [http://docs.smarthealthit.org/ SMART-on-FHIR] protocols for authentication/authorization, etc.
 
* A '''Open mHealth to FHIR Server''' with FHIR server running [http://docs.smarthealthit.org/ 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
 
* 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 [https://github.com/openmhealth/shimmer Shimmer]
+
* '''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 [https://github.com/openmhealth/shimmer Shimmer] or [https://github.com/openmhealth/Granola Granola]
* '''Open mHealth to FHIR Client''' a SMART on FHIR app – has roles for PCP, onboarding staff, and patient
+
* '''OmH-on-FHIR Client''' a SMART on FHIR app – has roles for PCP, onboarding staff, and patient
  
 
==Scenarios==
 
==Scenarios==
  
See the [https://healthedata1.github.io/mFHIR/index.html mFHIR Implementation Guide] for the initial use cases and FHIR Mappings.
+
See the [https://healthedata1.github.io/mFHIR/index.html OmH-on-FHIR Implementation Guide] for the initial use cases and FHIR Mappings.
  
 
Base Use case
 
Base Use case
Line 71: Line 71:
 
  steps. They will do this using a FHIR app that presents the data graphically within the EHR session.
 
  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 ====
+
==== Use Case 1: Retrieving OmH data in native OmH Schema format ====
  
See the [https://healthedata1.github.io/mFHIR/#retrieving-omh-data-in-native-omh-schema-format mFHIR Implementation Guide] for this initial use case.
+
See the [https://healthedata1.github.io/mFHIR/#retrieving-omh-data-in-native-omh-schema-format OmH-on-FHIR Implementation Guide] for this initial use case.
  
  
 
[[image:Smartapp-binary.png|500px]]
 
[[image:Smartapp-binary.png|500px]]
  
==== Use Case 2: Retrieving OMH data as FHIR Observations ====
+
==== Use Case 2: Retrieving OmH data as FHIR Observations ====
  
  
See the [https://healthedata1.github.io/mFHIR/#retrieving-omh-data-as-fhir-observations mFHIR Implementation Guide] for this initial use case.
+
See the [https://healthedata1.github.io/mFHIR/#retrieving-omh-data-as-fhir-observations OmH-on-FHIR Implementation Guide] for this initial use case.
  
  
Line 88: Line 88:
 
==Test Implementations==
 
==Test Implementations==
  
*'''GAtech Reference Implementation Open mHealth to FHIR Server'''
+
*'''GAtech Reference Implementation OmH-on-FHIR Server'''
**The latest version of the OMH on FHIR application can be launched with the SMART Application Launcher - [https://docs.google.com/presentation/d/1kyggy2gOn6Hi-mc7nQYS45loGi3ujR4Vvs3mGqU4kmI/edit?usp=sharing INSTRUCTIONS]
+
**The latest version of the OmH on FHIR application can be launched with the SMART Application Launcher - [https://docs.google.com/presentation/d/1kyggy2gOn6Hi-mc7nQYS45loGi3ujR4Vvs3mGqU4kmI/edit?usp=sharing INSTRUCTIONS]
** Available on GitHub soon.....
+
** You can view the source for the OmH on FHIR project here: https://github.com/gt-health/OmH-on-FHIR
  
  
  Details on the frameworks selected for development of the OMH on FHIR prototype.
+
  Details on the frameworks selected for development of the OmH-on-FHIR prototype.
 
   
 
   
 
  The user interface uses AngularJS (https://angularjs.org/) and the SMART
 
  The user interface uses AngularJS (https://angularjs.org/) and the SMART

Latest revision as of 05:43, 20 September 2018


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.