# Medicare Provider Search - NPI & CMS Directory (`lulzasaur/medicare-provider-scraper`) Actor

Search Medicare providers via NPPES NPI Registry and CMS data. Find doctors, nurses, therapists by name, NPI number, specialty, or location. Returns credentials, specialties, practice addresses, and phone.

- **URL**: https://apify.com/lulzasaur/medicare-provider-scraper.md
- **Developed by:** [lulz bot](https://apify.com/lulzasaur) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 33.3% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Medicare Provider Scraper

Search and retrieve detailed information on Medicare healthcare providers from the NPPES NPI Registry and CMS Provider Data. Find doctors, hospitals, clinics, and other providers by name, specialty, NPI number, or location across all 50 US states.

### Features

- **Search by multiple criteria** -- Find providers by name, specialty, location, NPI, or organization
- **NPI lookup** -- Get comprehensive details for any provider by their 10-digit NPI number
- **CMS data enrichment** -- Optionally enrich results with Medicare-specific data (medical school, telehealth, group practice info)
- **Dual data sources** -- Combines NPPES NPI Registry (primary) with CMS Provider Data (supplemental)
- **Wildcard search** -- Supports trailing wildcards for name searches (e.g., "Smi*")
- **Provider type filtering** -- Filter by Individual (NPI-1) or Organization (NPI-2)
- **Automatic pagination** -- Handles large result sets with rate-limited pagination
- **Deduplication** -- Automatically deduplicates providers across NPPES and CMS sources

### Input Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `mode` | string | `"search"` | `search` to find providers, `details` for NPI lookup |
| `searchQuery` | string | `""` | Provider name (parsed as first/last name automatically) |
| `npi` | string | `""` | 10-digit National Provider Identifier |
| `specialty` | string | `""` | Specialty or taxonomy (e.g., "Cardiology", "Family Medicine") |
| `firstName` | string | `""` | Provider first name (supports trailing wildcard) |
| `lastName` | string | `""` | Provider last name (supports trailing wildcard) |
| `organizationName` | string | `""` | Organization name (hospitals, clinics, group practices) |
| `city` | string | `""` | City to search in |
| `state` | string | `""` | Two-letter state code (e.g., "CA", "NY") |
| `zipCode` | string | `""` | 5-digit ZIP code |
| `enumerationType` | string | `""` | Provider type: `NPI-1` (Individual) or `NPI-2` (Organization) |
| `limit` | integer | `200` | Maximum results (0 for all, max 10000) |
| `enrichWithCMS` | boolean | `false` | Enrich results with CMS Provider Data (adds extra API calls) |

### Example Inputs

**Find cardiologists in New York:**
```json
{
  "mode": "search",
  "specialty": "Cardiology",
  "state": "NY",
  "city": "New York",
  "limit": 100
}
````

**Look up a specific provider by NPI:**

```json
{
  "mode": "details",
  "npi": "1234567890"
}
```

**Search for a provider by name with CMS enrichment:**

```json
{
  "mode": "search",
  "firstName": "John",
  "lastName": "Smith",
  "state": "CA",
  "enrichWithCMS": true,
  "limit": 50
}
```

**Find hospitals in a ZIP code:**

```json
{
  "mode": "search",
  "enumerationType": "NPI-2",
  "zipCode": "90210",
  "limit": 200
}
```

### Output Fields

| Field | Type | Description |
|-------|------|-------------|
| `npi` | string | 10-digit National Provider Identifier |
| `providerName` | string | Full provider name |
| `credential` | string | Credentials (MD, DO, RN, etc.) |
| `providerType` | string | "Individual" or "Organization" |
| `enumerationType` | string | NPI-1 or NPI-2 |
| `gender` | string | Male, Female, or null |
| `primarySpecialty` | string | Primary taxonomy description |
| `primaryTaxonomyCode` | string | Primary taxonomy code |
| `allSpecialties` | array | All specialties with codes, licenses, and state |
| `practiceAddress` | string | Practice location address |
| `city` | string | Practice city |
| `state` | string | Practice state |
| `zipCode` | string | 5-digit ZIP code |
| `phone` | string | Practice phone number |
| `fax` | string | Fax number |
| `organizationName` | string | Organization name (for group/hospital) |
| `authorizedOfficial` | string | Authorized official name (organizations) |
| `firstName` | string | Individual first name |
| `lastName` | string | Individual last name |
| `enumerationDate` | string | NPI enumeration date |
| `lastUpdated` | string | Last NPI record update |
| `otherIdentifiers` | array | State license numbers and other IDs |
| `endpoints` | array | Health information exchange endpoints |
| `nppesUrl` | string | NPPES registry URL |
| `dataSource` | string | Data source: "NPPES", "CMS Provider Data", or "NPPES + CMS" |

#### CMS Enrichment Fields (when `enrichWithCMS` is enabled)

| Field | Type | Description |
|-------|------|-------------|
| `cms_medicalSchool` | string | Medical school attended |
| `cms_graduationYear` | string | Graduation year |
| `cms_primarySpecialty` | string | CMS primary specialty |
| `cms_secondarySpecialties` | array | Additional specialties from CMS |
| `cms_facilityNames` | array | Associated facility names |
| `cms_acceptsMedicareAssignment` | boolean | Accepts Medicare assignment |
| `cms_telehealth` | boolean | Offers telehealth services |
| `cms_orgMemberCount` | number | Number of members in group practice |

### Use Cases

- **Credentialing** -- Verify provider NPI numbers, specialties, and license information
- **Healthcare staffing** -- Find providers by specialty and location for recruitment
- **Provider directories** -- Build or update healthcare provider directories
- **Network adequacy** -- Analyze provider availability by specialty and geography
- **Referral research** -- Find specialists in a specific area for patient referrals
- **Compliance verification** -- Confirm active NPI status and Medicare enrollment

### Data Sources

- [NPPES NPI Registry](https://npiregistry.cms.hhs.gov/) -- Free, no authentication required
- [CMS Provider Data](https://data.cms.gov/provider-data/) -- Free, no authentication required

***

### Run on Apify

This scraper runs on the [Apify platform](https://apify.com/?fpr=lulzasaur) -- a full-stack web scraping and automation cloud. Sign up for a free account to get started with 30-day trial of all features.

[Try Apify free ->](https://apify.com/?fpr=lulzasaur)

# Actor input Schema

## `mode` (type: `string`):

Choose 'search' to find providers by name/specialty/location, or 'details' to look up a specific provider by NPI number.

## `searchQuery` (type: `string`):

Provider name to search for. For individuals: first or last name. For organizations: organization name. Supports trailing wildcard (e.g., 'Smi\*').

## `npi` (type: `string`):

10-digit National Provider Identifier. Use with 'details' mode for a specific provider lookup, or in 'search' mode to find an exact NPI.

## `specialty` (type: `string`):

Provider specialty or taxonomy description (e.g., 'Cardiology', 'Family Medicine', 'Dentist', 'Physical Therapy'). Searches the taxonomy description field.

## `firstName` (type: `string`):

Provider first name (individuals only). Supports trailing wildcard (e.g., 'Joh\*').

## `lastName` (type: `string`):

Provider last name (individuals only). Supports trailing wildcard (e.g., 'Smi\*').

## `organizationName` (type: `string`):

Organization name (for group practices, hospitals, clinics). Supports trailing wildcard.

## `city` (type: `string`):

City to search in (e.g., 'New York', 'Los Angeles').

## `state` (type: `string`):

Two-letter state code (e.g., 'CA', 'NY', 'TX').

## `zipCode` (type: `string`):

5-digit ZIP code to search by postal code.

## `enumerationType` (type: `string`):

Filter by provider type: Individual (NPI-1) or Organization (NPI-2).

## `limit` (type: `integer`):

Maximum number of providers to return. NPPES API max is 1200 per page. Set 0 to get all results with pagination.

## `enrichWithCMS` (type: `boolean`):

When enabled, enriches NPPES results with CMS Provider Data (Medicare specialties, group practice info, telehealth status). Adds extra API calls per provider.

## `proxyConfiguration` (type: `object`):

Proxy settings (usually not needed — NPPES and CMS are free public APIs).

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "",
  "npi": "",
  "specialty": "Family Medicine",
  "firstName": "",
  "lastName": "",
  "organizationName": "",
  "city": "",
  "state": "CA",
  "zipCode": "",
  "enumerationType": "",
  "limit": 10,
  "enrichWithCMS": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "specialty": "Family Medicine",
    "state": "CA"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lulzasaur/medicare-provider-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "specialty": "Family Medicine",
    "state": "CA",
}

# Run the Actor and wait for it to finish
run = client.actor("lulzasaur/medicare-provider-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "specialty": "Family Medicine",
  "state": "CA"
}' |
apify call lulzasaur/medicare-provider-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lulzasaur/medicare-provider-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Medicare Provider Search - NPI & CMS Directory",
        "description": "Search Medicare providers via NPPES NPI Registry and CMS data. Find doctors, nurses, therapists by name, NPI number, specialty, or location. Returns credentials, specialties, practice addresses, and phone.",
        "version": "1.0",
        "x-build-id": "gYszA0a7zWdi0VW13"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lulzasaur~medicare-provider-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lulzasaur-medicare-provider-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/lulzasaur~medicare-provider-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lulzasaur-medicare-provider-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/lulzasaur~medicare-provider-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lulzasaur-medicare-provider-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "mode": {
                        "title": "Search Mode",
                        "enum": [
                            "search",
                            "details"
                        ],
                        "type": "string",
                        "description": "Choose 'search' to find providers by name/specialty/location, or 'details' to look up a specific provider by NPI number.",
                        "default": "search"
                    },
                    "searchQuery": {
                        "title": "Search Query (Name)",
                        "type": "string",
                        "description": "Provider name to search for. For individuals: first or last name. For organizations: organization name. Supports trailing wildcard (e.g., 'Smi*').",
                        "default": ""
                    },
                    "npi": {
                        "title": "NPI Number",
                        "type": "string",
                        "description": "10-digit National Provider Identifier. Use with 'details' mode for a specific provider lookup, or in 'search' mode to find an exact NPI.",
                        "default": ""
                    },
                    "specialty": {
                        "title": "Specialty / Taxonomy",
                        "type": "string",
                        "description": "Provider specialty or taxonomy description (e.g., 'Cardiology', 'Family Medicine', 'Dentist', 'Physical Therapy'). Searches the taxonomy description field.",
                        "default": "Family Medicine"
                    },
                    "firstName": {
                        "title": "First Name",
                        "type": "string",
                        "description": "Provider first name (individuals only). Supports trailing wildcard (e.g., 'Joh*').",
                        "default": ""
                    },
                    "lastName": {
                        "title": "Last Name",
                        "type": "string",
                        "description": "Provider last name (individuals only). Supports trailing wildcard (e.g., 'Smi*').",
                        "default": ""
                    },
                    "organizationName": {
                        "title": "Organization Name",
                        "type": "string",
                        "description": "Organization name (for group practices, hospitals, clinics). Supports trailing wildcard.",
                        "default": ""
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "City to search in (e.g., 'New York', 'Los Angeles').",
                        "default": ""
                    },
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "Two-letter state code (e.g., 'CA', 'NY', 'TX').",
                        "default": "CA"
                    },
                    "zipCode": {
                        "title": "ZIP Code",
                        "type": "string",
                        "description": "5-digit ZIP code to search by postal code.",
                        "default": ""
                    },
                    "enumerationType": {
                        "title": "Provider Type",
                        "enum": [
                            "",
                            "NPI-1",
                            "NPI-2"
                        ],
                        "type": "string",
                        "description": "Filter by provider type: Individual (NPI-1) or Organization (NPI-2).",
                        "default": ""
                    },
                    "limit": {
                        "title": "Max Results",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of providers to return. NPPES API max is 1200 per page. Set 0 to get all results with pagination.",
                        "default": 10
                    },
                    "enrichWithCMS": {
                        "title": "Enrich with CMS Data",
                        "type": "boolean",
                        "description": "When enabled, enriches NPPES results with CMS Provider Data (Medicare specialties, group practice info, telehealth status). Adds extra API calls per provider.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings (usually not needed — NPPES and CMS are free public APIs).",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
