Skip to content
Josh Mandel edited this page Jul 11, 2013 · 23 revisions

Growth-tastic: A BlueButton+ Tutorial

The Scenario

Growth-tastic has built a killer app where parents watch their children grow. The dev team has worked out the user experience including visualization of a child's weight, height, and body mass index. Now all they need is a way to fuel the app with health data from the pediatrician's office.

(For developers interested in learning more about the real growth chart visualization used in our fictional Growth-tastic tutorial: we started with the open-source SMART Pediatric Growth Chart. It's a browser-based HTML5/JavaScript app written to take advantage of data from a SMART Health IT system via the SMART API from Harvard Medical School / Boston Children's Hospital. For this tutorial, we've ripped out the data-access layer and will replace it, step-by-step, with BlueButton+ data.)

Goals

This hands-on tutorial will show you how to integrate healthcare data into your app, using BlueButton+. Following the progress of "Growth-tastic" (a fictional company with a slick patient-facing app), we'll:

Learn two ways to get the data:

  • BlueButton+ Push (Direct Project secure e-mail)
  • BlueButton+ Pull (REST and OAuth2)

Practice using the data:

  • Consolidated CDA format (C-CDA)

By the end of this tutorial, you'll have a functional Pediatric Growth Chart app fueled by BlueButton+ data. Along the way, you'll learn about a variety of open-source tools that can simplify the process.

Our Plan for Today

Version 0: Fixture

We'll start with a simple web app that displays a growth chart using hard-coded sample data.

Version 1: BlueButton+ Push

We'll extend the app to obtain data via BlueButton+ Push, a protocol based on the Direct Project's specification for secure e-mail. We'll also learn how to use Consolidated CDA, the XML format in which data are delivered.

Version 2: BlueButton+ Pull

After implementing BB+ Push messaging, we'll take a quick look at a new specification that simplifies the process of obtaining patient data. BB+ Pull help users authorize apps to access data via a familiar OAuth2 workflow. Authorized apps can then request clinical summary documents via a RESTful HTTP interface.


Enough planning! Without further ado, let's jump into the tutorial.