@lowlysre/icd-10-cm 1.1.5 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -8
- package/data/icd10.min.json +1 -0
- package/dist/index.cjs +34 -0
- package/dist/{index.d.ts → index.d.cts} +3 -2
- package/dist/index.d.mts +4 -0
- package/dist/index.mjs +3 -1
- package/package.json +21 -17
- package/dist/index.js +0 -1
package/README.md
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
# icd-10-cm
|
|
2
2
|
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="assets/hero.png" alt="icd-10-cm hero" width="640">
|
|
5
|
+
</p>
|
|
6
|
+
|
|
3
7
|

|
|
4
8
|
[](https://github.com/lowlysre/icd-10-cm/actions/workflows/test.yml)
|
|
5
9
|
[](https://github.com/lowlysre/sustainable-npm)
|
|
6
|
-
|
|
10
|
+
[](https://github.com/lowlysre/icd-10-cm/releases)
|
|
7
11
|
|
|
8
12
|
A data package containing the latest ICD-10 CM codes and descriptions, types included!
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
- ⚡ Fast, lookups via dictionary of minified json
|
|
15
|
+
- 🔒 Secure, a zero dependency package with provenance
|
|
16
|
+
- ⚛️ Small, limited to CM (Clinical Modification) data and less than 1MB compressed
|
|
17
|
+
- 🔏 Immutable, GitHub releases are locked and cannot be altered or replaced after publishing
|
|
14
18
|
|
|
15
19
|
## Install
|
|
16
20
|
|
|
@@ -30,7 +34,7 @@ const description = getICD10Description("A00.0");
|
|
|
30
34
|
// Handle missing codes by checking for undefined
|
|
31
35
|
const maybeDescription = getICD10Description("Z999");
|
|
32
36
|
if (!maybeDescription) {
|
|
33
|
-
|
|
37
|
+
// fallback logic here
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
// You can normalize a code explicitly if you store normalized keys elsewhere
|
|
@@ -45,7 +49,22 @@ const normalized = normalizeICD10Code(" a00.1 "); // "A001"
|
|
|
45
49
|
|
|
46
50
|
For regenerating `data/icd10.min.json` via `npm run parse-icd`, use Node.js v22+ (required for `--experimental-strip-types`).
|
|
47
51
|
|
|
52
|
+
### Updating the ICD-10-CM data
|
|
53
|
+
|
|
54
|
+
CDC/NCHS publishes a new code set annually (effective October 1) and occasionally a mid-year update (effective April 1). Check the [CDC files page](https://www.cdc.gov/nchs/icd/icd-10-cm/files.html) or the [CMS ICD-10 page](https://www.cms.gov/medicare/coding-billing/icd-10-codes) for the latest "Code Descriptions in Tabular Order" archive.
|
|
55
|
+
|
|
56
|
+
1. Download the latest Code Descriptions in Tabular Order zip
|
|
57
|
+
2. Extract `icd10cm_codes_<year>.txt` and save it as `scripts/icd10cm.txt` (format: code, whitespace, description per line)
|
|
58
|
+
3. Run `npm run parse-icd` to regenerate `data/icd10.min.json`
|
|
59
|
+
4. Run `npm test` and verify the reported code count matches the addenda
|
|
60
|
+
5. Bump the package version and publish
|
|
61
|
+
|
|
48
62
|
## Versions
|
|
49
63
|
|
|
50
|
-
|
|
51
|
-
|
|
64
|
+
- v2.0.0 - Data updated to the April 1, 2026 ICD-10-CM release (74,719 codes, from the FY2024 set). TypeScript 7 (native compiler) toolchain, ESLint replaced with oxlint + Prettier, dropped tsup for plain tsc (zero-bundler dual ESM/CJS), dataset shipped once and lazy-loaded (~50% smaller install, faster imports), fixed broken `require()` entry point
|
|
65
|
+
- v1.1.5 - Dependency and toolchain maintenance
|
|
66
|
+
- v1.1.0 - Migrated tests from Jest to Node's built-in test runner, TypeScript 6 toolchain
|
|
67
|
+
- v1.0.3 - Dependency maintenance, CODEOWNERS
|
|
68
|
+
- v1.0.1 - README badges, sustainable-npm publishing workflow
|
|
69
|
+
- v1.0.0 - Normalized lookups, data load guard, bundled ESM/CJS build, flat ESLint 9 config, 100% tests/coverage
|
|
70
|
+
- v0.0.x - Initial releases, April 1, 2024 ICD-10-CM update
|