@pipeworx/oig-corporate-integrity
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/oig-corporate-integrity’s. Install: one-click buttons
Connect to just the @pipeworx/oig-corporate-integrity pack
https://gateway.pipeworx.io/oig-corporate-integrity/mcp — only @pipeworx/oig-corporate-integrity’s own tools, nothing else in the catalog.
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 3
HHS-OIG Corporate Integrity Agreements — does this healthcare company or
individual have a Corporate Integrity Agreement (CIA), since when, what
obligations does it impose, and what is its current status? A CIA is a
different condition from an exclusion (see the leie and
ny-omig-exclusions packs): an entity under a CIA is still participating in
Medicare/Medicaid, under binding compliance obligations OIG negotiated
instead of seeking exclusion.
Tools
oig_cia_check(name, limit?)— checks an entity against the current HHS-OIG CIA roster. An exact name match is the strongest signal; a normalized-name or token match is returned as a labelled candidate, since CIA entity names are frequently compound (a company plus named co-signers, e.g. “SNAP Diagnostics, LLC and Gil Raviv”). For the best match, fetches the entity’s own detail page live to return the effective date, term/duration, settlement amount and the agreement PDF URL — none of that is baked, so it is never stale. Returnsfound: falsewith the list’s as-of date and total agreement count when no match exists.oig_cia_obligations(name?, document_url?)— resolves the entity (same matching asoig_cia_check) or takes adocument_urldirectly, fetches the agreement PDF live from oig.hhs.gov, extracts its text, and reports which of six obligation categories (Board Resolution, Independent Review Organization/IRO reviews, Compliance Officer/Committee, Annual or Implementation reporting, a disclosure program, excluded-persons screening) actually appear in the text, each with a short excerpt. Not every CIA includes every category — a sole-individual CIA typically has no Board Resolution clause — and some older, fully closed agreements have no PDF posted at all, reported asfound: false, not an error.oig_cia_list(status?, limit?, offset?)— browses the baked CIA list by status (Effective/Suspended/Closed/Refused). Fast (no live fetch), but carries only what the list card shows — calloig_cia_checkon a specific entity for effective date, term and the agreement document.
Auth
Keyless.
Data sources
- https://oig.hhs.gov/compliance/corporate-integrity-agreements/browse-cias/ — the paginated, filterable CIA roster (339 agreements as captured, 20 per page). No JSON/REST endpoint and no bulk CSV/Excel export exist.
- Each agreement’s own detail page
(
/compliance/corporate-integrity-agreements/browse-cias/<slug>/) — effective date, term, settlement amount, category/tags, and the agreement PDF’s URL. Fetched live, per call, never baked. - The agreement PDF itself (
oig.hhs.gov/documents/cias/<id>/<file>.pdf) — text PDFs, extracted withshared/src/pdf-text.ts.
Why only the LIST is baked
Root CLAUDE.md’s standing rule for this shape: a baked table never sits in
gateway module scope. scripts/bake-index.mjs crawls all 17 pages of the
browse list and bakes only the entity name, detail-page path, the status
badge/date shown on the list card, location and report type — into
src/oig-cia-index-data.ts, registered in
workers/gateway/src/pack-baked-indexes.json, uploaded to KV at deploy, and
injected as args._bakedIndex (fleet #2754 pattern, same as
south-dakota-code / ny-omig-exclusions / usgs-mineral-commodities). A
missing or malformed injection throws loudly rather than answering “no CIA
found” — see src/index.test.ts.
Per-entity detail (effective date, term, settlement amount, the agreement
PDF URL and its text) is deliberately not baked — it is fetched live
from that one entity’s own detail page and PDF on every oig_cia_check /
oig_cia_obligations call. Most callers never ask about most of the 339
rows, so pre-crawling all of them would be wasted work; fetching live also
means a newly-closed or newly-suspended agreement is visible immediately
instead of waiting for the next bake.
Re-run node mcps/oig-corporate-integrity/scripts/bake-index.mjs
periodically to refresh the list and recommit. OIG’s own page carries no
static freshness banner (“As of today”) — data_as_of on every response is
simply the bake script’s own capture date.
Transport/parse failures throw loud
A non-200 from a detail page or PDF, or a 200 whose content no longer
matches the shape this pack parses, is reported as a thrown error naming the
upstream status — never silently reshaped into found: false, which for a
compliance screening tool would be indistinguishable from “no CIA on file”.
See src/index.test.ts for the stubbed-fetch contract tests.
Reachability
Verified live 2026-10-07 from both a laptop fetch and a throwaway
wrangler dev --remote Worker on the prod Cloudflare account: identical
200 responses and byte lengths from the Cloudflare edge on the browse
list, a detail page and an agreement PDF (92,934 / 44,393 / 696,577 bytes
respectively). This host has no robots.txt at all (404).
Tools
- oig_cia_check — Does this healthcare company or individual have an HHS-OIG Corporate Integrity Agreement (CIA)? Checks a name against the current HHS-OIG CIA roster — companies and individuals OIG agreed not to exclu
- oig_cia_obligations — What obligations does this entity’s Corporate Integrity Agreement actually impose — Board Resolution, Independent Review Organization (IRO) reviews, Compliance Officer/Committee, Annual/Implementation
- oig_cia_list — Browse the current HHS-OIG Corporate Integrity Agreement roster by status — e.g. list every currently Suspended or Refused-by-Entity agreement. Reads the baked CIA list (refreshed periodically; data_a
Tools
oig_cia_check— Does this healthcare company or individual have an HHS-OIG Corporate Integrity Agreement (CIA)? Checks a name against the current HHS-OIG CIA roster — companies and individuals OIG agreed not to excluoig_cia_list— Browse the current HHS-OIG Corporate Integrity Agreement roster by status — e.g. list every currently Suspended or Refused-by-Entity agreement. Reads the baked CIA list (refreshed periodically; data_aoig_cia_obligations— What obligations does this entity's Corporate Integrity Agreement actually impose — Board Resolution, Independent Review Organization (IRO) reviews, Compliance Officer/Committee, Annual/Implementation