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
Text Search
At least one text search parameter is required.
| Parameter | Description | Example |
|---|---|---|
q |
General text search | q=diabetes |
Filters
| Parameter | Type | Description | Example |
|---|---|---|---|
code_system |
enum | CM (diagnosis) or PCS (procedure) |
CM |
status |
string | Code status | ACTIVE |
chapter |
string | ICD-10 chapter number | 4 |
block |
string | Code block | E08-E13 |
billable |
boolean | Billable codes only | true |
ICD-10-PCS Specific Filters
| Parameter | Type | Description | Example |
|---|---|---|---|
section |
string | PCS section | Medical and Surgical |
body_system |
string | Body system | Central Nervous System |
root_operation |
string | Root operation | Excision |
approach |
string | Approach | Open |
Pagination & Response
| Parameter | Default | Max | Description |
|---|---|---|---|
limit |
20 | 100 | Results per page |
page |
1 | 100 | Page number |
shape |
compact | — | compact, 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
| Chapter | Description |
|---|---|
| 1 | Infectious and parasitic diseases |
| 2 | Neoplasms |
| 3 | Blood and immune disorders |
| 4 | Endocrine, nutritional, metabolic |
| 5 | Mental and behavioral disorders |
| 6 | Nervous system |
| 7 | Eye and adnexa |
| 8 | Ear and mastoid process |
| 9 | Circulatory system |
| 10 | Respiratory system |
| 11 | Digestive system |
| 12 | Skin and subcutaneous tissue |
| 13 | Musculoskeletal system |
| 14 | Genitourinary system |
| 15 | Pregnancy and childbirth |
| 16 | Perinatal conditions |
| 17 | Congenital anomalies |
| 18 | Symptoms and signs |
| 19 | Injury and poisoning |
| 20 | External causes |
| 21 | Health status factors |
Facets
ICD-10 search returns these facets:
| Facet | Description |
|---|---|
billable |
Distribution by billable status |
chapter |
Distribution by chapter |
code_system |
Distribution by CM vs PCS |
Valid Values
Code Systems
CM— ICD-10-CM (Clinical Modification) for diagnosesPCS— ICD-10-PCS (Procedure Coding System) for procedures
Required Scope
icd10.search
See Also
- ICD-10 Lookup API — Look up a specific ICD-10 code
- Search APIs Overview — Common search features