icdwise

Verified ICD-10-CM code lookup & validation for AI agents.

Ask an LLM what an ICD-10 code means and it answers confidently — and often wrongly: wrong laterality, wrong severity, wrong condition, and it will invent a description for a code that doesn't exist. icdwise looks the code up in the official U.S. code set and returns the real description, or an honest "not found". "Qiniso" means "truth" in Zulu.

Why it exists

ICD-10-CM has ~74,000 highly specific codes — the exact wording encodes laterality, severity, and encounter type, and the set changes every year. That is precisely the kind of large, exact, shifting reference data a language model cannot recall reliably; it pattern-matches a plausible description and states it with full confidence. For coding, billing, or clinical documentation, a silently wrong description is a real problem.

~38%of real ICD-10-CM codes a frontier LLM described wrong, cold — and it fabricated descriptions for codes that don't exist. icdwise: 0%.
~74kofficial codes (NCHS/CMS), with the official description for each.
0guesses — unknown codes return an honest "not found", never an invented description.
CodeLLM said (cold)Official (icdwise)
H40.1131"severe stage, right eye"Primary open-angle glaucoma, bilateral, mild stage
T63.011A"ingested mushrooms"Toxic effect of rattlesnake venom, accidental, initial encounter
S52.521A"displaced shaft, left arm"Torus fracture of lower end of right radius, initial encounter
J45.999 (fake)"Other asthma"not a valid code

Method: real ICD-10-CM codes (common → obscure) plus well-formed fakes, asked of a frontier model with no tools, scored against the official descriptions (NIH Clinical Tables / CMS). ~38% of real codes wrong, plus fabrication on fakes and a false rejection of a real code. icdwise returns the official text by lookup, so it is correct by construction; reproduce it with the harness in the repo (bench/).

Tools

lookup_icd10

The official description of a code, plus its canonical dotted form and 3-char category. Accepts E11.9 or E119.

validate_icd10

Is this a real code? Well-formed and present in the official set — catches fabricated or retired codes.

search_icd10

Reverse lookup: find the code(s) for a condition by keywords, e.g. "generalized anxiety".

Use it

As a library:

npm i icdwise

import { lookupIcd10, validateIcd10, searchIcd10 } from "icdwise";

lookupIcd10("E11.9").description;    // "Type 2 diabetes mellitus without complications"
validateIcd10("E11.99").valid;       // false — well-formed but not a real code
searchIcd10("generalized anxiety");  // → [{ code: "F41.1", ... }]

Add it to Claude

Settings → Connectors → Add custom connector, and paste — hosted on the edge, no login, no key:

https://icdwise.qinisolabs.workers.dev/mcp

Or run it locally

Add this under mcpServers in your client config and restart:

{
  "mcpServers": {
    "icdwise": { "command": "npx", "args": ["-y", "icdwise"] }
  }
}

What it is not

icdwise looks up and validates codes against the official ICD-10-CM (U.S. Clinical Modification) set. It is not medical advice, not a determination of billability or coverage, and not ICD-10 (WHO) or ICD-11. Unknown codes return an honest "not found" — never a fabricated description.