Preface

Outline of the Work

Microsoft HealthVault is the most prominent example of a personally controlled health record. With its open API, flexibility, and connections with multiple health care providers, it gives people interested in monitoring their own health an unprecedented opportunity to do their own research on their own data. This concise book will explain what you can store in HealthVault, how to enable automatic updates from well-known fitness devices, and how to use programming libraries to create reports and investigate trends of interest to you. Programmable Self is a combination of Quantified Self and motivational hacks. Quantifying what you want to change about yourself and using motivational tools to ensure consistent change has been a proven recipe for successful behavioral change. It's a lot easier to start walking more if you have to tell your coworkers how many steps you walked yesterday!

Organization of This Book

Although the chapters cover different topics, they have been arranged so that the concepts and techniques in earlier chapters form a foundation for the others.

Chapter 1, Getting Started with HealthVault

Health is critical to all of us. Health care and the infrastructure around it touch our lives and the lives of our loved ones. Many of us in pursuit of long-term health adopt goals ranging from controlling our weight to long-distance running. The health care industry is in an early stage of realizing the power of the digital world and the effectiveness of networks in helping drive change.

This chapter introduces HealthVault as a powerful tool for interacting with health data. It also provides a walkthrough of functionality available to the end user through HealthVault.

Chapter 2, Quantifying Yourself

Data is a powerful tool for changing behavior. The act of simply tracking something changes one’s perception of that activity. Summarizing the data over time provides a yardstick by which to measure, and the act of tracking activity over time uncovers patterns in behavior. The structured data in HealthVault provides such an opportunity. Moreover, the HealthVault ecosystem offers a variety of applications and devices to assist in this endeavor.

In this chapter we will explore how a consumer can use various devices to track critical health measures. We will also use common tools to explore the data stored by these devices into Microsoft HealthVault. We’ll capture and view some data, then use a PowerShell plug-in to extract selected data to a comma-separated values (CSV) format and manipulate the data in that format.

Chapter 3, Interfacing with HealthVault

As a platform, HealthVault provides an innovative access management and programming interface for applications and devices to access a user’s health information.

This chapter takes a closer look at the application programming interface (API) offered by HealthVault to enable this interaction in a programmatic fashion. We will discuss various ways in which an application or device can interface with the HealthVault platform. The code samples will use .NET interfaces because they fit well with HealthVault, but the same interfaces are available in Java, PHP, and other languages. This chapter will introduce the elements of programming that give the programmer access to data in HealthVault. Toward the end of this chapter, we will discuss various architectural options available for interfacing with HealthVault.

Chapter 4, Using the HealthVault Data Ecosystem for Self-Tracking

The Quantified Self community is engaged in enabling self-knowledge through self-tracking. Self-tracking, powered by appropriate data analysis, has been proven to trigger behavioral change. The act of self-tracking creates awareness and feedback. The hunger for, and success of, self-knowledge is evident from the growing number of self-quantifiers (currently 6,000+ in 41 cities and 14 countries).

Self-knowledge is possible only with a substantial amount of self-data. HealthVault provides more than 80 granular data types that enable tracking data regarding everything from daily exercise to genome sequences. In this chapter, we will build upon the understanding of the HealthVault API covered in Chapter 3 and extend it to develop a data-intensive self-quantifying application. Through the Quantified Self application, we will gain an understanding of HealthVault data types and application development.

Chapter 5, Enabling mHealth for Quantified Self

Having an accessible and programmable health record sets HealthVault apart. It enables a rich ecosystem of devices and mobile and web applications. Chapter 3 focused on introducing the HealthVault API, and Chapter 4 gave a good overview of HealthVault data types using a data-intensive “Quantified Self” application. This chapter takes a closer look at building mobile applications for HealthVault.

We will look at an end-to-end example of building a mood-tracking application on top of mobile platforms. This chapter will cover elements of mobile client programming using code samples for Windows Phone 7 (C#); similar interfaces are available for Android (Java) and iOS (Objective-C).

Chapter 6, The Last Mile: Releasing Applications to Users

HealthVault provides a secure and rapidly expanding platform with a rich feature set for application developers. Developer can target a wide set of users with multiple languages to enable rich functionality for Quantified Self applications.

As part of an application’s life cycle, the standard steps are testing the application, releasing it to the user, and then monitoring it for anomalies. This chapter will highlight best practices for releasing, maintaining, and marketing HealthVault applications to end users.

Conventions Used in This Book

The following typographical conventions are used in this book:

Italic

Indicates new terms, URLs, email addresses, filenames, and file extensions.

Constant width

Used for program listings, as well as within paragraphs to refer to program elements such as variable or function names, databases, data types, environment variables, statements, and keywords.

Constant width bold

Shows commands or other text that should be typed literally by the user.

Constant width italic

Shows text that should be replaced with user-supplied values or by values determined by context.

Tip

This icon signifies a tip, suggestion, or general note.

Caution

This icon indicates a warning or caution.

Using Code Examples

This book is here to help you get your job done. In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless you’re reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from O’Reilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product’s documentation does require permission.

We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: “Enabling Programmable Self with HealthVault by Vaibhav Bhandari (O’Reilly). Copyright 2012 Vaibhav Bhandari, 978-1-449-31656-3.”

If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at .

Safari® Books Online

Note

Safari Books Online is an on-demand digital library that lets you easily search over 7,500 technology and creative reference books and videos to find the answers you need quickly.

With a subscription, you can read any page and watch any video from our library online. Read books on your cell phone and mobile devices. Access new titles before they are available for print, and get exclusive access to manuscripts in development and post feedback for the authors. Copy and paste code samples, organize your favorites, download chapters, bookmark key sections, create notes, print out pages, and benefit from tons of other time-saving features.

O’Reilly Media has uploaded this book to the Safari Books Online service. To have full digital access to this book and others on similar topics from O’Reilly and other publishers, sign up for free at http://my.safaribooksonline.com.

How to Contact Us

Please address comments and questions concerning this book to the publisher:

O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
800-998-9938 (in the United States or Canada)
707-829-0515 (international or local)
707-829-0104 (fax)

We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at:

http://shop.oreilly.com/product/0636920022930.do

Community contributions, up-to-date code samples, and reusable Quantified Self spreadsheets are available at this book’s companion website:

http://www.enablingprogrammableself.com

To comment or ask technical questions about this book, send email to:

For more information about our books, courses, conferences, and news, see our website at http://www.oreilly.com.

Find us on Facebook: http://facebook.com/oreilly

Follow us on Twitter: http://twitter.com/oreillymedia

Watch us on YouTube: http://www.youtube.com/oreillymedia

Acknowledgments

Thanks to the wonderful staff at O’Reilly, especially my editor, Andy Oram, for helping me nurture the book from concept to execution. Special thanks to Fred Trotter for providing the weight data used in Chapter 1 of this book. Fred also coined the term “Programmable Self,” and was gracious enough to let us use it in the book title. Thanks to Eric Friedman and the Fitbit team for helping with sleep data and the updated HealthVault integration for Fitbit.

I would like to acknowledge my family and friends for being a constant source of motivation and support. They have constantly kept up with my myriad self-experiments and projects and have pushed me to discover and learn more. I greatly acknowledge the debt they are owed, and this book is dedicated to them.

Thanks to Heidi Klinck for reviewing initial drafts and Chris Tremonte for content layout ideas. Thanks to Rob May, an exceptional developer on HealthVault team, for contributing content and code samples for the HealthVault Java library.

I am grateful to the technical reviewers for providing valuable comments on early drafts of this book, especially Rob May, Umesh Madan, Sean Nolan, Ali Emami of Microsoft, Bill Reid of Numera, and other members of HealthVault team.

Last but not least, thanks to Sean Nolan and team for conceptualizing and creating HealthVault, and Gary Wolf and team for driving the Quantified Self movement.

I hope that you will have as much fun reading this work as I did writing it, and will immerse yourself in health hacking and self-experimentation. Namaste!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.117.157