# NPPES NPI Registry

> Look up US health care providers in the official NPI registry from CMS: check a National Provider Identifier, or search doctors, nurses, hospitals and clinics by name, specialty and location, with their licenses, addresses and phone numbers.

App · 3 actions. Web page: https://docs.lodol.com/docs/integrations/nppes

## Actions

### Look up a provider by NPI

Get the registry record for a National Provider Identifier: the provider's name, specialty, license, practice and mailing addresses and phone. Use it to check an NPI before a claim or a referral; found is false when no provider has the number.

**Inputs**

- NPI number (`npi`, text, required): The provider's 10-digit NPI, such as 1124021324.

**Outputs**

- `authorized_official` (object): The person who signed for an organization
- `credential` (text): An individual's credential, such as MD or RN
- `enumeration_date` (text): The date the NPI was issued, as YYYY-MM-DD
- `fax` (text): The practice location's fax number
- `first_name` (text): An individual's first name
- `found` (true/false): Whether the registry has this NPI. When false, every other field but npi is empty.
- `identifiers` (list): Other identifiers, such as Medicaid numbers
- `last_name` (text): An individual's last name
- `last_updated` (text): The date the record last changed, as YYYY-MM-DD
- `license_number` (text): The license held for the primary specialty
- `license_state` (text): The state that issued that license
- `mailing_address` (object): The mailing address
- `middle_name` (text): An individual's middle name
- `name` (text): The full name: a person's name with prefix and credential, or the organization's legal name
- `npi` (text): The 10-digit National Provider Identifier
- `organization_name` (text): An organization's legal business name
- `organization_subpart` (true/false): Whether an organization is a subpart of another organization
- `other_names` (list): Former names, trading names and other names
- `other_practice_addresses` (list): Any other practice locations
- `phone` (text): The practice location's phone number
- `practice_address` (object): The primary practice location
- `primary_specialty` (text): The primary specialty, in words
- `primary_taxonomy_code` (text): The primary specialty's taxonomy code
- `registry_url` (text): The provider's page on the NPPES NPI Registry
- `sex` (text): An individual's sex as recorded: Male or Female
- `sole_proprietor` (true/false): Whether an individual is a sole proprietor
- `status` (text): Active, or Deactivated
- `taxonomies` (list): Every specialty on the record, the primary one included
- `type` (text): Individual (a clinician) or Organization

**Example output**

```json
{
  "authorized_official": {
    "name": "Ms. LISA COFFEY",
    "phone": "937-641-3610",
    "title": "President"
  },
  "credential": null,
  "enumeration_date": "2005-05-23",
  "fax": "937-641-5003",
  "first_name": null,
  "found": true,
  "identifiers": [
    {
      "identifier": "0060237",
      "issuer": null,
      "state": "OH",
      "type": "MEDICAID"
    }
  ],
  "last_name": null,
  "last_updated": "2018-06-19",
  "license_number": "050826",
  "license_state": "OH",
  "mailing_address": {
    "city": "DAYTON",
    "country": "United States",
    "fax": "937-641-5003",
    "full_address": "1 CHILDRENS PLZ, DAYTON, OH 45404-1898",
    "line_1": "1 CHILDRENS PLZ",
    "line_2": null,
    "phone": "937-641-3010",
    "postal_code": "45404-1898",
    "state": "OH"
  },
  "middle_name": null,
  "name": "DAYTON CHILDREN'S ORTHOPAEDIC CENTER FOR SPINAL & PEDIATRIC CARE, LLC",
  "npi": "1124021324",
  "organization_name": "DAYTON CHILDREN'S ORTHOPAEDIC CENTER FOR SPINAL & PEDIATRIC CARE, LLC",
  "organization_subpart": false,
  "other_names": [],
  "other_practice_addresses": [
    {
      "city": "MIAMISBURG",
      "country": "United States",
      "fax": null,
      "full_address": "3333 W TECH BLVD, MIAMISBURG, OH 45342-0817",
      "line_1": "3333 W TECH BLVD",
      "line_2": null,
      "phone": "937-641-3010",
      "postal_code": "45342-0817",
      "state": "OH"
    }
  ],
  "phone": "937-641-3010",
  "practice_address": {
    "city": "DAYTON",
    "country": "United States",
    "fax": "937-641-5003",
    "full_address": "1 CHILDRENS PLZ, DAYTON, OH 45404",
    "line_1": "1 CHILDRENS PLZ",
    "line_2": null,
    "phone": "937-641-3010",
    "postal_code": "45404",
    "state": "OH"
  },
  "primary_specialty": "Specialist",
  "primary_taxonomy_code": "174400000X",
  "registry_url": "https://npiregistry.cms.hhs.gov/provider-view/1124021324",
  "sex": null,
  "sole_proprietor": null,
  "status": "Active",
  "taxonomies": [
    {
      "code": "174400000X",
      "group": "193400000X - Single Specialty Group",
      "license_number": "050826",
      "license_state": "OH",
      "primary": true,
      "specialty": "Specialist"
    }
  ],
  "type": "Organization"
}
```

### Search individual providers

Find individual clinicians, such as doctors, nurses and therapists, by name, specialty and location. Fill in at least one of name, specialty, city or ZIP code.

**Inputs**

- First name (`first_name`, text): The provider's first name. Matches exactly; end it with * to match the start, as in jo*.
- Last name (`last_name`, text): The provider's last name; former and other names count too. Matches exactly; end it with * to match the start, as in smi*.
- Specialty (`specialty`, text): The specialty in words, such as Cardiovascular Disease or Family Medicine. Matches exactly; end it with * to match the start, as in cardio*.
- City (`city`, text): The city of the provider's address, such as Dayton. Matches exactly; end it with * to match the start, as in day*.
- State (`state`, text): Only providers with an address in this state or territory. It can't be searched on its own. One of: `""` (Any state), `AL` (Alabama), `AK` (Alaska), `AZ` (Arizona), `AR` (Arkansas), `CA` (California), `CO` (Colorado), `CT` (Connecticut), `DE` (Delaware), `DC` (District of Columbia), and 53 more.
- ZIP code (`postal_code`, text): A 5-digit ZIP code, such as 45404, matches every ZIP+4 inside it. End a shorter start with *, as in 454*.
- Match the address on (`address_type`, text): Which of the provider's addresses the city, state and ZIP code must match. One of: `""` (Any address), `LOCATION` (Practice location), `PRIMARY` (Primary practice location only), `SECONDARY` (Other practice locations only), `MAILING` (Mailing address).
- Max results (`limit`, number): How many providers to return, up to 200. From 1 to 200. Default: `10`.
- Skip (`skip`, number): How many matches to pass over first, for the next page. The registry goes no further than 1,000. From 0 to 1000. Default: `0`.

**Outputs**

- `count` (number): How many providers are on this page
- `has_more` (true/false): True when the page came back full, so raising Skip by Max results may find more
- `providers` (list): The matching providers, in the registry's order
- `skip` (number): How many matches were skipped before this page

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "providers": [
    {
      "authorized_official": null,
      "credential": "MD",
      "enumeration_date": "2005-05-31",
      "fax": "937-832-9804",
      "first_name": "ABDELHAMED",
      "identifiers": [
        {
          "identifier": "2869445",
          "issuer": null,
          "state": "OH",
          "type": "MEDICAID"
        }
      ],
      "last_name": "ABDELHAMED",
      "last_updated": "2013-11-15",
      "license_number": "35091723",
      "license_state": "OH",
      "mailing_address": {
        "city": "DAYTON",
        "country": "United States",
        "fax": "937-832-9804",
        "full_address": "9000 N MAIN ST, STE 101, DAYTON, OH 45415-1180",
        "line_1": "9000 N MAIN ST",
        "line_2": "STE 101",
        "phone": "937-832-2425",
        "postal_code": "45415-1180",
        "state": "OH"
      },
      "middle_name": "I",
      "name": "ABDELHAMED I ABDELHAMED, MD",
      "npi": "1164425443",
      "organization_name": null,
      "organization_subpart": null,
      "other_names": [],
      "other_practice_addresses": [],
      "phone": "937-832-2425",
      "practice_address": {
        "city": "DAYTON",
        "country": "United States",
        "fax": "937-832-9804",
        "full_address": "9000 N MAIN ST, STE 101, DAYTON, OH 45415-1180",
        "line_1": "9000 N MAIN ST",
        "line_2": "STE 101",
        "phone": "937-832-2425",
        "postal_code": "45415-1180",
        "state": "OH"
      },
      "primary_specialty": "Internal Medicine, Interventional Cardiology",
      "primary_taxonomy_code": "207RI0011X",
      "registry_url": "https://npiregistry.cms.hhs.gov/provider-view/1164425443",
      "sex": "Male",
      "sole_proprietor": false,
      "status": "Active",
      "taxonomies": [
        {
          "code": "207RC0000X",
          "group": null,
          "license_number": "35-091723",
          "license_state": "OH",
          "primary": false,
          "specialty": "Internal Medicine, Cardiovascular Disease"
        },
        {
          "code": "207RI0011X",
          "group": null,
          "license_number": "35091723",
          "license_state": "OH",
          "primary": true,
          "specialty": "Internal Medicine, Interventional Cardiology"
        }
      ],
      "type": "Individual"
    }
  ],
  "skip": 0
}
```

### Search organizations

Find hospitals, clinics, group practices and other health care organizations by name, authorized official, specialty and location. Fill in at least one of these, besides state.

**Inputs**

- Organization name (`organization_name`, text): The organization's name, such as Mayo Clinic; trading and former names count too. Matches exactly; end it with * to match the start, as in mayo*.
- Authorized official first name (`official_first_name`, text): The first name of the person who signs for the organization.
- Authorized official last name (`official_last_name`, text): The last name of the person who signs for the organization.
- Specialty (`specialty`, text): The specialty in words, such as Cardiovascular Disease or Family Medicine. Matches exactly; end it with * to match the start, as in cardio*.
- City (`city`, text): The city of the provider's address, such as Dayton. Matches exactly; end it with * to match the start, as in day*.
- State (`state`, text): Only providers with an address in this state or territory. It can't be searched on its own. One of: `""` (Any state), `AL` (Alabama), `AK` (Alaska), `AZ` (Arizona), `AR` (Arkansas), `CA` (California), `CO` (Colorado), `CT` (Connecticut), `DE` (Delaware), `DC` (District of Columbia), and 53 more.
- ZIP code (`postal_code`, text): A 5-digit ZIP code, such as 45404, matches every ZIP+4 inside it. End a shorter start with *, as in 454*.
- Match the address on (`address_type`, text): Which of the provider's addresses the city, state and ZIP code must match. One of: `""` (Any address), `LOCATION` (Practice location), `PRIMARY` (Primary practice location only), `SECONDARY` (Other practice locations only), `MAILING` (Mailing address).
- Max results (`limit`, number): How many providers to return, up to 200. From 1 to 200. Default: `10`.
- Skip (`skip`, number): How many matches to pass over first, for the next page. The registry goes no further than 1,000. From 0 to 1000. Default: `0`.

**Outputs**

- `count` (number): How many providers are on this page
- `has_more` (true/false): True when the page came back full, so raising Skip by Max results may find more
- `providers` (list): The matching providers, in the registry's order
- `skip` (number): How many matches were skipped before this page

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "providers": [
    {
      "authorized_official": {
        "name": "Ms. LISA COFFEY",
        "phone": "937-641-3610",
        "title": "President"
      },
      "credential": null,
      "enumeration_date": "2005-05-23",
      "fax": "937-641-5003",
      "first_name": null,
      "identifiers": [
        {
          "identifier": "0060237",
          "issuer": null,
          "state": "OH",
          "type": "MEDICAID"
        }
      ],
      "last_name": null,
      "last_updated": "2018-06-19",
      "license_number": "050826",
      "license_state": "OH",
      "mailing_address": {
        "city": "DAYTON",
        "country": "United States",
        "fax": "937-641-5003",
        "full_address": "1 CHILDRENS PLZ, DAYTON, OH 45404-1898",
        "line_1": "1 CHILDRENS PLZ",
        "line_2": null,
        "phone": "937-641-3010",
        "postal_code": "45404-1898",
        "state": "OH"
      },
      "middle_name": null,
      "name": "DAYTON CHILDREN'S ORTHOPAEDIC CENTER FOR SPINAL & PEDIATRIC CARE, LLC",
      "npi": "1124021324",
      "organization_name": "DAYTON CHILDREN'S ORTHOPAEDIC CENTER FOR SPINAL & PEDIATRIC CARE, LLC",
      "organization_subpart": false,
      "other_names": [],
      "other_practice_addresses": [
        {
          "city": "MIAMISBURG",
          "country": "United States",
          "fax": null,
          "full_address": "3333 W TECH BLVD, MIAMISBURG, OH 45342-0817",
          "line_1": "3333 W TECH BLVD",
          "line_2": null,
          "phone": "937-641-3010",
          "postal_code": "45342-0817",
          "state": "OH"
        }
      ],
      "phone": "937-641-3010",
      "practice_address": {
        "city": "DAYTON",
        "country": "United States",
        "fax": "937-641-5003",
        "full_address": "1 CHILDRENS PLZ, DAYTON, OH 45404",
        "line_1": "1 CHILDRENS PLZ",
        "line_2": null,
        "phone": "937-641-3010",
        "postal_code": "45404",
        "state": "OH"
      },
      "primary_specialty": "Specialist",
      "primary_taxonomy_code": "174400000X",
      "registry_url": "https://npiregistry.cms.hhs.gov/provider-view/1124021324",
      "sex": null,
      "sole_proprietor": null,
      "status": "Active",
      "taxonomies": [
        {
          "code": "174400000X",
          "group": "193400000X - Single Specialty Group",
          "license_number": "050826",
          "license_state": "OH",
          "primary": true,
          "specialty": "Specialist"
        }
      ],
      "type": "Organization"
    }
  ],
  "skip": 0
}
```
