Correct the Multiple sclerosis OMOP concept, restore six lost IPEX judgments - #81
Merged
Merged
Conversation
…dgments 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 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Answers the question "were any curated mappings removed?" — yes, six were, on one disease. It also corrects an error #78 introduced, which is the more urgent half.
1. Multiple sclerosis has the wrong OMOP concept on
main, and that is my fault3749194027727The SSSOM rows for ARI:0001135 had these two verdicts swapped.
ari.equivalencies.tsvhad them the right way round. #78 found the two exports disagreeing, resolved it in favour of the SSSOM side, and did not check either concept's label — somainnow stores the systemic sclerosis concept on Multiple sclerosis and has dropped the correct one.The curator's own SNOMED verdicts settle it beyond doubt: they confirmed SNOMED 24700007 and flagged SNOMED 128460000. Those are exactly 374919 and 4027727. Their SNOMED judgments were right; only the OMOP pair was inverted, and #78 propagated the inversion instead of catching it.
Both exports and
ARI_OMOPnow say374919.The generalisable bit
A mapping row is not self-validating. I re-checked every stored OMOP concept 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:
These are pre-existing curation questions, not errors introduced here. Left for a curator — narrowing them is a judgment call, not a repair.
2. Six confirmations were lost on ARI:0001106 (IPEX)
AnjaliRH recorded nine judgments on 2026-08-03.
02938dd(4 Aug) wiped every row for the disease, and her next publish on the 7th restored four. These six never came back:MONDO:0010580·OMIM:304790·ORPHA:37042·mesh:C580192·ncit:C131009·umls:C0342288Every one of those ids is still stored on the disease, and her changelog entry still names her confirming them — so the review page has been showing six cells as never reviewed when they had been. Restored with her original authorship and date.
This is the first confirmed loss of mapping rows rather than ontology records. #78 concluded the mapping set was additive, but only checked back to PR #69 (16 Aug); this loss predates that window.
3.
umls:C0398650on ARI:0001107Stored, and named confirmed by AnjaliRH in a changelog entry from 2026-08-10, but no row was ever written. This creates the record that entry implies rather than restoring a deleted one — flagging the distinction because it is a different act.
What remains unjudged is deliberate
I audited every disease for the same shape — an id stored, or a changelog entry naming it, with no judgment in the mapping set. What is left is intentional: 11 ICD-9 codes whose rows the ICD-9 retirement removed on purpose, and one ARI:0003 entry whose row exists under the repaired
MONDO:0014523spelling.One thing for 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 correctomop:380995, so the data is right and only the note is wrong. But the same wrong concept reaching two diseases in one session looks like a mis-click worth knowing about.Verification
check_deletionspasses: removing4027727from MS is justified by theNotrow this PR flips it to.Advances #23.
🤖 Generated with Claude Code