Servidor MCP

mcp

com.medigami/mcp

Qué hace este MCP

Analyzes medical bills and insurance denials, estimates healthcare costs, identifies assistance options, and supports appeals and claim review.

analyze_glp1_pathways
Find all access pathways for a GLP-1 drug (Ozempic, Wegovy, Mounjaro, Zepbound) given patient eligibility factors. Ranks pathways by monthly cost, flags prior-authorization rules and step-therapy, and returns the recommended appeal strategy if denial is likely. WHEN TO USE: User specifically asks about GLP-1 drugs (Ozempic, Wegovy, Mounjaro, Zepbound) — coverage, prior-auth strategy, step-therapy alternatives. WHEN NOT: For non-GLP-1 prescriptions (use optimize_prescription).
Esquema de entrada
{'type': 'object', 'required': ['insurer', 'bmi'], 'properties': {'bmi': {'type': 'number'}, 'state': {'type': 'string'}, 'has_cvd': {'type': 'boolean'}, 'insurer': {'type': 'string'}, 'medicare': {'type': 'boolean'}, 'has_diabetes': {'type': 'boolean'}, 'current_copay': {'type': 'number'}, 'tried_step_therapy': {'type': 'array', 'items': {'type': 'string'}, 'description': "Drug names already tried under step therapy, e.g. ['metformin']."}}}
appeal_argument_generator
[Taxonomy VII.120 — baseline response (public data only)] Generate component arguments for an appeal letter: medical-necessity, contract, policy. WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script. EXAMPLES: - Argument blocks for CO-50 with UHC: `{"denial_code":"CO-50","insurer":"UnitedHealthcare"}`
Esquema de entrada
{'type': 'object', 'properties': {'insurer': {'type': 'string'}, 'cpt_code': {'type': 'string'}, 'icd10_code': {'type': 'string'}, 'denial_code': {'type': 'string'}}}
appeal_escalation_path_finder
[Taxonomy VII.129 — baseline response (public data only)] Find the correct escalation path for a denied claim (internal appeal → external review → DOI). WHEN TO USE: User needs to know the deadlines and agencies for each step of appealing a denial. Pass state (e.g. 'CA') and insurer for state-specific and insurer-specific values. WHEN NOT: Without state/insurer — still works but returns generic federal defaults. Follow up with state for best answer. EXAMPLES: - CA / UnitedHealthcare escalation path: `{"state":"CA","insurer":"UnitedHealthcare"}`
Esquema de entrada
{'type': 'object', 'properties': {'state': {'type': 'string', 'description': 'Two-letter US state code. State-specific external-review deadlines and DOI agency URL are returned when we have them (top 16 states).'}, 'insurer': {'type': 'string', 'description': "Insurer canonical name, e.g. 'UnitedHealthcare', 'Aetna'. Used to look up payer-specific appeal windows."}}}
appeal_success_predictor
[Taxonomy E.25 — delegates to estimate_appeal_success] Given a denial, predict the probability of a successful appeal. Returns probability with 95% CI, sample size, and recommended appeal-strategy tags. WHEN TO USE: User or caller wants a probabilistic estimate (denial likelihood, appeal success, payment delay, etc.) to decide whether to pursue a path. WHEN NOT: For hard facts (dollar amounts, code definitions, deadlines). Predictions carry confidence bands; call out the uncertainty when you relay the number.
Esquema de entrada
{'type': 'object', 'required': ['insurer', 'denial_reason', 'cpt_code'], 'properties': {'state': {'type': 'string'}, 'insurer': {'type': 'string'}, 'cpt_code': {'type': 'string'}, 'denial_reason': {'type': 'string'}}}
batch_scan_bills
Scan multiple medical bills in one call. Returns per-bill anomaly lists + total recovery estimate across the batch. Input is a list of {bill_text, provider?, insurer?} items (max 10 per call). Much faster than serial scan_bill_for_errors when handling a bulk upload. WHEN TO USE: User has multiple bills or EOBs to review at once (e.g. a family's bills from one visit, or a year of statements). WHEN NOT: For a single bill (use scan_bill_for_errors).
Esquema de entrada
{'type': 'object', 'required': ['bills'], 'properties': {'bills': {'type': 'array', 'items': {'type': 'object', 'required': ['bill_text'], 'properties': {'insurer': {'type': 'string', 'maxLength': 100}, 'provider': {'type': 'string', 'maxLength': 200}, 'bill_text': {'type': 'string', 'maxLength': 50000}}}, 'maxItems': 10}}}
billing_charge_vs_allowed_delta
[Taxonomy III.51 — baseline response (public data only)] Delta between billed charge and payer-allowed amount for a claim line. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'required': ['billed_usd', 'allowed_usd'], 'properties': {'billed_usd': {'type': 'number'}, 'allowed_usd': {'type': 'number'}}}
bill_shock_predictor
[Taxonomy X.179 — baseline response (public data only)] Predict risk that a planned service will trigger an unexpected large bill. WHEN TO USE: User planning a service and wants to know if it will trigger an unexpected-large-bill situation. Pass expected_charge_usd and optionally cpt_code to get Medicare-ratio context. WHEN NOT: For a bill already received — scan_bill_for_errors first. EXAMPLES: - Check shock risk on $5,000 office visit: `{"expected_charge_usd":5000,"cpt_code":"99213"}`
Esquema de entrada
{'type': 'object', 'required': ['expected_charge_usd'], 'properties': {'cpt_code': {'type': 'string', 'description': 'Optional CPT code; when provided, the response includes the Medicare national rate and charge-to-Medicare ratio.'}, 'threshold_usd': {'type': 'number', 'description': 'Override the default shock threshold (default = KFF 2024 average individual deductible = $1,735).'}, 'expected_charge_usd': {'type': 'number', 'description': 'The expected out-of-pocket charge in USD (no currency symbol).'}}}
bundling_violation_detector
[Taxonomy C.16 — delegates to scan_bill_for_errors] Detect CPT unbundling (billing components of a procedure separately to inflate the claim). Uses the CMS NCCI edits plus payer-specific bundling rules. WHEN TO USE: Caller is building or validating a claim payload before submission — format, structure, completeness, alignment. WHEN NOT: For an already-submitted and denied claim, use generate_appeal_letter. For market pricing context, use benchmark_payer_rate.
Esquema de entrada
{'type': 'object', 'required': ['cpt_codes'], 'properties': {'dos': {'type': 'string', 'description': 'Date of service, YYYY-MM-DD.'}, 'payer': {'type': 'string'}, 'cpt_codes': {'type': 'array', 'items': {'type': 'string'}}}}
cash_price_estimator
[Taxonomy III.39 — baseline response (public data only)] Estimate a fair cash price for a service in a given region (no-insurance path). WHEN TO USE: Uninsured/self-pay user wants a fair-market cash price for a service. Returns Medicare national as a floor + commercial-multiple band. WHEN NOT: For insurance-covered scenarios (deductible_impact_calculator + coinsurance_simulator). EXAMPLES: - Cash price for office visit: `{"cpt_code":"99213","zip3":"902"}`
Esquema de entrada
{'type': 'object', 'required': ['cpt_code'], 'properties': {'zip3': {'type': 'string'}, 'cpt_code': {'type': 'string'}}}
cash_vs_insurance_optimizer
[Taxonomy H.41 — baseline response (public data only)] For a given service + patient plan, determine whether cash-pay + charity-care beats insurance billing. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'required': ['cpt_code'], 'properties': {'cpt_code': {'type': 'string'}, 'cash_price': {'type': 'number'}, 'deductible_remaining': {'type': 'number'}, 'insurance_cost_estimate': {'type': 'number'}}}
claim_consistency_checker
[Taxonomy C.14 — delegates to scan_bill_for_errors] Detect internal contradictions in a claim: time mismatches, mutually exclusive codes, missing required fields, patient-gender/procedure mismatches. WHEN TO USE: Caller is building or validating a claim payload before submission — format, structure, completeness, alignment. WHEN NOT: For an already-submitted and denied claim, use generate_appeal_letter. For market pricing context, use benchmark_payer_rate.
Esquema de entrada
{'type': 'object', 'required': ['claim_payload'], 'properties': {'claim_payload': {'type': 'object', 'description': 'Structured claim (CPT + ICD + dates + amounts).'}}}
claim_duplicate_line_detector
[Taxonomy IV.75 — baseline response (public data only)] Detect duplicated service lines within a single claim. WHEN TO USE: Caller is building or validating a claim payload before submission — format, structure, completeness, alignment. WHEN NOT: For an already-submitted and denied claim, use generate_appeal_letter. For market pricing context, use benchmark_payer_rate.
Esquema de entrada
{'type': 'object', 'required': ['claim'], 'properties': {'claim': {'type': 'object'}}}
claim_rebuttal_generator
[Taxonomy VII.128 — baseline response (public data only)] Generate a rebuttal to a payer's denial rationale point-by-point. WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
claim_reconsideration_builder
[Taxonomy VII.132 — baseline response (public data only)] Build a claim reconsideration request (lighter-weight than a formal appeal). WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
code_bundle_validator
[Taxonomy II.25 — baseline response (public data only)] Check a set of CPT codes against NCCI bundling rules (distinct from modifier-based unbundling). WHEN TO USE: User asks about medical codes: what a CPT/ICD/HCPCS code means, whether a code combination is valid, or how to map between them. WHEN NOT: For full bill scans (use scan_bill_for_errors). For appealing a coding-related denial (use generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'required': ['cpt_codes'], 'properties': {'cpt_codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Array of CPT codes to check for NCCI bundling violations.'}}}
code_conflict_detector
[Taxonomy A.5 — delegates to scan_bill_for_errors] Detect CPT unbundling, mutually exclusive code pairs, and NCCI edit violations in a set of codes. Implemented by the bill scanner's anomaly engine. WHEN TO USE: User asks about medical codes: what a CPT/ICD/HCPCS code means, whether a code combination is valid, or how to map between them. WHEN NOT: For full bill scans (use scan_bill_for_errors). For appealing a coding-related denial (use generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'required': ['cpt_codes'], 'properties': {'cpt_codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Array of CPT codes to check for conflicts.'}, 'icd10_codes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional diagnosis codes for medical-necessity conflict checks.'}}}
coinsurance_simulator
[Taxonomy III.49 — baseline response (public data only)] Simulate member coinsurance exposure across plan-design variants. WHEN TO USE: User wants to model their coinsurance share of a post-deductible charge. Pass charge_usd and optionally coinsurance_rate. WHEN NOT: For flat-copay services (copay_model). EXAMPLES: - Simulate 20% coinsurance on $1K: `{"charge_usd":1000,"coinsurance_rate":0.2}`
Esquema de entrada
{'type': 'object', 'required': ['charge_usd'], 'properties': {'charge_usd': {'type': 'number'}, 'coinsurance_rate': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Coinsurance rate as a decimal (e.g. 0.20 for 20%). Default is KFF 2024 avg (18%).'}}}
copay_model
[Taxonomy III.50 — baseline response (public data only)] Model member copay for a service by plan-design class. WHEN TO USE: User wants the typical copay for a service type (primary / specialist / er). Uses KFF EHBS 2024 averages. WHEN NOT: For patient-specific plan details — copay varies by plan design. EXAMPLES: - Typical specialist copay: `{"service_type":"specialist"}`
Esquema de entrada
{'type': 'object', 'properties': {'service_type': {'enum': ['primary', 'specialist', 'er', 'emergency'], 'type': 'string', 'description': 'Service category. Returns KFF EHBS 2024 average copay for that category.'}}}
cpt_to_icd_mapper
[Taxonomy II.21 — baseline response (public data only)] For a given CPT, surface the ICD-10 codes typically paired with it for medical-necessity support. WHEN TO USE: User has a CPT code and wants to know what ICD-10 diagnoses commonly pair with it for medical-necessity support. WHEN NOT: For specific payer policy lookups (code_validation). EXAMPLES: - Common ICDs for 99213: `{"cpt_code":"99213"}`
Esquema de entrada
{'type': 'object', 'required': ['cpt_code'], 'properties': {'cpt_code': {'type': 'string', 'description': "Single CPT/HCPCS code, e.g. '99213'. Returns common ICD-10 pairings from the public co-occurrence table."}}}
decode_denial
Decode a CARC (Claim Adjustment Reason Code) denial code into plain English. Returns meaning, category, whether it's typically reversible on appeal, and appeal guidance. Source: public X12 External Code List + CMS/ERISA public rules. Free, no auth. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Esquema de entrada
{'type': 'object', 'required': ['carc_code'], 'properties': {'carc_code': {'type': 'string', 'maxLength': 20, 'description': "CARC/RARC code, e.g. 'CO-16', '16', 'CO-50'."}}}
deductible_impact_calculator
[Taxonomy III.48 — baseline response (public data only)] Estimate how a planned service will draw against the member's deductible. WHEN TO USE: User wants to know how a specific charge affects their deductible (how much draws down, remaining after, post-deductible exposure). WHEN NOT: For total annual out-of-pocket across a year (healthcare_budget_forecaster). EXAMPLES: - Compute deductible drawdown for $4K charge: `{"charge_usd":4000,"deductible_remaining_usd":1735}`
Esquema de entrada
{'type': 'object', 'required': ['charge_usd'], 'properties': {'charge_usd': {'type': 'number'}, 'deductible_remaining_usd': {'type': 'number'}}}
denial_code_explainer
[Taxonomy VII.131 — baseline response (public data only)] Explain a CARC/RARC denial code in plain language with common causes. WHEN TO USE: User asks 'what does CO-16 mean' or similar — any CARC/RARC code. Returns full X12 table entry when available with meaning, category, typical root cause, primary remediation, and reversibility flag. WHEN NOT: For drafting an appeal (generate_appeal_letter). For the full escalation path (appeal_escalation_path_finder). EXAMPLES: - Explain CARC CO-16: `{"code":"CO-16"}` - Explain CARC CO-50 (medical necessity): `{"code":"CO-50"}`
Esquema de entrada
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': "CARC/RARC denial code only, e.g. 'CO-16', 'CO-50', 'PR-1'. The tool looks up the code in the public X12 table. Passing the full expanded reason is tolerated (prefix extracted automatically) but the short code is preferred."}}}
denial_reason_classifier
[Taxonomy VI.106 — baseline response (public data only)] Classify a denial letter or remittance advice into normalized denial-reason categories. WHEN TO USE: User or caller wants a probabilistic estimate (denial likelihood, appeal success, payment delay, etc.) to decide whether to pursue a path. WHEN NOT: For hard facts (dollar amounts, code definitions, deadlines). Predictions carry confidence bands; call out the uncertainty when you relay the number.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
denial_response_builder
[Taxonomy VII.121 — baseline response (public data only)] Build a denial-response package tailored to the denial reason code. WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script. EXAMPLES: - Build response package for CO-197: `{"denial_reason":"CO-197","insurer":"Aetna","cpt_code":"45378","amount":1850}`
Esquema de entrada
{'type': 'object', 'properties': {'amount': {'type': 'number'}, 'insurer': {'type': 'string'}, 'cpt_code': {'type': 'string'}, 'denial_reason': {'type': 'string', 'description': "CARC denial code, e.g. 'CO-16'."}}}
dispute_case_builder
[Taxonomy VII.123 — baseline response (public data only)] Assemble a complete dispute case file including claim, denial, evidence, and timeline. WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
estimate_appeal_success
Probability an appeal will be approved, derived from outcome-labeled data weighted by label provenance (IRO determinations, EOB reversals, physician confirmations). Returns probability + 95% CI + sample_size + expected_days_to_resolution + tracking_id. Report the actual outcome later via POST /api/outcomes/record with the same tracking_id to improve future estimates. WHEN TO USE: User or caller wants probability-of-reversal before spending time on an appeal. Returns probability + confidence interval. WHEN NOT: For picking among multiple appeal strategies (appeal_strategy_success_model). As a stand-alone — usually chain into generate_appeal_letter. EXAMPLES: - Gauge CO-50 appeal odds on Aetna: `{"insurer":"Aetna","denial_reason":"CO-50","cpt_code":"72148","state":"TX","amount":1200}`
Esquema de entrada
{'type': 'object', 'required': ['insurer', 'denial_reason', 'cpt_code'], 'properties': {'state': {'type': 'string', 'maxLength': 2}, 'amount': {'type': 'number'}, 'insurer': {'type': 'string'}, 'cpt_code': {'type': 'string'}, 'diagnosis': {'type': 'string', 'maxLength': 200}, 'denial_reason': {'type': 'string', 'description': 'medical_necessity | prior_auth | out_of_network | experimental | coding_error'}}}
evidence_pack_generator
[Taxonomy VII.124 — baseline response (public data only)] Generate an evidence package supporting a claim or appeal (references, studies, policies). WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
explain_appeal_success
Human-readable rationale for an appeal probability. Returns {probability, tier, recommended_posture, rationale, expected_days_to_resolution, tracking_id} grounded in aggregate outcome rates — not model feature weights. Use this when the caller wants 'why' in plain English alongside the number. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Esquema de entrada
{'type': 'object', 'required': ['insurer', 'denial_reason', 'cpt_code'], 'properties': {'state': {'type': 'string'}, 'amount': {'type': 'number'}, 'insurer': {'type': 'string'}, 'cpt_code': {'type': 'string'}, 'diagnosis': {'type': 'string', 'maxLength': 200}, 'denial_reason': {'type': 'string'}}}
fair_price_estimator
[Taxonomy B.8 — delegates to benchmark_payer_rate] Fair-market price distribution for a service: DP-noised percentiles (p10, p25, p50, p75, p90) for the given CPT in a ZIP3 region. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'required': ['cpt_code', 'zip3'], 'properties': {'zip3': {'type': 'string', 'description': 'First 3 digits of ZIP.'}, 'insurer': {'type': 'string', 'description': 'Optional insurer for payer-specific distribution.'}, 'cpt_code': {'type': 'string'}}}
financial_assistance_finder
[Taxonomy X.181 — baseline response (public data only)] Find applicable financial-assistance programs (hospital charity, 340B, state, pharma). WHEN TO USE: User needs help paying a medical bill. Pass household_income_usd and family_size for FPL-based eligibility flags across 6 programs (501(r) charity, Medicaid, PE, manufacturer PAPs, 340B, state pools). WHEN NOT: For insured users with low exposure (use coinsurance_simulator or deductible_impact_calculator). EXAMPLES: - Find assistance for family of 3 at $45K income: `{"household_income_usd":45000,"family_size":3}`
Esquema de entrada
{'type': 'object', 'properties': {'family_size': {'type': 'integer', 'minimum': 1, 'description': 'Number of people in the household. Used to compute FPL threshold.'}, 'household_income_usd': {'type': 'number', 'description': 'Annual household income in USD. When provided, tool computes FPL ratio and flags likely-eligible programs.'}}}
financial_exposure_model
[Taxonomy X.176 — delegates to financial_risk_exposure_model] Model a member's financial exposure. Alias of financial_risk_exposure_model. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
financial_risk_exposure_model
[Taxonomy H.42 — baseline response (public data only)] Quantify a patient's financial exposure to medical-debt risk given current plan, health status, and historical claim volatility. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'required': ['plan_id'], 'properties': {'plan_id': {'type': 'string'}, 'household_income': {'type': 'number'}, 'emergency_savings': {'type': 'number'}, 'chronic_conditions': {'type': 'array', 'items': {'type': 'string'}}}}
format_citation
Format an LLM-citable reference to a previously-attested Medigami MCP response. Input: either the full signed envelope that an earlier attested tool returned, OR just a tracking_id. Returns a short citation string, a public verification URL a third party can open to inspect and cryptographically verify the payload, and a long-form attribution block. Use this after any substantive Medigami tool call (scan, estimate, resolve, benchmark) so the user has a verifiable reference to the specific answer and its expiration date. WHEN TO USE: After a substantive tool call, generate a citable string + short URL the LLM can paste into its user-facing response for later verification. WHEN NOT: For non-substantive lookups where citation is unnecessary. EXAMPLES: - Generate a citable URL from a tracking_id: `{"tracking_id":"evt_abc123"}`
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'format': {'enum': ['short', 'long', 'both'], 'type': 'string', 'description': 'short = one-line citation string; long = paragraph attribution; both = return both (default).'}, 'envelope': {'type': 'object', 'description': 'Full signed envelope returned by an attested Medigami tool (preferred).'}, 'tracking_id': {'type': 'string', 'maxLength': 32, 'description': 'tracking_id alone; the resulting URL will still render but the third party must paste the envelope into the verifier form.'}}}
format_medigami_citation
DEPRECATED ALIAS of format_citation — kept for backward compatibility with v0.1.7 clients. New code should call format_citation directly. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'format': {'enum': ['short', 'long', 'both'], 'type': 'string', 'description': 'short = one-line citation string; long = paragraph attribution; both = return both (default).'}, 'envelope': {'type': 'object', 'description': 'Full signed envelope returned by an attested Medigami tool (preferred).'}, 'tracking_id': {'type': 'string', 'maxLength': 32, 'description': 'tracking_id alone; the resulting URL will still render but the third party must paste the envelope into the verifier form.'}}}
generate_appeal_letter
Generate a legally-grounded insurance appeal letter for a denied claim. Returns the letter as a template with [PATIENT NAME] and [PROVIDER NAME] placeholders (structured-only PHI posture). Includes legal citations, recommended attachments, and appeal-deadline calendar. WHEN TO USE: User has a specific claim denied and wants a drafted appeal letter. Requires insurer, denial_reason (CARC code), cpt_code, diagnosis (ICD-10), and dollar amount. Returns an attested letter with reversal rate, insurer-specific tips, recommended attachments. WHEN NOT: If the user only wants to understand a denial code, use denial_code_explainer first. If they haven't received a formal denial yet, don't draft — clarify status first. For non-CARC disputes (e.g. billing errors pre-adjudication), use scan_bill_for_errors. EXAMPLES: - Draft CO-16 appeal to UHC for office visit: `{"insurer":"UnitedHealthcare","d...
Esquema de entrada
{'type': 'object', 'required': ['insurer', 'denial_reason', 'cpt_code', 'diagnosis', 'amount'], 'properties': {'state': {'type': 'string', 'maxLength': 2, 'description': 'Two-letter US state code for state-specific disclaimers.'}, 'amount': {'type': 'number', 'description': 'Dollar amount in dispute (number, no currency symbol).'}, 'insurer': {'type': 'string', 'maxLength': 100, 'description': "Insurer canonical name, e.g. 'UnitedHealthcare', 'Aetna'."}, 'cpt_code': {'type': 'string', 'maxLength': 10, 'description': "Single CPT/HCPCS code, e.g. '99213' or 'J0585'."}, 'diagnosis': {'type': 'string', 'maxLength': 20, 'description': "Single ICD-10 code, e.g. 'I10' or 'E11.9'."}, 'denial_reason': {'type': 'string', 'maxLength': 50, 'description': "CARC/RARC denial code, e.g. 'CO-16' or 'CO-97'. Code only — do NOT include the human-readable expansion of the code."}}}
generate_appeal_letter_v2
[Taxonomy F.28 — delegates to generate_appeal_letter] [Taxonomy alias] Generate a state-specific insurance appeal letter with UPL-safe disclaimers for 19 US states. Same impl as generate_appeal_letter. WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script.
Esquema de entrada
{'type': 'object', 'required': ['insurer', 'denial_reason', 'cpt_code', 'diagnosis', 'amount'], 'properties': {'state': {'type': 'string'}, 'amount': {'type': 'number'}, 'insurer': {'type': 'string'}, 'cpt_code': {'type': 'string'}, 'diagnosis': {'type': 'string'}, 'denial_reason': {'type': 'string'}}}
get_appeal_deadline
External-review filing deadline for a state + the date of the FINAL adverse determination. Returns the deadline date, the statutory window label + citation, and whether the exact state-specific window still needs verification (most states carry a conservative NAIC-model 4-month floor unless statute-confirmed, e.g. CA/NY). Free, no auth. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Esquema de entrada
{'type': 'object', 'required': ['denial_date'], 'properties': {'state': {'type': 'string', 'maxLength': 2, 'description': '2-letter US state'}, 'denial_date': {'type': 'string', 'maxLength': 10, 'description': 'ISO date (YYYY-MM-DD) of the FINAL adverse determination'}}}
get_venue
Where and how to file an external review for a given state — the venue name, filing channel (portal/mail/fax), portal URL, and whether expedited review is available. Free, no auth. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Esquema de entrada
{'type': 'object', 'properties': {'state': {'type': 'string', 'maxLength': 2, 'description': '2-letter US state'}}}
healthcare_budget_forecaster
[Taxonomy X.183 — baseline response (public data only)] Forecast a household's annual healthcare spend based on plan + utilization. WHEN TO USE: User planning annual healthcare spend, comparing plans, or estimating worst-case exposure. WHEN NOT: For a specific procedure cost (benchmark_payer_rate). EXAMPLES: - Forecast annual spend range: `{}`
Esquema de entrada
{'type': 'object', 'properties': {'plan_oop_max_usd': {'type': 'number'}, 'plan_deductible_usd': {'type': 'number'}}}
icd_to_cpt_mapper
[Taxonomy II.22 — baseline response (public data only)] For a given ICD-10, surface the CPT codes typically billed for that diagnosis. WHEN TO USE: User has an ICD-10 diagnosis and wants to know what CPTs are commonly billed for it. WHEN NOT: For planning specific services (use benchmark_payer_rate once the CPT is chosen). EXAMPLES: - Common CPTs for essential hypertension: `{"icd10_code":"I10"}`
Esquema de entrada
{'type': 'object', 'required': ['icd10_code'], 'properties': {'icd10_code': {'type': 'string', 'description': "Single ICD-10-CM code, e.g. 'I10'. Returns common CPT candidates."}}}
inflation_adjusted_price_model
[Taxonomy III.46 — baseline response (public data only)] Inflation-adjusted price comparison across years for a CPT. WHEN TO USE: User has a historical dollar amount and wants it adjusted for medical-care inflation to a given year. WHEN NOT: For current market prices (benchmark_payer_rate). EXAMPLES: - Adjust $1K 3yr forward at medical CPI: `{"base_amount_usd":1000,"years":3}`
Esquema de entrada
{'type': 'object', 'required': ['base_amount_usd', 'years'], 'properties': {'years': {'type': 'number', 'maximum': 50, 'minimum': 0}, 'base_amount_usd': {'type': 'number'}}}
insurance_plan_optimizer
[Taxonomy H.39 — baseline response (public data only)] Given a patient's historical claim patterns, rank available insurance plans by expected annual cost. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'required': ['zip_code'], 'properties': {'zip_code': {'type': 'string'}, 'income_band': {'type': 'string'}, 'household_size': {'type': 'integer'}, 'historical_spend': {'type': 'number', 'description': 'Prior-year OOP spend.'}, 'chronic_conditions': {'type': 'array', 'items': {'type': 'string'}}}}
insurance_response_interpreter
[Taxonomy F.31 — baseline response (public data only)] Parse an insurer's response letter or EOB into structured fields: denial reason codes, appeal rights, deadlines, next-step recommendations. WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script.
Esquema de entrada
{'type': 'object', 'required': ['response_text'], 'properties': {'response_text': {'type': 'string', 'description': 'Insurer response or EOB text.'}, 'response_type': {'enum': ['denial', 'partial_denial', 'eob', 'appeal_response'], 'type': 'string'}}}
insurance_value_optimizer
[Taxonomy X.185 — baseline response (public data only)] Recommend insurance-plan selections to maximize value given projected utilization. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
lookup_cpt
Look up a CPT or HCPCS-J code or search by keyword. Covers the most common outpatient billing codes (E/M, preventive, lab, imaging, procedure, cardiology, therapy, behavioral, vaccine, injectable drugs). Note: CPT is a registered trademark of the American Medical Association; full-dataset commercial use requires an AMA license. This tool provides short descriptors for identification in billing-review workflows. WHEN TO USE: User asks about a specific CPT/HCPCS procedure code or wants to search for codes by procedure description. WHEN NOT: For the expected ICD pairings (icd_to_cpt_mapper or cpt_to_icd_mapper). EXAMPLES: - Find CPT for routine office visit: `{"query":"office visit established patient"}`
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'description': "CPT / HCPCS-J code ('99213', 'J1885') or keyword ('knee MRI', 'colonoscopy')."}}}
lookup_icd10
Look up an ICD-10-CM diagnosis code or search by keyword. Input is either an exact code (e.g. 'E11.21') or a free-text description phrase ('type 2 diabetes with nephropathy'). Returns either the matching code + description or up to 20 candidate matches. Use when a clinical note uses non-standard phrasing and the correct code is needed for billing. WHEN TO USE: User asks about a specific ICD-10 diagnosis code or wants RAG-search over ICD-10 for a condition name. WHEN NOT: For the matching CPT codes (cpt_to_icd_mapper). For code validation against a payer (code_validation). EXAMPLES: - Find ICD-10 for hypertension: `{"query":"essential hypertension"}`
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'description': "ICD-10-CM code (e.g. 'I10', 'E11.21') or keyword search."}}}
lookup_npi
Look up a provider in the CMS NPPES National Provider Identifier registry. Accepts a 10-digit NPI number OR a provider name (optionally narrowed by 2-char state). Returns up to 20 matches with entity type, specialty, taxonomy code, address, and status. Source: CMS NPPES public API (free, no key required). WHEN TO USE: User wants to verify a specific provider by NPI number, or find a provider by name + state. WHEN NOT: For provider performance analytics (provider_efficiency_score). EXAMPLES: - Look up a provider by NPI number: `{"npi_number":"1234567893"}`
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'description': "10-digit NPI (e.g. '1234567890') or provider name ('Jane Smith')."}, 'state': {'type': 'string', 'maxLength': 2, 'description': 'Optional 2-char state abbreviation to narrow a name search.'}}}
lookup_provider_taxonomy
Look up a NUCC provider taxonomy code (the specialty codes used on HIPAA transactions + NPI registrations) or search by keyword. Returns classification + type + optional specialization. Source: NUCC Health Care Provider Taxonomy Code Set (public; CMS-accepted). WHEN TO USE: Resolving a NUCC provider taxonomy code to its specialty description. WHEN NOT: For finding a provider by specialty in a region (not yet implemented).
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'description': "Taxonomy code ('207Q00000X') or keyword ('cardiology', 'pediatrics')."}}}
market_price_distribution_model
[Taxonomy III.55 — baseline response (public data only)] Full DP-noised market price distribution for a CPT+region pair. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
maximize_recovery
Given a prior scan_id, returns a prioritized action list: anomalies ranked by (expected overcharge x recovery probability), with the next steps to pursue each. Use after scan_bill_for_errors. WHEN TO USE: User has already run scan_bill_for_errors and wants the anomalies ranked by expected dollar recovery. WHEN NOT: As a first call — always scan first.
Esquema de entrada
{'type': 'object', 'required': ['scan_id'], 'properties': {'scan_id': {'type': 'string'}}}
medical_spending_analyzer
[Taxonomy X.184 — baseline response (public data only)] Analyze a patient's medical spending over a period and surface optimization opportunities. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
medigami_deadline
Federal appeal-deadline window (ERISA §503 internal-appeal / ACA §2719 external-review / NSA IDR) for a plan type. Public regulator data, k-anonymity floored, not legal advice. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['state', 'plan_type'], 'properties': {'state': {'type': 'string', 'maxLength': 32, 'description': '2-letter US state (echoed on the row; the deadline window itself is federal, not state-varying).'}, 'plan_type': {'type': 'string', 'maxLength': 40, 'description': "e.g. 'self_funded', 'aca_marketplace', 'medicare', 'medicaid'."}}}
Esquema de salida
{'type': 'object', 'required': ['command', 'permalink', 'source_url'], 'properties': {'cta': {'type': 'object'}, 'rows': {'type': 'array'}, 'as_of': {'type': ['string', 'null']}, 'basis': {'type': ['string', 'null']}, 'command': {'type': 'string'}, 'refused': {'type': 'string'}, 'permalink': {'type': ['string', 'null']}, 'source_url': {'type': 'string'}, 'unresolved': {'type': 'array'}, 'result_kind': {'type': 'string'}}, 'additionalProperties': True}
medigami_odds
Historical external-review overturn rate published by the state regulator for the insurer you name, in a regulated venue (CA/NY/MD/NJ/MI/OH/NC). Returns one insurer's own rate — not a comparison or ranking against other insurers. Public regulator data, k-anonymity floored, not legal advice. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['insurer', 'state'], 'properties': {'state': {'type': 'string', 'maxLength': 32, 'description': "Venue state, e.g. 'CA', 'NY'."}, 'insurer': {'type': 'string', 'maxLength': 100, 'description': 'Insurer / payer name.'}}}
Esquema de salida
{'type': 'object', 'required': ['command', 'permalink', 'source_url'], 'properties': {'cta': {'type': 'object'}, 'rows': {'type': 'array'}, 'as_of': {'type': ['string', 'null']}, 'basis': {'type': ['string', 'null']}, 'command': {'type': 'string'}, 'refused': {'type': 'string'}, 'permalink': {'type': ['string', 'null']}, 'source_url': {'type': 'string'}, 'unresolved': {'type': 'array'}, 'result_kind': {'type': 'string'}}, 'additionalProperties': True}
medigami_rate
A hospital's own MRF-published negotiated rate for a CPT code (no billed-amount comparison — use medigami_roast for that). Public regulator data, k-anonymity floored, not legal advice. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['hospital', 'cpt'], 'properties': {'cpt': {'type': 'string', 'maxLength': 10, 'description': 'CPT/HCPCS procedure code.'}, 'hospital': {'type': 'string', 'maxLength': 200, 'description': 'Hospital / facility name.'}}}
Esquema de salida
{'type': 'object', 'required': ['command', 'permalink', 'source_url'], 'properties': {'cta': {'type': 'object'}, 'rows': {'type': 'array'}, 'as_of': {'type': ['string', 'null']}, 'basis': {'type': ['string', 'null']}, 'command': {'type': 'string'}, 'refused': {'type': 'string'}, 'permalink': {'type': ['string', 'null']}, 'source_url': {'type': 'string'}, 'unresolved': {'type': 'array'}, 'result_kind': {'type': 'string'}}, 'additionalProperties': True}
medigami_roast
Compare a billed charge against a hospital's own MRF-published negotiated rate for a CPT code; returns the markup multiple. Public regulator data, k-anonymity floored, not legal advice. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['hospital', 'cpt', 'billed_amount'], 'properties': {'cpt': {'type': 'string', 'maxLength': 10, 'description': 'CPT/HCPCS procedure code.'}, 'hospital': {'type': 'string', 'maxLength': 200, 'description': 'Hospital / facility name.'}, 'billed_amount': {'type': 'number', 'minimum': 0, 'description': 'Amount billed, USD.'}}}
Esquema de salida
{'type': 'object', 'required': ['command', 'permalink', 'source_url'], 'properties': {'cta': {'type': 'object'}, 'rows': {'type': 'array'}, 'as_of': {'type': ['string', 'null']}, 'basis': {'type': ['string', 'null']}, 'command': {'type': 'string'}, 'refused': {'type': 'string'}, 'permalink': {'type': ['string', 'null']}, 'source_url': {'type': 'string'}, 'unresolved': {'type': 'array'}, 'result_kind': {'type': 'string'}}, 'additionalProperties': True}
negotiate_bill_script
Generate a phone script the user can read when negotiating a medical bill directly with the provider. Combines DP-noised commercial rate benchmarks + the caller's household income + federal charity-care rules (IRS §501(r)) into three negotiation angles: financial assistance, self-pay discount, and itemized-bill coding review. Returns the script + reference-only benchmark range (for the user's own research, not an insurance-consulting recommendation) + charity-care tier. Output is educational only; the user negotiates on their own behalf. Some states (notably NY, FL, CA) regulate public-adjuster activity — the attached disclaimer references this. WHEN TO USE: User wants talking points and a target settlement range to negotiate a medical bill with the provider. Best for self-pay and out-of-network balances. WHEN NOT: For a bill that was denied (generate_appeal_letter — the payer, not ...
Esquema de entrada
{'type': 'object', 'required': ['cpt_code', 'billed_amount'], 'properties': {'zip3': {'type': 'string'}, 'state': {'type': 'string'}, 'insurer': {'type': 'string'}, 'cpt_code': {'type': 'string'}, 'billed_amount': {'type': 'number', 'minimum': 1}, 'household_size': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'household_income_annual': {'type': 'number', 'minimum': 0}}}
negotiation_strategy_generator
[Taxonomy F.30 — baseline response (public data only)] Given a bill + patient situation, generate a ranked negotiation strategy: hardship appeal, charity-care application, itemization request, phone scripts. WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script.
Esquema de entrada
{'type': 'object', 'required': ['bill_amount'], 'properties': {'provider': {'type': 'string'}, 'situation': {'enum': ['uninsured', 'underinsured', 'hardship', 'dispute'], 'type': 'string'}, 'bill_amount': {'type': 'number'}, 'insurance_status': {'type': 'string'}}}
optimize_prescription
Find the lowest-cost path for a prescription: generics, biosimilars, GoodRx coupons, manufacturer assistance, 90-day fills, and mail-order vs retail comparison. Returns ranked options with annual savings vs current copay. WHEN TO USE: User asks about prescription cost — lowest-price generic, biosimilar, GoodRx coupon, mail-order, manufacturer assistance, or 90-day fill options. WHEN NOT: For insurance-covered Rx copay questions (use copay_model). For medical necessity appeals of formulary denials (use generate_appeal_letter). EXAMPLES: - Find cheapest path for atorvastatin 20mg: `{"drug_name":"atorvastatin 20mg","current_insurance_cost_30day":45,"is_maintenance_med":true}`
Esquema de entrada
{'type': 'object', 'required': ['drug_name'], 'properties': {'ndc_code': {'type': 'string'}, 'zip_code': {'type': 'string'}, 'drug_name': {'type': 'string'}, 'is_maintenance_med': {'type': 'boolean'}, 'current_insurance_cost_30day': {'type': 'number'}}}
out_of_pocket_optimizer
[Taxonomy X.174 — baseline response (public data only)] Optimize out-of-pocket spend across a sequence of planned services. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
overpriced_service_detector
[Taxonomy III.53 — baseline response (public data only)] Flag services billed materially above market percentile thresholds. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
patient_cost_explainer
[Taxonomy X.182 — baseline response (public data only)] Explain why a specific charge appears on a bill in plain language. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
patient_cost_forecaster
[Taxonomy H.38 — baseline response (public data only)] Given a patient's plan + predicted care needs, forecast annual out-of-pocket spend across expected claims. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'required': ['plan_id'], 'properties': {'plan_id': {'type': 'string'}, 'chronic_conditions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'ICD-10 codes for chronic care.'}, 'expected_procedures': {'type': 'array', 'items': {'type': 'string'}, 'description': 'CPT codes expected this year.'}}}
patient_financial_risk_score
[Taxonomy X.186 — baseline response (public data only)] Score a patient's financial risk exposure from planned or ongoing care. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
payer_specific_appeal_templates
[Taxonomy VII.130 — baseline response (public data only)] Return payer-specific appeal templates known to perform well. WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
payment_plan_optimizer
[Taxonomy X.180 — baseline response (public data only)] Optimize a payment plan structure for a patient balance. WHEN TO USE: User has a balance and wants to structure a payment plan. Pass balance_usd and months. WHEN NOT: If user may qualify for charity care — run financial_assistance_finder first. EXAMPLES: - 12-month plan for $3K balance: `{"balance_usd":3000,"months":12}`
Esquema de entrada
{'type': 'object', 'required': ['balance_usd'], 'properties': {'months': {'type': 'integer', 'maximum': 120, 'minimum': 1}, 'balance_usd': {'type': 'number'}}}
price_anomaly_detector
[Taxonomy III.52 — baseline response (public data only)] Detect service-line prices statistically anomalous versus market. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
price_outlier_detector
[Taxonomy III.56 — baseline response (public data only)] Detect claim-line outliers relative to a learned market distribution. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
price_recommendation_engine
[Taxonomy III.58 — baseline response (public data only)] Recommend a reasonable price to propose to a provider for a service (self-pay or negotiation). WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
price_variance_analyzer
[Taxonomy B.9 — baseline response (public data only)] Given a target price and a CPT+region, return how many standard deviations above/below the market the target sits, plus confidence. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'required': ['cpt_code', 'observed_price', 'zip3'], 'properties': {'zip3': {'type': 'string'}, 'cpt_code': {'type': 'string'}, 'observed_price': {'type': 'number', 'description': 'Price to evaluate, USD.'}}}
procedure_affordability_ranker
[Taxonomy X.177 — baseline response (public data only)] Rank a set of procedures by affordability for a given member. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
procedure_cost_decomposition
[Taxonomy III.57 — baseline response (public data only)] Decompose the cost of a procedure into component services + facility + professional fees. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
regional_price_benchmark
[Taxonomy III.43 — baseline response (public data only)] Regional price benchmark for a CPT at state/metro/ZIP3 granularity. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
resolve_codes
[Taxonomy A.1 — baseline response (public data only)] Unified code resolver — free-form query or clinical description → ranked ICD-10-CM, CPT, and HCPCS codes with confidence scores. Use when you need to translate symptoms, procedures, or diagnoses into billable codes without running three separate lookups. WHEN TO USE: User asks about medical codes: what a CPT/ICD/HCPCS code means, whether a code combination is valid, or how to map between them. WHEN NOT: For full bill scans (use scan_bill_for_errors). For appealing a coding-related denial (use generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Free-form clinical description, symptom, or procedure.'}, 'code_types': {'type': 'array', 'items': {'enum': ['icd10', 'cpt', 'hcpcs'], 'type': 'string'}, 'description': 'Optional filter — defaults to all three.'}, 'max_results': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Cap on ranked results. Default 5.'}}}
resolve_denial
End-to-end denial resolution: returns appeal probability + confidence interval + a drafted letter template grounded in aggregate outcome data + plan-context flags (ERISA, restrictive-adjuster state). One call, one tracking_id. No recovery-financing product is offered by this tool. WHEN TO USE: Single-shot composite: user has a specific denial and wants scan + estimate + appeal + citation in one call. WHEN NOT: For nuanced step-by-step workflows, call the individual tools in order. EXAMPLES: - End-to-end CO-197 denial resolution: `{"insurer":"Aetna","denial_reason":"CO-197","cpt_code":"45378","state":"TX","amount":1850}`
Esquema de entrada
{'type': 'object', 'required': ['insurer', 'denial_reason', 'cpt_code'], 'properties': {'state': {'type': 'string'}, 'amount': {'type': 'number'}, 'insurer': {'type': 'string'}, 'cpt_code': {'type': 'string'}, 'diagnosis': {'type': 'string', 'maxLength': 200}, 'denial_reason': {'type': 'string'}, 'plan_type_hint': {'type': 'string', 'description': 'self-funded | aca_marketplace | medicare | medicaid | ...'}}}
scan_bill_for_errors
Scan a medical bill or EOB text for errors: duplicate charges, CPT unbundling, upcoding, facility-fee overcharges. Returns flagged anomalies with estimated dollar impact and a total recovery estimate. PHI WARNING: bill text typically contains PHI (patient name, DOB, MRN, insurer ID). Medigami runs a server-side PHI redactor before any downstream LLM call when scan_bill is invoked from the public SKU, but best practice is to redact client-side before passing the bill through an LLM tool call. For your own bill only — this tool is not for reviewing someone else's claims. WHEN TO USE: User pastes or uploads a medical bill, EOB, itemized statement, hospital charge summary, or similar. The bill text can be raw (OCR output fine) — the scanner parses it. Prefer this over manual line-by-line analysis for any bill above ~$100. WHEN NOT: For a denial appeal (generate_appeal_letter). For pre-...
Esquema de entrada
{'type': 'object', 'required': ['bill_text'], 'properties': {'total': {'type': 'number'}, 'insurer': {'type': 'string'}, 'provider': {'type': 'string'}, 'zip_code': {'type': 'string'}, 'bill_text': {'type': 'string', 'maxLength': 50000, 'description': 'Bill/EOB text. Client-side redaction recommended.'}}}
settlement_optimizer
[Taxonomy F.32 — baseline response (public data only)] For a disputed bill, compute the optimal settlement target price balancing probability of acceptance against amount saved. WHEN TO USE: User has a denied claim and wants to appeal, or is preparing arguments / evidence / escalation steps for one. WHEN NOT: For explaining what a denial code means without drafting an appeal, use denial_code_explainer first. For finding a negotiation path on a non-denied bill, use negotiate_bill_script.
Esquema de entrada
{'type': 'object', 'required': ['bill_amount'], 'properties': {'provider': {'type': 'string'}, 'bill_amount': {'type': 'number'}, 'dispute_leverage': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'patient_ability_to_pay': {'type': 'number', 'description': 'Monthly discretionary income, USD.'}}}
specialty_price_benchmark
[Taxonomy III.44 — baseline response (public data only)] Price benchmark for a CPT within a specific provider specialty. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
submit_denial_letter
Submit a medical-claim denial letter to the Medigami Denial Common Crawl (public aggregate dataset). Consent-gated — caller must pass consent=true to attest the submission is voluntary. Server-side PHI scrubber runs before any storage; the public aggregate contains only coded fields (insurer_canonical, denial_reason_code, state, cpt_category, dollars_bin, days_to_resolution_bin). Raw text is never republished. Optional tracking_id closes the outcome loop to a prior Medigami scan / resolve call. WHEN TO USE: User wants to contribute a denial letter to the public Denial Common Crawl (consent-gated). PHI is scrubbed before aggregation. WHEN NOT: Just to explain a denial (denial_code_explainer). To draft a response (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'required': ['letter_text', 'consent'], 'properties': {'state': {'type': 'string', 'maxLength': 2, 'description': '2-char US state code or empty.'}, 'amount': {'type': 'number', 'maximum': 10000000, 'minimum': 0}, 'consent': {'type': 'boolean', 'description': 'MUST be true — caller attests the submission is voluntary.'}, 'cpt_code': {'type': 'string', 'maxLength': 10}, 'letter_text': {'type': 'string', 'maxLength': 40000, 'minLength': 40, 'description': 'Raw denial-letter text. PHI scrubbed server-side.'}, 'tracking_id': {'type': 'string', 'maxLength': 32, 'description': 'Optional prior Medigami tracking_id to close the outcome loop.'}, 'outcome_code': {'type': 'string', 'maxLength': 40, 'description': 'Optional: member_abandoned | appealed_won | appealed_lost | appealed_partial | pending'}, 'days_to_resolution': {'type': 'integer', 'maximum': 3650, 'minimum': 0}}}
supporting_document_selector
[Taxonomy VII.135 — baseline response (public data only)] Select optimal supporting documents for an appeal from an available document pool. WHEN TO USE: User is preparing an appeal and needs a ranked list of supporting documents for the denial category. Pass denial_code. WHEN NOT: Without denial_code — still returns generic docs but category-specific ranking is the high-value output. EXAMPLES: - Docs for a CO-50 medical-necessity denial: `{"denial_code":"CO-50"}`
Esquema de entrada
{'type': 'object', 'properties': {'denial_code': {'type': 'string', 'description': "CARC denial code, e.g. 'CO-50'. Drives category-specific document ranking."}, 'denial_reason': {'type': 'string', 'description': 'Alias for denial_code.'}}}
treatment_cost_comparator
[Taxonomy X.178 — baseline response (public data only)] Compare expected costs across treatment alternatives for a condition. WHEN TO USE: User is planning for a medical expense, comparing plan options, looking for financial assistance, or trying to structure a payment plan. WHEN NOT: For billing-error analysis (scan_bill_for_errors) or appeal drafting (generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
unbundling_detector
[Taxonomy II.26 — delegates to scan_bill_for_errors] Detect CPT unbundling patterns in a claim. Alias of scan_bill_for_errors. WHEN TO USE: User asks about medical codes: what a CPT/ICD/HCPCS code means, whether a code combination is valid, or how to map between them. WHEN NOT: For full bill scans (use scan_bill_for_errors). For appealing a coding-related denial (use generate_appeal_letter).
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
verify_attestation
Verify an Ed25519-signed Medigami MCP response envelope — confirm a medical-bill / appeal / denial / rate answer came from Medigami and hasn't been tampered with. Input: the signed envelope + a public key (PEM) or expected-fingerprint you pinned out-of-band. Returns {valid, reason, tracking_id, timestamp, exp, public_key_fingerprint} so callers can cite the result as FRE 902(14) self-authenticating evidence. Usage: (a) Preferred: supply public_key_pem pinned out-of-band. (b) Otherwise: supply expected_fingerprint (SHA-256 of the pinned key); the envelope's embedded fingerprint is compared against it AND the key is fetched over HTTPS from the envelope's public_key_url (or Medigami's well-known URL) for signature verification. Freshness (exp) and fingerprint equality are both checked. Non-repudiation note: this tool deliberately does NOT silently fall back to the local server's ke...
Esquema de entrada
{'type': 'object', 'required': ['envelope'], 'properties': {'envelope': {'type': 'object', 'description': 'The signed response envelope'}, 'public_key_pem': {'type': 'string', 'description': 'PEM public key content (preferred)'}, 'expected_fingerprint': {'type': 'string', 'description': 'SHA-256 hex of the PEM public key you trust'}}}
verify_dea_authorization
Validate the format + checksum of a DEA registration number (format: [A-Z][A-Z9][0-9]{7}; public checksum algorithm). Useful as a sanity check on a DEA number you were given (e.g. on a prescription label or a provider's letterhead). Scope note: this tool confirms the number is well-formed — it does NOT verify current registration status or the specific controlled-substance schedule the holder is authorized to prescribe. Authority verification requires a licensed DEA data broker (DEA ARCOS, RxMix). WHEN TO USE: Checking if a provider's DEA registration covers a specific controlled-substance CPT. WHEN NOT: For non-controlled-substance claims.
Esquema de entrada
{'type': 'object', 'required': ['dea_number'], 'properties': {'cpt_code': {'type': 'string', 'maxLength': 10, 'description': 'Optional CPT context; tool does not map CPT to controlled-substance schedule.'}, 'dea_number': {'type': 'string', 'maxLength': 10, 'description': "9-char DEA registration (e.g. 'AB1234563')."}}}
verify_mcp_response
DEPRECATED ALIAS of verify_attestation — kept for backward compatibility with v0.1.7 clients. New code should call verify_attestation directly. WHEN TO USE: Reference lookups: individual code details, verifying a provider registry entry, checking a prior Medigami response's signature, or tracking an outcome. WHEN NOT: For composite workflows use the higher-level tool that calls these internally.
Esquema de entrada
{'type': 'object', 'required': ['envelope'], 'properties': {'envelope': {'type': 'object', 'description': 'The signed response envelope'}, 'public_key_pem': {'type': 'string', 'description': 'PEM public key content (preferred)'}, 'expected_fingerprint': {'type': 'string', 'description': 'SHA-256 hex of the PEM public key you trust'}}}
watch_appeal_outcome
Subscribe to an appeal outcome by tracking_id. Blocks up to `timeout_seconds` (default 300). Returns the outcome payload as soon as it's recorded, or {status: 'timeout'} if nothing resolved within the window — caller re-invokes to keep watching. Tracking ids are returned by estimate_appeal_success and other Tier 3 moat tools. WHEN TO USE: Caller wants to subscribe to the outcome of an in-flight appeal by tracking_id. WHEN NOT: One-shot queries — prefer the callbacks via /api/outcomes/record.
Esquema de entrada
{'type': 'object', 'required': ['tracking_id'], 'properties': {'tracking_id': {'type': 'string', 'maxLength': 32}, 'timeout_seconds': {'type': 'integer', 'maximum': 600, 'minimum': 1}}}
watch_claim_denial
Subscribe to a claim denial event for a given scan_id. Blocks up to `timeout_seconds`. Returns {status: 'denied', ...} as soon as the payer marks the claim denied in claim_status_history, or {status: 'timeout'} if no denial observed within the window. WHEN TO USE: Caller wants to stream denial events for a set of claims. WHEN NOT: One-shot queries.
Esquema de entrada
{'type': 'object', 'required': ['scan_id'], 'properties': {'scan_id': {'type': 'string', 'maxLength': 128}, 'timeout_seconds': {'type': 'integer', 'maximum': 600, 'minimum': 1}}}
zip_based_price_variance
[Taxonomy III.41 — baseline response (public data only)] Report price variance for a CPT across ZIP3 regions with DP noise. WHEN TO USE: User wants to understand what a service typically costs, compare prices across regions/providers, or gauge whether a billed amount is reasonable. WHEN NOT: For a specific bill they have in hand, scan_bill_for_errors is more actionable. For insurance-path estimates, use deductible_impact_calculator or coinsurance_simulator.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': True}
Añadido
medigami_rate
17 de September de 2026 a las 12:36
Añadido
medigami_deadline
17 de September de 2026 a las 12:36
Añadido
medigami_roast
17 de September de 2026 a las 12:36
Añadido
medigami_odds
17 de September de 2026 a las 12:36
Añadido
get_venue
17 de September de 2026 a las 12:36
Añadido
get_appeal_deadline
17 de September de 2026 a las 12:36
Añadido
decode_denial
17 de September de 2026 a las 12:36
Añadido
patient_financial_risk_score
17 de September de 2026 a las 12:36
Añadido
insurance_value_optimizer
17 de September de 2026 a las 12:36
Añadido
medical_spending_analyzer
17 de September de 2026 a las 12:36
Añadido
healthcare_budget_forecaster
17 de September de 2026 a las 12:36
Añadido
patient_cost_explainer
17 de September de 2026 a las 12:36
Añadido
financial_assistance_finder
17 de September de 2026 a las 12:36
Añadido
payment_plan_optimizer
17 de September de 2026 a las 12:36
Añadido
bill_shock_predictor
17 de September de 2026 a las 12:36
Añadido
treatment_cost_comparator
17 de September de 2026 a las 12:36
Añadido
procedure_affordability_ranker
17 de September de 2026 a las 12:36
Añadido
financial_exposure_model
17 de September de 2026 a las 12:36
Añadido
out_of_pocket_optimizer
17 de September de 2026 a las 12:36
Añadido
supporting_document_selector
17 de September de 2026 a las 12:36
Añadido
claim_reconsideration_builder
17 de September de 2026 a las 12:36
Añadido
denial_code_explainer
17 de September de 2026 a las 12:36
Añadido
payer_specific_appeal_templates
17 de September de 2026 a las 12:36
Añadido
appeal_escalation_path_finder
17 de September de 2026 a las 12:36
Añadido
claim_rebuttal_generator
17 de September de 2026 a las 12:36
Añadido
evidence_pack_generator
17 de September de 2026 a las 12:36
Añadido
dispute_case_builder
17 de September de 2026 a las 12:36
Añadido
denial_response_builder
17 de September de 2026 a las 12:36
Añadido
appeal_argument_generator
17 de September de 2026 a las 12:36
Añadido
denial_reason_classifier
17 de September de 2026 a las 12:36