Biomarker actionability moves from OncoKB to CIViC
A licence audit found OncoKB's terms incompatible with running OpenOnco as a free public resource. Biomarker actionability now builds on CIViC, which is CC0.
Written retrospectively and published on July 19, 2026.
OpenOnco is a free public resource, and CHARTER §2 commits it to staying non-commercial. Many of the source licences we depend on are conditional on exactly that. A licence and coverage audit of OncoKB concluded that its terms of service conflict with that commitment, so we moved the biomarker actionability layer to CIViC, which is released under CC0.
The full audit, including the coverage comparison that made the switch defensible clinically and not just legally, is published in docs/reviews/oncokb-public-civic-coverage-2026-04-27.md.
What has landed
- Phase 0 — coverage and licence audit, comparing what OncoKB public data and CIViC each cover for the biomarkers already in the knowledge base.
- Phase 1 (commit
5384348) — engine modules renamed fromoncokb_*toactionability_*, the OncoKB proxy service dropped, and the schema generalised behind anevidence_sourcesblock so no single vendor is baked into the data model. - Phase 1.5 (commit
c72e45b) — YAML migration: 29 biomarker files moved fromoncokb_lookuptoactionability_lookup, and 399 biomarker-actionability files replaced vendor level fields with theevidence_sourcesblock.
What is still open
Phases 2 through 5 are not done: the CIViC reader and fusion-aware matcher, evidence reconstruction for the migrated actionability records, the render and spec updates, and the final verification pass.
actionability_review_required: true until the evidence behind them has been reconstructed from CIViC and signed off. Any residual SRC-ONCOKB citation in the YAML is legacy migration metadata — it is not surfaced in the rendered output.
Comments
Threads are public and indexed — please keep personal medical data out of them. Found a clinical error? Open an issue instead.
Comments are not switched on yet — the backend still needs to be configured.