MCP 服务器

Loa Healthcare Pricing

io.github.aanari/loacare-healthcare-pricing
数据与分析 医疗健康 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Searches healthcare providers and CPT codes and returns source-labeled hospital, provider, and market pricing.

explain_price_sources
Explain Price Sources
Explain the source labels, provenance, confidence, and caveats behind Loa prices for one hospital or provider entity. Use this when an agent needs to tell a user why prices are MRF-published, Loa-reviewed, estimated, or unavailable.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': 'Exact Loa entity slug from search_entities.'}, 'limit': {'type': 'number', 'default': 50, 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of prices to inspect, default 50, max 100.'}, 'cpt_codes': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 25, 'minItems': 1, 'description': 'Optional CPT codes to explain. If omitted, explains current indexed prices.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['entity', 'cpt_codes', 'price_count', 'comparable_mrf_price_count', 'source_summary', 'caveats', 'provenance'], 'properties': {'entity': {'type': 'object', 'required': ['id', 'entityType', 'slug', 'canonicalName', 'city', 'state'], 'properties': {'id': {'type': 'string'}, 'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'slug': {'type': 'string'}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'entityType': {'enum': ['hospital', 'provider'], 'type': 'string'}, 'canonicalName': {'type': 'string'}}, 'additionalProperties': False}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'cpt_codes': {'type': 'array', 'items': {'type': 'string'}}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'price_count': {'type': 'number'}, 'source_summary': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'authority', 'sourceType', 'confidence', 'count', 'comparableMrfPriceCount', 'caveats'], 'properties': {'count': {'type': 'number'}, 'label': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'authority': {'type': 'string'}, 'confidence': {'type': 'string'}, 'sourceType': {'type': 'string'}, 'comparableMrfPriceCount': {'type': 'number'}}, 'additionalProperties': False}}, 'comparable_mrf_price_count': {'type': 'number'}}, 'additionalProperties': False}
get_entity_prices
Entity Prices
Return source-labeled prices for a Loa hospital or provider entity slug using the shared resolver. Use search_entities first if the slug is unknown. Results include provenance and explicit unavailable rows for requested CPT codes with no current price.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': 'Exact Loa entity slug from search_entities or a Loa SEO page.'}, 'limit': {'type': 'number', 'default': 50, 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of prices, default 50, max 100.'}, 'cpt_codes': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 25, 'minItems': 1, 'description': 'Optional CPT codes to filter. If omitted, returns current indexed prices up to the limit.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['entity', 'loa_link', 'prices', 'total', 'provenance'], 'properties': {'total': {'type': 'number'}, 'entity': {'type': 'object', 'required': ['id', 'entityType', 'slug', 'canonicalName', 'city', 'state'], 'properties': {'id': {'type': 'string'}, 'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'slug': {'type': 'string'}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'entityType': {'enum': ['hospital', 'provider'], 'type': 'string'}, 'canonicalName': {'type': 'string'}}, 'additionalProperties': False}, 'prices': {'type': 'array', 'items': {'type': 'object', 'required': ['entityPageId', 'cptCode', 'codeType', 'priceCents', 'priceKind', 'label', 'provenance'], 'properties': {'label': {'type': 'string'}, 'cptCode': {'type': 'string'}, 'setting': {'type': 'string'}, 'codeType': {'type': 'string'}, 'planName': {'type': 'string'}, 'component': {'enum': ['global', 'professional', 'facility', 'unknown'], 'type': 'string'}, 'payerName': {'type': 'string'}, 'priceKind': {'type': 'string'}, 'priceCents': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'provenance': {'type': 'object', 'required': ['authority', 'sourceType', 'sourceLabel', 'confidence', 'caveats'], 'properties': {'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'authority': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'sourceType': {'type': 'string'}, 'sourceLabel': {'type': 'string'}, 'sourceUpdatedAt': {'type': 'string'}}, 'additionalProperties': False}, 'sourceRowId': {'type': 'string'}, 'billingClass': {'type': 'string'}, 'entityPageId': {'type': 'string'}, 'serviceCategory': {'type': 'string'}, 'basePriceIndexId': {'type': 'string'}, 'comparableMrfPrice': {'type': 'object', 'required': ['entityPageId', 'cptCode', 'codeType', 'priceCents', 'priceKind', 'label', 'provenance'], 'properties': {'label': {'type': 'string'}, 'cptCode': {'type': 'string'}, 'setting': {'type': 'string'}, 'codeType': {'type': 'string'}, 'planName': {'type': 'string'}, 'component': {'enum': ['global', 'professional', 'facility', 'unknown'], 'type': 'string'}, 'payerName': {'type': 'string'}, 'priceKind': {'type': 'string'}, 'priceCents': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'provenance': {'type': 'object', 'required': ['authority', 'sourceType', 'sourceLabel', 'confidence', 'caveats'], 'properties': {'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'authority': {'type': 'string'}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'sourceType': {'type': 'string'}, 'sourceLabel': {'type': 'string'}, 'sourceUpdatedAt': {'type': 'string'}}, 'additionalProperties': False}, 'sourceRowId': {'type': 'string'}, 'billingClass': {'type': 'string'}, 'entityPageId': {'type': 'string'}, 'serviceCategory': {'type': 'string'}, 'basePriceIndexId': {'type': 'string'}, 'overlayRelationship': {'type': 'string'}, 'procedureDescription': {'type': 'string'}}, 'additionalProperties': False}, 'overlayRelationship': {'type': 'string'}, 'procedureDescription': {'type': 'string'}}, 'additionalProperties': False}}, 'loa_link': {'anyOf': [{'type': 'object', 'required': ['url', 'action', 'label'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'action': {'enum': ['book', 'website', 'profile'], 'type': 'string'}}, 'description': 'Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.', 'additionalProperties': False}, {'type': 'null'}]}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_entity_profile
Entity Profile
Return one Loa hospital or provider entity profile by exact slug or entity_pages.id. Includes profile-field provenance so agents can distinguish source-file fields from Loa-reviewed overrides.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug_or_id'], 'properties': {'slug_or_id': {'type': 'string', 'minLength': 1, 'description': 'Exact Loa entity slug or entity_pages.id from search_entities.'}, 'entity_type': {'enum': ['hospital', 'provider'], 'type': 'string', 'description': 'Optional disambiguation when slug_or_id is a slug.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['entity', 'loa_link', 'profile_provenance', 'profile_field_provenance', 'provenance'], 'properties': {'entity': {'type': 'object', 'required': ['id', 'entityType', 'slug', 'canonicalName', 'displayName', 'city', 'state', 'zipCode', 'address', 'phone', 'website', 'npi', 'ccn', 'hpfId', 'dataQualityScore', 'updatedAt', 'metadata'], 'properties': {'id': {'type': 'string'}, 'ccn': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'npi': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'slug': {'type': 'string'}, 'hpfId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'phone': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'website': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'zipCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'metadata': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'updatedAt': {'type': 'string', 'description': 'ISO 8601 timestamp'}, 'entityType': {'enum': ['hospital', 'provider'], 'type': 'string'}, 'displayName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'canonicalName': {'type': 'string'}, 'dataQualityScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'loa_link': {'type': 'object', 'required': ['url', 'action', 'label'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'action': {'enum': ['book', 'website', 'profile'], 'type': 'string'}}, 'description': 'Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.', 'additionalProperties': False}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'profile_provenance': {'type': 'object', 'required': ['authority', 'source_type', 'source_label', 'confidence'], 'properties': {'authority': {'type': 'string'}, 'confidence': {'type': 'string'}, 'source_type': {'type': 'string'}, 'source_label': {'type': 'string'}, 'loa_reviewed_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'profile_field_provenance': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'object', 'required': ['authority', 'source_type', 'source_label', 'confidence'], 'properties': {'authority': {'type': 'string'}, 'confidence': {'type': 'string'}, 'source_type': {'type': 'string'}, 'source_label': {'type': 'string'}, 'loa_reviewed_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_hospital_pricing
Hospital Pricing
Hospital-specific pricing tool for source-labeled Loa runtime data. Returns source-labeled Published MRF prices and Loa Verified Provider Price overlays for CPT codes. cash_price is the cash/self-pay price, list_price is the gross charge before discounts (most patients pay less), and insurance_prices are payer-negotiated rates for the named plan, not out-of-pocket costs. Any of these can be null when the hospital did not publish that price. Use this when comparing named hospitals or checking a quoted hospital price against available source rows.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hospital_ids', 'cpt_codes'], 'properties': {'cpt_codes': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 1, 'description': 'CPT procedure codes to look up pricing for'}, 'hospital_ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 1, 'description': 'Hospital IDs from search_hospitals results'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pricing', 'total', 'hospitals_found', 'services_found', 'provenance'], 'properties': {'total': {'type': 'number'}, 'pricing': {'type': 'array', 'items': {'type': 'object', 'required': ['hospital_id', 'hospital_name', 'hospital_location', 'cpt_code', 'cpt_description', 'cash_price', 'cash_source_labels', 'list_price', 'insurance_prices', 'source_labels', 'record_count', 'loa_link'], 'properties': {'cpt_code': {'type': 'string'}, 'loa_link': {'anyOf': [{'type': 'object', 'required': ['url', 'action', 'label'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'action': {'enum': ['book', 'website', 'profile'], 'type': 'string'}}, 'description': 'Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.', 'additionalProperties': False}, {'type': 'null'}]}, 'cash_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'list_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'hospital_id': {'type': 'string'}, 'record_count': {'type': 'number'}, 'hospital_name': {'type': 'string'}, 'source_labels': {'type': 'array', 'items': {'type': 'string'}}, 'cpt_description': {'type': 'string'}, 'insurance_prices': {'type': 'array', 'items': {'type': 'object', 'required': ['payer', 'plan', 'price', 'source_label'], 'properties': {'plan': {'type': 'string'}, 'payer': {'type': 'string'}, 'price': {'type': 'number'}, 'source_label': {'type': 'string'}}, 'additionalProperties': False}}, 'hospital_location': {'type': 'string'}, 'cash_source_labels': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'services_found': {'type': 'number'}, 'hospitals_found': {'type': 'number'}}, 'additionalProperties': False}
get_market_pricing
Market Pricing
Preferred benchmark pricing tool. Returns hospital-level market statistics for CPT codes from Loa's published hospital price-transparency data: cash/self-pay prices, list prices (gross charges before discounts), overall insurer-negotiated rates, and rates for the most common insurers. Each hospital counts once. Lead with the median and the p25-p75 range rather than min or max. Figures are statewide or national, never local to a ZIP code. When status is insufficient_data, say Loa doesn't have enough data instead of estimating, and always relay the limitations. Negotiated rates are not out-of-pocket costs.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cpt_codes'], 'properties': {'state': {'type': 'string', 'description': 'State for regional pricing (e.g. "CA", "New York"). Unknown states return McpToolInvalidInput. When fewer than 5 hospitals in the state published a price, national figures are returned with a limitation.'}, 'zip_code': {'type': 'string', 'description': 'ZIP code, used only to pick the state when state is omitted'}, 'cpt_codes': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 1, 'description': 'CPT codes to look up (e.g. ["99213", "93000"])'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pricing', 'state', 'provenance'], 'properties': {'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'pricing': {'type': 'array', 'items': {'type': 'object', 'required': ['cpt_code', 'status', 'scope', 'cash_price', 'list_price', 'insurance_price', 'insurance_by_payer', 'confidence', 'cash_data_points', 'insurance_data_points', 'states_covered', 'source_dates', 'limitations'], 'properties': {'scope': {'anyOf': [{'enum': ['state', 'national'], 'type': 'string'}, {'type': 'null'}]}, 'status': {'enum': ['ok', 'insufficient_data'], 'type': 'string'}, 'cpt_code': {'type': 'string'}, 'cash_price': {'anyOf': [{'type': 'object', 'required': ['median', 'average', 'min', 'max', 'p25', 'p75', 'data_points', 'hospital_count', 'source'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'p25': {'type': 'number'}, 'p75': {'type': 'number'}, 'median': {'type': 'number'}, 'source': {'enum': ['state', 'national'], 'type': 'string'}, 'average': {'type': 'number'}, 'data_points': {'type': 'number', 'description': 'Price records behind this figure'}, 'hospital_count': {'type': 'number', 'description': 'Hospitals behind this figure; each counts once'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'list_price': {'anyOf': [{'type': 'object', 'required': ['median', 'average', 'min', 'max', 'p25', 'p75', 'data_points', 'hospital_count', 'source'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'p25': {'type': 'number'}, 'p75': {'type': 'number'}, 'median': {'type': 'number'}, 'source': {'enum': ['state', 'national'], 'type': 'string'}, 'average': {'type': 'number'}, 'data_points': {'type': 'number', 'description': 'Price records behind this figure'}, 'hospital_count': {'type': 'number', 'description': 'Hospitals behind this figure; each counts once'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'source_dates': {'anyOf': [{'type': 'object', 'required': ['earliest', 'latest'], 'properties': {'latest': {'type': 'string'}, 'earliest': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Extraction dates of the underlying hospital files (YYYY-MM-DD)'}, 'states_covered': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'insurance_price': {'anyOf': [{'type': 'object', 'required': ['median', 'average', 'min', 'max', 'p25', 'p75', 'data_points', 'hospital_count', 'source'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'p25': {'type': 'number'}, 'p75': {'type': 'number'}, 'median': {'type': 'number'}, 'source': {'enum': ['state', 'national'], 'type': 'string'}, 'average': {'type': 'number'}, 'data_points': {'type': 'number', 'description': 'Price records behind this figure'}, 'hospital_count': {'type': 'number', 'description': 'Hospitals behind this figure; each counts once'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'cash_data_points': {'type': 'number'}, 'insurance_by_payer': {'type': 'array', 'items': {'type': 'object', 'required': ['payer', 'median', 'p25', 'p75', 'data_points', 'hospital_count'], 'properties': {'p25': {'type': 'number'}, 'p75': {'type': 'number'}, 'payer': {'type': 'string'}, 'median': {'type': 'number'}, 'data_points': {'type': 'number'}, 'hospital_count': {'type': 'number'}}, 'additionalProperties': False}}, 'insurance_data_points': {'type': 'number'}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_pricing_estimate
Pricing Estimate
Quick cash-price ballpark for one or more CPT codes, using the median cash price across hospitals in the state (from zip_code) or nationally. priceRange is the typical range (25th to 75th percentile of hospitals). Codes without enough data return insufficient_data and are listed in missingCodes; the total is null unless every code has data. Never fill gaps with your own estimate. For insurer rates or hospital-specific prices, use get_market_pricing or get_hospital_pricing.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['procedure_codes'], 'properties': {'zip_code': {'type': 'string', 'description': 'ZIP code used to pick the state (omit for national figures)'}, 'procedure_codes': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 1, 'description': 'CPT procedure codes to price (e.g. ["99213", "85025"])'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['estimatedCost', 'procedures', 'zipCode', 'state', 'missingCodes', 'limitations', 'provenance', 'disclaimer'], 'properties': {'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'zipCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'disclaimer': {'type': 'string'}, 'procedures': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'description', 'estimatedCost', 'priceRange', 'pricingMethod', 'scope', 'data_points', 'hospital_count'], 'properties': {'code': {'type': 'string'}, 'scope': {'anyOf': [{'enum': ['state', 'national'], 'type': 'string'}, {'type': 'null'}]}, 'priceRange': {'anyOf': [{'type': 'object', 'required': ['min', 'max'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'data_points': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'description': {'type': 'string'}, 'estimatedCost': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'pricingMethod': {'enum': ['observed_market_median', 'insufficient_data'], 'type': 'string'}, 'hospital_count': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'limitations': {'type': 'array', 'items': {'type': 'string'}}, 'missingCodes': {'type': 'array', 'items': {'type': 'string'}}, 'estimatedCost': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}
search_cpt_codes
CPT Code Search
Canonical code-lookup tool for this server. Search Loa's CPT/HCPCS index using exact codes, clinical terms, or consumer phrases. Use this first when the user does not already know the CPT code, before calling pricing tools.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'default': 10, 'maximum': 25, 'minimum': 1, 'description': 'Maximum number of results (default 10, max 25)'}, 'query': {'type': 'string', 'description': 'Search query, procedure name, medical term, or CPT code number (e.g. "knee MRI", "blood work", "99213")'}, 'category': {'type': 'string', 'description': 'Filter by category: "evaluation_management", "laboratory", "radiology", "surgery", "preventive"'}, 'specialty': {'type': 'string', 'description': 'Filter by medical specialty (e.g. "cardiology", "dermatology")'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query', 'specialty', 'category', 'total', 'provenance', 'results'], 'properties': {'query': {'type': 'string'}, 'total': {'type': 'number'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'name', 'description', 'category', 'isCommon'], 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}, 'category': {'type': 'string'}, 'isCommon': {'type': 'boolean'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'specialty': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'additionalProperties': False}
search_entities
Entity Search
Search Loa runtime hospital and provider entity pages by name or state. Use this before get_entity_prices when the user names a hospital or provider but does not know the exact Loa slug.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of results, default 20, max 50.'}, 'query': {'type': 'string', 'description': 'Hospital or provider name to search for.'}, 'state': {'type': 'string', 'description': 'Two-letter state code or full state name, e.g. CA or New York.'}, 'entity_type': {'enum': ['hospital', 'provider'], 'type': 'string', 'description': 'Optional filter for hospital or provider entities.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query', 'total', 'entities', 'provenance'], 'properties': {'query': {'type': 'object', 'required': ['query', 'entity_type', 'state'], 'properties': {'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'entity_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'total': {'type': 'number'}, 'entities': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'entity_type', 'slug', 'canonical_name', 'display_name', 'city', 'state', 'zip_code', 'data_quality_score', 'updated_at', 'loa_link'], 'properties': {'id': {'type': 'string'}, 'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'slug': {'type': 'string'}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'loa_link': {'anyOf': [{'type': 'object', 'required': ['url', 'action', 'label'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'action': {'enum': ['book', 'website', 'profile'], 'type': 'string'}}, 'description': 'Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.', 'additionalProperties': False}, {'type': 'null'}]}, 'zip_code': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'updated_at': {'type': 'string', 'description': 'ISO 8601 timestamp'}, 'entity_type': {'enum': ['hospital', 'provider'], 'type': 'string'}, 'display_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'canonical_name': {'type': 'string'}, 'data_quality_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'additionalProperties': False}
search_hospitals
Hospital Search
Search Loa's hospital directory by name or location and return hospital IDs plus address details. Use the returned hospital_ids with get_hospital_pricing to fetch source-labeled Published MRF and reviewed overlay prices.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'description': 'City name'}, 'name': {'type': 'string', 'description': 'Hospital name to search for'}, 'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Max results (default 20)'}, 'state': {'type': 'string', 'description': 'Two-letter state code or full state name, e.g. "CA" or "New York".'}, 'zip_code': {'type': 'string', 'description': 'ZIP code'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query', 'hospitals', 'total', 'provenance'], 'properties': {'query': {'type': 'object', 'required': ['state', 'city', 'zip_code', 'name'], 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'zip_code': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'total': {'type': 'number'}, 'hospitals': {'type': 'array', 'items': {'type': 'object', 'required': ['hospital_id', 'name', 'address', 'city', 'state', 'zip_code', 'phone', 'website', 'loa_link'], 'properties': {'city': {'type': 'string'}, 'name': {'type': 'string'}, 'phone': {'type': 'string'}, 'state': {'type': 'string'}, 'address': {'type': 'string'}, 'website': {'type': 'string'}, 'loa_link': {'anyOf': [{'type': 'object', 'required': ['url', 'action', 'label'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'action': {'enum': ['book', 'website', 'profile'], 'type': 'string'}}, 'description': 'Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.', 'additionalProperties': False}, {'type': 'null'}]}, 'zip_code': {'type': 'string'}, 'hospital_id': {'type': 'string'}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'additionalProperties': False}
search_providers
Provider Search
Search public CMS NPI Registry data for clinicians and healthcare organizations by specialty, name, or location. Use returned provenance to understand the registry source and scope. Use this for provider lookup, not pricing.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': 'Provider name to search for (e.g. "John Smith")'}, 'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Max results (default 20)'}, 'location': {'type': 'object', 'properties': {'city': {'type': 'string', 'description': 'City name'}, 'state': {'type': 'string', 'description': 'State code or full name (e.g. "CA", "California")'}, 'zip_code': {'type': 'string', 'description': 'ZIP code'}}, 'description': 'Location to search in'}, 'specialty': {'type': 'string', 'description': 'Medical specialty (e.g. "Cardiology", "Family Medicine")'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query', 'providers', 'total', 'provenance'], 'properties': {'query': {'type': 'object', 'required': ['specialty', 'name', 'location'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'location': {'type': 'object', 'required': ['city', 'state', 'zip_code'], 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'zip_code': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'specialty': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'total': {'type': 'number'}, 'providers': {'type': 'array', 'items': {'type': 'object', 'required': ['npi', 'name', 'specialty', 'address', 'city', 'state', 'zip_code', 'phone', 'loa_link'], 'properties': {'npi': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'phone': {'type': 'string'}, 'state': {'type': 'string'}, 'address': {'type': 'string'}, 'loa_link': {'anyOf': [{'type': 'object', 'required': ['url', 'action', 'label'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'action': {'enum': ['book', 'website', 'profile'], 'type': 'string'}}, 'description': 'Tracked Loa link. Share it when the user wants to book, contact, or learn more about this provider or hospital.', 'additionalProperties': False}, {'type': 'null'}]}, 'zip_code': {'type': 'string'}, 'specialty': {'type': 'string'}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'additionalProperties': False}
submit_entity_update_request
Submit Entity Update Request
Submit a profile, listing, or price correction for Loa review without requiring a provider portal. This is the only mutating provider/entity tool. It requires OAuth, captures submitter and source evidence, records linked-provider status when available, and never changes public data until Loa approves the request.
幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['submitter_email', 'request_type'], 'properties': {'attestation': {'enum': ['provider_representative', 'authorized_agent', 'public_source', 'other'], 'type': 'string', 'description': 'How the submitter is connected to the submitted evidence.'}, 'entity_slug': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Exact Loa entity slug if entity_page_id is not available.'}, 'entity_type': {'enum': ['hospital', 'provider', 'unknown'], 'type': 'string', 'default': 'unknown', 'description': 'Entity kind for the requested update; use unknown only when it cannot be determined.'}, 'price_items': {'type': 'array', 'items': {'type': 'object', 'required': ['cpt_code'], 'properties': {'setting': {'type': 'string', 'maxLength': 100}, 'cpt_code': {'type': 'string', 'maxLength': 20, 'minLength': 3}, 'code_type': {'type': 'string', 'default': 'CPT', 'maxLength': 20, 'minLength': 1}, 'component': {'enum': ['global', 'professional', 'facility', 'unknown'], 'type': 'string', 'default': 'unknown'}, 'plan_name': {'type': 'string', 'maxLength': 300}, 'exclusions': {'type': 'string', 'maxLength': 1000}, 'payer_name': {'type': 'string', 'maxLength': 300}, 'price_kind': {'enum': ['cash', 'discounted_cash', 'package_cash', 'payer_negotiated'], 'type': 'string', 'default': 'cash'}, 'price_notes': {'type': 'string', 'maxLength': 1000}, 'service_name': {'type': 'string', 'maxLength': 300}, 'billing_class': {'type': 'string', 'maxLength': 100}, 'included_services': {'type': 'array', 'items': {'type': 'string', 'maxLength': 300}}, 'proposed_price_cents': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}}, 'default': [], 'maxItems': 100, 'description': 'Optional structured price rows proposed for Loa review.'}, 'source_urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'default': [], 'maxItems': 10, 'description': 'Optional public URLs reviewers can use to verify the submitted change.'}, 'request_type': {'enum': ['price_update', 'profile_correction', 'new_listing', 'remove_listing', 'other'], 'type': 'string', 'description': 'Type of reviewed change being requested.'}, 'source_notes': {'type': 'string', 'maxLength': 2000, 'description': 'Short verification notes, source context, or callback instructions.'}, 'entity_page_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Loa entity_pages.id for the provider or hospital.'}, 'submitter_name': {'type': 'string', 'maxLength': 200, 'description': 'Name of the person submitting the request.'}, 'submitter_role': {'type': 'string', 'maxLength': 200, 'description': 'Submitter role, such as billing manager or authorized agent.'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 8, 'description': 'Optional stable retry key. Loa derives one from the payload if omitted.'}, 'submitter_email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Work email for the submitting representative.'}, 'submitter_phone': {'type': 'string', 'maxLength': 50, 'description': 'Optional callback phone number for reviewer follow-up.'}, 'proposed_changes': {'type': 'object', 'default': {}, 'description': 'Structured profile or listing fields proposed for Loa review.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'uploaded_file_url': {'type': 'string', 'format': 'uri', 'description': 'Optional public URL for an uploaded evidence file.'}, 'submitter_organization': {'type': 'string', 'maxLength': 300, 'description': 'Provider, hospital, or agent organization represented by the submitter.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['requestId', 'updateRequestId', 'status', 'entityPageId', 'reusedExisting'], 'properties': {'status': {'type': 'string'}, 'requestId': {'type': 'string'}, 'entityPageId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'reusedExisting': {'type': 'boolean'}, 'updateRequestId': {'type': 'string'}}, 'additionalProperties': False}
suggest_procedures
Procedure Suggestions
Advisory helper that suggests likely CPT codes from a plain-English medical need. Uses Loa heuristics plus AI and is not authoritative or diagnostic. Use only when the user cannot name the procedure, then confirm candidates with search_cpt_codes before pricing them. Requires signing in to Loa; without sign-in, use search_cpt_codes with consumer phrases instead.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'minLength': 2, 'description': 'Natural language description of the medical need (e.g. "I have a rash on my arm", "need imaging for my lower back pain")'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type', 'interpretation', 'needsConfirmationWith', 'provenance', 'suggestedCodes'], 'properties': {'type': {'enum': ['specialty_browse', 'imaging_browse', 'search_results'], 'type': 'string'}, 'provenance': {'type': 'object', 'required': ['authority', 'basis', 'methodology_url'], 'properties': {'basis': {'type': 'string'}, 'authority': {'enum': ['authoritative', 'advisory', 'estimate'], 'type': 'string'}, 'source_url': {'type': 'string', 'format': 'uri'}, 'source_scope': {'type': 'string'}, 'methodology_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'interpretation': {'type': 'string'}, 'suggestedCodes': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'friendlyName', 'technicalName', 'whyRelevant', 'relevance'], 'properties': {'code': {'type': 'string'}, 'relevance': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'whyRelevant': {'type': 'string'}, 'friendlyName': {'type': 'string'}, 'technicalName': {'type': 'string'}}, 'additionalProperties': False}}, 'needsConfirmationWith': {'type': 'string', 'const': 'search_cpt_codes'}}, 'additionalProperties': False}
已更改
get_hospital_pricing
2026年9月29日 02:51
已更改
get_market_pricing
2026年9月29日 02:51
已更改
get_pricing_estimate
2026年9月29日 02:51
已更改
get_entity_profile
2026年9月25日 02:51
已更改
get_entity_prices
2026年9月25日 02:51
已更改
search_entities
2026年9月25日 02:51
已更改
get_hospital_pricing
2026年9月25日 02:51
已更改
search_hospitals
2026年9月25日 02:51
已更改
search_providers
2026年9月25日 02:51
已更改
suggest_procedures
2026年9月25日 02:51
已添加
submit_entity_update_request
2026年9月17日 12:40
已添加
explain_price_sources
2026年9月17日 12:40
已添加
get_entity_profile
2026年9月17日 12:40
已添加
get_entity_prices
2026年9月17日 12:40
已添加
search_entities
2026年9月17日 12:40
已添加
get_hospital_pricing
2026年9月17日 12:40
已添加
search_hospitals
2026年9月17日 12:40
已添加
get_market_pricing
2026年9月17日 12:40
已添加
get_pricing_estimate
2026年9月17日 12:40
已添加
search_providers
2026年9月17日 12:40
已添加
suggest_procedures
2026年9月17日 12:40
已添加
search_cpt_codes
2026年9月17日 12:40