From 1ccffdfdac403096e3a8272d0c8af14f60172fd6 Mon Sep 17 00:00:00 2001 From: Krishna Udaiwal Date: Mon, 31 Aug 2026 20:12:08 -0400 Subject: [PATCH] Correct the Multiple sclerosis OMOP concept, restore six lost IPEX judgments OMOP 4027727 is "Systemic sclerosis, diffuse" (SNOMED 128460000). OMOP 374919 is "Multiple sclerosis" (SNOMED 24700007). The SSSOM rows for ARI:0001135 had the two verdicts swapped, ari.equivalencies.tsv had them the right way round, and #78 resolved that disagreement in favour of the SSSOM side without checking either concept's label -- so main stored the systemic sclerosis concept on Multiple sclerosis and had dropped the correct one. That was my error. The curator's own SNOMED verdicts settle it: they confirmed 24700007 and flagged 128460000, which are exactly 374919 and 4027727. Both exports and ARI_OMOP now say 374919. Re-checked every stored OMOP concept against the SNOMED code it carries. Five diseases hold an OMOP concept broader or narrower than their SNOMED one; those are pre-existing curation questions and are left alone. Restored six confirmations on ARI:0001106 (IPEX). AnjaliRH recorded nine judgments on 2026-08-03; 02938dd wiped every row for the disease on the 4th and her next publish restored four. MONDO:0010580, OMIM:304790, ORPHA:37042, mesh:C580192, ncit:C131009 and umls:C0342288 never came back, though every id is still stored on the disease and her changelog entry still names them. This is the first confirmed loss of mapping rows rather than ontology records -- #78 checked only back to PR #69, and the loss predates that window. Added umls:C0398650 on ARI:0001107, which is stored and named confirmed in a changelog entry but never had a row. What remains unjudged is deliberate: 11 ICD-9 rows the retirement removed on purpose, and one ARI:0003 entry whose row exists under the repaired spelling. Audit: 0 errors, 5 warnings. Co-Authored-By: Claude Opus 5 --- changelog.md | 38 ++++++++++++++++++++++++++++++++++ mappings/ari.equivalencies.tsv | 11 ++++++++-- mappings/ari.sssom.tsv | 11 ++++++++-- ontologies/ari_t1d.owl | 5 ++++- 4 files changed, 60 insertions(+), 5 deletions(-) diff --git a/changelog.md b/changelog.md index 01ed8ca..3c660f1 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,43 @@ # Changelog +## fix-ms-omop-and-lost-judgments + +- **Corrects an error `restore-overwritten-curation` introduced.** OMOP `4027727` is + "Systemic sclerosis, diffuse" (SNOMED 128460000); OMOP `374919` is "Multiple sclerosis" + (SNOMED 24700007). The SSSOM rows for ARI:0001135 had the two verdicts swapped, + `ari.equivalencies.tsv` had them the right way round, and the earlier branch resolved that + disagreement in favour of the SSSOM side without checking either concept's label. So `main` + stored the systemic sclerosis concept on Multiple sclerosis and had dropped the correct one. + The curator's own SNOMED verdicts settle it: they confirmed 24700007 and flagged 128460000, + which are exactly 374919 and 4027727. Both exports and `ARI_OMOP` now say 374919. +- The lesson generalises: a mapping row is not self-validating. Every stored OMOP concept was + re-checked against the SNOMED code it carries and the SNOMED codes its disease stores. Five + more diseases hold an OMOP concept broader or narrower than their SNOMED one — ARI:0001057 + (Pemphigoid vs Bullous pemphigoid), ARI:0001117 (Juvenile idiopathic vs Juvenile Rheumatoid + Arthritis), ARI:0001138, ARI:0001144 and ARI:0001196 (Lupus erythematosus vs SLE). Those are + pre-existing curation questions, not errors introduced here, and are **left for a curator**. +- **Restored six confirmations on ARI:0001106** (IPEX). AnjaliRH recorded nine judgments on + 2026-08-03; `02938dd` wiped every row for the disease on the 4th, and her next publish on the + 7th restored four. The six confirmations — MONDO:0010580, OMIM:304790, ORPHA:37042, + mesh:C580192, ncit:C131009, umls:C0342288 — never came back, though every id is still stored + on the disease and her changelog entry still names them. The review page therefore showed six + cells as never reviewed when they had been. +- This is the first confirmed loss of *mapping rows*, as opposed to ontology records. The + earlier branch checked only back to PR #69 and found the mapping set additive over that + window; the loss is older, from the 2026-08-04 save. +- **Added `umls:C0398650` on ARI:0001107** (Immune thrombocytopenia). The id is stored and a + changelog entry names AnjaliRH confirming it on 2026-08-10, but no row was ever written. + This creates the record that entry implies rather than restoring a deleted one. +- Audited every disease for the same shape — an id stored, or a changelog entry naming it, with + no judgment in the mapping set. What remains is deliberate: 11 ICD-9 codes whose rows the + ICD-9 retirement removed on purpose, and one entry on ARI:0003 whose row exists under the + repaired `MONDO:0014523` spelling. +- **One finding needs a curator, not a fix.** ARI:0001143 (Neuromyelitis optica) carries a + changelog entry from 2026-08-27 confirming OMOP `4027727` — systemic sclerosis again, on a + third disease. The mapping set holds the correct `omop:380995`, so the data is right and only + the note is wrong; but the same wrong concept reaching two diseases in one session suggests a + mis-click worth knowing about. + ## restore-overwritten-curation - Restores curation that the editor app's saves reverted, and re-applies the cleanups they diff --git a/mappings/ari.equivalencies.tsv b/mappings/ari.equivalencies.tsv index 70aad2c..fdb7e6d 100644 --- a/mappings/ari.equivalencies.tsv +++ b/mappings/ari.equivalencies.tsv @@ -515,11 +515,11 @@ ARI 0001135 Multiple sclerosis skos:exactMatch SNOMEDCT 426373005 manual-negativ ARI 0001135 Multiple sclerosis skos:exactMatch SNOMEDCT 428700003 manual-negative github:aaronabend ARI 0001135 Multiple sclerosis skos:exactMatch SNOMEDCT 49692006 manual-negative github:aaronabend ARI 0001135 Multiple sclerosis skos:exactMatch SNOMEDCT 24700007 manual github:aaronabend -ARI 0001135 Multiple sclerosis skos:exactMatch omop 374919 manual-negative github:aaronabend +ARI 0001135 Multiple sclerosis skos:exactMatch omop 374919 manual github:aaronabend ARI 0001135 Multiple sclerosis skos:exactMatch omop 4178929 manual-negative github:aaronabend ARI 0001135 Multiple sclerosis skos:exactMatch omop 4145049 manual-negative github:aaronabend ARI 0001135 Multiple sclerosis skos:exactMatch omop 376970 manual-negative github:aaronabend -ARI 0001135 Multiple sclerosis skos:exactMatch omop 4027727 manual github:aaronabend +ARI 0001135 Multiple sclerosis skos:exactMatch omop 4027727 manual-negative github:aaronabend ARI 0001028 Autoimmune encephalitis skos:exactMatch icd10cm NoTermFound manual-absent github:aaronabend ARI 0001098 Hemophilia B Leyden skos:exactMatch MONDO 0850054 manual github:linikujp ARI 0001098 Hemophilia B Leyden skos:exactMatch ORPHA 617930 manual github:linikujp @@ -549,3 +549,10 @@ ARI 0001065 Chronic Lyme disease skos:exactMatch omop 440638 manual-negative git ARI 0001065 Chronic Lyme disease skos:exactMatch omop 4141757 manual-negative github:KrishnaTO ARI 0001065 Chronic Lyme disease skos:exactMatch SNOMEDCT 23502006 manual-negative github:KrishnaTO ARI 0001065 Chronic Lyme disease skos:exactMatch SNOMEDCT 33937009 manual-negative github:KrishnaTO +ARI 0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch MONDO 0010580 manual github:AnjaliRH +ARI 0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch OMIM 304790 manual github:AnjaliRH +ARI 0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch ORPHA 37042 manual github:AnjaliRH +ARI 0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch mesh C580192 manual github:AnjaliRH +ARI 0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch ncit C131009 manual github:AnjaliRH +ARI 0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch umls C0342288 manual github:AnjaliRH +ARI 0001107 Immune thrombocytopenia skos:exactMatch umls C0398650 manual github:AnjaliRH diff --git a/mappings/ari.sssom.tsv b/mappings/ari.sssom.tsv index 224ff28..1e7fc7d 100644 --- a/mappings/ari.sssom.tsv +++ b/mappings/ari.sssom.tsv @@ -535,11 +535,11 @@ ARI:0001135 Multiple sclerosis skos:exactMatch Not SNOMEDCT:426373005 SNOMEDCT s ARI:0001135 Multiple sclerosis skos:exactMatch Not SNOMEDCT:428700003 SNOMEDCT semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 ARI:0001135 Multiple sclerosis skos:exactMatch Not SNOMEDCT:49692006 SNOMEDCT semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 ARI:0001135 Multiple sclerosis skos:exactMatch SNOMEDCT:24700007 SNOMEDCT semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 -ARI:0001135 Multiple sclerosis skos:exactMatch Not omop:374919 omop semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 +ARI:0001135 Multiple sclerosis skos:exactMatch omop:374919 omop semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 ARI:0001135 Multiple sclerosis skos:exactMatch Not omop:4178929 omop semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 ARI:0001135 Multiple sclerosis skos:exactMatch Not omop:4145049 omop semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 ARI:0001135 Multiple sclerosis skos:exactMatch Not omop:376970 omop semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 -ARI:0001135 Multiple sclerosis skos:exactMatch omop:4027727 omop semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 +ARI:0001135 Multiple sclerosis skos:exactMatch Not omop:4027727 omop semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 ARI:0001028 Autoimmune encephalitis skos:exactMatch sssom:NoTermFound icd10cm semapv:ManualMappingCuration github:aaronabend 2026-08-27T00:00:00+00:00 ARI:0001098 Hemophilia B Leyden skos:exactMatch MONDO:0850054 MONDO semapv:ManualMappingCuration github:linikujp 2026-08-21T00:00:00+00:00 ARI:0001098 Hemophilia B Leyden skos:exactMatch ORPHA:617930 ORPHA semapv:ManualMappingCuration github:linikujp 2026-08-21T00:00:00+00:00 @@ -570,3 +570,10 @@ ARI:0001065 Chronic Lyme disease skos:exactMatch Not omop:440638 omop semapv:Man ARI:0001065 Chronic Lyme disease skos:exactMatch Not omop:4141757 omop semapv:ManualMappingCuration github:KrishnaTO 2026-08-31T02:09:20+00:00 ARI:0001065 Chronic Lyme disease skos:exactMatch Not SNOMEDCT:23502006 SNOMEDCT semapv:ManualMappingCuration github:KrishnaTO 2026-08-31T02:09:20+00:00 ARI:0001065 Chronic Lyme disease skos:exactMatch Not SNOMEDCT:33937009 SNOMEDCT semapv:ManualMappingCuration github:KrishnaTO 2026-08-31T02:09:20+00:00 +ARI:0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch MONDO:0010580 MONDO semapv:ManualMappingCuration github:AnjaliRH 2026-08-03T00:00:00+00:00 +ARI:0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch OMIM:304790 OMIM semapv:ManualMappingCuration github:AnjaliRH 2026-08-03T00:00:00+00:00 +ARI:0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch ORPHA:37042 ORPHA semapv:ManualMappingCuration github:AnjaliRH 2026-08-03T00:00:00+00:00 +ARI:0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch mesh:C580192 mesh semapv:ManualMappingCuration github:AnjaliRH 2026-08-03T00:00:00+00:00 +ARI:0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch ncit:C131009 ncit semapv:ManualMappingCuration github:AnjaliRH 2026-08-03T00:00:00+00:00 +ARI:0001106 Immune Dysregulation, Polyendocrinopathy, Enteropathy, X-Linked Syndrome skos:exactMatch umls:C0342288 umls semapv:ManualMappingCuration github:AnjaliRH 2026-08-03T00:00:00+00:00 +ARI:0001107 Immune thrombocytopenia skos:exactMatch umls:C0398650 umls semapv:ManualMappingCuration github:AnjaliRH 2026-08-10T00:00:00+00:00 diff --git a/ontologies/ari_t1d.owl b/ontologies/ari_t1d.owl index 2de900e..028ff80 100644 --- a/ontologies/ari_t1d.owl +++ b/ontologies/ari_t1d.owl @@ -11677,6 +11677,7 @@ ASA is not a concern except for people trying to conceive. C0342288 C580192 0090110 + 2026-09-01T00:10:35+00:00 | KrishnaTO | Cross-reference review: restored confirmed MONDO 0010580; OMIM 304790; ORPHANET 37042; MESH C580192; NCI C131009; UMLS C0342288 @@ -11752,6 +11753,7 @@ Note that thrombotic thrombocytopenic purpura, TTP, is a ***genetic*** disease t 2897005 4103532 C0242584 + 2026-09-01T00:10:35+00:00 | KrishnaTO | Cross-reference review: confirmed UMLS C0398650 @@ -14505,7 +14507,7 @@ Although this rare disease most commonly affects children, adults may have this G35 D009103 C3243 - 4027727 + 374919 24700007 Multiple Sclerosis (MS) is a central nervous system disease that occurs when the immune system attacks the myelin, which is a protective covering around the nerves. The nerves may then suffer permanent damage. The cause of the abnormal immune system action is unknown, but there seems to be some genetic link. The most common form of MS is relapsing-remitting which occurs when a patient has symptom-free periods, but the patient may develop a progressive form where the symptoms worsen over time. Women are affected twice as often as men. MS varies in severity, with some people losing the ability to walk. Disseminated sclerosis @@ -14544,6 +14546,7 @@ Although this rare disease most commonly affects children, adults may have this 2026-08-27 17:57 | aaronabend | Cross-reference review: confirmed DOID 2377; confirmed MONDO 0005301; confirmed NCI C3243; confirmed SNOMED 128460000, 426373005, 428700003, 49692006, 24700007; confirmed OMOP 374919, 4178929, 4145049, 376970, 4027727 2026-08-27 17:57 | aaronabend | Cross-reference review: confirmed DOID 2377; confirmed MONDO 0005301; confirmed NCI C3243; confirmed SNOMED 24700007; confirmed OMOP 4027727 0005301 + 2026-09-01T00:10:35+00:00 | KrishnaTO | Cross-reference review: confirmed OMOP 374919; flagged OMOP 4027727