{"id":"medical-bill-auditor","title":"Medical Bill Upcoding & Overcharge Slasher","description":"Paste an itemized hospital or physician bill and get a decision first: dispute it or not, the estimated dollars above a defensible price, and a dispute letter ready to send. Flags E/M upcoding, NCCI unbundling, duplicates and unit errors line by line, prices professional claims against the CMS physician fee schedule, checks the No Surprises Act self-pay dispute deadline, and lists the letter's placeholders. Facility-charge benchmarks are model estimates and are labeled as such. Not legal or medical advice.","roi":"Hospital chargemaster prices often run several times Medicare rates and itemized bills commonly contain duplicate or bundled lines; a successful dispute on one ER bill typically saves hundreds to thousands of dollars.","audience":"business","channels":["x402","mcp","rapidapi","apify"],"endpoint":{"method":"POST","url":"https://agents.writerslogic.com/api/v1/audit-medical-bill","path":"/api/v1/audit-medical-bill","contentType":"application/json"},"price":{"amount":"3.00","currency":"USDC","network":"base","perCall":true,"failedCallsCharged":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["facilityType"],"properties":{"billText":{"type":"string","minLength":10,"maxLength":30000,"description":"Alternative to lineItems: paste the itemized bill, one line item per line, e.g. \"99285  EMERGENCY DEPT VISIT LVL 5   1   $3,250.00\". Lines with a CPT/HCPCS code and a dollar amount are read in code; send exactly one of lineItems or billText."},"lineItems":{"type":"array","minItems":1,"maxItems":200,"items":{"type":"object","additionalProperties":false,"required":["cptOrHcpcsCode","description","chargedAmount","units"],"properties":{"cptOrHcpcsCode":{"type":"string","pattern":"^[A-Za-z0-9]{5}$","description":"5-character CPT or HCPCS Level II code."},"description":{"type":"string","maxLength":500},"chargedAmount":{"type":"number","minimum":0,"maximum":10000000,"description":"Total billed for this line, USD."},"units":{"type":"integer","minimum":1,"maximum":10000},"modifiers":{"type":"array","maxItems":4,"items":{"type":"string","pattern":"^[A-Za-z0-9]{2}$"}},"serviceDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"revenueCode":{"type":"string","pattern":"^\\d{3,4}$"}}}},"facilityType":{"type":"string","enum":["emergency_room","urgent_care","outpatient_hospital","inpatient_hospital","ambulatory_surgery_center","physician_office","laboratory","imaging_center","other"]},"coverage":{"type":"string","enum":["uninsured_self_pay","in_network","out_of_network","medicare","medicaid","unknown"],"description":"Determines which No Surprises Act protections can apply."},"patientState":{"type":"string","pattern":"^[A-Za-z]{2}$"},"visitSummary":{"type":"string","maxLength":4000,"description":"What actually happened: symptoms, duration, tests, treatment."},"facilityName":{"type":"string","maxLength":200},"patientName":{"type":"string","maxLength":200},"accountNumber":{"type":"string","maxLength":100},"goodFaithEstimateAmount":{"type":"number","minimum":0,"maximum":10000000,"description":"Good Faith Estimate received (self-pay)."},"claimType":{"type":"string","enum":["professional","facility"],"description":"Physician (CMS-1500) or hospital/facility (UB-04) bill. Medicare physician fee schedule benchmarks apply only to professional claims."},"billReceivedDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Date the initial bill was received; used for the 120-day dispute deadline."}}},"resultSchema":{"type":"object","properties":{"headline":{"type":"object","description":"Decision first: the verdict, the dollars at stake, confidence and the exact next step.","properties":{"decision":{"type":"string","enum":["DISPUTE_RECOMMENDED","REQUEST_ITEMIZED_RECORDS","BILL_LOOKS_REASONABLE"]},"summary":{"type":"string"},"amountAtStakeUsd":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Dollars saved or recoverable if the recommended action succeeds; null when it cannot be computed from the input."},"amountBasis":{"type":"string"},"confidence":{"type":"string","enum":["high","medium","low"]},"nextStep":{"type":"string"}}},"summary":{"type":"object"},"no_surprises_act":{"type":"object"},"lines":{"type":"array","items":{"type":"object"}},"overall_assessment":{"type":"string"},"applicable_protections":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["protection","citation","applies_because"],"properties":{"protection":{"type":"string"},"citation":{"type":"string"},"applies_because":{"type":"string"},"link":{"type":"string","description":"Official text of the cited rule, when the service knows it."}}}},"dispute_letter":{"type":"object","additionalProperties":false,"required":["subject","body"],"properties":{"subject":{"type":"string"},"body":{"type":"string"}}},"readyToSend":{"type":"object","description":"Addressee, attachments, send method, date and the bracketed placeholders to replace before sending the dispute letter.","properties":{"addressee":{"type":"string"},"placeholdersToFill":{"type":"array","items":{"type":"string"}},"attach":{"type":"array","items":{"type":"string"}},"sendMethod":{"type":"string"},"date":{"type":"string"},"noSurprisesActDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]}}},"next_steps":{"type":"array","items":{"type":"string"}},"llm":{"type":"string","enum":["ok","partial","unavailable"],"description":"unavailable: the model step failed and the result contains only code-established findings. partial: some lines were not reviewed by the model (see warnings and each line's model_reviewed)."},"warnings":{"type":"array","items":{"type":"string"}},"llm_error":{"type":"string"},"billTextParse":{"type":"object","description":"Present when billText was sent: lines read, lines not read, and a warning when the lines do not add up to the stated total."},"benchmarkSources":{"type":"object"},"disclaimer":{"type":"string"},"notice":{"type":"string"}}},"outputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"headline":{"type":"object","description":"Decision first: the verdict, the dollars at stake, confidence and the exact next step.","properties":{"decision":{"type":"string","enum":["DISPUTE_RECOMMENDED","REQUEST_ITEMIZED_RECORDS","BILL_LOOKS_REASONABLE"]},"summary":{"type":"string"},"amountAtStakeUsd":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Dollars saved or recoverable if the recommended action succeeds; null when it cannot be computed from the input."},"amountBasis":{"type":"string"},"confidence":{"type":"string","enum":["high","medium","low"]},"nextStep":{"type":"string"}}},"summary":{"type":"object"},"no_surprises_act":{"type":"object"},"lines":{"type":"array","items":{"type":"object"}},"overall_assessment":{"type":"string"},"applicable_protections":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["protection","citation","applies_because"],"properties":{"protection":{"type":"string"},"citation":{"type":"string"},"applies_because":{"type":"string"},"link":{"type":"string","description":"Official text of the cited rule, when the service knows it."}}}},"dispute_letter":{"type":"object","additionalProperties":false,"required":["subject","body"],"properties":{"subject":{"type":"string"},"body":{"type":"string"}}},"readyToSend":{"type":"object","description":"Addressee, attachments, send method, date and the bracketed placeholders to replace before sending the dispute letter.","properties":{"addressee":{"type":"string"},"placeholdersToFill":{"type":"array","items":{"type":"string"}},"attach":{"type":"array","items":{"type":"string"}},"sendMethod":{"type":"string"},"date":{"type":"string"},"noSurprisesActDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]}}},"next_steps":{"type":"array","items":{"type":"string"}},"llm":{"type":"string","enum":["ok","partial","unavailable"],"description":"unavailable: the model step failed and the result contains only code-established findings. partial: some lines were not reviewed by the model (see warnings and each line's model_reviewed)."},"warnings":{"type":"array","items":{"type":"string"}},"llm_error":{"type":"string"},"billTextParse":{"type":"object","description":"Present when billText was sent: lines read, lines not read, and a warning when the lines do not add up to the stated total."},"benchmarkSources":{"type":"object"},"disclaimer":{"type":"string"},"notice":{"type":"string"}}},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]},"example":{"facilityType":"emergency_room","claimType":"professional","coverage":"uninsured_self_pay","patientState":"TX","visitSummary":"Twisted ankle, 40-minute visit, one X-ray, no fracture, given an ACE bandage and ibuprofen.","goodFaithEstimateAmount":1200,"billReceivedDate":"2026-10-20","lineItems":[{"cptOrHcpcsCode":"99285","description":"ED visit level 5","chargedAmount":1850,"units":1,"serviceDate":"2026-09-14"},{"cptOrHcpcsCode":"73610","description":"X-ray ankle 3 views","chargedAmount":640,"units":1,"serviceDate":"2026-09-14"},{"cptOrHcpcsCode":"A4570","description":"Splint / elastic bandage","chargedAmount":185,"units":1,"serviceDate":"2026-09-14"},{"cptOrHcpcsCode":"99070","description":"Supplies and materials","chargedAmount":95,"units":1,"serviceDate":"2026-09-14"}]},"openapiOperation":{"operationId":"medical_bill_auditor","summary":"Medical Bill Upcoding & Overcharge Slasher","description":"Paste an itemized hospital or physician bill and get a decision first: dispute it or not, the estimated dollars above a defensible price, and a dispute letter ready to send. Flags E/M upcoding, NCCI unbundling, duplicates and unit errors line by line, prices professional claims against the CMS physician fee schedule, checks the No Surprises Act self-pay dispute deadline, and lists the letter's placeholders. Facility-charge benchmarks are model estimates and are labeled as such. Not legal or medical advice.\n\nPrice: 3.00 USDC on Base (x402).","x-x402-price-usdc":"3.00","x-x402-amount":"3000000","x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"3.00"}},"x-audience":"business","x-sample-url":"https://agents.writerslogic.com/api/v1/samples/medical-bill-auditor","security":[{"x402":[]},{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["facilityType"],"properties":{"billText":{"type":"string","minLength":10,"maxLength":30000,"description":"Alternative to lineItems: paste the itemized bill, one line item per line, e.g. \"99285  EMERGENCY DEPT VISIT LVL 5   1   $3,250.00\". Lines with a CPT/HCPCS code and a dollar amount are read in code; send exactly one of lineItems or billText."},"lineItems":{"type":"array","minItems":1,"maxItems":200,"items":{"type":"object","additionalProperties":false,"required":["cptOrHcpcsCode","description","chargedAmount","units"],"properties":{"cptOrHcpcsCode":{"type":"string","pattern":"^[A-Za-z0-9]{5}$","description":"5-character CPT or HCPCS Level II code."},"description":{"type":"string","maxLength":500},"chargedAmount":{"type":"number","minimum":0,"maximum":10000000,"description":"Total billed for this line, USD."},"units":{"type":"integer","minimum":1,"maximum":10000},"modifiers":{"type":"array","maxItems":4,"items":{"type":"string","pattern":"^[A-Za-z0-9]{2}$"}},"serviceDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"revenueCode":{"type":"string","pattern":"^\\d{3,4}$"}}}},"facilityType":{"type":"string","enum":["emergency_room","urgent_care","outpatient_hospital","inpatient_hospital","ambulatory_surgery_center","physician_office","laboratory","imaging_center","other"]},"coverage":{"type":"string","enum":["uninsured_self_pay","in_network","out_of_network","medicare","medicaid","unknown"],"description":"Determines which No Surprises Act protections can apply."},"patientState":{"type":"string","pattern":"^[A-Za-z]{2}$"},"visitSummary":{"type":"string","maxLength":4000,"description":"What actually happened: symptoms, duration, tests, treatment."},"facilityName":{"type":"string","maxLength":200},"patientName":{"type":"string","maxLength":200},"accountNumber":{"type":"string","maxLength":100},"goodFaithEstimateAmount":{"type":"number","minimum":0,"maximum":10000000,"description":"Good Faith Estimate received (self-pay)."},"claimType":{"type":"string","enum":["professional","facility"],"description":"Physician (CMS-1500) or hospital/facility (UB-04) bill. Medicare physician fee schedule benchmarks apply only to professional claims."},"billReceivedDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Date the initial bill was received; used for the 120-day dispute deadline."}}},"example":{"facilityType":"emergency_room","claimType":"professional","coverage":"uninsured_self_pay","patientState":"TX","visitSummary":"Twisted ankle, 40-minute visit, one X-ray, no fracture, given an ACE bandage and ibuprofen.","goodFaithEstimateAmount":1200,"billReceivedDate":"2026-10-20","lineItems":[{"cptOrHcpcsCode":"99285","description":"ED visit level 5","chargedAmount":1850,"units":1,"serviceDate":"2026-09-14"},{"cptOrHcpcsCode":"73610","description":"X-ray ankle 3 views","chargedAmount":640,"units":1,"serviceDate":"2026-09-14"},{"cptOrHcpcsCode":"A4570","description":"Splint / elastic bandage","chargedAmount":185,"units":1,"serviceDate":"2026-09-14"},{"cptOrHcpcsCode":"99070","description":"Supplies and materials","chargedAmount":95,"units":1,"serviceDate":"2026-09-14"}]}}}},"responses":{"200":{"description":"Paid result with provenance","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"headline":{"type":"object","description":"Decision first: the verdict, the dollars at stake, confidence and the exact next step.","properties":{"decision":{"type":"string","enum":["DISPUTE_RECOMMENDED","REQUEST_ITEMIZED_RECORDS","BILL_LOOKS_REASONABLE"]},"summary":{"type":"string"},"amountAtStakeUsd":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Dollars saved or recoverable if the recommended action succeeds; null when it cannot be computed from the input."},"amountBasis":{"type":"string"},"confidence":{"type":"string","enum":["high","medium","low"]},"nextStep":{"type":"string"}}},"summary":{"type":"object"},"no_surprises_act":{"type":"object"},"lines":{"type":"array","items":{"type":"object"}},"overall_assessment":{"type":"string"},"applicable_protections":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["protection","citation","applies_because"],"properties":{"protection":{"type":"string"},"citation":{"type":"string"},"applies_because":{"type":"string"},"link":{"type":"string","description":"Official text of the cited rule, when the service knows it."}}}},"dispute_letter":{"type":"object","additionalProperties":false,"required":["subject","body"],"properties":{"subject":{"type":"string"},"body":{"type":"string"}}},"readyToSend":{"type":"object","description":"Addressee, attachments, send method, date and the bracketed placeholders to replace before sending the dispute letter.","properties":{"addressee":{"type":"string"},"placeholdersToFill":{"type":"array","items":{"type":"string"}},"attach":{"type":"array","items":{"type":"string"}},"sendMethod":{"type":"string"},"date":{"type":"string"},"noSurprisesActDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]}}},"next_steps":{"type":"array","items":{"type":"string"}},"llm":{"type":"string","enum":["ok","partial","unavailable"],"description":"unavailable: the model step failed and the result contains only code-established findings. partial: some lines were not reviewed by the model (see warnings and each line's model_reviewed)."},"warnings":{"type":"array","items":{"type":"string"}},"llm_error":{"type":"string"},"billTextParse":{"type":"object","description":"Present when billText was sent: lines read, lines not read, and a warning when the lines do not add up to the stated total."},"benchmarkSources":{"type":"object"},"disclaimer":{"type":"string"},"notice":{"type":"string"}}},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]}}}},"400":{"description":"Invalid request (no payment consumed)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"401":{"description":"Invalid X-API-KEY","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"402":{"description":"Payment required or invalid","content":{"application/json":{"schema":{"type":"object","description":"x402 v2 PaymentRequired (also base64 in the PAYMENT-REQUIRED header)","properties":{"x402Version":{"type":"integer"},"error":{"type":"string"},"code":{"type":"string"},"resource":{"type":"object"},"accepts":{"type":"array","items":{"type":"object"}},"extensions":{"type":"object"}}}}}},"502":{"description":"Upstream failure; the payment is released or not settled","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}}}},"links":{"docs":"https://agents.writerslogic.com/docs/medical-bill-auditor/","docsJson":"https://agents.writerslogic.com/docs/medical-bill-auditor.json","sample":"https://agents.writerslogic.com/api/v1/samples/medical-bill-auditor","openapi":"https://agents.writerslogic.com/openapi.json","catalog":"https://agents.writerslogic.com/api/v1/catalog","verifyProvenance":"https://agents.writerslogic.com/api/v1/verify-provenance","index":"https://agents.writerslogic.com/docs/index.json"}}