@cyanheads/medical-codes-mcp-server 0.1.3 → 0.1.4
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/AGENTS.md +1 -1
- package/CLAUDE.md +1 -1
- package/README.md +3 -3
- package/changelog/0.1.x/0.1.4.md +18 -0
- package/dist/mcp-server/tools/definitions/browse-hierarchy.tool.d.ts +4 -3
- package/dist/mcp-server/tools/definitions/browse-hierarchy.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/browse-hierarchy.tool.js +12 -8
- package/dist/mcp-server/tools/definitions/browse-hierarchy.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/map-codes.tool.d.ts +5 -3
- package/dist/mcp-server/tools/definitions/map-codes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/map-codes.tool.js +33 -17
- package/dist/mcp-server/tools/definitions/map-codes.tool.js.map +1 -1
- package/dist/services/code-index/code-index-service.d.ts.map +1 -1
- package/dist/services/code-index/code-index-service.js +11 -3
- package/dist/services/code-index/code-index-service.js.map +1 -1
- package/package.json +2 -2
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** medical-codes-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
4
|
+
**Version:** 0.1.4
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.6`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** medical-codes-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
4
|
+
**Version:** 0.1.4
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.6`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/medical-codes-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -106,7 +106,7 @@ Validate whether a code is safe to submit, before a claim goes out.
|
|
|
106
106
|
|
|
107
107
|
Crosswalk a code across systems and within a hierarchy.
|
|
108
108
|
|
|
109
|
-
- Hierarchy directions (available now): `parents` and `children` walk a code's prefix hierarchy (ICD-10-CM / HCPCS; ICD-10-PCS codes have no prefix parent)
|
|
109
|
+
- Hierarchy directions (available now): `parents` and `children` walk a code's prefix hierarchy one level per call — immediate parent/children only (depth-1); call iteratively for the full path (ICD-10-CM / HCPCS; ICD-10-PCS codes have no prefix parent)
|
|
110
110
|
- Drug directions (`name_to_rxcui`, `ndc_to_rxcui`, `rxcui_to_ndc`, `rxcui_to_ingredients`, `rxcui_to_brands`) are RxNorm-backed and return `direction_unavailable` until RxNorm is bundled in a later release
|
|
111
111
|
- Every result carries `source` provenance (which system or edge answered) so a chained call uses the right identifier
|
|
112
112
|
|
|
@@ -118,7 +118,7 @@ Orient in an unfamiliar system or enumerate a category's specific codes, without
|
|
|
118
118
|
|
|
119
119
|
- With no `node`: top-level entries (ICD-10-CM categories, HCPCS range buckets, or ICD-10-PCS first-axis values)
|
|
120
120
|
- With a `node`: its immediate children
|
|
121
|
-
- ICD-10-CM and HCPCS use a prefix hierarchy (a shorter code is the parent of a longer one); ICD-10-PCS is axis-based —
|
|
121
|
+
- ICD-10-CM and HCPCS use a prefix hierarchy (a shorter code is the parent of a longer one); ICD-10-PCS is axis-based — only the top-level Section axis is browsable; positions 2–7 are context-dependent on the preceding axis path and aren't enumerable from a flat partial code
|
|
122
122
|
|
|
123
123
|
## Features
|
|
124
124
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "map_codes returns ok-empty with a notice for a resolvable code with no edge (no_mapping reserved for an unresolvable source); check_code names RxNorm as unbundled for out-of-scope numeric codes; PCS browse and depth-1 hierarchy walking documented accurately."
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.4 — 2026-06-19
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **`medcode_map_codes` `parents`/`children` documented as depth-1** ([#7](https://github.com/cyanheads/medical-codes-mcp-server/issues/7)). The tool description and `direction` field now state they return the immediate parent or children only — one level per call — and that a full ancestor/descendant path requires iterative calls.
|
|
12
|
+
- **`medcode_browse_hierarchy` ICD-10-PCS description corrected** ([#4](https://github.com/cyanheads/medical-codes-mcp-server/issues/4)). The `@fileoverview`, tool description, `node` field, and `axes` output description no longer promise partial-code axis expansion. Only the top-level Section axis (position 1) is browsable; positions 2–7 are context-dependent on the preceding axis path and aren't enumerable from a flat partial code, so a partial PCS `node` returns no axes plus a notice. The test fixture (`build-fixture-db.ts`) now seeds only position-1 Section axes, mirroring the shipped index.
|
|
13
|
+
- **`@types/node`** (dev) `^25.9.3` → `^26.0.0`.
|
|
14
|
+
|
|
15
|
+
## Fixed
|
|
16
|
+
|
|
17
|
+
- **`medcode_map_codes` resolvable-but-no-edge is a success, not an error** ([#5](https://github.com/cyanheads/medical-codes-mcp-server/issues/5)). A resolvable code with no edge in the requested direction — an ICD-10-PCS code (no prefix parent) or a top-level ICD-10-CM/HCPCS code — now returns `hits: []` with a `ctx.enrich.notice(...)`, matching `medcode_get_code` (`parent: null`) and `medcode_search_codes`/`medcode_browse_hierarchy` (empty + notice). `no_mapping` is now reserved for a `from` that does not resolve to any bundled code.
|
|
18
|
+
- **`medcode_check_code` names RxNorm as unbundled for out-of-scope numeric codes** ([#8](https://github.com/cyanheads/medical-codes-mcp-server/issues/8)). A bare integer matches only the RXCUI shape, but RxNorm is not bundled in this release, so a CPT / HCPCS Level I code such as `99213` previously came back as "No RXNORM code matches …" — implying a populated table was searched. It now reports RxNorm as not bundled and flags the likely CPT / HCPCS Level I origin (out of scope — this server bundles ICD-10-CM, ICD-10-PCS, HCPCS Level II), gated on `hasRxNorm()` so the message auto-corrects to a genuine per-concept not-found once RxNorm lands. The `medcode_browse_hierarchy` empty-result notice for `system: RXNORM` is aligned to the same "not bundled" phrasing.
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* @fileoverview medcode_browse_hierarchy — walk a code system's hierarchy
|
|
3
3
|
* without a search term. Returns the children of a node, or the top-level
|
|
4
4
|
* entries when no node is given. ICD-10-CM/HCPCS browse the prefix hierarchy
|
|
5
|
-
* (chapter → category → code); ICD-10-PCS
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* (chapter → category → code); ICD-10-PCS exposes only its top-level Section
|
|
6
|
+
* axis (position 1) — positions 2–7 are context-dependent on the preceding axis
|
|
7
|
+
* path and are not enumerable from a flat partial code, so a partial PCS node
|
|
8
|
+
* returns no axes plus a notice.
|
|
8
9
|
* @module mcp-server/tools/definitions/browse-hierarchy.tool
|
|
9
10
|
*/
|
|
10
11
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse-hierarchy.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-hierarchy.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"browse-hierarchy.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-hierarchy.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6BjE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6H9B,CAAC"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* @fileoverview medcode_browse_hierarchy — walk a code system's hierarchy
|
|
3
3
|
* without a search term. Returns the children of a node, or the top-level
|
|
4
4
|
* entries when no node is given. ICD-10-CM/HCPCS browse the prefix hierarchy
|
|
5
|
-
* (chapter → category → code); ICD-10-PCS
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* (chapter → category → code); ICD-10-PCS exposes only its top-level Section
|
|
6
|
+
* axis (position 1) — positions 2–7 are context-dependent on the preceding axis
|
|
7
|
+
* path and are not enumerable from a flat partial code, so a partial PCS node
|
|
8
|
+
* returns no axes plus a notice.
|
|
8
9
|
* @module mcp-server/tools/definitions/browse-hierarchy.tool
|
|
9
10
|
*/
|
|
10
11
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
@@ -34,7 +35,7 @@ const AxisNodeSchema = z
|
|
|
34
35
|
.describe('A valid ICD-10-PCS axis value at a given character position.');
|
|
35
36
|
export const browseHierarchyTool = tool('medcode_browse_hierarchy', {
|
|
36
37
|
title: 'medical-codes-mcp-server',
|
|
37
|
-
description: "Walk a US medical code system's hierarchy for discovery without a search term. With no `node`, returns the top-level entries (ICD-10-CM categories, HCPCS range buckets, or ICD-10-PCS first-axis values). With a `node`, returns its immediate children. ICD-10-CM and HCPCS use a prefix hierarchy (a shorter code is the parent of a longer one); ICD-10-PCS is axis-based — each of its 7 characters is an independent axis (section, body system, root operation, body part, approach, device, qualifier),
|
|
38
|
+
description: "Walk a US medical code system's hierarchy for discovery without a search term. With no `node`, returns the top-level entries (ICD-10-CM categories, HCPCS range buckets, or ICD-10-PCS first-axis values). With a `node`, returns its immediate children. ICD-10-CM and HCPCS use a prefix hierarchy (a shorter code is the parent of a longer one); ICD-10-PCS is axis-based — each of its 7 characters is an independent axis (section, body system, root operation, body part, approach, device, qualifier), but only the top-level Section axis is browsable (omit `node`): positions 2–7 are context-dependent on the preceding axis path and are not enumerable from a flat partial code. Lets an agent orient in an unfamiliar system or enumerate a category's specific codes.",
|
|
38
39
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
|
|
39
40
|
sourceUrl: SOURCE_URL,
|
|
40
41
|
input: z.object({
|
|
@@ -42,7 +43,7 @@ export const browseHierarchyTool = tool('medcode_browse_hierarchy', {
|
|
|
42
43
|
node: z
|
|
43
44
|
.string()
|
|
44
45
|
.optional()
|
|
45
|
-
.describe('A node to expand. For ICD-10-CM/HCPCS, a code whose children to list.
|
|
46
|
+
.describe('A node to expand. For ICD-10-CM/HCPCS, a code whose children to list. ICD-10-PCS supports only top-level Section browsing (omit `node`) — a partial PCS code does not expand to next-position axis values. Omit for the top level.'),
|
|
46
47
|
limit: z
|
|
47
48
|
.number()
|
|
48
49
|
.int()
|
|
@@ -60,7 +61,7 @@ export const browseHierarchyTool = tool('medcode_browse_hierarchy', {
|
|
|
60
61
|
.describe('Child codes under the requested node or top level. Empty when kind is "axes".'),
|
|
61
62
|
axes: z
|
|
62
63
|
.array(AxisNodeSchema)
|
|
63
|
-
.describe('
|
|
64
|
+
.describe('The top-level ICD-10-PCS Section axis values (only the Section axis is enumerable). Empty when kind is "codes".'),
|
|
64
65
|
}),
|
|
65
66
|
enrichment: {
|
|
66
67
|
truncated: z.boolean().describe('True when the returned list was capped at the limit.'),
|
|
@@ -81,7 +82,8 @@ export const browseHierarchyTool = tool('medcode_browse_hierarchy', {
|
|
|
81
82
|
],
|
|
82
83
|
handler(input, ctx) {
|
|
83
84
|
const limit = input.limit ?? getServerConfig().maxResults;
|
|
84
|
-
const
|
|
85
|
+
const svc = getCodeIndexService();
|
|
86
|
+
const result = svc.browse(input.system, input.node, limit);
|
|
85
87
|
if (result.kind === 'unknown_node') {
|
|
86
88
|
throw ctx.fail('unknown_node', `Node "${input.node}" does not exist in ${input.system}.`, {
|
|
87
89
|
...ctx.recoveryFor('unknown_node'),
|
|
@@ -106,7 +108,9 @@ export const browseHierarchyTool = tool('medcode_browse_hierarchy', {
|
|
|
106
108
|
ctx.enrich.notice(input.node
|
|
107
109
|
? `No children under "${input.node}" in ${input.system} — it may be a leaf code. ` +
|
|
108
110
|
'Omit `node` to list the top level, or browse a parent category.'
|
|
109
|
-
:
|
|
111
|
+
: input.system === 'RXNORM' && !svc.hasRxNorm()
|
|
112
|
+
? 'RxNorm is not bundled in this release — the drug-crosswalk layer (RXCUI, NDC, ingredients, brands) lands in a later release.'
|
|
113
|
+
: `${input.system} has no top-level entries to browse in this release.`);
|
|
110
114
|
}
|
|
111
115
|
ctx.log.info('Browsed hierarchy', { node: input.node ?? null, count: result.codes.length });
|
|
112
116
|
return { kind: 'codes', codes: result.codes, axes: [] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse-hierarchy.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-hierarchy.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"browse-hierarchy.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-hierarchy.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,8 +39,8 @@ export declare const mapCodesTool: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
39
39
|
}, z.core.$strip>, readonly [{
|
|
40
40
|
readonly reason: "no_mapping";
|
|
41
41
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
42
|
-
readonly when: "The source
|
|
43
|
-
readonly recovery: "
|
|
42
|
+
readonly when: "The source value did not resolve to any bundled code.";
|
|
43
|
+
readonly recovery: "Check the code, or decode it with medcode_get_code first. A resolvable code with no edge in the requested direction returns an empty result with a notice, not this error.";
|
|
44
44
|
}, {
|
|
45
45
|
readonly reason: "direction_unavailable";
|
|
46
46
|
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
@@ -51,5 +51,7 @@ export declare const mapCodesTool: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
51
51
|
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
52
52
|
readonly when: "The source code is present in more than one system and no `system` was given.";
|
|
53
53
|
readonly recovery: "Re-call with an explicit `system` to disambiguate.";
|
|
54
|
-
}],
|
|
54
|
+
}], {
|
|
55
|
+
readonly notice: z.ZodOptional<z.ZodString>;
|
|
56
|
+
}>;
|
|
55
57
|
//# sourceMappingURL=map-codes.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-codes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/map-codes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"map-codes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/map-codes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkBjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6KvB,CAAC"}
|
|
@@ -21,19 +21,9 @@ const DIRECTIONS = [
|
|
|
21
21
|
'rxcui_to_ingredients',
|
|
22
22
|
'rxcui_to_brands',
|
|
23
23
|
];
|
|
24
|
-
/**
|
|
25
|
-
* Direction-specific example for the `no_mapping` "resolved but has no <dir>"
|
|
26
|
-
* message. Only `parents` and `children` reach that branch — the drug directions
|
|
27
|
-
* resolve to `source_not_found`, never ok-with-empty-hits — so a direction with
|
|
28
|
-
* no entry here simply omits the parenthetical rather than asserting a wrong one.
|
|
29
|
-
*/
|
|
30
|
-
const NO_EDGE_EXAMPLE = {
|
|
31
|
-
parents: 'a top-level code has no parent',
|
|
32
|
-
children: 'a leaf code has no children',
|
|
33
|
-
};
|
|
34
24
|
export const mapCodesTool = tool('medcode_map_codes', {
|
|
35
25
|
title: 'medical-codes-mcp-server',
|
|
36
|
-
description: "Crosswalk a US medical code or drug across systems and within a hierarchy. Hierarchy directions (available now): `parents` and `children` walk a code's prefix hierarchy (ICD-10-CM/HCPCS; ICD-10-PCS codes have no prefix parent). Drug directions (RxNorm): `name_to_rxcui`, `ndc_to_rxcui`, `rxcui_to_ndc`, `rxcui_to_ingredients`, `rxcui_to_brands` — these return an error until RxNorm is bundled in a later release. Every result carries `source` provenance (which system or edge answered) so a chained call (e.g. into openfda with a resolved NDC) uses the right identifier.",
|
|
26
|
+
description: "Crosswalk a US medical code or drug across systems and within a hierarchy. Hierarchy directions (available now): `parents` and `children` walk a code's prefix hierarchy one level per call — immediate parent/children only (depth-1); call iteratively for the full ancestor or descendant path (ICD-10-CM/HCPCS; ICD-10-PCS codes have no prefix parent). A resolvable code with no edge in the requested direction is a successful empty result with a notice, not an error. Drug directions (RxNorm): `name_to_rxcui`, `ndc_to_rxcui`, `rxcui_to_ndc`, `rxcui_to_ingredients`, `rxcui_to_brands` — these return an error until RxNorm is bundled in a later release. Every result carries `source` provenance (which system or edge answered) so a chained call (e.g. into openfda with a resolved NDC) uses the right identifier.",
|
|
37
27
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
|
|
38
28
|
sourceUrl: SOURCE_URL,
|
|
39
29
|
input: z.object({
|
|
@@ -43,7 +33,7 @@ export const mapCodesTool = tool('medcode_map_codes', {
|
|
|
43
33
|
.describe('The source value: a code (for parents/children), a drug name, an NDC, or an RXCUI.'),
|
|
44
34
|
direction: z
|
|
45
35
|
.enum(DIRECTIONS)
|
|
46
|
-
.describe('What to map to. parents/children
|
|
36
|
+
.describe('What to map to. parents/children return the immediate parent or children only (depth-1) — call iteratively to walk a full path; the rxcui/ndc/name directions are RxNorm drug crosswalks (phase 2).'),
|
|
47
37
|
system: z
|
|
48
38
|
.enum(SYSTEM_IDS)
|
|
49
39
|
.optional()
|
|
@@ -75,12 +65,18 @@ export const mapCodesTool = tool('medcode_map_codes', {
|
|
|
75
65
|
.describe('One crosswalk result tagged with the edge that produced it.'))
|
|
76
66
|
.describe('Crosswalk results, each tagged with the edge that produced it.'),
|
|
77
67
|
}),
|
|
68
|
+
enrichment: {
|
|
69
|
+
notice: z
|
|
70
|
+
.string()
|
|
71
|
+
.optional()
|
|
72
|
+
.describe('Guidance when a resolvable code has no edge in the requested direction (e.g. a top-level code has no parent; a leaf has no children; ICD-10-PCS codes have no prefix parent).'),
|
|
73
|
+
},
|
|
78
74
|
errors: [
|
|
79
75
|
{
|
|
80
76
|
reason: 'no_mapping',
|
|
81
77
|
code: JsonRpcErrorCode.NotFound,
|
|
82
|
-
when: 'The source
|
|
83
|
-
recovery: '
|
|
78
|
+
when: 'The source value did not resolve to any bundled code.',
|
|
79
|
+
recovery: 'Check the code, or decode it with medcode_get_code first. A resolvable code with no edge in the requested direction returns an empty result with a notice, not this error.',
|
|
84
80
|
},
|
|
85
81
|
{
|
|
86
82
|
reason: 'direction_unavailable',
|
|
@@ -105,11 +101,31 @@ export const mapCodesTool = tool('medcode_map_codes', {
|
|
|
105
101
|
throw ctx.fail('ambiguous_system', `"${input.from.trim()}" exists in multiple systems: ${result.systems.join(', ')}.`, { candidateSystems: result.systems, ...ctx.recoveryFor('ambiguous_system') });
|
|
106
102
|
}
|
|
107
103
|
if (result.kind === 'source_not_found') {
|
|
108
|
-
throw ctx.fail('no_mapping', `No
|
|
104
|
+
throw ctx.fail('no_mapping', `No bundled code matches "${input.from.trim()}".`, {
|
|
105
|
+
...ctx.recoveryFor('no_mapping'),
|
|
106
|
+
});
|
|
109
107
|
}
|
|
110
108
|
if (result.hits.length === 0) {
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
// Resolved, but no edge in this direction — a successful empty result with a
|
|
110
|
+
// notice, consistent with search_codes / browse_hierarchy. Only `parents` and
|
|
111
|
+
// `children` reach this branch (drug directions return source_not_found).
|
|
112
|
+
const reason = input.direction === 'children'
|
|
113
|
+
? 'it is a leaf code with no children'
|
|
114
|
+
: result.resolvedSystem === 'ICD10PCS'
|
|
115
|
+
? 'ICD-10-PCS codes are axis-based and have no prefix parent'
|
|
116
|
+
: 'it is a top-level code with no parent';
|
|
117
|
+
ctx.enrich.notice(`"${input.from.trim()}" resolved in ${result.resolvedSystem} but has no ${input.direction} — ${reason}. Decode it with medcode_get_code, or map the opposite direction.`);
|
|
118
|
+
ctx.log.info('Mapped code (no edge)', {
|
|
119
|
+
from: input.from,
|
|
120
|
+
direction: input.direction,
|
|
121
|
+
resolvedSystem: result.resolvedSystem,
|
|
122
|
+
});
|
|
123
|
+
return {
|
|
124
|
+
from: input.from.trim(),
|
|
125
|
+
direction: input.direction,
|
|
126
|
+
resolvedSystem: result.resolvedSystem,
|
|
127
|
+
hits: [],
|
|
128
|
+
};
|
|
113
129
|
}
|
|
114
130
|
ctx.log.info('Mapped code', {
|
|
115
131
|
from: input.from,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-codes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/map-codes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAqB,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE/E,MAAM,UAAU,GACd,oHAAoH,CAAC;AAEvH,MAAM,UAAU,GAAG;IACjB,SAAS;IACT,UAAU;IACV,eAAe;IACf,cAAc;IACd,cAAc;IACd,sBAAsB;IACtB,iBAAiB;CACyB,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"map-codes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/map-codes.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-index-service.d.ts","sourceRoot":"","sources":["../../../src/services/code-index/code-index-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"code-index-service.d.ts","sourceRoot":"","sources":["../../../src/services/code-index/code-index-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -218,15 +218,23 @@ export class CodeIndexService {
|
|
|
218
218
|
if (present.length === 0) {
|
|
219
219
|
// Echo a best-guess system for the caller's orientation, if shape suggests one.
|
|
220
220
|
const detected = system ?? detectSystems(rawCode)[0];
|
|
221
|
+
// A bare integer matches only the RXCUI shape, but RxNorm is not bundled yet
|
|
222
|
+
// (phase 2). "No RXNORM code matches X" would imply we searched a populated
|
|
223
|
+
// table; instead name it as unbundled and flag the likely CPT / HCPCS Level I
|
|
224
|
+
// origin. Gating on hasRxNorm() lets the message auto-correct to a genuine
|
|
225
|
+
// per-concept not-found once RxNorm lands.
|
|
226
|
+
const whyNot = detected === 'RXNORM' && !this.hasRxNorm()
|
|
227
|
+
? `"${rawCode.trim()}" looks like an RxNorm RXCUI or a CPT / HCPCS Level I code. RxNorm is not bundled in this release, and CPT / HCPCS Level I are out of scope — this server bundles ICD-10-CM, ICD-10-PCS, and HCPCS Level II.`
|
|
228
|
+
: detected
|
|
229
|
+
? `No ${detected} code matches "${rawCode.trim()}" in the bundled release.`
|
|
230
|
+
: `"${rawCode.trim()}" does not match the shape of any bundled code system.`;
|
|
221
231
|
return {
|
|
222
232
|
kind: 'resolved',
|
|
223
233
|
result: {
|
|
224
234
|
system: detected ?? 'ICD10CM',
|
|
225
235
|
code: rawCode.trim().toUpperCase(),
|
|
226
236
|
status: 'unknown',
|
|
227
|
-
whyNot
|
|
228
|
-
? `No ${detected} code matches "${rawCode.trim()}" in the bundled release.`
|
|
229
|
-
: `"${rawCode.trim()}" does not match the shape of any bundled code system.`,
|
|
237
|
+
whyNot,
|
|
230
238
|
},
|
|
231
239
|
};
|
|
232
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-index-service.js","sourceRoot":"","sources":["../../../src/services/code-index/code-index-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-index-service.js","sourceRoot":"","sources":["../../../src/services/code-index/code-index-service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE1F,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAIL,eAAe,EAIf,UAAU,GAEX,MAAM,YAAY,CAAC;AAuBpB;;;;;;GAMG;AACH,KAAK,UAAU,UAAU,CAAC,MAAc;IACtC,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,YAAY,CAAC;QAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAE7C,CAAC;QACF,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,cAAc,GAAG,gBAAgB,CAAC;IACxC,IAAI,GAA8D,CAAC;IACnE,IAAI,CAAC;QACH,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAe,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,aAAa,CACjB,oNAAoN,EACpN,EAAE,MAAM,EAAE,EACV,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;AACtE,CAAC;AAuCD,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEhD;;;;GAIG;AACH,SAAS,aAAa;IACpB,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC;IAC5C,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,kFAAkF;IAClF,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAER;IACR;IAFX,YACmB,EAAY,EACpB,MAAc;QADN,OAAE,GAAF,EAAE,CAAU;QACpB,WAAM,GAAN,MAAM,CAAQ;IACtB,CAAC;IAEJ;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI;QACf,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,MAAM,aAAa,CACjB,mCAAmC,MAAM,oIAAoI,EAC7K,EAAE,MAAM,EAAE,CACX,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAmB,CAAC;QACrF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,aAAa,CACjB,yBAAyB,MAAM,6DAA6D,EAC5F,EAAE,MAAM,EAAE,CACX,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,qBAAqB,CAAC,oBAAoB,CAAC;YACzC,SAAS,EAAE,eAAe;YAC1B,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,CAAC;SAChB,CAAC,CACH,CAAC;QACF,OAAO,IAAI,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,uEAAuE;IAC/D,MAAM,CAAC,SAAS,CAAC,GAA4B;QACnD,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAkB;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAc;YACxB,SAAS,EAAG,GAAG,CAAC,UAA4B,IAAI,IAAI;YACpD,QAAQ,EAAG,GAAG,CAAC,SAA2B,IAAI,IAAI;YAClD,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAC/B,OAAO,EAAG,GAAG,CAAC,OAAyB,IAAI,IAAI;YAC/C,MAAM,EAAG,GAAG,CAAC,MAAwB,IAAI,IAAI;YAC7C,SAAS,EAAG,GAAG,CAAC,SAA2B,IAAI,IAAI;YACnD,UAAU,EAAG,GAAG,CAAC,UAA4B,IAAI,IAAI;SACtD,CAAC;IACJ,CAAC;IAED,6DAA6D;IACrD,MAAM,CAAC,MAAM,CAAC,GAAY;QAChC,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;YACvC,gBAAgB,EAAE,GAAG,CAAC,SAAS;YAC/B,WAAW,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS;YAC1C,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC;YAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,YAAY,CAAC,OAAe;QAC1B,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,kEAAkE;IAC1D,MAAM,CAAC,IAAY,EAAE,MAAgB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,KAAK,CAAC,mDAAmD,CAAC;aAC1D,GAAG,CAAC,MAAM,EAAE,IAAI,CAAwC,CAAC;QAC5D,OAAO,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,OAAe,EAAE,QAAmB;QACzD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,SAAS,CACP,OAAe,EACf,MAAiB;QAKjB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED,yEAAyE;IACzE,UAAU,CAAC,MAAgB,EAAE,UAAkB;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,KAAK,CAAC,2EAA2E,CAAC;aAClF,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,UAAU,CAA8B,CAAC;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,wDAAwD;IACxD,sBAAsB,CAAC,GAAY;QACjC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;YACrE,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,CACP,SAAiB,EACjB,OAAuF;QAEvF,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,MAAM,KAAK,GAAa,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAc,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,KAAK,CACJ;;iBAES,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;0CACM,CACnC;aACA,GAAG,CAAC,GAAG,MAAM,CAA8B,CAAC;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACP,OAAe,EACf,MAAiB;QAEjB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAEvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,gFAAgF;YAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,6EAA6E;YAC7E,4EAA4E;YAC5E,8EAA8E;YAC9E,2EAA2E;YAC3E,2CAA2C;YAC3C,MAAM,MAAM,GACV,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACxC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,8MAA8M;gBAClO,CAAC,CAAC,QAAQ;oBACR,CAAC,CAAC,MAAM,QAAQ,kBAAkB,OAAO,CAAC,IAAI,EAAE,2BAA2B;oBAC3E,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,wDAAwD,CAAC;YACnF,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ,IAAI,SAAS;oBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;oBAClC,MAAM,EAAE,SAAS;oBACjB,MAAM;iBACP;aACF,CAAC;QACJ,CAAC;QAED,8EAA8E;QAC9E,mEAAmE;QACnE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,IAAI,CAAC,GAAG;YACN,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;QAC7F,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE;oBACN,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,6BAA6B,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,uCAAuC;iBACvG;aACF,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE;oBACN,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,cAAc;oBACtB,MAAM,EACJ,sFAAsF;iBACzF;aACF,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE;aACxE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE;gBACN,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,oBAAoB;gBAC5B,MAAM,EACJ,uHAAuH;aAC1H;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,OAAO,CACL,IAAY,EACZ,SAAuB,EACvB,MAAiB;QAKjB,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YACvE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;YAE9C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACxC,OAAO;oBACL,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,GAAG;oBACnB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrB,MAAM,EAAE,GAAG;wBACX,MAAM,EAAE,GAAG;wBACX,KAAK,EAAE,CAAC,CAAC,IAAI;wBACb,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzD,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YACD,sEAAsE;YACtE,MAAM,aAAa,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC3E,IAAI,CAAC,aAAa;gBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACrE,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC;YAC7D,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,cAAc,EAAE,GAAG;gBACnB,IAAI,EAAE;oBACJ;wBACE,MAAM,EAAE,GAAG;wBACX,MAAM,EAAE,GAAG;wBACX,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC;wBACvC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACnD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,wEAAwE;QACxE,8DAA8D;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,0EAA0E;IAC1E,SAAS;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAmB,CAAC;QACzF,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,mCAAmC;IAC3B,OAAO,CACb,IAAY,EACZ,SAAuB;QAIvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,mEAAmE;gBACnE,yEAAyE;gBACzE,uEAAuE;gBACvE,2BAA2B;gBAC3B,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;qBACjB,KAAK,CACJ;;2CAE+B,CAChC;qBACA,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,UAAU,CAA8B,CAAC;gBAC9E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBAC3D,OAAO;oBACL,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,QAAQ;oBACxB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrB,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,QAAiB;wBACzB,KAAK,EAAE,CAAC,CAAC,IAAc;wBACvB,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU;4BAC7B,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,CAAW,EAAE;4BAC1D,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,GAAG,CAE1E,CAAC;gBACJ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBAC3D,OAAO;oBACL,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,QAAQ;oBACxB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;iBACtF,CAAC;YACJ,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,KAAK,CAE5E,CAAC;gBACJ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBAC3D,OAAO;oBACL,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,QAAQ;oBACxB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;iBACvE,CAAC;YACJ,CAAC;YACD,KAAK,sBAAsB,CAAC;YAC5B,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,GAAG,GAAG,SAAS,KAAK,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;gBACtF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;qBACjB,KAAK,CAAC,6EAA6E,CAAC;qBACpF,GAAG,CAAC,KAAK,EAAE,GAAG,CAAmB,CAAC;gBACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBAC3D,OAAO;oBACL,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,QAAQ;oBACxB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrB,MAAM,EAAE,CAAC,CAAC,GAAG;wBACb,MAAM,EAAE,QAAiB;wBACzB,KAAK,EAAE,CAAC,CAAC,MAAM;wBACf,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACvD,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YACD;gBACE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,MAAM,CAAC,eAAe,CAAC,SAAuB;QAC5C,OAAO,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CACJ,MAAgB,EAChB,IAAwB,EACxB,KAAa;QAKb,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,wEAAwE;YACxE,2EAA2E;YAC3E,qBAAqB;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;iBACjB,KAAK,CAAC,+EAA+E,CAAC;iBACtF,GAAG,CAAC,MAAM,EAAE,KAAK,CAA8B,CAAC;YACnD,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/E,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;IACjE,CAAC;IAED;;;;;;;OAOG;IACK,SAAS,CACf,IAAwB,EACxB,KAAa;QAEb,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,kCAAkC;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,KAAK,CACJ,yFAAyF,CAC1F;aACA,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAiB,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,2CAA2C;IAC3C,WAAW;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,GAAG,EAGvE,CAAC;QACJ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,MAAM,EAAE,CAAC,CAAC,MAAkB;YAC5B,SAAS,EAAE,CAAC,CAAC,UAAoB;YACjC,cAAc,EAAG,CAAC,CAAC,eAAiC,IAAI,IAAI;YAC5D,YAAY,EAAG,CAAC,CAAC,aAA+B,IAAI,IAAI;YACxD,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;YACpC,SAAS,EAAG,CAAC,CAAC,UAA4B,IAAI,IAAI;YAClD,OAAO,EAAE,CAAC,CAAC,QAAkB;SAC9B,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,0EAA0E;IAC1E,MAAM,CAAC,OAAO,CAAC,GAAY;QACzB,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,MAAM,GAAG,IAAI;SAChB,WAAW,EAAE;SACb,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;SAC1B,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,6EAA6E;IAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC3E,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,+EAA+E;AAE/E,IAAI,QAAsC,CAAC;AAE3C,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/medical-codes-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Decode, search, validate, and crosswalk US medical codes — ICD-10-CM, ICD-10-PCS, HCPCS Level II — over a bundled offline index via MCP. STDIO or Streamable HTTP.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@biomejs/biome": "2.5.0",
|
|
84
84
|
"@types/better-sqlite3": "^7.6.13",
|
|
85
|
-
"@types/node": "
|
|
85
|
+
"@types/node": "^26.0.0",
|
|
86
86
|
"depcheck": "^1.4.7",
|
|
87
87
|
"ignore": "^7.0.5",
|
|
88
88
|
"tsc-alias": "^1.8.17",
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/medical-codes-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.4",
|
|
10
10
|
"remotes": [
|
|
11
11
|
{
|
|
12
12
|
"type": "streamable-http",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
20
20
|
"identifier": "@cyanheads/medical-codes-mcp-server",
|
|
21
21
|
"runtimeHint": "node",
|
|
22
|
-
"version": "0.1.
|
|
22
|
+
"version": "0.1.4",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{
|
|
25
25
|
"type": "positional",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
62
62
|
"identifier": "@cyanheads/medical-codes-mcp-server",
|
|
63
63
|
"runtimeHint": "node",
|
|
64
|
-
"version": "0.1.
|
|
64
|
+
"version": "0.1.4",
|
|
65
65
|
"packageArguments": [
|
|
66
66
|
{
|
|
67
67
|
"type": "positional",
|