Skip to content

PHT-meDIC

In this organization you can find the code for the PHT-meDIC project.

Documentation

More information about the project as well as detailed user and deployment guides can be found in the documentation. Information related to the PHT-meDIC project is available on our info page.

Components

Several Git repositories contain the components of the PHT. Third party components can be found on the respective manufacturer's site. These components can be roughly separated into the following categories:

  • central
  • local

All public repositories can be found on GitHub.

Central

Central components/services are individual packages within one monorepo. They include the implementation of the Central UI, Train Building, Train Routing, Result Extraction, API, etc., which supply the core functions of the PHT.

Service Repository Programing Language Lead
User Interface PHT-Medic/central TypeScript tada5hi
API PHT-Medic/central TypeScript tada5hi
Realtime PHT-Medic/central TypeScript tada5hi
Train-Manager PHT-Medic/central TypeScript tada5hi
  • User Interface - Frontend application for proposal and train management, downloading of results and much more
  • API - Backend application to manage resources and trigger commands & events through the message broker
  • Realtime - Distribute resource events to authorized clients
  • Train Manager - Microservice serving different components:
    • Train Building - Build and distribute train images to a registry
    • Train Routing - Move trains between projects & registries accordingly to the route of the train
    • Result Extracting - Download, extract & serve encrypted results from the registry
Third-Party Service Repository Programing Language
Authup tada5hi/authup TypeScript
Harbor goharbor/harbor Go/TypeScript
RabbitMQ rabbitmq/rabbitmq-server Starlark
Vault hashicorp/vault Go/JavaScript
  • Authup - Identity and Access Management (IAM) to manage users and roles.
  • Harbor - Harbor is a docker registry to distribute images. In the context of the PHT it is used for train distribution across multiple locations.
  • RabbitMQ - RabbitMQ is a message broker. It is used for the communication between microservices.
  • Vault - Vault is a secret storage service for managing and storing sensitive information.

Local

Local/Station components/services are packages utilized in local setups by analysts and administrators. The Station repository is used to set up local stations by administrators. The Desktop App implements a released version of the local PHT tool, necessary for the encryption of stations and signing/decryption of trains.

Service Repository Programing Language Lead
Station PHT-Medic/station Python antidodo
Desktop App PHT-Medic/desktop-app TypeScript tada5hi
Train Container Library PHT-Medic/train-container-library Python Nightknight3000
  • Station - Local airflow instance for processing train images
  • Desktop App - GUI to manage key pairs and decrypt results locally
  • Train Container Library - Python library for validating and interacting with pht-train images/containers
Third-Party Service Repository Programing Language
Airflow apache/airflow Python/TypeScript
Authup authup/authup TypeScript
  • Airflow - An open source, community developed platform to programmatically author, schedule and monitor workflows and the primary component of the station.
  • Authup - Identity and Access Management (IAM) to manage users and roles.

Pinned Loading

  1. central Public

    This repository contains the main central packages of the Personal Health Train (PHT) for federated- & online-lerarning.

    TypeScript 10

  2. train-container-library Public

    Python library that implements the PHT security protocol for train containers and images

    Python 8

  3. documentation Public

    Documentation for the Personal Health Train

    TypeScript 3

  4. station Public

    PHT Station

    Python 4

  5. desktop-app Public

    This repository contains the desktop application of the Personal Health Train (PHT).

    Vue 9

Repositories

Showing 10 of 26 repositories
  • dppe-auc Public

    Distributed privacy preserving exact AUC computation

    Python 0 MIT 0 0 0 Updated Dec 18, 2024
  • master-images Public

    This repository contains all master images used for the Personal Health Train (PHT).

    TypeScript 4 MIT 0 1 6 Updated Sep 4, 2024
  • central Public

    This repository contains the main central packages of the Personal Health Train (PHT) for federated- & online-lerarning.

    TypeScript 10 MIT 0 13 10 Updated Apr 10, 2024
  • desktop-app Public

    This repository contains the desktop application of the Personal Health Train (PHT).

    Vue 9 MIT 0 7 5 Updated Jan 31, 2024
  • documentation Public

    Documentation for the Personal Health Train

    TypeScript 3 MIT 0 0 5 Updated Jan 23, 2024
  • station Public

    PHT Station

    Python 4 MIT 0 5 2 Updated Dec 1, 2023
  • station-simulator Public

    This repository contains the station simulator of the Personal Health Train (PHT).

    TypeScript 0 0 0 7 Updated Sep 18, 2023
  • paper-showcases Public

    Showcase trains and data of PHT-meDIC paper

    Python 0 MIT 0 0 0 Updated Jul 31, 2023
  • BZKF-Demo Public

    BKFZ-Summer School demo analysis.

    Python 0 0 0 0 Updated Jul 19, 2023
  • train-container-library Public

    Python library that implements the PHT security protocol for train containers and images

    Python 8 MIT 0 0 6 Updated Jul 17, 2023