Chief
MedicalS Officer
   O p e n o u r c e
G o o g l e   H e a l t h   P r o j e c t




               Nov 11, 2009
  Goo...
Overview
 O u r S t o r y : G TA P,       G T U G ,
 a n d “ G e e W i z ”

 G o o g l e H e a l t h   a n d      P H R
 A...
GTAP
             Google Technology
            Apprentice Program
                                            Mentor


  ...
Mentors
               Program Mentors
             Tom Wilson / Bess Ho

                 e-Patient Mentor
              ...
Students
                     Design
                 Michael Klemme
                 Priya Chawathe
                  Pri...
Doctor
Tricorder
Meanwhile...
Brainstorming Ideas


 Inspired by Star Trek’s Vision of Future!

 “Bridge To Sick Bay! The family PHR needs to
 be more l...
The Summer Project
The Summer Project
       Build a better PHR.

       Create a framework for experimenting with
       new PHR UIs.

     ...
Application Framework
                         Google Health
                          ATOM Feed
                         ...
Experiments
      Google Health           Google Health
            Raw Data              Raw Data
        ATOM Feed      ...
Next
                        Google Health
                           Raw Data
                         ATOM Feed
        ...
UI Experiment: Mobile


                                        Beta
                                  SDK Framework
     ...
UI Experiment: Mobile

               HTML / CSS / JavaScript
                  SDK Framework


          iPhone SDK 3.0  ...
UI Experiment: Mobile




Chief Medical Officer
UI Experiment: Mobile

                  Best iPhone Health App




Chief Medical Officer
PHR Architecture
Google Health
           Data Model
CCR Record                   GData Feed
Patient                   Atom Elements

   Me...
A View of Your
        Health Record
                         today

                                 time
    ALLERGY
  C...
A View of Your
        Health Record
                         today

                                 time
    ALLERGY
  C...
A View of Your
        Health Record
                         today

                                 time
    ALLERGY
  C...
A View of Your
        Health Record
                         today

                                 time
    ALLERGY
  C...
Health Data
                Retrieval
                                XML



  URL/medication URL/immunization            ...
Profile View
            https://www.google.com/health
                        Using your Google Account




  Collect    ...
GData
                    API Model
                    Google Health APIs

                 Atom Publishing Protocol
    ...
GData Layers                                 Never Delete!




                        AuthSub/OAuth/ClientLogin
         ...
PHR Platform
            Architecture
                  UI & UXP Specifications
          Web                      Mobile
...
XSLT
         Transformation
Google Health                                       CMO
  CCRg


                            ...
Security
PHI v. non-PHI - know what this is!

Leave PHI issues to Google (as much as
possible).

The PHR application is a ...
The Sandbox
               Public                                 Private
          Production                      Develo...
Register Domain
                                                Google Health API
               Public
                  ...
Certificate
               Public
          Production
    https://www.google.com/health

Register domain name with Google...
Keys
               Public
          Production
    https://www.google.com/health                OpenSSL utility
         ...
Signature
                               Public
                          Production
                    https://www.googl...
AuthSub
AuthSubSessionToken                  Public
                               Production
AuthSubRevokeToken          ...
OAuth
OAuthGetRequestToken        Public
                         Production
OAuthAuthorizeToken
                        O...
Signature Method
                               Public
                           Production
                    https://w...
Building Google
 Health Applications
  1      Create security framework


  2       Create test account on h9


  3      P...
Building Google
 Health Applications
  4      Use gdata API to read your h9 CCR record

         Parse, format, and displa...
Code Example


Retrieve and rearrange Google Health Data.

Combine multiple individual profiles into a
family profile, and d...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Transform
Google Health               CMO
      Mom                  Allergies
    Allergies                Mom
   Me...
Data Flow
                        Google Health
                         ATOM Feed
                               JAVA API...
Data Structures: Maps
          Profile Dictionary
                       Key           Profile Name
             Map
    ...
Using Multimaps
              (Google Collections Library)
                                                               ...
Code Demonstration


Eclipse 3.4 / Java 1.6

GData Library

Google Collections Library
Google Health
              Wish List

     Create Profile API - for a “build my family
     profile” UI

     XQuery API - ...
Bold Predictions




Chief Medical Officer
Bold Predictions
                (which should surprise no one)




Chief Medical Officer
Bold Predictions
                (which should surprise no one)

     A typical family will have at least one member
     ...
Bold Predictions
                (which should surprise no one)

     A typical family will have at least one member
     ...
Bold Predictions
                (which should surprise no one)

     A typical family will have at least one member
     ...
References
                Google Health API:
            http://code.google.com/apis/health/

http://groups.google.com/gr...
References
                        CMO Project:
    http://code.google.com/p/chiefmedicalofficer/

                        ...
Thank You.
  Any Questions?


Chief Medical Officer
Upcoming SlideShare
Loading in...5
×

Google Health Architecture & API

4,083

Published on

Published in: Technology, News & Politics
2 Comments
11 Likes
Statistics
Notes
  • This type of PHR is great but is Google a real player in the PHR field? MS HealthVault has moved to the front of this effort. Has Google decide to move this effort to the next level or is this just another one of there science projects? Either way, it is a great way to get the word out to consumers.



    Jeff Brandt
    www.comsi.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • For those interested in the code example at the end of this presentation, it can be found here:

    http://code.google.com/p/chiefmedicalofficer/source/browse/#svn/tags/HelloGoogleHealth-0.1
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
4,083
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
2
Likes
11
Embeds 0
No embeds

No notes for slide
  • Transcript of "Google Health Architecture & API"

    1. 1. Chief MedicalS Officer O p e n o u r c e G o o g l e H e a l t h P r o j e c t Nov 11, 2009 Google Technology User Group (GTUG) Googleplex 43, Mountain View, CA USA
    2. 2. Overview O u r S t o r y : G TA P, G T U G , a n d “ G e e W i z ” G o o g l e H e a l t h a n d P H R A r c h i t e c t u r e B u i l d i n g a G o o g l e H e a l t h A p p l i c a t i o n J u s t E n o u g h G o o g l e H e a l t h A P I B o l d P r e d i c t i o n s f o r t h e F u t u r e Chief Medical Officer
    3. 3. GTAP Google Technology Apprentice Program Mentor Student Student Mentor Student Student Student Chief Medical Officer
    4. 4. Mentors Program Mentors Tom Wilson / Bess Ho e-Patient Mentor Jen McCabe Contributing Developers Chip Vanek Laura Klemme Ray Valdes Chief Medical Officer
    5. 5. Students Design Michael Klemme Priya Chawathe Priyanka Naik Rylan Valdes Programming Jason Boyle Chief Medical Officer
    6. 6. Doctor Tricorder
    7. 7. Meanwhile...
    8. 8. Brainstorming Ideas Inspired by Star Trek’s Vision of Future! “Bridge To Sick Bay! The family PHR needs to be more like Star Trek. Make it so.” The CCR data format is based on clinical ontology. CCR is XML, can be transformed into a more family-friendly format.
    9. 9. The Summer Project
    10. 10. The Summer Project Build a better PHR. Create a framework for experimenting with new PHR UIs. Test different transforms of health data to create new UI scenarios. Combine multiple individual health profiles into a single family health profile. Chief Medical Officer
    11. 11. Application Framework Google Health ATOM Feed GData API XML XQuery/ XSLT JSON JavaScript (JQuery) Web Mobile Titanium Framework HTML / CSS / JS iPhone Android Chief Medical Officer SDK 3.0 SDK 1.5
    12. 12. Experiments Google Health Google Health Raw Data Raw Data ATOM Feed ATOM Feed Python XSLT Extracted Data Extracted Data XML XML Python Python Rearranged Data Rearranged Data XML JSON JavaScript JavaScript (JQuery) Display Data Display Data HTML HTML CMO CMO Chief Medical Officer
    13. 13. Next Google Health Raw Data ATOM Feed Java Extracted Data API Extracted Data XML XML Google XSLT Collections Display Data Rearranged Data HTML XML Fragments CMO XPath Display Data Flex CMO Chief Medical Officer
    14. 14. UI Experiment: Mobile Beta SDK Framework Ideal for Beginner Developers iPhone Android Chief Medical Officer
    15. 15. UI Experiment: Mobile HTML / CSS / JavaScript SDK Framework iPhone SDK 3.0 Android SDK 1.5 Objective-C / Cocoa Touch Java Native Mobile App Chief Medical Officer
    16. 16. UI Experiment: Mobile Chief Medical Officer
    17. 17. UI Experiment: Mobile Best iPhone Health App Chief Medical Officer
    18. 18. PHR Architecture
    19. 19. Google Health Data Model CCR Record GData Feed Patient Atom Elements Medications Procedure Immunizations CCR Fragment Allergy Conditions CCR Fragment Diagnosis Immunization Procedures CCR Fragment Chief Medical Officer
    20. 20. A View of Your Health Record today time ALLERGY CONDITION IMMUNIZATION PROCEDURE MEDICATION LABTEST category
    21. 21. A View of Your Health Record today time ALLERGY CONDITION IMMUNIZATION PROCEDURE MEDICATION LABTEST category
    22. 22. A View of Your Health Record today time ALLERGY CONDITION IMMUNIZATION PROCEDURE MEDICATION LABTEST category
    23. 23. A View of Your Health Record today time ALLERGY CONDITION IMMUNIZATION PROCEDURE MEDICATION LABTEST category
    24. 24. Health Data Retrieval XML URL/medication URL/immunization URL/condition Google Health APIs HTTP/REST Google Health Data Store Chief Medical Officer
    25. 25. Profile View https://www.google.com/health Using your Google Account Collect Store Manage Share Add / Delete Default Add / Delete Profile Profile Profile + Conditions + Procedures + Medications + Tests + Allergies + Immunizations Chief Medical Officer
    26. 26. GData API Model Google Health APIs Atom Publishing Protocol Simple Format Simple Protocol Atom Syndication Format HTTP Google Extensions Data Model Query Concurrency Authentication Chief Medical Officer
    27. 27. GData Layers Never Delete! AuthSub/OAuth/ClientLogin Security / Token Management GET PUT UPDATE DELETE Embedded CCR Entires Raw Data ATOM Feed REST Interface Google Health API Google Health Chief Medical Officer Data Store
    28. 28. PHR Platform Architecture UI & UXP Specifications Web Mobile HTML / CSS / JavaScript iPhone / Android Architecture & Platform XSLT Google Health API Google App Engine Authentication Chief Medical Officer
    29. 29. XSLT Transformation Google Health CMO CCRg XSLT/XPath Medications Extract data by criteria Immunizations Conditions Diagnosis Procedures Organized Formatted Fragmented Chief Medical Officer
    30. 30. Security PHI v. non-PHI - know what this is! Leave PHI issues to Google (as much as possible). The PHR application is a secure data conduit from one authorized party to another. You are NOT authorized, and neither is the QA department.
    31. 31. The Sandbox Public Private Production Developer’s Sandbox https://www.google.com/health https://www.google.com/h9 Digitally signed secure=0 tokens or client login https://www.google.com/health https://www.google.com/h9 Register domain with Google & http://localhost is already registered Google Health. Upload X.509 certificate on h9 to sign requests https://www.google.com/health/feeds/ https://www.google.com/h9/feeds/ Chief Medical Officer
    32. 32. Register Domain Google Health API Public Terms and Conditions Production https://www.google.com/health Must read agree to API Register domain name with Google Terms of Service Register domains & sub domains with Google Health separately Create a self-signing X.509 public certificate via Manage Domains Tool Create different digital signatures for AuthSub request & OAuth request Chief Medical Officer
    33. 33. Certificate Public Production https://www.google.com/health Register domain name with Google Register domains & sub domains with Google Health separately Create a self-signing X.509 public certificate via Manage Domains Tool Create different digital signatures for AuthSub request & OAuth request Chief Medical Officer
    34. 34. Keys Public Production https://www.google.com/health OpenSSL utility Java’s keytool utility Register domain name with Google Register domains & sub domains with Google Health separately Create a self-signing X.509 public certificate via Manage Domains Tool private key public key Create different digital signatures for AuthSub request & OAuth request Chief Medical Officer
    35. 35. Signature Public Production https://www.google.com/health Create a self-signing X.509 public certificate via Manage Domains Tool private key public key public certificate 1024-bit RSA key signature encoded in an X.509 certificate in PEM format Chief Medical Officer
    36. 36. AuthSub AuthSubSessionToken Public Production AuthSubRevokeToken “Authorization” header AuthSub requests signature AuthSubTokenInfo Authorization: AuthSub token="token" sigalg="sigalg" data="data" sig="sig" GET /accounts/AuthSubSessionToken HTTP/1.1 Content-Type: application/x-www-form-urlencoded User-Agent: Java/1.5.0_06 Host: https://www.google.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Authorization: AuthSub token="token" data="GET https://www.google.com/ accounts/AuthSubSessionToken 1148503696 15948652339726849410" sig="MCwCFrV93K4agg==" sigalg="rsa-sha1" Chief Medical Officer
    37. 37. OAuth OAuthGetRequestToken Public Production OAuthAuthorizeToken OAuth requests signature OAuthGetAccessToken Chief Medical Officer
    38. 38. Signature Method Public Production https://www.google.com/health Migrating from AuthSub to OAuth No need to re-register with Google Specify the signature method AuthSub OAuth Secure Tokens = Access Tokens Chief Medical Officer
    39. 39. Building Google Health Applications 1 Create security framework 2 Create test account on h9 3 Populate h9 account with initial test data Chief Medical Officer
    40. 40. Building Google Health Applications 4 Use gdata API to read your h9 CCR record Parse, format, and display data 5 from CCR 6 Build a new CCR fragment Write back to Google Health by sending 7 new CCR fragment to REST API Chief Medical Officer
    41. 41. Code Example Retrieve and rearrange Google Health Data. Combine multiple individual profiles into a family profile, and display by category.
    42. 42. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    43. 43. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    44. 44. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    45. 45. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    46. 46. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    47. 47. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    48. 48. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    49. 49. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    50. 50. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    51. 51. Data Transform Google Health CMO Mom Allergies Allergies Mom Medications Dad Immunizations Kid Dad Medications Allergies Mom Medications Dad Immunizations Kid Kid Immunizations Allergies Mom Medications Dad Immunizations Kid Chief Medical Officer
    52. 52. Data Flow Google Health ATOM Feed JAVA API XML CCR DATA STRUCTURES XSLT XPATH Display Document Display Elements Chief Medical Officer
    53. 53. Data Structures: Maps Profile Dictionary Key Profile Name Map URL REST ID GData Value Query Profile Data Key Profile Name GData Map Feed XSLT CCRg Display Value Chief Medical Officer
    54. 54. Using Multimaps (Google Collections Library) Display CCR Key Category Profile Name Map Key Mother Value MultiMap Family Value CCR Father Health Profile Child Chief Medical Officer
    55. 55. Code Demonstration Eclipse 3.4 / Java 1.6 GData Library Google Collections Library
    56. 56. Google Health Wish List Create Profile API - for a “build my family profile” UI XQuery API - finer grained queries for specific clinical data Chief Medical Officer
    57. 57. Bold Predictions Chief Medical Officer
    58. 58. Bold Predictions (which should surprise no one) Chief Medical Officer
    59. 59. Bold Predictions (which should surprise no one) A typical family will have at least one member who acts as a“chief medical officer,” managing the family’s health records. Chief Medical Officer
    60. 60. Bold Predictions (which should surprise no one) A typical family will have at least one member who acts as a“chief medical officer,” managing the family’s health records. Managing the family’s medical records will be as easy as managing the family’s finances. Chief Medical Officer
    61. 61. Bold Predictions (which should surprise no one) A typical family will have at least one member who acts as a“chief medical officer,” managing the family’s health records. Managing the family’s medical records will be as easy as managing the family’s finances. Children born in hospitals with EMR systems today will have lifetime PHRs as adults. Chief Medical Officer
    62. 62. References Google Health API: http://code.google.com/apis/health/ http://groups.google.com/group/googlehealthdevelopers CCR: http://ccrstandard.com http://code.google.com/apis/health/ccrg_reference.html http://sourceforge.net/projects/ccr-resources/ Chief Medical Officer
    63. 63. References CMO Project: http://code.google.com/p/chiefmedicalofficer/ GAE: https://chiefmedicalofficer.appspot.com Chief Medical Officer
    64. 64. Thank You. Any Questions? Chief Medical Officer

    ×