medical-codes-guide

medical-codes-guide is a skill for Claude Code, Codex from cyanheads/medical-codes-mcp-server. It costs 108 tokens per session (2,546 once invoked), scanned A, original, Apache-2.0.

Judgment for the medcode tools (ICD-10-CM, ICD-10-PCS, HCPCS Level II, RxNorm, RxClass). Use when validating claim codes, decoding codes of unknown system, finding a code from a clinical description, replacing a retired code, or chaining a drug name to products, NDCs, and drug classes. Covers what the server cannot…

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Install with agentmods
npx agentmods add skills/cyanheads/medical-codes-mcp-server/medical-codes-guide
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add cyanheads/medical-codes-mcp-server --skill medical-codes-guide
Clone the repo
git clone --depth 1 https://github.com/cyanheads/medical-codes-mcp-server

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for medical-codes-guide

README.md
[![agentmods](https://agentmods.dev/badge/skills/cyanheads/medical-codes-mcp-server/medical-codes-guide/github.svg)](https://agentmods.dev/skills/cyanheads/medical-codes-mcp-server/medical-codes-guide)
Your own site
<a href="https://agentmods.dev/skills/cyanheads/medical-codes-mcp-server/medical-codes-guide"><img src="https://agentmods.dev/badge/skills/cyanheads/medical-codes-mcp-server/medical-codes-guide/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for medical-codes-guide

Your own site · 80×15
<a href="https://agentmods.dev/skills/cyanheads/medical-codes-mcp-server/medical-codes-guide"><img src="https://agentmods.dev/badge/skills/cyanheads/medical-codes-mcp-server/medical-codes-guide.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 108 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,546 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin unknown No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00108 $0.02546
Opus 5.5 $0.00043 $0.01018
Sonnet 5.5 $0.00022 $0.00509
Haiku 4.5 $0.00011 $0.00255

Measured today against content hash f537c53c4435, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

medical-codes-guide scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/medical-codes-guide/SKILL.md · 84 lines

How it starts

The opening of the file, as written. The whole thing — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Scope

Offline and keyless. Each system carries exactly one release: the current ICD-10-CM and ICD-10-PCS fiscal year, the current HCPCS Level II quarter, and the current RxNorm normalized set, with an RxClass layer over it. medcode_list_systems names each release and its effective window.

Not here, so say so instead of searching for a stand-in:

  • CPT / HCPCS Level I (five-digit numeric codes such as 99213). A medcode_get_code or medcode_check_code miss names them out of scope; a search simply finds nothing. Never offer a HCPCS Level II or ICD-10-PCS code as "the CPT equivalent".
  • SNOMED CT, LOINC, ICD-9-CM, ICD-11, the WHO ICD-10 base, MS-DRG, and ATC drug classes.
  • Prior releases and successor links. No tool maps an old code to its replacement, a diagnosis to a procedure or HCPCS code, or an NDC to a HCPCS drug code.
  • Coding rules and payment. Records carry descriptions, billability, and hierarchy only. They carry no Excludes1/Excludes2 or code-first notes, no sequencing rules, no coverage policy (NCD/LCD), and no pricing.
  • Drug labels and safety data. Take the NDC or drug name to the openfda server.

Identifiers

Identifier Example Where it comes from
ICD-10-CM code E11.9, T36.0X1A medcode_search_codes, medcode_browse_hierarchy, medcode_map_codes children
ICD-10-PCS code 0DTJ4ZZ medcode_search_codes only; browsing stops at the 17 sections
HCPCS Level II code J9271 medcode_search_codes, medcode_browse_hierarchy
RXCUI 6809 (ingredient), 861007 (product) medcode_map_codes name_to_rxcui, medcode_search_codes in RXNORM, or an NDC decoded by medcode_get_code
NDC 00093104801 medcode_map_codes rxcui_to_ndc (11 digits, no hyphens), or the package label (0093-1048-01)
RxClass class ID N0000000181, D006973, CV800, SCHEDULE2 medcode_map_codes rxcui_to_classes only; there is no class-name search

Gates

  1. Choose the system from where the code came from, not from its shape. A diagnosis field is ICD-10-CM, an inpatient procedure field ICD-10-PCS, and a supply, drug, or service line HCPCS. An undotted letter plus four digits can be both an ICD-10-CM code and a HCPCS code: A0100 and J0120 come back ambiguous between ICD10CM and HCPCS, while the dotted A01.00 resolves to ICD-10-CM. When the context tells you the system, pass it.
  2. A verdict holds for today and the bundled release only. medcode_check_code takes no date of service. Before validating a claim, compare its date of service with the effective windows from medcode_list_systems. When it falls outside them, report that this server cannot validate it rather than passing on today's verdict.
  3. valid_billable means reportable, not correct or payable. It says the code is a complete leaf in this release. Never claim that a code pair, sequence, or claim passes coding edits or coverage on the strength of it.
  4. A header is where the search starts. For valid_header or valid_not_billable, the billable code sits below. Children come one level per call, and ICD-10-CM chains run through placeholder and 7th-character levels (T36.0X → T36.0X1 → T36.0X1A), so keep walking until billable is true. Never pad a code with X or a 7th character yourself; take the child the tool returns.
  5. Treat an empty class result as unknown, not as a negative finding. Class coverage is uneven across types. Lisinopril has no EPC class here, but it has the MOA class "Angiotensin-converting Enzyme Inhibitors" (N0000000181), and its products carry VA class CV800 "ACE INHIBITORS". Check the other class types before saying a drug lacks a pharmacology.
  6. DISEASE classes are MeSH descriptors, not diagnosis codes. D006973 is MeSH "Hypertension". To get the ICD-10-CM code for a disease a drug may treat, search the disease name with medcode_search_codes.

Read the full file on GitHub · 84 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 84 lines · 108 tokens per session scan A f537c53c4435

Subscribe to this mod's changes

medical-codes-guide is a skill published in the GitHub repository cyanheads/medical-codes-mcp-server (2 stars, last pushed today), licensed Apache-2.0. It adds 108 tokens to every session and 2,546 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-28.

Related

Other skills, from other repositories

annotating-variants

Annotates VCF variants and normalizes HGVS nomenclature with public, license-free annotators (Ensembl VEP REST, VEP/SnpEff/ANNOVAR offline) and links variants to gnomAD population frequencies and the clinical context OpenMed extracts. Use when the user wants to predict variant consequences, map HGVS to genomic…

maziyarpanahi/openmed · 179 tokens

assembling-fhir-bundles

Package multiple FHIR R4 resources produced from OpenMed output into a single valid transaction Bundle ready to POST to an EHR, using OpenMed's verified bundle assembler openmed.clinical.exporters.fhir.tobundle. Covers deterministic urn:uuid fullUrls, automatic in-Bundle reference rewriting, request blocks…

maziyarpanahi/openmed · 131 tokens

auditing-part11-trails

Generates and verifies 21 CFR Part 11-style audit trails — who/what/when, electronic signatures, and tamper-evidence — for OpenMed pipelines in GxP and clinical-trial (GCP) settings. Use when the user runs OpenMed in a regulated/validated environment and needs an attributable, time-stamped, tamper-evident record of…

maziyarpanahi/openmed · 222 tokens

batch-processing-clinical-text

Run large-scale batch NER, PII extraction, or de-identification over many clinical notes on-device with OpenMed, with sharding, checkpointing, resumability, and append-only JSONL output. Use when the user needs to process a corpus or folder of notes, de-identify a dataset, run NER over thousands of documents, build a…

maziyarpanahi/openmed · 161 tokens

coding-hcc-risk-adjustment

Maps chronic conditions extracted by OpenMed to CMS-HCC V28 risk-adjustment categories and estimates a RAF (Risk Adjustment Factor) score as decision support. Use when the user wants to surface risk-adjustable diagnoses from notes, map ICD-10-CM codes to HCC categories, estimate or reconcile a patient/panel RAF, find…

maziyarpanahi/openmed · 200 tokens

detecting-pv-signals

Computes disproportionality signals — PRR, ROR, EBGM, and IC (BCPNN) — over FAERS / OpenFDA drug-event data to flag potential safety signals. Use when the user wants to mine spontaneous-report data for drug-reaction associations, build a 2x2 contingency table, compute a Proportional Reporting Ratio or Reporting Odds…

maziyarpanahi/openmed · 218 tokens