Skip to content

A Dashboard for evaluation & visualization of synthetic patient level data

License

Notifications You must be signed in to change notification settings

nfdi4health/syndat-dashboard

Repository files navigation

Syndat

A Dashboard for evaluation & visualization of synthetic patient level data.

About

SYNDAT was developed as part of TA6.4 of the NFDI4Health Initiative. Main functionalities include:

  • Automated, on-demand assesment of synthetic data quality & privacy metrics
  • Visualization synthetic & real data relations using low-dimensional embedding plots
  • Detection of possible outliers in the synthetic data population
  • Visualization of distribution metrics in the form of violin, barchart or correlation plots
  • Filtering of synthetic data & on-demand generation of synthetic data points

The Dashboard consists of a frontend module for user interaction and data visualization as well as a backend module for direct API access.

Installation

Using Github Docker Registry

Login to your Github Docker Account:

docker login ghcr.io -u $GITHUB_USERNAME -p $GITHUB_TOKEN

Run the docker-compose file in the root directory:

docker-compose up

Building the containers from source

Requirements

Given all dependencies above are satisfied, both the frontend and backend can be started via docker-compse with a single make command using the designated Makefile in the root dir:

make up

Running a local development version (without docker)

Requirements

# install python dependencies
pip install --requirement backend/requirements.txt

# start backend
cd backend && uvicorn api.routes:app --reload

# install node dependencies
cd frontend; npm install --legacy-peer-deps

# start frontend
cd frontend && npm start

You may alternatively start the backend and frontend servers using the make command make run-local, given you have all required python dependencies installed already.

API authentification

The following two API endpoints for batch upating data as well as batch dowloading data are secured by a basic authentification workflow:

  • /datasets/import
  • /datasets/export

The default username/password are defined in the backend environment file. You may change them before the application startup by adapting the corresponding system environment variables:

export SYNDAT_ADMIN_USERNAME=my_new_username
export SYNDAT_ADMIN_PASSWORD=my_new_password