Dashboard

MUE Lookup

Look up Medically Unlikely Edit limits for HCPCS/CPT codes.

Overview

Medically Unlikely Edits (MUEs) define the maximum units of service a provider can report for a single HCPCS/CPT code per patient per day. CMS uses MUEs to reduce paid claim errors — if a claim line exceeds the MUE value, it will be denied or reduced.

MUE values are published for three service types: practitioner, outpatient hospital, and DME (durable medical equipment). Each has its own limit and adjudication indicator.

Endpoints

Method Path Description
GET /v1/mue/:hcpcs Single MUE lookup
POST /v1/mue/_batch Batch lookup (up to 100 codes)

Single Lookup

Look up MUE limits for an office visit

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

const data = await response.json();
console.log(data);
Response
JSON
{
  "data": {
    "hcpcs_code": "99213",
    "limits": [
      {
        "hcpcs_code": "99213",
        "service_type": "practitioner",
        "mue_value": 2,
        "adjudication_indicator": 2,
        "adjudication_indicator_display": "Date of Service Edit: Policy",
        "rationale": "Clinical: Data"
      },
      {
        "hcpcs_code": "99213",
        "service_type": "outpatient_hospital",
        "mue_value": 2,
        "adjudication_indicator": 2,
        "adjudication_indicator_display": "Date of Service Edit: Policy",
        "rationale": "Clinical: Data"
      }
    ]
  },
  "meta": {
    "source": {
      "name": "CMS MUE Values",
      "quarter": "2026-Q1"
    },
    "legal": {
      "license": "public_domain",
      "attribution_required": false,
      "source_name": "CMS Medically Unlikely Edits",
      "citation": "CMS Medically Unlikely Edits. Accessed via FHIRfly."
    }
  }
}

Parameters

Single Lookup

Parameter Required Description
hcpcs Yes HCPCS/CPT code (path parameter, 4-5 alphanumeric characters)
service_type No Filter by "practitioner", "outpatient_hospital", or "dme"

Batch Lookup

Parameter Required Description
codes Yes Array of HCPCS/CPT codes (request body, max 100)

Understanding the Response

limits[]

Each item in the limits array represents the MUE value for a specific service type.

Field Type Description
hcpcs_code string The HCPCS/CPT code
service_type string "practitioner", "outpatient_hospital", or "dme"
mue_value number Maximum units of service allowed per patient per day
adjudication_indicator number How the MUE is applied (see below)
adjudication_indicator_display string Human-readable adjudication description
rationale string CMS rationale for the MUE value

Adjudication Indicators

Value Meaning
1 Line Edit — Applied per claim line. Multiple lines for the same code are evaluated separately.
2 Date of Service Edit: Policy — All units for the same code on the same date of service are summed. Based on CMS policy.
3 Date of Service Edit: Clinical — All units for the same code on the same date of service are summed. Based on clinical benchmarks.

Indicator 3 (clinical) is the strictest — appeals are rarely successful. Indicator 2 (policy) may be appealed with documentation. Indicator 1 (line) is the most lenient.

Batch Lookup

Look up MUE limits for multiple codes in a single request:

Look up MUE limits for multiple codes

Request
Node.js
const response = await fetch(
  "https://api.fhirfly.io/v1/mue/_batch",
  {
    method: "POST",
    headers: {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
    body: JSON.stringify({
    "codes": [
      "99213",
      "99214",
      "36415"
    ]
  })
  }
);

const data = await response.json();
console.log(data);
Response
JSON
{
  "count": 3,
  "results": [
    {
      "input": "99213",
      "hcpcs_code": "99213",
      "status": "ok",
      "data": {
        "hcpcs_code": "99213",
        "limits": [
          {
            "service_type": "practitioner",
            "mue_value": 2,
            "adjudication_indicator": 2
          },
          {
            "service_type": "outpatient_hospital",
            "mue_value": 2,
            "adjudication_indicator": 2
          }
        ]
      }
    },
    {
      "input": "99214",
      "hcpcs_code": "99214",
      "status": "ok",
      "data": {
        "hcpcs_code": "99214",
        "limits": [
          {
            "service_type": "practitioner",
            "mue_value": 2,
            "adjudication_indicator": 2
          },
          {
            "service_type": "outpatient_hospital",
            "mue_value": 2,
            "adjudication_indicator": 2
          }
        ]
      }
    },
    {
      "input": "36415",
      "hcpcs_code": "36415",
      "status": "ok",
      "data": {
        "hcpcs_code": "36415",
        "limits": [
          {
            "service_type": "practitioner",
            "mue_value": 3,
            "adjudication_indicator": 3
          },
          {
            "service_type": "outpatient_hospital",
            "mue_value": 3,
            "adjudication_indicator": 3
          }
        ]
      }
    }
  ],
  "meta": {
    "legal": {
      "license": "public_domain",
      "attribution_required": false,
      "source_name": "CMS Medically Unlikely Edits",
      "citation": "CMS Medically Unlikely Edits. Accessed via FHIRfly."
    }
  }
}

Batch requests count as 1 request toward your rate limit.

SDK Usage

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

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

// Single lookup
const mue = await client.claims.lookupMue("99213");
for (const limit of mue.data.limits) {
  console.log(`${limit.service_type}: max ${limit.mue_value} units/day`);
}

// Filter by service type
const practitioner = await client.claims.lookupMue("99213", {
  service_type: "practitioner",
});

// Batch lookup
const batch = await client.claims.lookupMueMany(["99213", "99214", "36415"]);
for (const result of batch.results) {
  if (result.status === "ok") {
    console.log(`${result.hcpcs_code}: ${result.data.limits.length} limits`);
  }
}

Required Scopes

  • claims.read — Single and batch MUE lookups

See Also