Medicare Advantage, Part D, Medicaid

get_hos

Get Hos·v0.2.0·L2·read-only·MCP + REST·admitted 2026-09-19
Inputs
31 required
Sources
4
Known limits
1
Real answer
7.56scomplete

What it answers

  1. 1Returns a Medicare Advantage contract's CMS Health Outcomes Survey (HOS) rates across the four survey topics (fall_risk_management, urinary_incontinence, osteoporosis_testing, physical_activity), each with the two reported rates and the year-over-year change.
  2. 2Filter by contract_id (required) + optional year (defaults to the latest; report years 2019-2025).
  3. 3RETURNS a detail payload, not a topic count: value.topics is the per-topic row list (topic, report_year, rate1, rate2, rate3, rate1_yoy), value.summary rolls it up (topic_count, which topics reported, the highest and lowest rate1), value.row_counts carries matched / returned / truncated and value.query the filters applied.
  4. 4`limit` bounds the rows (default 200, max 2000).
  5. 5HOS is the beneficiary-survey companion to the chart-abstracted HEDIS rates and feeds several Part C Star measures. rate1/rate2 are the survey's two published rates for the topic (e.g. the share who reported the issue and the share who discussed it with a provider); see the CMS HOS documentation for exact definitions.
  6. 6Pair with get_stars.
  7. 7A contract id with no HOS rows returns found=false with a not_found_reason.
  8. 8SOURCE: CMS Health Outcomes Survey (HOS) Public Use File.

Inputs (3)

NameTypeRequiredDefaultAccepts
contract_idstringrequired
limitintegeroptional
yearintegeroptional

Call it

# MCP (https://mcp.vladahealth.com/mcp): the tool by name
get_hos(contract_id="H1036", year=2025)
curl -X POST https://api.vladahealth.com/v1/tools/get_hos \
  -H "Authorization: Bearer $VLADA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contract_id":"H1036","year":2025}'

# the schema, no key
curl https://api.vladahealth.com/v1/tools/get_hos/schema

A real answer

customer seat, 2026-11-09·over REST·7.56s·status complete·complete·verbatim
{
 "value": {
  "found": true,
  "not_found_reason": null,
  "summary": {
   "contract_id": "H1036",
   "year": 2025,
   "topic_count": 3,
   "topics_reported": [
    "fall_risk_management",
    "physical_activity",
    "urinary_incontinence"
   ],
   "topics_missing": [
    "osteoporosis_testing"
   ],
   "highest_rate1": {
    "topic": "physical_activity",
    "rate1": 58.76
   },
   "lowest_rate1": {
    "topic": "fall_risk_management",
    "rate1": 29.78
   },
   "unit": "hos_topic_rows"
  },
  "topics": [
   {
    "topic": "fall_risk_management",
    "report_year": 2025,
    "rate1": 29.78,
    "rate2": 60.99,
    "rate3": null,
    "rate1_yoy": 1.75
   },
   {
    "topic": "physical_activity",
    "report_year": 2025,
    "rate1": 58.76,
    "rate2": 51.99,
    "rate3": null,
    "rate1_yoy": -1.83
   },
   {
    "topic": "urinary_incontinence",
    "report_year": 2025,
    "rate1": 54.55,
    "rate2": 45.08,
    "rate3": 15.57,
    "rate1_yoy": -13.36
   }
  ],
  "row_counts": {
   "topics": {
    "matched": 3,
    "returned": 3,
    "truncated": false,
    "limit": 200,
    "kept": "head"
   }
  },
  "query": {
   "contract_id": "H1036",
   "year": 2025,
   "limit": 200
  },
  "query_id": "61bcdae1-ec58-4d9e-a8f6-14b73871903f"
 },
 "unit": "hos_detail",
 "result_status": "answered",
 "methodology_era": null,
 "methodology_blend_factors": null,
 "source": {
  "source_url": "medicare://get_hos"
 },
 "vintage": "as_restated",
 "cms_vintage_sequence": 1,
 "parse_revision": 1,
 "as_of_observed": null,
 "as_of_asserted": null,
 "as_of_effective": null,
 "caveats": [],
 "confidence": null,
 "finality_confidence": null,
 "response_hash": "a9fa4cb399d65eaee81dab89f3df3a108fef1b03b1806a16f7de94ce10244b4d",
 "semantic_version": 1,
 "tool_version": "0.2.0",
 "parser_artifact_hash": "0b11193fb97519397f53ffe2917938b1bf95f408fccb5bae6d356b17ef22a148",
 "parser_artifact_hash_basis": "tool_source_sha256",
 "signature": null,
 "tenant_id": "probe-customer-canary",
 "status": "complete",
 "audit_id": "cf761391-badd-48ae-94da-7167f68c188c",
 "timestamp": "2026-11-09T21:37:21.882599Z",
 "request_id": "00340683-b65c-423e-8671-f6bdf1978032",
 "audience": "customer",
 "answer": {
  "value_ref": "value",
  "unit": "hos_detail",
  "scope": {
   "tool": "get_hos",
   "filters": {
    "contract_id": "H1036",
    "year": 2025
   }
  },
  "period": {
   "year": 2025
  }
 },
 "method": "Read from the CMS publication for 2025 at the contract level. The published values are reported as published, with no adjustment or modelling applied.",
 "evidence": {
  "query_id": "61bcdae1-ec58-4d9e-a8f6-14b73871903f",
  "response_hash": "a9fa4cb399d65eaee81dab89f3df3a108fef1b03b1806a16f7de94ce10244b4d",
  "audit_id": "cf761391-badd-48ae-94da-7167f68c188c",
  "request_id": "00340683-b65c-423e-8671-f6bdf1978032"
 }
}

What comes back

FieldHolds
statuscomplete · partial · refused · failed · queued
valuerows or the figure, with its unit
source · caveats · invariants_applied · response_hashthe public file and vintage; what to know before citing; the rules honoured; replayable
refusalcode (15), message, recover_with

Sources

KindName
sourcemedicare_silver.hedis_hos_frm
sourcemedicare_silver.hedis_hos_mui
sourcemedicare_silver.hedis_hos_oto
sourcemedicare_silver.hedis_hos_pao
tablemedicare_silver.hedis_hos_frm
tablemedicare_silver.hedis_hos_mui
tablemedicare_silver.hedis_hos_oto
tablemedicare_silver.hedis_hos_pao

Known limits (1)

  1. 1rate1/rate2 semantics are topic-specific; consult the CMS HOS documentation.

This page as markdown: /docs-md/tools/get_hos.md · every page in one file: /llms-full.txt