Skip to content

Diabetes mellitus: grouping refactor + pathophysiology migration map

Status: A2 largely done. Grouping landed; shared cascade is the diabetic_vascular_complications module; T1D/T2D/T5 conform to it; the umbrella's blended mechanism graph has been retired (3367→2024 lines) and replaced with a single node conforming to #Chronic Hyperglycemia. Remaining (deferred): reallocating the umbrella's still-blended phenotypes/biochemical/genetic/treatments/clinical_trials/datasets/ computational_models sections (type-specific → per-type entry; cross-cutting → keep), and optionally promoting high-value subtypes (MODY genes, neonatal diabetes) to standalone entries so the umbrella could eventually be fully retired.

Problem

kb/disorders/Diabetes_Mellitus.yaml (3,367 lines) is an umbrella Disease that carries (a) a large has_subtypes enumeration (T1D, T2D, LADA, gestational, monogenic/MODY 1–14, neonatal, RCAD, MIDD, type 5, DKA) and (b) its own full pathophysiology graph that blends autoimmune (type 1) and insulin-resistance (type 2) mechanisms in one causal chain. Meanwhile the two major types already exist as coherent standalone entries (Type_I_Diabetes.yaml, Type_2_Diabetes_Mellitus.yaml), plus a Malnutrition-related_Diabetes_Mellitus.yaml stub (type 5). This is redundancy + a mechanistically incoherent graph, not a single source of truth.

Two consistency bugs found alongside: - Type_2_Diabetes_Mellitus.yaml does not list Diabetes Mellitus as a parent, whereas T1D and type 5 do. → fix. - The type-5 stub does carry a Hyperglycemia term but declares no frequency: band, so it shows UNKNOWN (not NOT_SATISFIED) in the grouping audit — an advisory artifact, not a missing term. Adding a sourced frequency: would turn it green. Low priority.

Decision taken

Add kb/groupings/Diabetes_Mellitus.yaml (Grouping class) unioning the three distinct standalone Disease entries — grouping_basis: [SHARED_PHENOTYPE, CLINICAL_CONVENTION], one NECESSARY criterion (chronic hyperglycemia, HP:0003074), MONDO mapping to MONDO:0005015. Validated (schema + terms + audit).

Umbrella pathophysiology node migration map (30 nodes)

Legend: KEEP = shared cross-subtype cascade, stays in the umbrella (or moves to a module — see open question); T1/T2/T5 = type-specific, belongs in that entry; ✓ = destination already covers it (delete from umbrella); ➕ = destination does not yet cover it (migrate content, don't just delete).

Type 1 (autoimmune) → Type_I_Diabetes.yaml

Umbrella node Destination node Status
Autoimmune diabetes genetic susceptibility Genetic Susceptibility ✓
Interferon-driven beta-cell inflammatory priming Interferon-Driven Beta Cell Response ✓
Autoimmune pancreatic beta-cell destruction Autoimmune Destruction of Beta Cells ✓
Absolute insulin deficiency Insulin Deficiency ✓
Increased lipolysis and ketogenesis Increased Lipolysis + Diabetic Ketoacidosis (DKA) ✓

Type 2 (insulin resistance) → Type_2_Diabetes_Mellitus.yaml

Umbrella node Destination node Status
Peripheral insulin resistance in insulin-sensitive tissues Insulin Resistance ✓
Pancreatic beta-cell secretory dysfunction Beta Cell Dysfunction ✓
Increased hepatic glucose output Hepatic Glucose Overproduction ✓
Incretin axis dysfunction Incretin Axis Dysfunction ✓
Mitochondrial dysfunction and oxidative stress in metabolic tissues Mitochondrial Dysfunction and Oxidative Stress ✓
Early pancreatic beta-cell injury Beta Cell Dysfunction (merge detail) ➕ review
Prediabetic metabolic stress (no node) ➕ migrate
Reduced peripheral glucose disposal Insulin Resistance (merge detail) ➕ review
Relative insulin deficiency (no node) ➕ migrate
Umbrella node Destination node Status
Pancreatogenic endocrine hormone loss (T5DM/fibro-inflammatory overlap) (stub — enrich) ➕ migrate
Pancreatogenic exocrine pancreatic insufficiency (T5DM/fibro-inflammatory overlap) (stub — enrich) ➕ migrate

Shared cross-subtype cascade — KEEP (chronic hyperglycemia → complications)

Chronic hyperglycemia · Hyperglycemia-induced oxidative stress · Hyperglycemia-driven AGE-RAGE pathway activation · Endothelial dysfunction · Vascular inflammation · Renal / Retinal / Neural microvascular injury · Diabetic renal hemodynamic dysregulation · Diabetic glomerular injury · Diabetic tubular injury · Diabetic renal inflammation · Diabetic renal fibrosis · Diabetic kidney disease · Macrovascular atherosclerotic disease · Arterial thrombosis and ischemia. (16 nodes.) Only the umbrella elaborates this fully; T1D has a single Chronic Complications node and T2D has none.

Other umbrella sections needing allocation (not line-mapped yet)

phenotypes, biochemical, genetic, treatments, differential_diagnoses, clinical_trials, datasets, computational_models, environmental also blend types. Cross-cutting items (diabetic complications, insulin, metformin, HbA1c) stay with the shared cascade; type-specific items (islet autoantibodies vs. metformin/GLP-1, HLA vs. TCF7L2) follow their type. To be detailed in the edit PR.

OPEN QUESTION — where does the shared cascade live?

  • A1 (incremental, lower risk): slim the Diabetes_Mellitus.yaml Disease down to the shared cascade + has_subtypes enumeration + disease-level framing (case definition, USPSTF screening algorithm), delete the type-specific nodes that are already covered, migrate the ➕ ones. Concept "diabetes mellitus" is then represented by both the residual Disease and the Grouping (both touch MONDO:0005015) — mild double-representation.
  • A2 (cleaner end-state, more work): promote the shared cascade to a new mechanism module diabetic_vascular_complications; T1D/T2D/T5 each add a conforms_to node; retire the umbrella Disease's mechanism graph. "Diabetes mellitus" = Grouping (owns MONDO:0005015) + module + per-type entries. Needs the create-module skill and touches all three type entries.

Recommendation: A2 long-term (the complication cascade is a genuine conserved final-common-pathway and is exactly what modules are for), but A1 is a safe first step that can land now and be followed by A2. Decision needed before editing the big file.

Decision: A2 (taken)

The shared cascade was promoted to the mechanism module kb/modules/diabetic_vascular_complications.yaml (5 nodes: Chronic Hyperglycemia → Hyperglycemia-Induced Oxidative Stress and AGE-RAGE Activation → Endothelial Dysfunction and Vascular Inflammation [central_effector / key conformance target] → Diabetic Micro- and Macrovascular Injury → Diabetic End-Organ Complications; SGLT2-inhibitor drug-target on the trigger). The three type entries now declare conforms_to: - Type I Diabetes — existing Hyperglycemia node → #Chronic Hyperglycemia; existing Chronic Complications node → #Diabetic End-Organ Complications. - Type 2 Diabetes Mellitus — added a Chronic Hyperglycemia pathophysiology node → #Chronic Hyperglycemia (wired downstream to its existing retinopathy / neuropathy phenotypes). - Malnutrition-Related Diabetes Mellitus — added a Chronic hyperglycemia and vascular complication risk node → #Chronic Hyperglycemia.

End-state target: "diabetes mellitus" = Grouping + module + per-type entries. Note on MONDO:0005015: because the umbrella Disease entry is deliberately retained (for its has_subtypes catalog and disease-level framing) and keeps MONDO:0005015 as its disease_term, the Grouping does not exclusively "own" that class — it maps to it via skos:closeMatch rather than exactMatch, so a single MONDO class is not claimed by two entities at once. Fully transferring ownership to the Grouping would require dropping the umbrella Disease's disease_term, which is deferred with the rest of the umbrella slimming below.

Remaining: umbrella slimming (Diabetes_Mellitus.yaml)

The blended 30-node pathophysiology graph in the umbrella Disease is now redundant with the module + per-type entries and should be retired. Wrinkle discovered during A2: the umbrella is NOT purely redundant — it is the only home for the has_subtypes catalog (LADA, gestational, MODY 1–14, neonatal/transient/permanent, RCAD, MIDD, lipoatrophic, DKA) that have no standalone Disease entries and are not members of the 3-member Grouping. So the umbrella cannot simply be deleted without losing that subtype enumeration.

Umbrella end-state — steps 1–3 DONE (blended pathophysiology: retired and replaced with the single conforming node); steps 4–5 DEFERRED: 1. ✅ Remove the type-specific pathophysiology nodes already covered by the standalone entries (autoimmune arm → T1D; insulin-resistance arm → T2D; pancreatogenic arm → T5) and the shared-cascade nodes (now the module). 2. ✅ Replace the mechanism graph with a single pathophysiology node that conforms_to: "diabetic_vascular_complications#Chronic Hyperglycemia" (chosen over the central-effector node to match the node's glucose-homeostasis process and chronic-hyperglycemia evidence), so the umbrella still points at the shared mechanism without re-deriving it. 3. ✅ Keep has_subtypes (the subtype catalog), the case-definition and USPSTF screening definitions, and disease-level framing. 4. ⬜ Reallocate the blended phenotypes / biochemical / genetic / treatments / clinical_trials / datasets / computational_models: cross-cutting items stay; type-specific items are dropped if already covered by the standalone entry, migrated if not. 5. ⬜ Longer term, consider promoting the high-value subtypes (esp. MODY genes, neonatal diabetes) to standalone entries + Grouping members, at which point the umbrella Disease could be fully retired.