{
  "name": "eobs.claims",
  "url": "https://eobs.claims/",
  "title": "eobs.claims: the Explanation of Benefits as typed data for agents",
  "description": "The Explanation of Benefits is the statement a health plan sends after it processes a claim: billed, allowed, plan paid, patient responsibility and remark codes. A free typed schema, remark-code decoding and an MCP server for agents.",
  "document": {
    "name": "Explanation of Benefits",
    "schema": "Eob",
    "definition": "After a plan processes a claim, it reports the outcome line by line: billed, allowed, plan paid and what the member may owe.",
    "facts": [
      {
        "label": "Not a bill",
        "value": "The provider sends the bill. The EOB is how you check it."
      },
      {
        "label": "Who gets it",
        "value": "The member gets the EOB. The provider gets it as an X12 835."
      },
      {
        "label": "Remark codes",
        "value": "A standard code on every reduction, explaining why."
      },
      {
        "label": "Appeal window",
        "value": "At least 180 days for most plans, from the decision notice."
      },
      {
        "label": "Register",
        "value": "A health document, not P&C, typed like the loss run."
      }
    ]
  },
  "fields": [
    {
      "field": "payer",
      "type": "string",
      "meaning": "The health plan that processed the claim.",
      "source": "Plan"
    },
    {
      "field": "member_id",
      "type": "string",
      "meaning": "The member it was processed for.",
      "source": "Plan"
    },
    {
      "field": "claim_number",
      "type": "string",
      "meaning": "The plan's claim ID. Appeals cite it.",
      "source": "Plan"
    },
    {
      "field": "provider",
      "type": "string",
      "meaning": "Who rendered and billed the services.",
      "source": "Provider bill"
    },
    {
      "field": "date_processed",
      "type": "date",
      "meaning": "When the plan finished processing.",
      "source": "Plan"
    },
    {
      "field": "lines[].date_of_service",
      "type": "date",
      "meaning": "When the service was rendered.",
      "source": "Provider bill"
    },
    {
      "field": "lines[].procedure_code",
      "type": "string",
      "meaning": "CPT or HCPCS code.",
      "source": "Provider bill"
    },
    {
      "field": "lines[].billed",
      "type": "money",
      "meaning": "What the provider charged.",
      "source": "Provider bill"
    },
    {
      "field": "lines[].allowed",
      "type": "money",
      "meaning": "The plan's contracted rate, not the sticker price.",
      "source": "Plan"
    },
    {
      "field": "lines[].plan_paid",
      "type": "money",
      "meaning": "What the plan paid on the line.",
      "source": "Plan"
    },
    {
      "field": "lines[].patient_responsibility",
      "type": "money",
      "meaning": "Copay, coinsurance or deductible the member may owe.",
      "source": "Plan"
    },
    {
      "field": "lines[].remark_codes",
      "type": "string[]",
      "meaning": "CARC and RARC codes for every reduction.",
      "source": "Plan"
    },
    {
      "field": "totals",
      "type": "object",
      "meaning": "Sums across the lines.",
      "source": "Derived"
    },
    {
      "field": "appeal_window",
      "type": "object",
      "meaning": "The appeal deadline, when the EOB states it.",
      "source": "Plan"
    }
  ],
  "verbs": [
    {
      "verb": "parse",
      "title": "Read the statement",
      "does": "A PDF or 835 remittance in, typed service lines out.",
      "call": "POST /parse",
      "access_key": true
    },
    {
      "verb": "reconcile",
      "title": "Check the bill",
      "does": "The provider's bill against what the EOB says is owed.",
      "call": "reconcile_eob_bill",
      "access_key": false
    },
    {
      "verb": "explain",
      "title": "Decode remark codes",
      "does": "CO-45, PR-3 and the rest, in plain words a member can use.",
      "call": "explain_remark_code",
      "access_key": false
    },
    {
      "verb": "draft",
      "title": "Draft the appeal",
      "does": "A letter for a line the plan didn't cover, for a person to send.",
      "call": "draft_eob_appeal",
      "access_key": false
    }
  ],
  "mcp": {
    "url": "https://eobs.claims/mcp",
    "transport": "streamable-http",
    "tools": [
      {
        "name": "get_eob_schema",
        "description": "The JSON Schema (2020-12) for the Explanation of Benefits: every field, its type and what it means. Also served at https://eobs.claims/schema.json."
      },
      {
        "name": "get_eob_example",
        "description": "A complete, valid example Eob record with fictional values. Also served at https://eobs.claims/example.json."
      },
      {
        "name": "explain_eob_field",
        "description": "What one field of the Explanation of Benefits means, its type, and where the value comes from. Accepts paths like totals."
      },
      {
        "name": "validate_eob",
        "description": "Check a Eob record against the schema, then run the document's own checks (sums, dates). Returns valid (the shape matches), consistent (every check passes too), errors (schema) and warnings (checks). Nothing is stored."
      },
      {
        "name": "explain_remark_code",
        "description": "Decode a Claim Adjustment Reason Code (e.g. CO-45, PR-1, 97) into plain language: what the group code means for the member and what the reason code says."
      },
      {
        "name": "reconcile_eob_bill",
        "description": "Compare a provider's bill with the EOB, line by line: what the member may owe on each line (patient responsibility) against what was billed, flagging anything above it and any bill line with no matching EOB line. It compares numbers; it is not billing advice."
      },
      {
        "name": "draft_eob_appeal",
        "description": "Draft an internal appeal letter for one service line of an EOB, for the member or their representative to review and send. It states the line, its remark codes in plain language and the member's reason. Nothing is sent."
      }
    ]
  },
  "faq": [
    {
      "q": "Is an EOB a bill?",
      "a": "No. It is the plan's statement after it processes a claim. Any bill comes from the provider; the EOB is what you check it against."
    },
    {
      "q": "What is the allowed amount?",
      "a": "The plan's contracted rate for the service. Plan paid plus the member's share normally adds up to it."
    },
    {
      "q": "What do codes like CO-45 mean?",
      "a": "CO is a contractual write-off the member doesn't owe; PR is the member's share. CO-45 is a charge above the fee schedule, CO-97 a bundled service, PR-3 a copay."
    },
    {
      "q": "How long do I have to appeal?",
      "a": "At least 180 days for most plans, from the notice of the decision. The plan's own notice states the deadline that applies."
    }
  ],
  "links": {
    "schema": "https://eobs.claims/schema.json",
    "example": "https://eobs.claims/example.json",
    "openapi": "https://eobs.claims/openapi.json",
    "llms": "https://eobs.claims/llms.txt",
    "llms_full": "https://eobs.claims/llms-full.txt",
    "markdown": "https://eobs.claims/index.md",
    "agents": "https://eobs.claims/.well-known/agents.json",
    "sitemap": "https://eobs.claims/sitemap.xml",
    "request_access": "https://eobs.claims/#access"
  },
  "family": [
    {
      "url": "https://api.insure",
      "what": "the insurance industry as one agent-first API"
    },
    {
      "url": "https://gigs.claims",
      "what": "flat-fee claim files for licensed adjusters"
    },
    {
      "url": "https://lossruns.claims",
      "what": "the loss run as typed data"
    },
    {
      "url": "https://acords.co",
      "what": "loss-notice data fields as a typed model"
    }
  ],
  "updated": "2026-10-09"
}