Dashboard

ICD-10 Search API

Search CMS ICD-10-CM (diagnosis) and ICD-10-PCS (procedure) codes.

Endpoint

GET /v1/icd10/search

Quick Start

Node.js
import { Fhirfly } from "@fhirfly-io/terminology";

const client = new Fhirfly({ apiKey: "YOUR_API_KEY" });

// Search for diabetes diagnosis codes
const results = await client.icd10.search({
  q: "diabetes",
  code_system: "CM"
});

console.log(`Found ${results.total} codes`);
for (const item of results.items) {
  console.log(`${item.code}: ${item.display}`);
}

Parameters

At least one text search parameter is required.

ParameterDescriptionExample
qGeneral text searchq=diabetes

Filters

ParameterTypeDescriptionExample
code_systemenumCM (diagnosis) or PCS (procedure)CM
statusstringCode statusACTIVE
chapterstringICD-10 chapter number4
blockstringCode blockE08-E13
billablebooleanBillable codes onlytrue

ICD-10-PCS Specific Filters

ParameterTypeDescriptionExample
sectionstringPCS sectionMedical and Surgical
body_systemstringBody systemCentral Nervous System
root_operationstringRoot operationExcision
approachstringApproachOpen

Pagination & Response

ParameterDefaultMaxDescription
limit20100Results per page
page1100Page number
shapecompactcompact, standard, full

Example Response

{
  "facets": {
    "billable": {
      "false": 100,
      "true": 286
    },
    "chapter": {
      "4": 323,
      "14": 1,
      "15": 57
    },
    "code_system": {
      "ICD-10-CM": 386
    }
  },
  "has_more": true,
  "items": [
    {
      "billable": false,
      "code": "E13",
      "code_system": "ICD-10-CM",
      "display": "Other specified diabetes mellitus"
    },
    {
      "billable": false,
      "code": "E10",
      "code_system": "ICD-10-CM",
      "display": "Type 1 diabetes mellitus"
    }
  ],
  "limit": 2,
  "meta": {
    "legal": {
      "attribution_required": false,
      "citation": "ICD-10-CM/PCS, CMS. Accessed 2026-01-28 via FHIRfly API.",
      "license": "public_domain",
      "source_name": "CMS ICD-10-CM/PCS"
    }
  },
  "page": 1,
  "total": 386,
  "total_capped": false
}

Use Cases

Find Billable Diagnosis Codes

Node.js
const results = await client.icd10.search({
  q: "hypertension",
  code_system: "CM",
  billable: true
});

Search by Chapter

Node.js
// Chapter 4 = Endocrine, nutritional, metabolic diseases
const results = await client.icd10.search({
  q: "thyroid",
  code_system: "CM",
  chapter: "4"
});

Find Procedure Codes

Node.js
const results = await client.icd10.search({
  q: "appendectomy",
  code_system: "PCS"
});

Find Procedures by Body System

Node.js
const results = await client.icd10.search({
  q: "excision",
  code_system: "PCS",
  body_system: "Gastrointestinal System",
  approach: "Open"
});

ICD-10-CM Chapters

ChapterDescription
1Infectious and parasitic diseases
2Neoplasms
3Blood and immune disorders
4Endocrine, nutritional, metabolic
5Mental and behavioral disorders
6Nervous system
7Eye and adnexa
8Ear and mastoid process
9Circulatory system
10Respiratory system
11Digestive system
12Skin and subcutaneous tissue
13Musculoskeletal system
14Genitourinary system
15Pregnancy and childbirth
16Perinatal conditions
17Congenital anomalies
18Symptoms and signs
19Injury and poisoning
20External causes
21Health status factors

Facets

ICD-10 search returns these facets:

FacetDescription
billableDistribution by billable status
chapterDistribution by chapter
code_systemDistribution by CM vs PCS

Valid Values

Code Systems

  • CM — ICD-10-CM (Clinical Modification) for diagnoses
  • PCS — ICD-10-PCS (Procedure Coding System) for procedures

Required Scope

icd10.search

See Also