SlideShare a Scribd company logo
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
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
GTAP
             Google Technology
            Apprentice Program
                                            Mentor


                   Student
                                 Student
                                                 Mentor
             Student
                                  Student
                       Student


Chief Medical Officer
Mentors
               Program Mentors
             Tom Wilson / Bess Ho

                 e-Patient Mentor
                    Jen McCabe

        Contributing Developers
              Chip Vanek
             Laura Klemme
              Ray Valdes

Chief Medical Officer
Students
                     Design
                 Michael Klemme
                 Priya Chawathe
                  Priyanka Naik
                  Rylan Valdes

                    Programming
                    Jason Boyle



Chief Medical Officer
Doctor
Tricorder
Meanwhile...
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.
The Summer Project
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
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
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
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
UI Experiment: Mobile


                                        Beta
                                  SDK Framework
                                  Ideal for Beginner
                                     Developers



 iPhone                 Android
Chief Medical Officer
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
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

   Medications                 Procedure
   Immunizations                   CCR Fragment
                               Allergy
   Conditions
                                   CCR Fragment
   Diagnosis
                               Immunization
   Procedures
                                   CCR Fragment

  Chief Medical Officer
A View of Your
        Health Record
                         today

                                 time
    ALLERGY
  CONDITION
IMMUNIZATION
  PROCEDURE
 MEDICATION
    LABTEST

          category
A View of Your
        Health Record
                         today

                                 time
    ALLERGY
  CONDITION
IMMUNIZATION
  PROCEDURE
 MEDICATION
    LABTEST

          category
A View of Your
        Health Record
                         today

                                 time
    ALLERGY
  CONDITION
IMMUNIZATION
  PROCEDURE
 MEDICATION
    LABTEST

          category
A View of Your
        Health Record
                         today

                                 time
    ALLERGY
  CONDITION
IMMUNIZATION
  PROCEDURE
 MEDICATION
    LABTEST

          category
Health Data
                Retrieval
                                XML



  URL/medication URL/immunization            URL/condition


                        Google Health APIs
                         HTTP/REST


                          Google Health
                           Data Store
Chief Medical Officer
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
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
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
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
XSLT
         Transformation
Google Health                                       CMO
  CCRg


                            XSLT/XPath              Medications
                         Extract data by criteria   Immunizations
                                                    Conditions
                                                    Diagnosis
                                                    Procedures
                                                       Organized
                                                       Formatted

 Fragmented

 Chief Medical Officer
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.
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
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
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
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
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
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
OAuth
OAuthGetRequestToken        Public
                         Production
OAuthAuthorizeToken
                        OAuth requests   signature
OAuthGetAccessToken




Chief Medical Officer
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
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
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
Code Example


Retrieve and rearrange Google Health Data.

Combine multiple individual profiles into a
family profile, and display by category.
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
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
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
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
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
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
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
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
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
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
Data Flow
                        Google Health
                         ATOM Feed
                               JAVA API
                            XML


               CCR                DATA STRUCTURES


               XSLT                     XPATH


     Display Document             Display Elements
Chief Medical Officer
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
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
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 - finer grained queries for
     specific clinical data



Chief Medical Officer
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
          who acts as a“chief medical officer,”
         managing the family’s health records.




Chief Medical Officer
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
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
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
References
                        CMO Project:
    http://code.google.com/p/chiefmedicalofficer/

                           GAE:
        https://chiefmedicalofficer.appspot.com




Chief Medical Officer
Thank You.
  Any Questions?


Chief Medical Officer

More Related Content

PDF
Google Health
PDF
Microsoft Health Vault
PDF
Google Fit, Android Wear & Xamarin
PPTX
How to Use Open Source Technologies in Safety-critical Digital Health Applica...
PDF
Creating Interoperable Medical Devices that fit into Hospital Enterprise IT E...
PDF
Avaali-IOT HealthCare Applications
PPTX
Medical Design Excellence Awards 2012 Winners
PPTX
Wireless Integration Of Medical Devices (Ausbiotech 22 10 10)
Google Health
Microsoft Health Vault
Google Fit, Android Wear & Xamarin
How to Use Open Source Technologies in Safety-critical Digital Health Applica...
Creating Interoperable Medical Devices that fit into Hospital Enterprise IT E...
Avaali-IOT HealthCare Applications
Medical Design Excellence Awards 2012 Winners
Wireless Integration Of Medical Devices (Ausbiotech 22 10 10)

Viewers also liked (17)

PDF
When Digital Meets Medical: The Next Generation Clinical Trial
PDF
Connected medical devices
PPTX
Connected Health Reference Architecture
PPTX
Identity and Access Management in the Era of Digital Transformation
PDF
WSO2Con USA 2017: Providing a Pathway from Stovepipe Systems to a Secure SOA ...
PDF
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
PDF
WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...
PDF
WSO2Con USA 2017: Building a Successful Delivery Team for Customer Success
PPTX
WSO2Con USA 2017: Building a Secure Enterprise
PDF
WSO2Con USA 2017: Journey of Migration from Legacy ESB to Modern WSO2 ESB Pla...
PPTX
WSO2Con USA 2017: Multi-tenanted, Role-based Identity & Access Management sol...
PDF
WSO2Con USA 2017: Positioning WSO2 for Quicker Uptake
PPTX
WSO2Con USA 2017: Enhancing Customer Experience with WSO2 Identity Server
PDF
WSO2Con USA 2017: Keynote - The Blockchain’s Digital Disruption
PDF
WSO2Con USA 2017: Iterative Architecture: A Pragmatic Approach to Digital Tra...
PDF
WSO2Con USA 2017: Rise to the Challenge with WSO2 Identity Server and WSO2 AP...
PPTX
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
When Digital Meets Medical: The Next Generation Clinical Trial
Connected medical devices
Connected Health Reference Architecture
Identity and Access Management in the Era of Digital Transformation
WSO2Con USA 2017: Providing a Pathway from Stovepipe Systems to a Secure SOA ...
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
WSO2Con USA 2017: Integrating Systems for University of Exeter using Zero and...
WSO2Con USA 2017: Building a Successful Delivery Team for Customer Success
WSO2Con USA 2017: Building a Secure Enterprise
WSO2Con USA 2017: Journey of Migration from Legacy ESB to Modern WSO2 ESB Pla...
WSO2Con USA 2017: Multi-tenanted, Role-based Identity & Access Management sol...
WSO2Con USA 2017: Positioning WSO2 for Quicker Uptake
WSO2Con USA 2017: Enhancing Customer Experience with WSO2 Identity Server
WSO2Con USA 2017: Keynote - The Blockchain’s Digital Disruption
WSO2Con USA 2017: Iterative Architecture: A Pragmatic Approach to Digital Tra...
WSO2Con USA 2017: Rise to the Challenge with WSO2 Identity Server and WSO2 AP...
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
Ad

Similar to Google Health Architecture & API (20)

PDF
Ehip5 caring through sharing next steps dirk colaert
PDF
mobile Personal Health Record - Mobile application
PDF
Keeping Smart with a Smartphone
PPTX
Lifesciences2020
PDF
PDF
Tony Shannon: Health care change in the NHS: Practical considerations of VistA
PDF
Launching a Center for Consumer Health Informatics Research
PPT
Consult A Doctor Plus Overview
PDF
Project HealthDesign -Technical Architecture Diagrams
PDF
Biological Models to Better Understanding of Diseases
PPTX
MedScribe : The EMR from Doctors
PPTX
Adam cole, sample work
PDF
Clinician Decision Support Dashboard
PPTX
Amalga UIS from Microsoft
PDF
Content redirector
PPT
Informatics for librarians: the core of the onion
PPTX
Improving Outcomes And Efficiencies Of Managing Patients In The Community - A...
PDF
Mobile data final
PDF
uncleCare - Fostering Patient-Provider Partnerships
Ehip5 caring through sharing next steps dirk colaert
mobile Personal Health Record - Mobile application
Keeping Smart with a Smartphone
Lifesciences2020
Tony Shannon: Health care change in the NHS: Practical considerations of VistA
Launching a Center for Consumer Health Informatics Research
Consult A Doctor Plus Overview
Project HealthDesign -Technical Architecture Diagrams
Biological Models to Better Understanding of Diseases
MedScribe : The EMR from Doctors
Adam cole, sample work
Clinician Decision Support Dashboard
Amalga UIS from Microsoft
Content redirector
Informatics for librarians: the core of the onion
Improving Outcomes And Efficiencies Of Managing Patients In The Community - A...
Mobile data final
uncleCare - Fostering Patient-Provider Partnerships
Ad

More from Bess Ho (20)

PPTX
Product Design Using Solidworks
PDF
4/7/2021 Investment Panel
PDF
SVB 4/21/2021 Introduction
PDF
Competitor Analysis
PDF
InvoTech Happy Hour 2019
PDF
Fundraising in Silicon Valley
PDF
Empowered Entrepreneurs and Hyper Growth in Mobile Era
PDF
WITI Summit 2013 Mobile Trend
KEY
Gmicsv 2012 oct
KEY
WITI.ORG Women Technology Summit 2012
KEY
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
KEY
Putting Web Into Native App
KEY
Android Open 2011
PDF
Silicon Valley China Wireless Conference m-commerce Panel
ZIP
Iosdevcamp 2011.key
KEY
Icon & App Design Secrets for Mobile
KEY
SF Lean Startup Machine Workshop
PDF
JumpyBirds iTunes for Toddlers & Amazon for Moms
PDF
Where Should I Go: Smart Phones
ZIP
Beautiful Mind: iPhone Anatomy & Architecture
Product Design Using Solidworks
4/7/2021 Investment Panel
SVB 4/21/2021 Introduction
Competitor Analysis
InvoTech Happy Hour 2019
Fundraising in Silicon Valley
Empowered Entrepreneurs and Hyper Growth in Mobile Era
WITI Summit 2013 Mobile Trend
Gmicsv 2012 oct
WITI.ORG Women Technology Summit 2012
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
Putting Web Into Native App
Android Open 2011
Silicon Valley China Wireless Conference m-commerce Panel
Iosdevcamp 2011.key
Icon & App Design Secrets for Mobile
SF Lean Startup Machine Workshop
JumpyBirds iTunes for Toddlers & Amazon for Moms
Where Should I Go: Smart Phones
Beautiful Mind: iPhone Anatomy & Architecture

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
cuic standard and advanced reporting.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Cloud computing and distributed systems.
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation theory and applications.pdf
The AUB Centre for AI in Media Proposal.docx
MIND Revenue Release Quarter 2 2025 Press Release
“AI and Expert System Decision Support & Business Intelligence Systems”
Reach Out and Touch Someone: Haptics and Empathic Computing
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The Rise and Fall of 3GPP – Time for a Sabbatical?
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Programs and apps: productivity, graphics, security and other tools
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Network Security Unit 5.pdf for BCA BBA.
cuic standard and advanced reporting.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
sap open course for s4hana steps from ECC to s4
Cloud computing and distributed systems.
Unlocking AI with Model Context Protocol (MCP)
Electronic commerce courselecture one. Pdf
Encapsulation theory and applications.pdf

Google Health Architecture & API

  • 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. 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. GTAP Google Technology Apprentice Program Mentor Student Student Mentor Student Student Student Chief Medical Officer
  • 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. Students Design Michael Klemme Priya Chawathe Priyanka Naik Rylan Valdes Programming Jason Boyle Chief Medical Officer
  • 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.
  • 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. 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. 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. 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. UI Experiment: Mobile Beta SDK Framework Ideal for Beginner Developers iPhone Android Chief Medical Officer
  • 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. UI Experiment: Mobile Chief Medical Officer
  • 17. UI Experiment: Mobile Best iPhone Health App Chief Medical Officer
  • 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. A View of Your Health Record today time ALLERGY CONDITION IMMUNIZATION PROCEDURE MEDICATION LABTEST category
  • 21. A View of Your Health Record today time ALLERGY CONDITION IMMUNIZATION PROCEDURE MEDICATION LABTEST category
  • 22. A View of Your Health Record today time ALLERGY CONDITION IMMUNIZATION PROCEDURE MEDICATION LABTEST category
  • 23. A View of Your Health Record today time ALLERGY CONDITION IMMUNIZATION PROCEDURE MEDICATION LABTEST category
  • 24. Health Data Retrieval XML URL/medication URL/immunization URL/condition Google Health APIs HTTP/REST Google Health Data Store Chief Medical Officer
  • 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. 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. 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. 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. XSLT Transformation Google Health CMO CCRg XSLT/XPath Medications Extract data by criteria Immunizations Conditions Diagnosis Procedures Organized Formatted Fragmented Chief Medical Officer
  • 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. 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. 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. 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. 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. 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. 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. OAuth OAuthGetRequestToken Public Production OAuthAuthorizeToken OAuth requests signature OAuthGetAccessToken Chief Medical Officer
  • 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. 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. 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. Code Example Retrieve and rearrange Google Health Data. Combine multiple individual profiles into a family profile, and display by category.
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Data Flow Google Health ATOM Feed JAVA API XML CCR DATA STRUCTURES XSLT XPATH Display Document Display Elements Chief Medical Officer
  • 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. 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. Code Demonstration Eclipse 3.4 / Java 1.6 GData Library Google Collections Library
  • 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
  • 58. Bold Predictions (which should surprise no one) Chief Medical Officer
  • 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. 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. 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. 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. References CMO Project: http://code.google.com/p/chiefmedicalofficer/ GAE: https://chiefmedicalofficer.appspot.com Chief Medical Officer
  • 64. Thank You. Any Questions? Chief Medical Officer