ICD-10 Reference Catalog
ICD-10 Reference Catalog Policy
Purpose
Define how DigitVA stores and refreshes its ICD-10 2019 hierarchy reference catalog.
Policy
- DigitVA stores the ICD-10 2019 hierarchy as master reference data in
mas_icd10_2019_2. - The authoritative structure source for this catalog is the checked-in WHO ICD-10 2019 ClaML XML snapshot and the generated hierarchy CSV derived from it.
- Fresh schema creation for
mas_icd10_2019_2must seed the table from the checked-in generated hierarchy CSV during migration. - The reference catalog stores only hierarchy and local policy fields needed for app behavior; DigitVA does not mirror all WHO descriptive metadata.
- Import must be idempotent.
- Re-running the import must:
- update structural hierarchy fields for codes still present in the source
- insert newly introduced codes
- mark missing codes inactive instead of deleting them
- Import must not require a database reset or table truncate.
- Existing local policy curation must be preserved by default on rerun.
- Policy fields may be refreshed from source only through an explicit operator action.
- ICD coding-time lookup must read from
mas_icd10_2019_2, not the legacyva_icd_codestable. - Coding-time lookup must return only selectable
three_characteranddetailed_coderows. - Coding-time lookup must apply submission-specific policy filters using:
va_deceased_age_normalized_daysto deriveneonate,infant,child, oradultva_deceased_genderto enforcemale/femalerestrictions
- Coding-time detailed child lookup must return only selectable detailed descendants for the chosen three-character code.
- The generic authenticated ICD search endpoint at
/api/v1/icd10/searchmust read frommas_icd10_2019_2, restricted to activethree_characteranddetailed_coderows. - The legacy
va_icd_codescatalog is deprecated as of 2026-04-20 and must not be used for new runtime ICD lookup features.
Stored Hierarchy Scope
DigitVA stores enough ICD data to reconstruct the coding hierarchy:
- chapters
- blocks
- three-character categories
- detailed dotted codes
The stored row includes denormalized ancestry fields such as:
parent_codechapter_codeblock_codethree_character_code
The generated hierarchy CSV must include modifier-derived detailed codes from
the ClaML XML, built from <ModifiedBy> and <ModifierClass> definitions. For
example, transport and diabetes modifier rows such as V01.1, V10.4, and
E10.0 are stored as detailed-code rows even when they are not literal
<Class> elements in the XML.
Local Policy Scope
DigitVA may curate coding behavior in the same table using fields such as:
is_coding_selectablesex_selectableage_group_selectablepolicy_statusrestriction_note
These policy values are DigitVA-local rules and must not be inferred purely from WHO hierarchy structure.
Current defaulting rule:
- new
three_characterrows default to:is_coding_selectable = truesex_selectable = bothage_group_selectable = all
- exceptions:
S00throughS99do not receive those defaults automaticallyT00throughT99do not receive those defaults automaticallyU00throughU99do not receive those defaults automaticallyZ00throughZ99do not receive those defaults automatically