Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.have-foresight.app/llms.txt

Use this file to discover all available pages before exploring further.

When a claim is adjudicated and denied, Foresight ingests the denial, classifies it by CARC/RARC code, suggests a next action, and (when appropriate) drafts an appeal letter.

Receive

Denials are surfaced automatically when an 835 ERA arrives carrying a denial reason (CARC code with denial intent). You don’t poll — subscribe to claim.denied and denial.received webhooks.

Classify and decide

Each denial has a suggested next action:
GET /v1/denials/{id}/next-action
Returns one of:
ActionWhen
appealThe denial is appealable; we have a template.
correct_resubmitFixable error (wrong code, missing modifier).
write_offNot appealable; recommend write-off.
manual_reviewNeeds human judgment.

Open an appeal

POST /v1/denials/{id}/appeals
Returns an appeal record in draft state. Use the appeal templates to populate the letter body, or pass your own.

Generate the letter

POST /v1/appeals/{id}/generate-letter
Returns a PDF (base64-encoded by default, or signed S3 URL with ?delivery=url). Foresight draws on the original denial, the relevant medical record, and the payer-specific appeal template.

Send

POST /v1/appeals/{id}/send
Delivers the appeal via the payer’s preferred channel (portal, fax, mail). Status moves to sent. Subscribe to appeal.sent and appeal.outcome_received.

Record the outcome

POST /v1/appeals/{id}/outcome
Either supplied by Foresight automatically when an outcome arrives electronically, or recorded by your team after a payer call/letter.

Reference