Skip to content

KAI-VORAL-MDC-001 — AI Model Card

Template ID: TPL-07-06 | Stage: 07-Test-and-Validate | Version: 0.3
Status: Project record created from the controlled template.

Purpose: Describe a model version: intended use, data, pipeline, evaluation (overall and by subgroup), limits and monitoring.

Required inputs: Dataset datasheets; training run records; evaluation results.

Document control

Field Required entry
Document ID KAI-VORAL-MDC-001
Template used TPL-07-06 AI Model Card v0.3
Product / project / software version or commit SHA VORAL (Visionary Oral) / PRJ-001 / a6b4429e3165 (branch app_dev of AI-Dental-Project/Visionary_Oral)
Record status and version Draft v0.1
Author / technical reviewer / quality reviewer Claude Code (drafted with Claude Code for KrinosAI) / Tech Lead (name to be assigned) / Clinical advisor (name to be assigned)
Created / updated / approved dates 2026-10-28 / 2026-10-28 / Pending
Applicable SOP and revision SOP-LC-07 v0.3
Related issue, commit, requirement and evidence links mobile/src/ml/models.ts; mobile/ml/model-manifest.json; KAI-VORAL-DSD-001; KAI-VORAL-VAL-001
Approver and decision record Pending

Applicability and evidence baseline

Product / system boundary: Web app and API (dentalapp/), doctor/admin mobile app (mobile/), on-device models (mobile/assets/models/), PDF Lambda (dentalapp/pdf-lambda/) at a6b4429e3165, and the external services they call. Related approved requirements, risks and change records: None approved. Related drafts are listed in document control. Retrospective record? Yes — follows the Retrospective Documentation Protocol (KrinosAI lifecycle pack, 05-References/). Items are labelled Observed (code or Git at a6b4429), Measured (dated run), Stated (named person, dated) or Not recorded. Test records describe the tests that exist at a6b4429 and the one run made on 2026-10-28. No earlier test runs, test plans or sign-offs were recorded; tests for untested requirements are planned, not run. Acceptable evidence: an implementation reference (file:line at a commit SHA), a dated test record, a signed decision, a vendor agreement, or another independently verifiable artifact. Never invent approvals, clinical results, measurements or performance data.

1. Model identifier architecture and intended use

Item Entry
Models Five ONNX files in mobile/assets/models/: cavity, calculus, gum_recession, swollen_gums (detection) and teeth_seg (segmentation); each version 1.0.0, bundle 0.1.0-poc (mobile/ml/model-manifest.json)
Architecture Single-class YOLOv8 detectors and YOLOv8-seg teeth model, exported to ONNX (mobile/src/ml/models.ts:1-14)
Input size 1024 × 1024 for the four detectors; 416 × 416 for teeth_seg (mobile/src/ml/models.ts:36-87)
Integrity Measured 2026-10-28: SHA256 of all five bundled files matches the manifest (e.g. cavity 98882bf1d3808607…)
Intended use Proposed (Claude Code, for confirmation): screening aid that marks possible findings for a dentist to review; not a diagnosis (OPEN-004, OPEN-006)

2. Training data and feature provenance

Purpose Dataset
Training Not recorded — OPEN-044
Evaluation None recorded — OPEN-011
Export check mobile/ml/sample-images/ compared against the Python reference (TC-008)

3. Preprocessing and inference pipeline

Step Detail
Quality gate teeth_seg finds teeth; sharpness ≥ 25, coverage ≥ 3 %, span ≥ 0.3 of width, centre offset ≤ 0.3 (mobile/src/ml/qualityDecision.ts:25-41)
Pre-processing Letterbox resize to the model input (mobile/src/ml/letterbox.ts)
Inference onnxruntime-react-native on the phone; 120 s limit per detector step (mobile/src/ml/analysis.ts:30)
Post-processing Confidence ≥ 0.1, NMS IoU 0.7, same-class overlap filter 0.8 (mobile/src/ml/models.ts:36-87)
Views Front photo: four detectors; upper and lower jaw: cavity and calculus only (REQ-017)

4. Evaluation datasets metrics and intervals

Metric Value 95% CI Dataset
Sensitivity / specificity per finding Not measured — — (OPEN-011)
Letterbox agreement with the Python reference Matches (TC-008 pass) — mobile/ml/sample-images/upper.jpg

5. Subgroup and failure mode results

Subgroup Sensitivity n
All subgroups Not measured 0

6. Known limitations contraindications

Limitation Shown to users?
Not clinically validated Not recorded — report wording to be confirmed (OPEN-004)
Low confidence threshold (0.1) gives more false positives No
Depends on photo quality Yes — retake prompt (REQ-013)

7. Monitoring drift change criteria and approvals

Item Entry
Monitoring None (OPEN-050)
Change criteria Proposed (Claude Code, for confirmation): any change to a model file needs a new manifest hash, TC-005 to TC-008 pass, and a validation re-run
Approval Pending

Open issues and decisions

ID Specific gap or decision Responsible owner Due date Blocks gate? Evidence required Status
OPEN-001 Tracker project ID, named requester and sponsor, and named reviewers are not recorded Product Owner 2026-11-10 (proposed) Yes Tracker entry; names with roles Open
OPEN-004 Intended-use statement not confirmed (proposed wording in KAI-VORAL-IRS-001 §1) Product Owner with Qualified regulatory reviewer 2026-11-10 (proposed) Yes Confirmed wording, dated Open
OPEN-006 Medical-device applicability not assessed in any jurisdiction Qualified regulatory reviewer 2026-11-30 (proposed) Yes Written regulatory determination Open
OPEN-011 No clinical validation Clinical advisor with ML Lead 2026-12-15 (proposed) Yes Validation study Open
OPEN-044 Training and evaluation datasets of the five on-device models (source, rights, consent, cohort, labelling protocol, splits) are not recorded in this repository; the models were trained in the external Visionary_oral_ML repository ML Lead 2026-12-15 (proposed) Yes Completed dataset datasheet with source and rights basis Open
OPEN-050 No field monitoring of model performance or input drift and no ground-truth feedback from dentists ML Lead 2027-01-31 (proposed) No Drift metrics and a dentist feedback loop in operation Open

Review and approval

Review role Named individual Decision Date Signed / controlled record
Author Claude Code (drafted with Claude Code) Draft 2026-10-28 This file at the commit that adds it
Technical reviewer Tech Lead (name to be assigned) Pending Pending Pending
Quality / regulatory reviewer (if applicable) Qualified regulatory reviewer (name to be assigned) Pending Pending Pending
Authorized approver ML Lead (name to be assigned) Pending Pending Pending