Check MA internal criteria (preview)
Which services a Medicare Advantage plan covers with its own internal coverage criteria, as its public posting says, with links to the plan's documents. Preview: not available yet.
Preview: not available yet
Medicare Advantage internal criteria are built but not released. Until they are, the endpoints
answer 503 dataset-unavailable. This recipe shows how it will work; details may change before
release.
| Plan | Pro and up (403 plan-upgrade-required below Pro) |
| Dataset | Medicare Advantage internal criteria (plans' public postings) |
| Calls per answer | 1, plus 1 to find the plan id |
A Medicare Advantage plan has to follow Medicare's own coverage rules (NCDs and LCDs). Where those don't fully establish the criteria for a service, the plan may use internal criteria of its own, and must post them. This recipe tells you whether a plan's posting covers a code that way, and where the plan's document is.
1. Find the plan
curl "https://api.healthcare.dev/v1/medicare-advantage/plans?q=humana" \
-H "Authorization: Bearer $HDEV_API_KEY"plan_id is a Medicare Advantage contract (H1036) or an organization id from this list. A
contract answers with its organization's posting, which applies to all its plans.
2. Ask about a code
curl "https://api.healthcare.dev/v1/medicare-advantage/H1036/criteria?code=91110" \
-H "Authorization: Bearer $HDEV_API_KEY"{
"data": {
"plan": { "id": "H1036", "applies_to": "all_ma_plans", "...": "..." },
"code": "91110",
"disclaimer": "Reference data, not a coverage determination.",
"pending_review": 0,
"criteria": [
{
"service": { "key": "capsule-endoscopy", "policy_id": null, "name": "Capsule Endoscopy" },
"codes": ["91110", "91111", "91112", "91299"],
"uses_internal_criteria": {
"answer": "yes",
"confidence": 0.8,
"derivation": "derived",
"evidence": [{ "url": "https://..." }],
"as_of": "2026-10-25T05:30:00.000Z"
},
"basis": "organization_statement",
"criteria_url": "https://...",
"posting_url": "https://...",
"updated_date": "2026-09-01"
}
]
}
}TypeScript
import { HealthcareDev } from "@healthcare.dev/sdk";
const hdev = new HealthcareDev();
const { data } = await hdev.medicareAdvantage.criteria("H1036", { code: "91110" });
for (const c of data.criteria) {
const { answer, derivation, confidence } = c.uses_internal_criteria;
console.log(c.service.name, answer, derivation, confidence, c.criteria_url);
}
console.log(data.disclaimer);Python
from healthcare_dev import HealthcareDev
hdev = HealthcareDev()
ma = hdev.medicare_advantage.criteria("H1036", code="91110")["data"]
for c in ma["criteria"]:
u = c["uses_internal_criteria"]
print(c["service"]["name"], u["answer"], u["derivation"], u["confidence"], c["criteria_url"])
print(ma["disclaimer"])Ask an agent
Does Medicare Advantage contract H1036 use internal coverage criteria for code 91110? Link the plan's policy document, say how sure the answer is, and remind me this isn't a coverage determination.
The agent uses check_ma_internal_criteria.
Read the answer
uses_internal_criteria.answerisyesorno, as the plan's posting states it.derivation:source_stated(confidence: 1) when the organization says plainly that every policy it lists is written where Medicare's criteria aren't fully established;derived(confidencebelow 1) when it says it may apply internal criteria in the policies it lists, without saying which, so the plan's document says where they apply;reviewedwhen a person read the posting. Policies waiting for that person aren't listed;pending_reviewcounts them.criteria_urlis the plan's own document: read it for the criteria. We never serve the criteria text.differs_from_medicare_criteriaappears only when a person confirmed a difference from an NCD or LCD.- No service listing the code means only that: the plan may cover it under a policy without a code list, or follow Medicare's own criteria. Check Medicare coverage for those.
What it is not
Reference data, not a coverage determination. Codes are served as numbers only, never with CPT descriptions.
Check a prior auth requirement (preview)
Does a payer's public prior authorization list require prior authorization for a procedure code, per line of business, with dates, conditions and the list to check. Preview: not available yet.
Keep your data fresh
Know when a dataset releases, what changed in it, and when a code, NDC, NPI or Medicare coverage document you rely on changes: poll the feeds or get signed webhooks.