Skip to content

fix: update ICD10CM prefix expansion to icd10data.com#1264

Merged
kevinschaper merged 1 commit intomainfrom
fix/icd10cm-url-icd10data
Feb 20, 2026
Merged

fix: update ICD10CM prefix expansion to icd10data.com#1264
kevinschaper merged 1 commit intomainfrom
fix/icd10cm-url-icd10data

Conversation

@kevinschaper
Copy link
Member

@kevinschaper kevinschaper commented Feb 20, 2026

Summary

  • Switch ICD10CM URL expansion from purl.bioontology.org to https://www.icd10data.com/search?s= for more reliable and user-friendly ICD10CM code lookups

Test plan

  • Verify ICD10CM links on entity pages resolve correctly (e.g. search for a disease with ICD10CM mappings)

🤖 Generated with Claude Code

purl.bioontology.org redirects are unreliable; switch to icd10data.com
search URL for better user experience when following ICD10CM links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@netlify
Copy link

netlify bot commented Feb 20, 2026

Deploy Preview for monarch-app canceled.

Name Link
🔨 Latest commit 14d6d5f
🔍 Latest deploy log https://app.netlify.com/projects/monarch-app/deploys/6998ec440b62ea0008b507d4

@kevinschaper kevinschaper merged commit 5355f45 into main Feb 20, 2026
11 checks passed
@kevinschaper kevinschaper deleted the fix/icd10cm-url-icd10data branch February 20, 2026 23:23
@claude
Copy link

claude bot commented Feb 20, 2026

Code Review

This is a small, well-scoped fix. The change is correct and addresses a real problem. A few observations:

What's good

  • Simple and focused -- exactly one responsibility changed
  • Switches from HTTP to HTTPS, which is a minor improvement
  • The comment update accurately reflects the new target URL
  • The search?s= query parameter approach works correctly with CURIE expansion: ICD10CM:G71.0 expands to https://www.icd10data.com/search?s=G71.0

Missing test coverage

test_curie_service.py has no test case for ICD10CM expansion. This prefix has now been overridden twice (icd.codes -> purl.bioontology.org -> icd10data.com), which suggests it is worth locking in with a regression test. The existing parameterized test structure makes this easy to add:

("ICD10CM:G71.0", "icd10data.com/search?s=G71.0"),

Stale fixture data

backend/tests/fixtures/object_formatted.py (lines 487, 501) and YAML snippets in that same file (lines 1078, 1550) still reference https://icd.codes/icd10cm/G71.0 -- the original upstream default from prefixmaps, which predates both URL overrides. If any test compares dynamically-generated ICD10CM URLs against these fixture values they would fail. Worth verifying whether those fixtures are used in URL-asserting tests or are purely structural snapshots.

Minor: search page vs. direct link

The resulting URL lands users on a search results page rather than directly on the code definition page. That is an acceptable tradeoff given that prefix expansion only concatenates a base URI with the local ID (you cannot embed the full hierarchical path like /ICD10CM/Codes/G00-G99/G70-G73/G71-/G71.0). The search approach is a practical workaround.


Overall this is a reasonable fix for a broken URL. Adding a test case to test_curie_service.py before merging would guard against future drift, but it is not a blocker.

@codecov
Copy link

codecov bot commented Feb 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.52%. Comparing base (22f320f) to head (14d6d5f).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1264   +/-   ##
=======================================
  Coverage   73.52%   73.52%           
=======================================
  Files          95       95           
  Lines        3418     3418           
=======================================
  Hits         2513     2513           
  Misses        905      905           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant