# is_provider_in_plan

Is Provider In Plan · v0.2.0 · medicare

Every Medicare Advantage plan whose published directory lists an NPI for a plan year (2026 or 2027): contract, CMS plan id, the source of the listing (the payer's API, the printed directory, a name match with its grade, or the Plan Finder export), the location as listed, and the file and page it came from. Narrow by state or contract.

Use cases: 'Which MA plans list NPI 1275507170 for 2027?'; 'Is Dr X in Humana's Florida network?'.

A listing is evidence the directory names the NPI; an absence is 'not listed in the published directory' for covered contracts only (an uncovered contract says nothing). Name-matched rows are flagged by grade. The publish is pinned by dataset_id.

SOURCE: medicare_bronze.ma_directory_plan_npi_site_v1 (every row names its url, page and raw_sha256).

**Inputs.**
- `npi` (required): 10-digit NPI.
- `plan_year` (required): 2026 or 2027.
- `state`: 2-letter state of the listed location; optional.
- `contract_id`: Narrow to one contract (H5938); optional.
- `limit`: Plans to return (default 50, max 500).

**Known limits.**
- An NPI absent from every directory is 'not listed' only for the covered contracts (99.1% of 2026 members, 96.1% of 2027 from 2027 sources, stage 21); the open-gap contracts say nothing.
- A plan listed through a 2026 directory carried back to 2027 (plan_key_basis *_2026_plan_via_crosswalk) is labelled.

**A real answer** (customer seat, 1.46 s, args `{"npi":"1275507170","plan_year":2027,"limit":10}`):

```json
{
 "value": {
  "found": false,
  "not_found_reason": "query_failed",
  "query": {
   "npi": "1275507170",
   "plan_year": 2027,
   "limit": 10
  },
  "dataset_id": "7bceef45cc9e5910e64caa428a1f3e40869f91d149c4e19f08cc55f5e468ba7c",
  "query_ids": []
 },
 "unit": "plan_network",
 "vintage": null,
 "source": {
  "dataset": "MA plan networks, 2026 and 2027 (Data Tracker): plan year x CMS plan x NPI x listed location",
  "publisher": "vlada",
  "catalog_updated_at": "2026-11-02"
 },
 "caveats": [],
 "response_hash": "bbb9d16f085e455ad584bd4b36ff0a4f2b68ed4911a836d98dc01990de84321e",
 "semantic_version": 1,
 "tool_version": "is_provider_in_plan@0.2.0",
 "explanation": null,
 "status": "complete",
 "audience": "customer",
 "answer": {
  "value_ref": "value",
  "unit": "plan_network",
  "scope": {
   "tool": "is_provider_in_plan",
   "filters": {
    "npi": "1275507170",
    "plan_year": 2027,
    "limit": 10
   }
  }
 },
 "method": "Computed over the filters shown in this answer's scope, from the sources listed in its evidence. Nothing outside those filters was included.",
 "evidence": {
  "sources": [
   {
    "dataset": "MA plan networks, 2026 and 2027 (Data Tracker): plan year x CMS plan x NPI x listed location",
    "publisher": "vlada",
    "catalog_updated_at": "2026-11-02"
   }
  ],
  "response_hash": "bbb9d16f085e455ad584bd4b36ff0a4f2b68ed4911a836d98dc01990de84321e"
 },
 "freshness": {
  "state": "unknown",
  "why": "This tool does not report an edition for its answer, and the door could not derive one from what the answer reads. Treat the result as current to no stated date."
 }
}
```

REST: `POST https://api.vladahealth.com/v1/tools/is_provider_in_plan` with the inputs as the JSON body. MCP: the tool by name.
