{
  "schema_version": "1.0",
  "audit_pack": {
    "dataset_slug": "cardiology-supply",
    "display_name": "Cardiology Provider Supply by State",
    "one_liner": "Active U.S. cardiologists per 100,000 residents, by state.",
    "source_families": [
      "CMS NPPES NPI Registry (public API)",
      "U.S. Census Bureau Population Estimates Program (PEP) V2025"
    ],
    "spatial_resolution": "State (50 + DC). NPPES does not publish a county-level field of practice in its public API.",
    "temporal_coverage": "2026 snapshot (NPPES queried 2026-05-06; Census 2024 vintage).",
    "refresh_cadence": "Quarterly NPPES refresh; annual Census denominator update.",
    "current_version": "v2026.05.0",
    "version_history": [
      {
        "version": "v2026.05.0",
        "released_at": "2026-05-06",
        "changes_summary": "Initial Audit Pack release. Methodology, provenance map, reproducibility statement, and limitations stack baselined."
      }
    ],
    "provenance_map": [
      {
        "name": "npi",
        "description": "Individual provider NPI (10-digit).",
        "source": "CMS NPPES NPI Registry (public API)",
        "source_url": "https://npiregistry.cms.hhs.gov/api/",
        "refresh_cadence": "Quarterly",
        "confidence": 1
      },
      {
        "name": "taxonomy_codes",
        "description": "All NUCC taxonomy codes attached to the record (primary + subspecialties).",
        "source": "CMS NPPES NPI Registry (public API)",
        "source_url": "https://npiregistry.cms.hhs.gov/api/",
        "refresh_cadence": "Quarterly",
        "confidence": 1
      },
      {
        "name": "taxonomy_primary",
        "description": "The provider's primary NUCC taxonomy code.",
        "source": "CMS NPPES NPI Registry (public API)",
        "source_url": "https://npiregistry.cms.hhs.gov/api/",
        "refresh_cadence": "Quarterly",
        "confidence": 1
      },
      {
        "name": "state",
        "description": "Practice-address state (USPS code) at the time of NPPES record's last_updated.",
        "source": "CMS NPPES NPI Registry (public API)",
        "source_url": "https://npiregistry.cms.hhs.gov/api/",
        "refresh_cadence": "Quarterly",
        "confidence": 1
      },
      {
        "name": "city",
        "description": "Practice-address city at the time of NPPES record's last_updated.",
        "source": "CMS NPPES NPI Registry (public API)",
        "source_url": "https://npiregistry.cms.hhs.gov/api/",
        "refresh_cadence": "Quarterly",
        "confidence": 1
      },
      {
        "name": "last_updated",
        "description": "When CMS last modified the NPPES record. Reflects record freshness, not Fonteum snapshot date.",
        "source": "CMS NPPES NPI Registry (public API)",
        "source_url": "https://npiregistry.cms.hhs.gov/api/",
        "refresh_cadence": "Quarterly",
        "confidence": 1
      },
      {
        "name": "population_2024",
        "description": "PEP V2025 state population estimate for 2024 vintage.",
        "source": "U.S. Census Bureau Population Estimates Program (PEP) V2025",
        "source_url": "https://www.census.gov/programs-surveys/popest.html",
        "refresh_cadence": "Annual (V<year> vintage releases each March)",
        "confidence": 1
      },
      {
        "name": "count",
        "description": "cardiologists active in NPPES as of snapshot date. The §193 sub-specialty filter parameter (`?subspecialty=<NUCC code>`) on the public API recomputes counts and density against any registered subspecialty taxonomy.",
        "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
        "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
        "confidence": 0.95
      },
      {
        "name": "per_100k",
        "description": "cardiologists per 100,000 residents (count ÷ population × 100,000).",
        "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
        "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
        "confidence": 0.95
      },
      {
        "name": "rank_density",
        "description": "1..51 rank by per_100k across U.S. states + DC.",
        "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
        "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
        "confidence": 0.95
      },
      {
        "name": "rank_count",
        "description": "1..51 rank by absolute count.",
        "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
        "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
        "confidence": 0.95
      },
      {
        "name": "quartile",
        "description": "Q1..Q4 from rank_density.",
        "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
        "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
        "confidence": 0.95
      },
      {
        "name": "underserved",
        "description": "Boolean: per_100k below the transparent threshold defined in the parent study.",
        "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
        "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
        "confidence": 0.9,
        "limitations": "Threshold is a baseline cutoff, not a regulatory or clinical definition."
      }
    ],
    "reproducibility_statement": "1. Query the NPPES API at https://npiregistry.cms.hhs.gov/api/ with taxonomy_description=<NUCC name> and enumeration_type=NPI-1 for each NUCC taxonomy in the parent specialty's scope (full list in the parent study's methodology).\n2. Filter results to records with active license status.\n3. Bucket by practice-address state (50 USPS codes + DC).\n4. Pull U.S. Census Bureau PEP V2025 (2024 vintage) state population estimates from https://www.census.gov/programs-surveys/popest.html.\n5. Compute per_100k = count ÷ population × 100,000 per state. Rank ascending and bucket into quartiles by rank.\n6. Apply the parent study's transparent underserved threshold to flag the per-state row's underserved boolean.\n\nThe full ingest script is published at scripts/research/nppes-write.ts in the Fonteum engine repository (private). Customers under a pilot or Standard agreement can request the script for independent reconciliation.",
    "limitations": [
      "Counts NPI-1 individual providers only; the parent specialty taxonomy plus any subspecialty taxonomies the §183 / §188 ingest scoped to. PAs / NPs / CNMs working in the same care setting under different taxonomy codes are out of scope.",
      "Dataset measures density (per-capita supply), not access. Drive time, appointment availability, insurance acceptance, and wait times are not modeled.",
      "Underserved threshold is the parent study's transparent baseline cutoff, not a regulatory or clinical definition.",
      "Provider state is the practice-address state in NPPES. NPPES does not publish a county-level field of practice in its public API; county queries surface state-level density.",
      "NPPES last_updated reflects when CMS last touched the record — providers may have moved, retired, or changed practice settings without updating their NPPES record. Roughly 5-15% of records have last_updated > 5 years per CMS published quality reports.",
      "U.S. Census Bureau PEP V2025 (2024 vintage) state population. Annual estimates between decennial counts; Census itself documents a confidence band of ~0.5-2% depending on state.",
      "Estimates do not reflect mid-2025+ population movements. Major hurricane / wildfire displacements may distort per-capita ratios for several quarters until next vintage."
    ],
    "compliance_qa": [
      {
        "question": "What is the source of these provider counts?",
        "answer": "The U.S. Centers for Medicare & Medicaid Services NPPES NPI Registry, queried through the public API at npiregistry.cms.hhs.gov. NPPES is the federal authoritative registry of every healthcare provider permitted to bill Medicare; participation is mandatory for any provider seeking an NPI. We pull only public fields and count only NPI-1 individual records carrying the relevant NUCC taxonomy code(s).",
        "link": "https://npiregistry.cms.hhs.gov/api/"
      },
      {
        "question": "When was this dataset last updated?",
        "answer": "Snapshot date is published in the dataset metadata and on the corresponding /research page. Cadence is quarterly — every NPPES refresh triggers a new snapshot; per-field last_checked timestamps are emitted in the API and on the SourceChip surfaces. Older snapshots remain accessible via the /corrections-log changelog.",
        "link": "https://fonteum.com/corrections-log"
      },
      {
        "question": "What is excluded?",
        "answer": "PAs, nurse practitioners, certified nurse-midwives, and other allied-health providers operating under taxonomy codes outside the parent + scoped subspecialties are excluded. Type-2 organizational NPIs are excluded (the dataset is per-physician, not per-practice). Out-of-state telemedicine attribution is not separable from in-state practice in the public NPPES record.",
        "link": "https://fonteum.com/methodology"
      },
      {
        "question": "How is the underserved threshold defined?",
        "answer": "Each study's underserved threshold is a transparent baseline cutoff stated explicitly in the methodology. It is not a regulatory or clinical definition. Where applicable, thresholds are aligned with HRSA HPSA shortage criteria or specialty-society workforce reports; the methodology page shows the rationale per study.",
        "link": "https://fonteum.com/methodology"
      },
      {
        "question": "Can I reproduce these counts independently?",
        "answer": "Yes. The reproducibility statement above lists the exact NPPES API query parameters, the Census 2024-vintage population denominators, and the per-state aggregation logic. A buyer can rerun the methodology against the same source data and reconcile counts. We document any discrepancies in the corrections log when they arise.",
        "link": "https://fonteum.com/corrections-log"
      },
      {
        "question": "Does this dataset measure access or just density?",
        "answer": "Density only. Per-capita supply is not the same as patient access. Drive time, appointment availability, insurance acceptance, telemedicine substitution, and wait times are not modeled in the dataset. The Limitations section calls this out explicitly so it cannot be misread as an access claim.",
        "link": "https://fonteum.com/methodology#limitations"
      },
      {
        "question": "What is the licensing scope of this data?",
        "answer": "The underlying NPPES + Census data is public-domain federal information. Fonteum Research's aggregated dataset (the per-state counts + denominators + ranks) is licensed under the Fonteum editorial-policy terms — internal use during a pilot agreement, commercial-product use under a Standard or Enterprise contract. Resyndication to third parties requires a separate agreement.",
        "link": "https://fonteum.com/terms"
      }
    ],
    "links": {
      "research_url": "https://fonteum.com/research/cardiology-supply-by-state-2026",
      "methodology_url": "https://fonteum.com/methodology/cardiology-supply",
      "limitations_url": "https://fonteum.com/methodology/cardiology-supply#limitations",
      "csv_url": "https://fonteum.com/research/data/cardiology-supply-by-state-2026.csv",
      "json_url": "https://fonteum.com/research/data/cardiology-supply-by-state-2026.json"
    },
    "scope": {
      "record_count": 35006,
      "record_unit": "cardiologists",
      "coverage_states": 51,
      "last_snapshot_date": "2026-05-06"
    },
    "generated_at": "2026-05-09T17:23:03.014Z"
  },
  "reproducibility_steps": [
    {
      "step": 1,
      "description": "Query the NPPES API at https://npiregistry.cms.hhs.gov/api/ with taxonomy_description=<NUCC name> and enumeration_type=NPI-1 for each NUCC taxonomy in the parent specialty's scope (full list in the parent study's methodology).",
      "public_source_url": "https://npiregistry.cms.hhs.gov/api/"
    },
    {
      "step": 2,
      "description": "Filter results to records with active license status."
    },
    {
      "step": 3,
      "description": "Bucket by practice-address state (50 USPS codes + DC)."
    },
    {
      "step": 4,
      "description": "Pull U.S. Census Bureau PEP V2025 (2024 vintage) state population estimates from https://www.census.gov/programs-surveys/popest.html.",
      "public_source_url": "https://www.census.gov/programs-surveys/popest.html."
    },
    {
      "step": 5,
      "description": "Compute per_100k = count ÷ population × 100,000 per state. Rank ascending and bucket into quartiles by rank."
    },
    {
      "step": 6,
      "description": "Apply the parent study's transparent underserved threshold to flag the per-state row's underserved boolean. The full ingest script is published at scripts/research/nppes-write.ts in the Fonteum engine repository (private). Customers under a pilot or Standard agreement can request the script for independent reconciliation."
    }
  ],
  "fields": [
    {
      "name": "npi",
      "description": "Individual provider NPI (10-digit).",
      "source": "CMS NPPES NPI Registry (public API)",
      "source_url": "https://npiregistry.cms.hhs.gov/api/",
      "refresh_cadence": "Quarterly",
      "confidence": 1
    },
    {
      "name": "taxonomy_codes",
      "description": "All NUCC taxonomy codes attached to the record (primary + subspecialties).",
      "source": "CMS NPPES NPI Registry (public API)",
      "source_url": "https://npiregistry.cms.hhs.gov/api/",
      "refresh_cadence": "Quarterly",
      "confidence": 1
    },
    {
      "name": "taxonomy_primary",
      "description": "The provider's primary NUCC taxonomy code.",
      "source": "CMS NPPES NPI Registry (public API)",
      "source_url": "https://npiregistry.cms.hhs.gov/api/",
      "refresh_cadence": "Quarterly",
      "confidence": 1
    },
    {
      "name": "state",
      "description": "Practice-address state (USPS code) at the time of NPPES record's last_updated.",
      "source": "CMS NPPES NPI Registry (public API)",
      "source_url": "https://npiregistry.cms.hhs.gov/api/",
      "refresh_cadence": "Quarterly",
      "confidence": 1
    },
    {
      "name": "city",
      "description": "Practice-address city at the time of NPPES record's last_updated.",
      "source": "CMS NPPES NPI Registry (public API)",
      "source_url": "https://npiregistry.cms.hhs.gov/api/",
      "refresh_cadence": "Quarterly",
      "confidence": 1
    },
    {
      "name": "last_updated",
      "description": "When CMS last modified the NPPES record. Reflects record freshness, not Fonteum snapshot date.",
      "source": "CMS NPPES NPI Registry (public API)",
      "source_url": "https://npiregistry.cms.hhs.gov/api/",
      "refresh_cadence": "Quarterly",
      "confidence": 1
    },
    {
      "name": "population_2024",
      "description": "PEP V2025 state population estimate for 2024 vintage.",
      "source": "U.S. Census Bureau Population Estimates Program (PEP) V2025",
      "source_url": "https://www.census.gov/programs-surveys/popest.html",
      "refresh_cadence": "Annual (V<year> vintage releases each March)",
      "confidence": 1
    },
    {
      "name": "count",
      "description": "cardiologists active in NPPES as of snapshot date. The §193 sub-specialty filter parameter (`?subspecialty=<NUCC code>`) on the public API recomputes counts and density against any registered subspecialty taxonomy.",
      "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
      "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
      "confidence": 0.95
    },
    {
      "name": "per_100k",
      "description": "cardiologists per 100,000 residents (count ÷ population × 100,000).",
      "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
      "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
      "confidence": 0.95
    },
    {
      "name": "rank_density",
      "description": "1..51 rank by per_100k across U.S. states + DC.",
      "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
      "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
      "confidence": 0.95
    },
    {
      "name": "rank_count",
      "description": "1..51 rank by absolute count.",
      "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
      "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
      "confidence": 0.95
    },
    {
      "name": "quartile",
      "description": "Q1..Q4 from rank_density.",
      "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
      "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
      "confidence": 0.95
    },
    {
      "name": "underserved",
      "description": "Boolean: per_100k below the transparent threshold defined in the parent study.",
      "source": "Fonteum Research (derived from CMS NPPES + U.S. Census Bureau)",
      "refresh_cadence": "Recomputed on each NPPES + Census refresh cycle",
      "confidence": 0.9,
      "limitations": "Threshold is a baseline cutoff, not a regulatory or clinical definition."
    }
  ]
}