This python tool enables a variety of mappings between ICD diagnostic codes (International Classification of Diseases) with a single line of code.
Project description
ICD-Mappings
This python tool enables a variety of mappings of ICD codes (International Classification of Diseases) to different medical concepts with a single line of code.
Supported Mappings
From ICD-9 CM
diagnostic codes to:
- ICD-10 CM: International Classification of Diseases version 10 Clinical Modification.
- ICD-9 Chapters: 19 Chapters of ICD-9-CM.
- CCS: Clinical Classification Software. All 14k ICD-9-CM diagnostic codes can be mapped into just 283 clinical categories.
- CCI: Chronic Condition Indicator. True or False whether the diagnostic is chronic.
From ICD-10 CM
diagnostic codes to:
- ICD-9 CM: International Classification of Diseases version 9 Clinical Modification
- ICD-10 CM Chapters: 22 Chapters of ICD-10 CM.
- ICD-10 CM Blocks: ~130 Blocks of ICD-10 CM.
- CCS(R): Clinical Classification Software (Refined). All the 70k ICD-10-CM diagnostic codes can be mapped into just 530 clinical categories.
- CCI(R): Chronic Condition Indicator (Refined). True or False Whether the diagnostic is chronic.
Installation
pip install icd-mappings
Usage
Below are some examples on how to use this tool for both the Mapper
and Validator
classes
Mapper
This class allows you to map between ontologies.
from icdmappings import Mapper
mapper = Mapper()
icd9code = '29410'
mapper.map(icd9code, source='icd9', target='ccs')
>>> '653'
# you can pass any Iterable of codes (list, numpy array, pandas Series, you name it)
icd9codes = ['29410', '5362', 'NOT_A_CODE', '3669']
mapper.map(icd9codes, source='icd9', target='ccs')
>>> ['653', '141', None, '86']
# which of these diagnostics are chronic?
mapper.map(icd9codes, source='icd9', target='cci')
>>> [True, False, None, True]
# icd9 to icd10
mapper.map(icd9codes, source='icd9', target='icd10')
>>> ['F0280', 'R111000', None, 'H269']
# icd10 to chapters and blocks
icd10codes = ['F0280', 'R111000', 'NOT_A_CODE', 'H269', 'H27.8']
mapper.map(icd10codes, source='icd10', target='chapter')
>>> ['5', '18', None, '7', '7']
mapper.map(icd10codes, source='icd10', target='block')
>>> ['F00-F09', 'R10-R19', None, 'H25-H28', 'H25-H28']
# And many more... You can check all available mappers this way
mapper.show_mappers()
>>> From icd9 to:
>>> - cci
>>> - ccs
>>> - chapter
>>> - icd10
>>> From icd10 to:
>>> - icd9
>>> - block
>>> - chapter
>>> - ccsr
>>> - ccir
Validator
This class helps you validate codes for a given ontology. Currently supports ICD9 and ICD10 codes.
from icdmappings import Validator
validator = Validator()
icd9code = '3591'
validator.validate(icd9code, expects='icd9_diagnostic')
>>> True
icd9codes = ['3591','NOT_A_CODE', '00321']
validator.validate(icd9codes, expects='icd9_diagnostic')
>>> [True, False, True]
# can also check procedure codes
icd9codes = ['3582', '5731', 'NOT_A_CODE']
validator.validate(icd9codes, expects='icd9_procedure')
>>> [True, True, False]
# likewise for ICD10
icd10code = 'B530'
validator.validate(icd10code, expects='icd10_diagnostic')
>>> True
Feature requests
Feel free to request a new functionality or report a bug by creating a new issue.
Acknowledgments
Tekaichi for building the initial version of the icd9->ccs pipeline
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file icd_mappings-0.4.0.tar.gz
.
File metadata
- Download URL: icd_mappings-0.4.0.tar.gz
- Upload date:
- Size: 2.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | affd5ec43dd6b3b2ac41bbece1c5aa2c36874961160dfd81e626548b31ab5b1a |
|
MD5 | f37d973395aa74e5f2b94cea5755a7c2 |
|
BLAKE2b-256 | 75c49b3ef97e87664148fb8bc83c4fcdd8724173a31a2d2b015b8a32387be5c6 |
File details
Details for the file icd_mappings-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: icd_mappings-0.4.0-py3-none-any.whl
- Upload date:
- Size: 3.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73535e234edaacf2998bfdd1f815f18ce78d410ad80900e4077701699a25b687 |
|
MD5 | 5c696e16e67b38815e70d65aa63233f0 |
|
BLAKE2b-256 | 8789d433ba3ae98fe196ff3aa0165eefc44e32281c4e613e3323b7ccdc5787e7 |