{
  "task": "dental-implant-unfavorable-outcome",
  "metric": "AUROC",
  "heldout": "real registry test split (frozen, n=113, Taiwan cohort) — NOT the synthetic release",
  "protocol": "BYOM v0: your predictor reads the synthetic CSV (same columns, WITHOUT unfavorable_outcome) on stdin and writes one probability [0,1] per row to stdout — any runtime (script or `docker run -i`). Self-check first: `node validate-submission.mjs -- <your command>` (script in this folder; fetches the cohort itself). Then email info@dentum.uz — the registry runs your submission on the frozen held-out set (n=113) manually during the pilot.",
  "baseline": {
    "name": "ODIN CDSS v0 (RF ensemble, published weights)",
    "auroc_frozen_test": 0.8213,
    "auroc_synthetic": 0.4677,
    "note": "0.8213 is the frozen real-test AUROC from the model card; 0.4677 is what the SAME weights score on the CC0 synthetic cohort (simplified joints) — the number you should reproduce with baseline.py to confirm your pipeline."
  },
  "submissions": [],
  "updated": "2026-07-13",
  "selfcheck": "curl -sO https://dentum.uz/registry/open/validate-submission.mjs && node validate-submission.mjs -- python3 predict.py"
}