CVDLink Documentation¶
CVDLink is a federated platform for managing and sharing cardiovascular research data across independent institutions. Each participating site runs its own installation, retains control of its own data, and exchanges metadata with other sites over a peer-to-peer network.
This documentation describes the system architecture and provides installation instructions for each component.
System components¶
CVDLink is composed of separately installable components. A complete installation requires the Database, ETL, and Metadata components; the remaining components are added according to the role the installation plays in the federation.
| Component | Purpose | Responsible team |
|---|---|---|
| Database | PostgreSQL instance holding metadata, datasets, and reference vocabularies | Simavi |
| ETL | Extraction and transformation service that loads clinical and imaging data into the database | Simavi |
| Metadata | Web application for browsing, searching, and annotating metadata; the primary user interface | Simavi |
| Models | Analytical and predictive model services | Jad |
| UI | Clinical user interface | Partner team |
| P2P | Peer-to-peer federation service for metadata exchange between sites | Simavi |
Where to start¶
New installations should be carried out in the following order, because each component depends on the ones before it.
- Read Architecture overview to understand how the components relate to one another.
- Confirm the target machine meets the Prerequisites.
- Install the Database.
- Install the ETL service.
- Install the Metadata application.
- Install the remaining components required for your deployment.
- Verify the installation using Starting and stopping services.
Running federated studies¶
Once the components are installed, analyses are carried out across participating sites without moving patient data between them. These pages describe that process.
| Page | Covers |
|---|---|
| Run a federated study | Defining, starting and monitoring a study |
| Stratification | Turning a site's OMOP data into a balanced training dataset |
| FeatureCloud | How apps run across sites and how a run is coordinated |
| Model apps | How a CVDLink model is packaged |
These pages are placeholders at present. Each lists the content it will carry.
Deployment profiles¶
CVDLink supports two installation profiles. The profile determines how components are configured, so it must be chosen before installation begins.
Central deployment connects components to shared infrastructure operated by the project: a central PostgreSQL database, a shared message broker, and Keycloak for authentication. This profile is used for the project's own environments.
Standalone deployment installs every component on a single machine with no external dependencies. Authentication is handled locally and the database is installed alongside the application. This profile is used by partner institutions and for offline demonstrations.
Each installation page documents both profiles. See Deployment profiles for a full comparison.
Conventions used in this documentation¶
Host addresses change between environments and are therefore not repeated in the installation pages. Instead, components are described by the role of the machine they run on:
- The application host runs the Metadata application, the ETL service, the P2P service, and Keycloak.
- The data host runs the shared PostgreSQL database and the message broker.
Current addresses for both roles are listed in Hosts and ports. That page is the only place where addresses are recorded, and it is the only page that requires updating when an environment moves to different machines.
Commands shown with a # prompt require administrative privileges. Commands shown
without a prompt are run as the service account that owns the installation.