A unified tool for cross-study data discovery and meta-analysis study building within the NHLBI BioData Catalyst® (BDC) ecosystem.
Study Palette replaces fragmented search interfaces with a semantic, modular application that enables researchers to discover data, explore variables, build studies, and transition to analysis — all from a single portal.
The system is organized into four layers:
- Front End (ReactJS) — Semantic search, query builder, visualizations, and data actions
- Modular APIs — Search, Query, Analyze, and Workflows services
- Metadata Index — A LinkML-based "source of truth" generated during data ingestion, published as Parquet and queried with embedded DuckDB, enabling consistent cross-study search at the variable and participant levels
- External Integrations — Monarch ontologies for entity resolution, DMC data ingestion, BDC analytic widgets, and foundational BDC services
See ARCHITECTURE.md for the full architecture reference and DEVELOPMENT.md for how work here connects to the deliverable roadmap in tis-lab/BDC-Portal.
| Repository | Description |
|---|---|
| NHLBI-BDC-DMC-HM | BDC Harmonized Data Model (BDCHM) — the LinkML data model |
| dm-bip | Data Model-Based Ingestion Pipeline — harmonizes and transforms data upstream of Study Palette |
| BDC-VarLib | BDC Variable Library — one LinkML slot per harmonized clinical concept, spanning the contributing studies |
| prov-schema | PROV-O based LinkML schema for file and data provenance in BDC |
| monarch-bdc-kg | BDC knowledge graph, based on the Monarch KG |
study-palette/
├── api/ # FastAPI backend + DuckDB
├── ui/ # React + TypeScript + Vite front end
├── docker/ # Dockerfiles
├── docs/ # Architecture docs and decisions
└── .github/workflows/ # CI/CD pipelines