Skip to content

[Experimental] Federated Partial Identification for Causal Inference with OMOP CDM

License

Notifications You must be signed in to change notification settings

watilde/Harmonia

Repository files navigation

Harmonia

Federated causal inference for multi-site observational health data.

License TypeScript

Features

  • Partial identification — Manski bounds with optimal federated aggregation
  • Privacy-preserving — No patient-level data sharing (HIPAA compliant)
  • Multi-site — Coordinate analysis across distributed OMOP CDM databases
  • Sensitivity analysis — E-values and robustness quantification

Install

npm install
npm run build

Requires Node.js ≥18.

Usage

# Generate synthetic OMOP data
node packages/cli/dist/index.js causal generate-omop-data --scenario diabetes --output ./data -n 1000

# Run causal analysis
node packages/cli/dist/index.js causal analyze --data ./data --scenario diabetes --output results.json

Programmatic:

import { computeATEBounds } from './packages/core/src';

const bounds = computeATEBounds(data, { assumption: 'mtr' });

Packages

packages/
  core/        # Causal inference algorithms
  cli/         # Command interface

Development

npm test             # Run tests
npm run lint         # Lint code
npm run validate     # Full check

License

Apache 2.0