PHPackages                             danilad/npilook - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. danilad/npilook

ActiveLibrary[API Development](/categories/api)

danilad/npilook
===============

Modern PHP 8.1+ Laravel package for NPPES NPI Registry API

01.1kPHP

Since Jul 25Pushed 9mo agoCompare

[ Source](https://github.com/DanilaD/laravel-nppes)[ Packagist](https://packagist.org/packages/danilad/npilook)[ RSS](/packages/danilad-npilook/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel NPPES Package
=====================

[](#laravel-nppes-package)

A modern PHP 8.1+ Laravel package for interacting with the NPPES (National Provider Identifier) Registry API.

Features
--------

[](#features)

- 🔍 **NPI Lookup**: Look up healthcare providers by NPI number
- 🔎 **Advanced Search**: Search by name, organization, taxonomy, location
- ✅ **Validation**: NPI format and checksum validation
- 🚀 **Caching**: Built-in caching for improved performance
- 📊 **Rate Limiting**: Automatic API rate limiting
- 🎯 **Laravel Integration**: Service provider, facade, and console commands
- 🧪 **Testing**: Comprehensive test suite

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10.0+ or 11.0+
- Symfony HTTP Client
- PSR Cache and Log interfaces

Installation
------------

[](#installation)

```
composer require dolmatovdev/nppes
```

Configuration
-------------

[](#configuration)

Publish the configuration file:

```
php artisan vendor:publish --tag=nppes-config
```

This will create `config/nppes.php` with the following options:

- **API Settings**: Base URL, timeout, rate limits
- **Cache Settings**: Driver, TTL, prefix
- **Logging**: Enable/disable, log level
- **Validation**: Strict mode, checksum validation
- **Search**: Default limits and pagination

Usage
-----

[](#usage)

### Basic NPI Lookup

[](#basic-npi-lookup)

```
use DolmatovDev\NPPES\Facades\Nppes;

// Look up a provider
$provider = Nppes::lookup('1234567890');

if ($provider) {
    echo "Provider: " . $provider->getFullName();
    echo "Status: " . $provider->status;
    echo "Type: " . ($provider->isIndividual() ? 'Individual' : 'Organization');
}
```

### Search Providers

[](#search-providers)

```
// Search by name
$results = Nppes::searchByName('John', 'Smith', 'CA');

// Search organization
$results = Nppes::searchOrganization('Mayo Clinic', 'MN');

// Custom search
$results = Nppes::searchByCriteria([
    'first_name' => 'John',
    'last_name' => 'Smith',
    'state' => 'CA',
    'limit' => 20
]);
```

### Validation

[](#validation)

```
// Basic validation
$isValid = Nppes::isValid('1234567890');

// Get validation details
$provider = Nppes::lookup('1234567890');
if ($provider && $provider->isActive()) {
    echo "NPI is valid and active";
}
```

### Console Commands

[](#console-commands)

```
# Look up an NPI
php artisan nppes:lookup 1234567890 --verbose

# Validate an NPI
php artisan nppes:validate 1234567890 --checksum --api

# Show package version
php artisan nppes:version
```

Architecture
------------

[](#architecture)

### Services

[](#services)

- **NpiLookupService**: Main service for NPI operations
- **NpiApiClient**: Handles HTTP requests to NPPES API
- **NpiCacheService**: Manages caching of results

### DTOs

[](#dtos)

- **NpiProvider**: Represents a healthcare provider
- **NpiAddress**: Provider address information
- **NpiTaxonomy**: Provider specialty/taxonomy
- **NpiSearchRequest**: Search criteria
- **NpiSearchResponse**: Search results

### Traits

[](#traits)

- **HasNpiValidation**: Common validation methods

Testing
-------

[](#testing)

```
# Run tests
composer test

# Run with coverage
composer test-coverage
```

Contributing
------------

[](#contributing)

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests
5. Submit a pull request

License
-------

[](#license)

This package is open-sourced software licensed under the [MIT license](LICENSE).

Support
-------

[](#support)

For support, please open an issue on GitHub or contact the maintainer.

Author
------

[](#author)

**Danila Dolmatov**

- LinkedIn: [Danila Dolmatov](https://www.linkedin.com/in/danila-dolmatov/)

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance40

Moderate activity, may be stable

Popularity14

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/2318f3bd48dae2da95c2fa4230599addba0ec69cd80bda12efa113f25ed2c34d?d=identicon)[DolmatovDev](/maintainers/DolmatovDev)

---

Tags

apihealthcarelaravellookupnpinpi-regnppessearch

### Embed Badge

![Health badge](/badges/danilad-npilook/health.svg)

```
[![Health](https://phpackages.com/badges/danilad-npilook/health.svg)](https://phpackages.com/packages/danilad-npilook)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M271](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[microsoft/microsoft-graph

The Microsoft Graph SDK for PHP

65723.5M96](/packages/microsoft-microsoft-graph)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
