OrthoSphere

Clinical decision support & evidence for orthopaedics.
Assistive-only CDS: OrthoPath provides clinical decision support only. Clinicians retain full responsibility for all clinical decisions. This tool does not autonomously diagnose, prescribe, or order. Do not enter patient identifiers or any Protected Health Information (PHI) into this MVP.

Changelog

v1.18.0 — 2026-03-22

  • Product feedback — Submit bugs, workflow or usability issues, output clarity notes, and suggestions via Give feedback (footer, Contact & governance, or `/give-feedback`). Submissions are tenant-scoped and triaged in Admin → Product feedback, separate from feedback on a specific CDS run after you evaluate a module.
  • Contact page — The structured feedback link on Contact & governance now works as a normal in-app link.
  • Reliability and deployments — Database operations are documented for operators (backups, migration checks, safer deploys). The API uses a connection pool for PostgreSQL; Pro case evaluation can record correlation ids (`client_request_id` or `X-Request-Id`) and handles persistence failures after CDS more safely.
  • OncoRegistry / oncology snapshots — The default tenant can have the oncology case-builder protocol registered automatically when migrations run with the full protocol pack in the deployment environment, reducing “protocol not registered” errors when saving oncology snapshots.

v1.17.1 — 2026-03-19

  • OncoRegistry copy — Clearer AJCC category wording (T/N/M), legacy-field labels for combined pathology/molecular/risk fields, and complication management / multi-select parent hints; inventory docs and combined CSV refreshed. No change to clinical logic or answer tokens.

v1.17.0 — 2026-03-19

  • OncoRegistry governance — Variable inventory CSV tooling, Batch 7 closure and release checklist docs, inventory YAML alignment for split fields and `FV_028`; optional pilot and migration support scripts in-repo.
  • Workflow & data capture — Ongoing improvements to the oncology workspace, documents/extraction, CDS next-question behaviour, and API routes (see engineering changelog for paths). Assistive only; requires independent clinical review.

v1.16.0 — 2026-03-14

  • OncoRegistry — OrthoSphere now includes OncoRegistry, the orthopaedic oncology workspace. Use it for guided intake (History/Exam, Imaging, Pathology, Treatment, Follow-up), document upload and extraction (accept or reject suggested data), timeline and events, and MDT summary. The OncoRegistry tab appears in the main navigation; the homepage shows an OncoRegistry card (Pro) with links to open cases and create a new case. Requires OrthoPath Pro.
  • Delete case — You can delete a case from the Cases list and from the OncoRegistry cases list.
  • Snapshot errors — When creating a decision snapshot fails (e.g. CDS unavailable or timeout), the error message is clearer and easier to act on.

v1.15.0 — 2026-03-11

  • New module: Adult Soft Tissue Sarcoma — Retroperitoneal and Intra-abdominal Pathway (v1.0.0) — New protocol module (ortho_sarcoma_retroperitoneal_intraabdominal) for adults with suspected or confirmed retroperitoneal or non-visceral intra-abdominal soft tissue sarcoma. Supports workup (imaging, chest staging, biopsy), pathology follow-up, complexity/metastasis escalation, and MDT referral and planning. Assistive only; requires independent clinical review.

v1.14.0 — 2026-03-11

(Add release notes here)

v1.13.0 — 2026-03-10 (Adult STS — initial workup triage + localized pathway)

  • New module: Adult Soft Tissue Sarcoma Initial Workup, Referral, and Biopsy Triage (v1.0.0) — Protocol module (ortho_sarcoma_initial_workup_triage) for adult soft tissue sarcoma initial workup, referral, and biopsy triage. Covers priority-ordered first_match evaluation, red-flag escalation (neurovascular, bleeding, airway, retroperitoneal, prior unplanned excision, pathologic fracture, metastatic suspicion), R-008/R-008b/R-010e imaging and missingness policy (ultrasound-characterization pathway and no-imaging/unknown-size-depth insufficient_data), and R-013a/R-013d conservative referral when imaging status is unknown. Pack at `packages/protocols/ortho_sarcoma_initial_workup_triage/`; protocol_verify PASS.
  • New module: Localized Adult Soft Tissue Sarcoma — Extremity, Body Wall, and Head-Neck Pathway (v1.0.0) — Protocol module (ortho_sarcoma_localized_extremity_bodywall_headneck) for adults with localized soft tissue sarcoma in extremity, body wall, or head-neck. Priority-ordered first-match evaluation: red-flag escalation, localization and metastatic clarification, pathology and biopsy status, baseline chest staging suggestion, pathway refinements (low-risk, high-risk RT, residual/margins, head-neck), MDT documentation reminder, and coverage-gap fallback. Open evidence (UK BJC 2024, ESSR 2024).

Both modules are available under OrthoPath when enabled; outputs are assistive only and require independent clinical review.

Last updated: 2026-03-22

v1.12.0 — 2026-03-10 (semver note; same release as v1.13.0)

  • ortho_sarcoma_initial_workup_triage was also listed as v1.12.0 in versioning history; platform release v1.13.0 (git tag `v1.13.0`) includes that module together with ortho_sarcoma_localized_extremity_bodywall_headneck. See v1.13.0 above for details.

---

v1.11.5 — 2026-03-10 (OrthoRAG citations show PDF name)

  • OrthoRAG citations — When you ask a question in OrthoRAG (Evidence Copilot), each citation now shows the source document name (e.g. the PDF filename) when available, instead of only an internal reference ID. This makes it easier to see which document the answer is citing. No reindex or data change is required; the improvement uses metadata already stored when the knowledge base was indexed.

---

v1.11.3 — 2026-03-09 (Malignant MSK Tumor Imaging Criteria — superficial US fix)

  • Malignant MSK Tumor Imaging Criteria (v1.1.2) — For superficial soft-tissue tumors < 5 cm, the module now recommends ultrasound and radiography as the next step even when "Ultrasound done" is left as "Select…" (unspecified). Previously this showed "Critical clinical information is missing or ambiguous"; the tool now follows ACR evidence (E-004) and suggests US + radiography. Insufficient-data still appears only when ultrasound has been done but the result is unknown.

---

v1.11.2 — 2026-03-09 (Malignant MSK Tumor Imaging Criteria — evidence fix)

  • Malignant MSK Tumor Imaging Criteria (v1.1.1) — For deep or ≥5 cm soft-tissue tumors in pre-biopsy local staging, the module now recommends MRI as the next imaging step (when MRI is not contraindicated), in line with ACR evidence. Previously it recommended radiography first; that first step now applies only to bone lesions when radiographs have not been done. Superficial soft-tissue still uses ultrasound and radiography first.

---

v1.11.1 — 2026-03-09 (OrthoRAG subscription and rate limit)

  • OrthoRAG access — Using OrthoRAG (Evidence Copilot) now requires you to be signed in. Non-admin users need a Pro subscription to use OrthoRAG. Each non-admin user can make up to 10 evidence queries per 24 hours; admins are not limited. If you see “Sign in to use OrthoRAG,” sign in and try again. If you see “OrthoRAG requires a Pro subscription,” upgrade at Account. If you see a message about the 10-query limit, try again later.

---

v1.11.0 — 2026-03-09 (OrthoSphere UI redesign, OrthoPath + Modules)

  • OrthoSphere platform UI — Homepage is now the OrthoSphere landing page with service cards for OrthoPath, OrthoRAG, OrthoPilot, and OrthoSearch. Each service has a dedicated page; OrthoPilot and OrthoSearch show “Coming soon.” Brand logo and focus-visible keyboard navigation in the header.
  • OrthoPath and Modules in one place — The OrthoPath tab now shows both the service intro and the full list of clinical modules on one page. The separate “Modules” tab has been removed. “Browse modules” scrolls to the module list; visiting `/modules` redirects to OrthoPath. Footer “Modules” and other links now go to OrthoPath.

---

v1.10.0 — 2026-03-08 (Malignant MSK Tumor Imaging Criteria module)

  • New module: Malignant Musculoskeletal Tumor Imaging Criteria — New protocol module (ortho_malignant_msk_tumor_imaging_criteria) for imaging support in suspected or confirmed malignant/aggressive primary bone or soft-tissue tumors. Covers pre-biopsy local staging (radiographs, ultrasound for small superficial soft-tissue, MRI for bone and deep/large soft-tissue), metastatic lung and extrapulmonary staging (CT chest, selective PET/CT), and local/lung/systemic surveillance. Includes red-flag escalation, insufficient-data gating, and contraindication handling (MRI/gadolinium/iodinated contrast). Available at Run Module → ortho_malignant_msk_tumor_imaging_criteria with a dedicated form; result is assistive only and requires independent clinical review.

---

v1.9.1 — 2026-03-07 (OrthoRAG enabled, KB indexing fixes)

  • OrthoRAG on by default — OrthoRAG (Evidence Copilot) is now on by default for the default tenant. No need to enable it via Admin after running migrations (migration 0021).
  • KB indexing pipeline — Fixed a bug that could cause runaway chunking and system load; added safeguards (per-doc chunk limit, max doc size). Option to clear KB evidence chunks only (`--clear-only`) before re-indexing.
  • Reindex not required on stack start — The evidence index is stored in the database and persists across restarts. Reindex only when adding or changing KB PDFs or protocol evidence.

---

v1.9.0 — 2026-03-05 (OrthoRAG: retrieval, safety, productionization, UI)

OrthoRAG — Evidence Copilot upgrade (R1–R5)

  • Hybrid retrieval (R1) — Evidence search now combines vector similarity and full-text search (FTS) with optional reciprocal-rank fusion. Metadata filters (doc type, audience, year, region) are supported and indexed for faster filtered retrieval. An optional cross-encoder reranker can be enabled via `EVIDENCE_RERANK_ENABLED` to improve relevance before answer generation.
  • Evidence-safe answering (R2) — Two answer modes: Expert (clinician-oriented, technical citations) and Patient (plain language with a fixed disclaimer). If retrieval is non-empty but similarity is below a configurable threshold, the system returns an “Insufficient evidence” refusal with citations instead of generating an answer. Patient-mode answers always include the disclaimer: “This is general information only, not medical advice. Always talk to your clinician about your own situation.” The Evidence Copilot panel shows a persistent disclaimer above the answer area.
  • Evaluation and fail-closed (R3) — A golden Q/A set (`data/knowledge_base_manifests/rag_golden_qa.jsonl`) and evaluation script (`scripts/rag_eval.py`) support context relevance, answer relevance, and groundedness metrics. If a post-generation groundedness check falls below a configured threshold, the system replaces the answer with “I can’t support this from the loaded sources. See citations below.” and sets a refusal reason, keeping the system fail-closed.
  • Productionization (R4) — Embedding versioning: `evidence_chunks` now stores `embedding_model` and `chunking_version`; indexing scripts and re-embed script (`scripts/reembed_chunks.py`) support versioned re-embedding. Query embedding and optional retrieval result caching (in-memory, TTL and size limits) reduce API and DB load. Observability: structured request logging (request_id, latency, k, sources_count, refusal_reason), Prometheus-style metrics at `GET /evidence/metrics`, and optional user feedback at `POST /evidence/feedback` (evidence service).
  • UI/UX (R5) — Evidence Copilot panel: Expert / Patient mode toggle above the query input; label “Answers use only the loaded knowledge base. Citations below.” above the answer; citations remain prominent (ref_id, locator, excerpt). When the user’s question matches a known protocol (e.g. VTE prophylaxis, Ottawa ankle), a link “Run [Module Name] for an auditable recommendation.” appears, pointing to the deterministic module run page.

Technical

  • Migrations: 0016 (FTS column `chunk_fts`, GIN index, metadata partial indexes), 0017 (`embedding_model`, `chunking_version` on `evidence_chunks`), 0018 (`evidence_feedback` table).
  • Evidence service: `retriever.py` (hybrid, FTS, RRF, embedding-version filter), `cache.py`, `metrics.py`, `groundedness.py`, `reranker.py`; query route timing and structured logs; proxy forwards `mode`, `filters`, `use_hybrid`, `keyword_k`.

---

v1.8.0 — 2026-03-04 (Ortho VTE Prophylaxis module)

New module — Ortho VTE Prophylaxis

  • ortho_vte_prophylaxis — New protocol module for post–major orthopaedic surgery VTE prophylaxis (THA, TKA, hip fracture). Covers P1 safety overrides (active bleeding, allergy), P2 physiologic flags (HIT, very low platelets, severe renal), P3 neuraxial timing, P4 evidence-based agent selection, P5 discharge/duration and DOAC/aspirin policy, P6 insufficient_data and fallback. Available at Run Module → ortho_vte_prophylaxis with a dedicated form for all inputs; result card and copy snippet include disclaimer. Hazard log: HAZ-VTE-01. Verification gate and golden tests (GT-001–GT-017) pass; assistive-only language enforced by gate.

ortho_vte_prophylaxis v1.1.0 — Assistive CDSS upgrade (2026-03-05)

  • Procedure-based default — THA now yields an evidence-based suggestion (LMWH or DOAC with IPCD, 28–35 days) when pharmacologic prophylaxis is allowed even when preferred pharmacologic class is not specified. Preferred class is an optional refinement, not a gate. New rule P4_THA_PROPHYLAXIS_DEFAULT.
  • P2 severe renal — Severe renal rules fire regardless of preference (DOAC contraindication when preferred is DOAC or UNKNOWN; LMWH dose adjustment when preferred is LMWH/ASPIRIN/UFH/FONDAPARINUX/NONE). P4 THA DOAC rule excludes severe renal.
  • UI — Helper text for “Preferred pharmacologic class (optional)” and payload sends UNKNOWN when blank so the default rule fires. Golden tests GT-018–GT-024; completeness test for THA no-preference → suggest_med.

---

v1.7.0 — 2026-03-04 (PJI diagnostic criteria module)

New module — Periprosthetic Joint Infection (PJI) criteria (hip/knee)

  • ortho_pji_diagnostic_criteria — New protocol module to support assessment of periprosthetic joint infection (PJI) for hip and knee arthroplasty, aligned with IDSA 2013, ICM 2018 (Parvizi), and EBJIS 2021 criteria. Covers major and minor criteria (sinus tract, cultures, α-defensin, purulence, serum/synovial labs) and red-flag imaging; outputs include criteria met, insufficient data, or coverage-gap fallback. Available at Run Module → ortho_pji_diagnostic_criteria with a dedicated form for all inputs.

---

v1.6.0 — 2026-03-03 (Pro subscription, ETC/DCO variable upgrade, dashboard fixes)

Platform — Pro subscription and auth

  • Per-user Pro subscription — Users can sign up (email + password) and sign in (email/password or “Sign in with Google”). Subscription state is stored per user (`user_subscriptions`); admins are excluded from subscription checks and see all tenant cases. Pro access for Cases requires either admin role or an active Pro subscription (`require_pro_access`).
  • Personalized cases — Non-admin users see only their own cases (`created_by = user.id`). Admin continues to see all cases in the tenant. Case list and case detail enforce ownership for non-admins.
  • Web auth UX — Sign-up (`/signup`), sign-in (`/login`) with email/password and “Sign in with Google,” OAuth callback (`/login/callback`), and account/subscription page (`/account`) with current plan and “Upgrade to Pro.” Cases layout gates access by auth and Pro subscription; free users see an upgrade message.

ETC/DCO Conversion Timing Pro — variable upgrade and dashboard

  • Variable upgrades — Conversion Timing Pro now supports the full set of evidence-based variables: lactate and pH (existing), plus base deficit, SBP, heart rate, core temperature, hemoglobin, INR, and status inputs (vasopressors, MTP active). Protocol and rules expanded with 12h trend/window/fresh derived features and evidence-aligned rule priorities (P1 hard-stops, P2 worsening trends, P3 insufficient data, P4 conversion criteria met, P5 partial improvement).
  • Case workspace — “Add lab values” on the case page accepts lactate and pH per timepoint; instructions clarify that ETC/DCO Pro uses a 12h window and multiple timepoints for conversion assessment. Protocol dropdown on Evaluate Now is populated from active Pro protocols; Evaluate runs the selected protocol at the chosen timepoint and shows the decision (summary, details, fired rules) with a clearer result display.
  • Run Module (single snapshot) — Run Module page for Conversion Timing Pro documents that a single snapshot cannot provide 12h delta/trend; “Go to Cases” and copy direct users to Case Evaluate for full conversion assessment. Numeric input coercion (shared normalizer) fixes “Expected float … got str” when the UI sends string values for lactate/pH.
  • Evidence and rationales — Conversion Timing Pro evidence manifest and rule evidence IDs aligned with ETC vs DCO evidence pack; rationales updated for new rules. Protocol verify and golden tests updated for expanded variables and outcomes.

Fixes and robustness

  • Build — Web build no longer fails during prerender of `/login` and `/account` when `NEXT_PUBLIC_API_URL` is unset or empty in Docker; auth API base URL fallback is safe for static generation. Docker Compose web service passes build args for API URL and tenant ID.

---

v1.5.0 — 2026-03-02 (OrthoPath Pro Integration)

Platform — Pro feature set

  • OrthoPath Pro — Additive platform extension for longitudinal case workspace, persistent timeline, time-aware evaluation, decision snapshots with replay, and evidence copilot. All Pro routes and UI are gated by the pro_enabled tenant feature flag; when disabled, Pro endpoints return 403.
  • Phase 0 — Feature flags and safety

- Tenant feature flags — `tenant_features` table (`pro_enabled`, `timeline_enabled`, `rag_enabled`). Admin can toggle per tenant via `POST /admin/features/{feature_key}`. Middleware `require_pro_enabled` gates all Pro routes. - De-identification — Server-side validator rejects or flags known PHI patterns (DOB, SSN, MRN, phone, email, name prefixes) at case creation. Case demographics schema restricted to `age_band`, `sex`, `tags` only. - Pro hazards — Hazard log updated with HAZ-006 (stale timeline data), HAZ-007 (conflicting observations), HAZ-008 (missingness bypass), HAZ-009 (PHI leakage).

  • Phase 1 — Timeline spine

- Pro tables — `cases`, `timeline_timepoints`, `timeline_observations`, `timeline_events`, `decision_snapshots`, `followup_tasks`. Case list filterable by status and labels. - Timeline interpreter — Shared library: `latest`, `delta`, `trend`, `fresh`, `window_satisfied`, `missing`, `conflict`. Used by CDS engine for derived features and hard-stops. - Case + timeline CRUD API — Create/list/get/update cases; add timepoints, observations, events; full timeline at `GET /cases/{id}/timeline`.

  • Phase 2 — Time-aware evaluation

- Case evaluation — `POST /cases/{id}/evaluate` runs the selected protocol at a timepoint; timeline sliced at that timepoint; CDS engine run persisted; decision snapshot created with recommendation and fired rules. - Snapshots and replay — `GET /cases/{id}/snapshots` lists decision history; `POST /cases/{id}/snapshots/{id}/replay` re-runs at snapshot timepoint and compares output and checksum for determinism.

  • Phase 3 — Pro modules

- Pro-A — Post-DCO Physiologic Reassessment — Deterioration monitoring (lactate trend, Hb freshness, SBP window). Interpreter-derived features; escalation when worsening. - Pro-B — ETC/DCO Conversion Timing — Serial lactate/pH over 12h; conversion criteria or defer. - Pro-C — Tumor Surveillance (Follow-up Trigger) — Follow-up overdue, imaging progression, new fracture; suggest or escalate. Golden tests added for all three Pro packs.

  • Phase 4 — RAG Evidence Copilot

- Vector store — `evidence_chunks` table (pgvector); index from packs’ `evidence_manifest.json`. Script `scripts/build_evidence_index.py`; admin reindex via `POST /evidence/reindex`. - Evidence query — `POST /evidence/query` (proxied by API when `rag_enabled`): embed → retrieve top-k → LLM answer with citations only (no recommendations). Guardrails and `GET /api/public/features` for UI. - Evidence Copilot panel — “Ask Evidence” on run page and case workspace; citations with DOI/PMID links; disabled when `rag_enabled` is false.

  • Phase 5 — Validation harness

- Timeline golden tests — Protocol verify supports `events`, `observations`, `as_of`, and timepoint sequences; engine-derived and interpreter-derived features; hard-stops in golden runs. - Safety assertions — Optional `tests/safety_assertions.json` per pack; automated checks for missing/stale/conflict and escalation behaviour. - Replay determinism — Snapshot stores `fired_rules`; replay compares action_type, summary, fired_rules, and protocol checksum.

  • Phase 6 — Case workspace dashboard

- Pages — `/cases` (list, filter by status/labels), `/cases/new` (create case, de-id only), `/cases/[caseId]` (timeline, quick-add, evaluate, decision history), `/cases/[caseId]/snapshots` (compare decisions). - Timeline UI — Chronological timepoints with observations and events; data freshness indicators (green/amber/red); quick-add timepoint and quick-add events (surgery, lab, vital, imaging); “Evaluate Now” at selected timepoint. - Export — Markdown summary (demographics, timeline, decision snapshots, disclaimer) from case detail page. - Admin analytics — Module usage counts, hard-stop frequency by module, follow-up task completion rate at `GET /admin/analytics` and Admin → Analytics page.

User interface

  • Cases — New nav link “Cases”; case list, create case, case detail with timeline and Evaluate Now; Compare snapshots; Export (Markdown).
  • Evidence Copilot — “Ask Evidence” panel on run page when RAG is enabled for the tenant.

---

v1.4.0 — 2026-03-01 (Admin dashboard and clinician feedback)

Platform

  • Admin dashboard — Overview, Modules (enable/disable global and per-tenant), Tenants, Audit, and Feedback tab. Sign-in at `/admin/login`; first-time setup uses the bootstrap flow for the initial admin user (see Hosting and deployment doc).
  • Clinician feedback — After a run, users can submit agreement (agree / partially agree / disagree), optional categories and comment. Feedback is stored and viewable in Admin → Feedback, with Module and Run ID so you can tell which protocol and which evaluation each row refers to. Confirmation also appears on the run page after submit, and via API `GET /feedback?run_id=...`.

---

v1.3.0 — 2026-02-28 (Module 6)

Clinical Modules

  • Module 06 — ortho_etc_vs_dco_fixation_timing v1.0.0 — Physiology-Guided Fixation Timing (ETC vs DCO). Snapshot-based assistive module; deterministic rules with P1 hard-stops (vasopressors, SBP <80, lactate ≥4, pH <7.20, BD ≥10, temp <35°C, INR ≥1.5, PRBC ≥10/MTP), P3 missingness gate, P4 ETC permissible, P5 escalation (borderline physiology, severe injury, time-band). Derived banding (Option A) via `derive.py` with 10 computed bands. 14 rules, 9 evidence entries (Vallier 2015, Ratto 2013, EAST 2001, Brohi 2014, Verma 2014, Brohi & Cohen 2013, Gupta & Farooque 2023, Peralta/Delphi 2024). Completeness sweeps (TRUE/FALSE/UNKNOWN) in `test_etc_vs_dco_completeness.py`. Web form (`EtcDcoForm.tsx`) integrated into run page.

---

v1.2.0 — 2026-02-28 (Module 5 + Platform)

Clinical Modules

  • Module 5 — ortho_mbd_management_pro (Pro) v0.1.0 — Metastatic Bone Disease Management — Pro (long bones + reassessment). Fifth production module. Supports structured triage and pathway selection for femur and humerus metastatic lesions. CEL conditions, atomic_merge evaluation, timeline-derived features (post-RT reassessment, postop follow-up). Evidence: ASTRO 2024, ESTRO 2022, MSTS/AAOS femur CPG, MSTS humerus CPG, Mirels 1989. Completeness sweeps (TRUE/FALSE + UNKNOWN) in `test_module05_mbd_completeness.py`. See pack RELEASE_NOTES and KNOWN_LIMITATIONS for scope and limitations.
  • Modules 01–05 — Ottawa Ankle & Knee, Regional Anesthesia & Anticoagulation, Open Fracture Initial Management & Antibiotics, Pathologic Fracture Risk (Mirels), ETC vs DCO Fixation Timing remain at prior versions.

Platform

  • CEL support — Protocol packs may use `condition_language: "cel"` for rule conditions. CEL expressions are compile-checked at publish time with denylist, length, node, and list-literal limits.
  • atomic_merge evaluation_strategy — Packs may use `evaluation_strategy: "atomic_merge"` for multi-action output with exclusivity groups and suppress_groups.
  • Timeline derived features — Run requests support `events[]` and `as_of` for deterministic derived values (e.g. `days_since_last_RT_to_site`, `pain_trend_over_14d`, `time_since_surgery_days`). Packs with derived_features require `as_of` in golden tests.

User Interface (2026-02-28)

  • Module card user instructions — Each module card on the Modules tab shows an optional “How to use this module” block (goal, how to use, practical use) when the pack includes `user_instruction.md`. All five production modules now provide this content.
  • Evidence links — Module card reference chips resolve DOI, PMID, and URL locators correctly; placeholders are excluded from the displayed evidence list.

---

Assistive-Only Disclaimer

OrthoPath is an assistive clinical decision support tool only. Changes listed here are technical changes to rule logic and system behaviour. They do not imply clinical validation.

Do not enter patient identifiers or any Protected Health Information (PHI) into this tool.

v1.0.0 — 2026-02-24 (MVP Release)

System Engineering

  • Monorepo scaffold: `services/`, `packages/`, `apps/web/`, `infra/`, `docs/`.
  • Strict schema validation (`extra="forbid"`) on all data models.
  • Deterministic rules engine: grammar-based condition parser, first-match priority evaluation.
  • Database schema: `protocols`, `protocol_versions`, `active_protocol_versions`, `cds_runs`, `audit_events`.
  • API Gateway: tenant isolation via `X-Tenant-ID` header, persistence-failure-fatal mode.
  • Verification Gate CLI (`protocol_verify`): layout, schema, condition syntax, safety language, evidence integrity, checksum checks.
  • CI pipeline: migrations, protocol ingest, tests, `protocol_verify --all`, OpenAPI 3.1 assertion, ruff lint.
  • Docker Compose for local development.

Clinical Modules

  • Module 01 — Ottawa Ankle & Knee Imaging Rules v1.0.0 (see v1.1.0 for current version)

Evidence base: Stiell et al. (1993, 1995, 1996), Bachmann et al. (2003), ACR Appropriateness Criteria (2020). 15 rules, 14 evidence entries.

  • Module 02 — Regional Anesthesia & Anticoagulation v1.0.0 (see v1.1.0 for current version)

Evidence base: ASRA 5th edition, ESAIC/ESRA guidelines, platelet threshold studies. 30+ rules, P2 safety blocks, P3 missingness gates.

  • Module 03 — Open Fracture Initial Management & Antibiotics v1.0.0 (see v1.1.0 for current version)

Evidence base: EAST guidelines, BOAST/BSSH, antibiotic RCTs, ACIP tetanus guidance. 14 rules, P1 life-safety escalation.

  • Module 04 — Pathologic Fracture Risk & Treatment (Mirels) v1.0.0 (see v1.1.0 for current version)

Evidence base: Mirels (1989) scoring system; Damron et al., Van der Linden et al. (2003); ASTRO palliative RT guideline (Lutz et al., 2017); operative and embolization literature. Risk-tier rules (low / intermediate / high) for observation, radiotherapy, or prophylactic fixation; protocol_suggestion and insufficient_data; optional Mirels score derivation from site/pain/lesion type/size.

User Interface

  • Module listing page with active protocol versions.
  • Structured input forms for all four production modules.
  • Copy-to-clipboard note export for all four modules.
  • About / Trust Dossier with sidebar navigation (this page).
  • Modules catalogue with evidence anchors and version badges.

v1.1.0 — 2026-02-27 (All modules v1.1.0)

Clinical Modules (all at v1.1.0)

  • Module 01 — Ottawa Ankle & Knee Imaging Rules v1.1.0

Strategy A: `action_key`, `group`, `exclusivity_group`, `rank` on all rules. Missingness gates promoted from P6 to P3 (R-007 through R-010b: weight-bearing, ankle/midfoot/knee tenderness, age_55_or_older). Resolves audit finding AUD-001. Documentation actions (P5) for “why” (e.g. acute window, weight-bearing). 18 rules, 14 evidence entries.

  • Module 02 — Regional Anesthesia & Anticoagulation v1.1.0

Version alignment; same evidence base and rule set (ASRA 5th, ESAIC/ESRA, platelet thresholds). P2 safety blocks, P3 missingness gates.

  • Module 03 — Open Fracture Initial Management & Antibiotics v1.1.0

Version alignment; same evidence base and rule set (EAST, BOAST/BSSH, antibiotic/tetanus guidance). P1 life-safety escalation.

  • Module 04 — Pathologic Fracture Risk & Treatment (Mirels) v1.1.0

Version alignment. Protocol pack `ortho_pathologic_fracture_risk_mirels`: risk-tier rules (pathological_fracture, lesion_location, prognosis_tier, surgical_candidate, Mirels score). Optional derivation of Mirels total from site/pain/lesion type/size. Evidence: Mirels 1989, Damron/Van der Linden 2003, ASTRO 2017 (see Evidence page).

User Interface

  • Run page form picker and copy-note export for all four production modules. Modules catalogue lists four modules with version badges.

System / Operations

  • GitHub: private backup repo (`orthopendar/OrthoPath`), public sample repo (`orthopendar/OrthoPath-sample`) with README, repository structure overview, and one sanitized protocol sample. Documented in `docs/GITHUB_BACKUP_AND_PUBLIC_SAMPLE.md`.

Known Limitations (v1.1.0)

  • Module 02 LMWH drug token has no dedicated clinical rules (audit finding AUD-002).
  • Module 03 allergy branching not yet implemented (audit finding AUD-006).
  • No rate limiting, authentication, or RBAC implemented in this release.