Skip to main content

Seven MVP validators for clinical-trial transparency and traceability (POSE Phase I demo).

Project description

FAIROTrials Validators (MVP Bundle)

Project Context

This repository serves as the prototype for the FAIROTrials Commons project, an NSF POSE Phase 1 initiative led by Dr. Matt Vassar (Oklahoma State University). It provides seven lightweight, reproducible validators for assessing transparency and traceability in clinical trial metadata, outcome reporting, and data sharing. Each validator is independently executable and Docker-ready, providing a working proof-of-concept for a FAIR and Open Science (FAIRO) clinical trial validation ecosystem.

Seven lightweight validators for clinical trial transparency & traceability. Each validator is a single Python script with sample JSON and CSV output.

Validators

  1. FAIR Metadata — checks core metadata & persistent IDs (fair_metadata_validator.py)
  2. FDAAA Timeliness — flags on-time/late/missing results (fdaaa_timeliness_validator.py)
  3. Accessible Links — basic URL & HTTPS checks (accessible_link_checker.py)
  4. Outcome Switching — compares registered vs published primary outcomes (outcome_switching_validator.py)
  5. CONSORT‑Harms Completeness — key harms reporting elements (consort_harms_validator.py)
  6. Trial Linkage — registry ↔ publication bidirectional links (linkage_validator.py)
  7. Data Sharing Transparency — dataset DOI, code repo, license, access (data_sharing_validator.py)

Quickstart (Windows)

Install Python 3.11+ then open PowerShell in this folder:

py validators\fair_metadata_validator.py --input samples\sample_fair_trials.json --out_csv fair_metadata_report.csv
py validators\fdaaa_timeliness_validator.py --input samples\sample_fdaaa_trials.json --out_csv fdaaa_timeliness_report.csv
py validators\accessible_link_checker.py --input samples\sample_access_links.json --out_csv accessible_links_report.csv
py validators\outcome_switching_validator.py --input samples\sample_outcomes.json --out_csv outcome_switching_report.csv
py validators\consort_harms_validator.py --input samples\sample_harms.json --out_csv consort_harms_report.csv
py validators\linkage_validator.py --registry samples\sample_registry_linkage.json --pubs samples\sample_publications.json --out_csv linkage_report.csv
py validators\data_sharing_validator.py --pubs samples\sample_data_sharing_pubs.json --out_csv data_sharing_report.csv

One‑click demo (Windows)

Double‑click run_all.bat to generate all 7 CSV reports.

License

Apache‑2.0 (see LICENSE)

Docker (reproducible runs)

Build locally:

docker build -t fairotrials-validators:latest .

Run a validator (writes CSV to your host working directory):

docker run --rm -v "$PWD:/work" -w /app fairotrials-validators:latest   fairo-fdaaa --input samples/sample_fdaaa_trials.json --out_csv /work/fdaaa_timeliness_report.csv

CI builds a Docker image on every push (see .github/workflows/docker.yml).

PyPI Release (optional)

This repo includes a workflow to publish to PyPI on GitHub Releases. Before using it:

  1. Create a PyPI project name (e.g., fairotrials-validators).
  2. Add a repository secret PYPI_API_TOKEN (from PyPI > Account settings > API tokens).
  3. Create a GitHub release (tag like v0.1.0). The workflow builds and publishes.

Unified CLI

After installing (pip install -e .), you can run everything via fairo:

# Run all validators on bundled samples
fairo run-all-samples

# Or call a specific one
fairo fdaaa --input samples/sample_fdaaa_trials.json --out_csv fdaaa_timeliness_report.csv

Makefile (handy shortcuts)

make install       # pip install -e .
make run-all       # run all validators on samples (via CLI)
make docker-build  # build Docker image
make docker-run    # run one validator in Docker and write CSV to host
make package       # build wheel and sdist

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fairotrials_validators-0.1.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fairotrials_validators-0.1.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file fairotrials_validators-0.1.0.tar.gz.

File metadata

  • Download URL: fairotrials_validators-0.1.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fairotrials_validators-0.1.0.tar.gz
Algorithm Hash digest
SHA256 af6064ae8cd0b2078507a01f5d3d2c7013515bdce78e0926a9142b7e18f444b5
MD5 9520a020e2c069006e50e16bf239e5be
BLAKE2b-256 d3dcf3b7da8004e58ee42fce7e96aa86b75c17fef0243838ca880dd5c65352f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for fairotrials_validators-0.1.0.tar.gz:

Publisher: release_pypi.yml on mattvassar-ux/fairotrials-validators

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fairotrials_validators-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fairotrials_validators-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b0cde92e1afb13dea982d4bfec2e55a909bcb86b177f915a0d6aec19cb43820
MD5 2b1e6ca02219a70b56ff101b50a513b9
BLAKE2b-256 159515e889a41ae38318e0b643d25c19732774f024d68836649bbfb58bd7b036

See more details on using hashes here.

Provenance

The following attestation bundles were made for fairotrials_validators-0.1.0-py3-none-any.whl:

Publisher: release_pypi.yml on mattvassar-ux/fairotrials-validators

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page