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.

ServiceRepositoryPrograming LanguageLead
User InterfacePHT-Medic/centralTypeScripttada5hi
APIPHT-Medic/centralTypeScripttada5hi
RealtimePHT-Medic/centralTypeScripttada5hi
Train-ManagerPHT-Medic/centralTypeScripttada5hi
  • 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 ServiceRepositoryPrograming Language
Authuptada5hi/authupTypeScript
Harborgoharbor/harborGo/TypeScript
RabbitMQrabbitmq/rabbitmq-serverStarlark
Vaulthashicorp/vaultGo/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.

ServiceRepositoryPrograming LanguageLead
StationPHT-Medic/stationPythonantidodo
Desktop AppPHT-Medic/desktop-appTypeScripttada5hi
Train Container LibraryPHT-Medic/train-container-libraryPythonNightknight3000
  • 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 ServiceRepositoryPrograming Language
Airflowapache/airflowPython/TypeScript
Authupauthup/authupTypeScript
  • 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. centralcentralPublic

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

    TypeScript 9

  2. train-container-librarytrain-container-libraryPublic

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

    Python 8

  3. documentationdocumentationPublic

    Documentation for the Personal Health Train

    TypeScript 3

  4. stationstationPublic

    PHT Station

    Python 4

  5. desktop-appdesktop-appPublic

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

    Vue 8

Repositories

Showing 10 of 26 repositories

Top languages

Loading…

Most used topics

Loading…