Private Health

This project aims to create the necessary building blocks in order to allow collect and analyze one's personal health data in a privacy-oriented manner. Instead of closed-source apps and dubious clouds, it should use a FLOSS stack.

Architecture

The architecture should use existing building blocks where possible. For details, please see the diagram below. It shows existing apps (green), parts with only partial solutions so far (orange) and aspects which would need to be designed and developed mostly from scratch (red).

At the moment, the HealthConnect API is seen as a central part for integration and synchronisation. Supporting the HealthConnect API allows to integrate devices for which FLOSS app do not exist yet. It also makes the migration easier, since you can migrate step-by-step to a more privacy friendly stack.

However, alternative solutions to the HealthConnect API are more than welcome.

flowchart LR
  scale(("bathroom<br>scale"))
  A["openscale"]
  B["openscale sync"]
  hc["HealthConnect API<br>(or similar)"]

  fitness_tracker(("fitness<br>tracker"))
  gb["Gadgetbridge"]
  gb_sync["(Gadgetbridge sync?)"]

  nc[("Nextcloud")]

  bpm(("blood<br>pressure<br> monitor"))
  --> bpm_app["BPM app"]
  --> hc

  scale-->A
  --> B
  --> hc
  
  fitness_tracker
  --> gb
  --> gb_sync
  --> hc

  hc --> nha["Nextcloud (health) app"]

  nha --> nc

  nc --> cA["Web UI<br>(Dashboard, statistics)"]
  nc --> cB["mobile devices"]
  nc --> cC["...other clients..."]

  classDef green fill:#8fb935,stroke:#333;
  classDef yellow fill:#e6e22e,stroke:#333;
  classDef orange fill:#e09c3b,stroke:#333,stroke-width:4px;
  classDef red fill:#e64747,stroke:#333,stroke-width:4px;
  class A,B,gb,hc green;
  class bpm_app,gb_sync,cA,nc orange;
  class nha red;
Description
No description provided
Readme 33 KiB