# NLM Clinical Tables code search

Autocomplete-style search over public clinical code lists: ICD-10-CM diagnoses, HCPCS codes, RxTerms drug names, and NPI registry individuals and organizations. Needs table and terms. Served by National Library of Medicine.

Autocomplete-style search over public clinical code lists: ICD-10-CM diagnoses, HCPCS codes, RxTerms drug names, and NPI registry individuals and organizations. Returns [total, codes, extra fields, display rows]. For icd10cm set search_fields to 'code,name' to match names.

- Tool ID: `nlm/clinical-tables-search`
- Provider: [National Library of Medicine](/providers/nlm.md)
- Capability: [Knowledge & research](/tools/knowledge.md)
- Price: no charge per call
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

No charge per call. A workspace is still needed so your agent can call it.


```json
{
  "model": "per_call",
  "amountUsd": 0
}
```

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "table": {
      "type": "string",
      "enum": [
        "icd10cm",
        "hcpcs",
        "rxterms",
        "npi_idv",
        "npi_org"
      ],
      "description": "Code list to search, e.g. 'icd10cm'"
    },
    "terms": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Search words or code prefix, e.g. 'diabetes' or 'E11'"
    },
    "search_fields": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_.]+(,[A-Za-z0-9_.]+)*$",
      "maxLength": 200,
      "description": "Fields to search (sf), e.g. 'code,name' for icd10cm"
    },
    "extra_fields": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_.]+(,[A-Za-z0-9_.]+)*$",
      "maxLength": 300,
      "description": "Extra fields to return (ef), e.g. 'NPI,provider_type,addr_practice.phone' for npi_idv"
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 10,
      "description": "Results per page, e.g. 10"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 5000,
      "description": "Results to skip, e.g. 10"
    }
  },
  "required": [
    "table",
    "terms"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "nlm/clinical-tables-search",
  "input": {
    "table": "icd10cm",
    "terms": "diabetes",
    "search_fields": "code,name",
    "count": 5
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

Licence: NLM Clinical Table Search Service terms (free use); sources: CDC ICD-10-CM, CMS HCPCS and NPPES, NLM RxTerms.

Attribution: Clinical Table Search Service, Lister Hill National Center for Biomedical Communications, U.S. National Library of Medicine.

[Provider documentation](https://clinicaltables.nlm.nih.gov/)

[REST inspection](https://api.agentik.cc/v1/tools/nlm/clinical-tables-search) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/nlm/clinical-tables-search) · [Agent index](/llms.txt)
