Dashboard

Coverage Determination Check

Check Local Coverage Determination (LCD) policies for HCPCS/CPT codes.

Overview

Local Coverage Determinations (LCDs) are decisions made by Medicare Administrative Contractors (MACs) about whether a particular service is covered under Medicare. An LCD specifies the conditions under which a procedure is considered reasonable and necessary.

Before submitting a claim, checking for active LCD policies can help identify procedures that may require additional documentation or may face coverage restrictions in certain jurisdictions.

Note: National Coverage Determinations (NCDs) are not included in this endpoint because CMS does not publish structured HCPCS crosswalks for NCD policies.

Endpoint

Method Path Description
GET /v1/coverage/check Check coverage determinations for a HCPCS code

Check Coverage

Check LCD policies for a drug injection code

Request
Node.js
const response = await fetch(
  "https://api.fhirfly.io/v1/coverage/check?hcpcs=J0585",
  {
    method: "GET",
    headers: {
    "x-api-key": "YOUR_API_KEY",
  }
  }
);

const data = await response.json();
console.log(data);
Response
JSON
{
  "data": {
    "hcpcs_code": "J0585",
    "policies_found": 2,
    "policies": [
      {
        "policy_type": "lcd",
        "policy_id": "L34523",
        "display_id": "L34523",
        "policy_title": "Botulinum Toxins",
        "hcpcs_description": "Injection, onabotulinumtoxinA",
        "status": "active",
        "is_active": true,
        "effective_date": "2020-10-01"
      },
      {
        "policy_type": "lcd",
        "policy_id": "L35078",
        "display_id": "L35078",
        "policy_title": "Botulinum Toxins",
        "hcpcs_description": "Injection, onabotulinumtoxinA",
        "status": "active",
        "is_active": true,
        "effective_date": "2021-04-01"
      }
    ],
    "summary": "2 active LCD policies found for J0585."
  },
  "meta": {
    "source": {
      "name": "CMS Medicare Coverage Database"
    },
    "legal": {
      "license": "public_domain",
      "attribution_required": false,
      "source_name": "CMS Medicare Coverage Database",
      "citation": "CMS Medicare Coverage Database. Accessed via FHIRfly."
    }
  }
}

When no policies exist for a code, policies_found is 0 and the policies array is empty:

Check a code with no LCD policies

Request
Node.js
const response = await fetch(
  "https://api.fhirfly.io/v1/coverage/check?hcpcs=99213",
  {
    method: "GET",
    headers: {
    "x-api-key": "YOUR_API_KEY",
  }
  }
);

const data = await response.json();
console.log(data);
Response
JSON
{
  "data": {
    "hcpcs_code": "99213",
    "policies_found": 0,
    "policies": [],
    "summary": "No active LCD policies found for 99213."
  },
  "meta": {
    "source": {
      "name": "CMS Medicare Coverage Database"
    },
    "legal": {
      "license": "public_domain",
      "attribution_required": false,
      "source_name": "CMS Medicare Coverage Database",
      "citation": "CMS Medicare Coverage Database. Accessed via FHIRfly."
    }
  }
}

Parameters

Parameter Required Description
hcpcs Yes HCPCS/CPT code (query parameter, 4-5 alphanumeric characters)
active No "true" (default) returns only active policies. "false" includes retired/inactive policies.

Understanding the Response

policies[]

Each item represents an LCD policy linked to the HCPCS code.

Field Type Description
policy_type string "lcd" (Local Coverage Determination)
policy_id string CMS policy identifier (e.g., "L34523")
display_id string Display-friendly policy ID
policy_title string Title of the coverage policy
hcpcs_description string Description of the HCPCS code in the context of this policy
status string Policy status (e.g., "active", "retired")
is_active boolean Whether the policy is currently active
effective_date string | null When the policy took effect (ISO date)

What This Means for Claims

  • 0 policies — No LCD restrictions. The procedure is generally covered under standard Medicare rules.
  • 1+ policies — Active LCD policies exist. The claim may require specific diagnosis codes, documentation, or medical necessity justification depending on the MAC's requirements.

LCD policies vary by jurisdiction — different MACs may have different LCDs for the same code.

SDK Usage

Node.js
import { Fhirfly } from "@fhirfly-io/terminology";

const client = new Fhirfly({ apiKey: "your-api-key" });

// Check coverage
const coverage = await client.claims.checkCoverage("J0585");
console.log(`${coverage.data.policies_found} policies found`);

for (const policy of coverage.data.policies) {
  console.log(`${policy.display_id}: ${policy.policy_title} (${policy.status})`);
}

// Include inactive policies
const all = await client.claims.checkCoverage("J0585", { active: false });

Required Scopes

  • claims.read — Coverage determination checks

See Also