skin-subs: build HCPCS code universe from CMS rulemaking descriptions #232

Closed
opened 2026-03-25 05:33:55 +00:00 by kert · 4 comments
Owner

Objective

Define the complete set of skin substitute HCPCS codes based on CMS rulemaking language, not just the Q4xxx series.

Tasks

  • Extract all skin substitute codes from CMS OPPS/PFS final rules (2012–2026)
  • Include Q4xxx (biologicals), C5271-C5278 (new codes), CPT 15271-15278 (application)
  • Cross-reference with CMS Jan 2026 reclassification (drugs/biologicals → incident-to supplies)
  • Build reference table: HCPCS code, short description, long description, effective dates, category (CTP/synthetic/xenograft/etc.)
  • Tag with Zotero: each CMS final rule that defines or modifies codes
  • Store as skin_subs.hcpcs_universe in DuckDB
## Objective Define the complete set of skin substitute HCPCS codes based on CMS rulemaking language, not just the Q4xxx series. ## Tasks - [ ] Extract all skin substitute codes from CMS OPPS/PFS final rules (2012–2026) - [ ] Include Q4xxx (biologicals), C5271-C5278 (new codes), CPT 15271-15278 (application) - [ ] Cross-reference with CMS Jan 2026 reclassification (drugs/biologicals → incident-to supplies) - [ ] Build reference table: HCPCS code, short description, long description, effective dates, category (CTP/synthetic/xenograft/etc.) - [ ] Tag with Zotero: each CMS final rule that defines or modifies codes - [ ] Store as `skin_subs.hcpcs_universe` in DuckDB
kert added this to the P29: Skin Substitutes — predatory pricing, distribution, and utilization analysis milestone 2026-03-25 05:33:55 +00:00
Author
Owner

Starting. First need to research the full code universe from CMS rulemaking, then build the reference table.

Starting. First need to research the full code universe from CMS rulemaking, then build the reference table.
Author
Owner

Progress:

Completed:

  • 286 Q4 product codes (Q4100-Q4397) with product names, manufacturers, FDA pathway, categories
  • 34 reference codes (CPT 15271-15278, C5271-C5278, historical)
  • CMS Jan 2026 reclassification documented (C5271-C5278 deleted, new APCs by FDA pathway, $127.14/cm²)
  • Loaded into DuckDB as skin_subs.hcpcs_universe and skin_subs.hcpcs_reference
  • Data validated: 283 active, 213 amniotic membrane (75%), 5 PMA, 28 510(k), 249 HCT/P

Remaining:

  • Tag CMS rulemaking source documents in Zotero (deferred to #244 Zotero evidence base issue)

Key finding: 75% of active products are amniotic membrane HCT/P — the exact category exploited in the Gehrke ($1.2B) and Jenson ($90M) fraud cases. The regulatory barrier to market entry for HCT/P is minimal (Section 361, no clinical trials required), explaining the proliferation.

Commit: 2e6b2e0. Not closing yet — Zotero tagging outstanding.

Progress: **Completed:** - [x] 286 Q4 product codes (Q4100-Q4397) with product names, manufacturers, FDA pathway, categories - [x] 34 reference codes (CPT 15271-15278, C5271-C5278, historical) - [x] CMS Jan 2026 reclassification documented (C5271-C5278 deleted, new APCs by FDA pathway, $127.14/cm²) - [x] Loaded into DuckDB as `skin_subs.hcpcs_universe` and `skin_subs.hcpcs_reference` - [x] Data validated: 283 active, 213 amniotic membrane (75%), 5 PMA, 28 510(k), 249 HCT/P **Remaining:** - [ ] Tag CMS rulemaking source documents in Zotero (deferred to #244 Zotero evidence base issue) **Key finding:** 75% of active products are amniotic membrane HCT/P — the exact category exploited in the Gehrke ($1.2B) and Jenson ($90M) fraud cases. The regulatory barrier to market entry for HCT/P is minimal (Section 361, no clinical trials required), explaining the proliferation. Commit: `2e6b2e0`. Not closing yet — Zotero tagging outstanding.
Author
Owner

Status: Data loaded, Zotero tagging outstanding.

Checklist:

  • Extract all skin substitute codes from CMS OPPS/PFS final rules (2012–2026)
  • Include Q4xxx (286 codes), C5271-C5278, CPT 15271-15278
  • Cross-reference with CMS Jan 2026 reclassification
  • Reference table built: hcpcs_code, short_descriptor, product_name, manufacturer, category, fda_pathway, effective_date, termination_date, status, notes
  • Stored as skin_subs.hcpcs_universe (286 rows) and skin_subs.hcpcs_reference (34 rows) in DuckDB
  • Tag CMS rulemaking source documents in Zotero (deferred to #244)

Key findings:

  • 283 active product codes, 3 deleted
  • 213/283 (75%) are amniotic membrane HCT/P (Section 361) — minimal regulatory barrier, no clinical trials required
  • 5 PMA products (Apligraf, Integra BMWD/DRT, Dermagraft, TransCyte)
  • 28 510(k) products (porcine/xenograft, synthetic collagen, fish skin)
  • Top manufacturers by code count: BioD (27), Applied Biologics (17), Regenative Labs (9)

Commits: 2e6b2e0
Files: data/cms/skin_substitute_hcpcs.csv, data/cms/skin_substitute_hcpcs_reference.csv

**Status: Data loaded, Zotero tagging outstanding.** Checklist: - [x] Extract all skin substitute codes from CMS OPPS/PFS final rules (2012–2026) - [x] Include Q4xxx (286 codes), C5271-C5278, CPT 15271-15278 - [x] Cross-reference with CMS Jan 2026 reclassification - [x] Reference table built: hcpcs_code, short_descriptor, product_name, manufacturer, category, fda_pathway, effective_date, termination_date, status, notes - [x] Stored as `skin_subs.hcpcs_universe` (286 rows) and `skin_subs.hcpcs_reference` (34 rows) in DuckDB - [ ] Tag CMS rulemaking source documents in Zotero (deferred to #244) **Key findings:** - 283 active product codes, 3 deleted - 213/283 (75%) are amniotic membrane HCT/P (Section 361) — minimal regulatory barrier, no clinical trials required - 5 PMA products (Apligraf, Integra BMWD/DRT, Dermagraft, TransCyte) - 28 510(k) products (porcine/xenograft, synthetic collagen, fish skin) - Top manufacturers by code count: BioD (27), Applied Biologics (17), Regenative Labs (9) Commits: `2e6b2e0` Files: `data/cms/skin_substitute_hcpcs.csv`, `data/cms/skin_substitute_hcpcs_reference.csv`
Author
Owner

Additional scope identified — application/administration codes and fee schedule data.

The skin sub analysis requires TWO code families:

1. Product codes (Q4xxx) — what skin substitute was applied

  • Already loaded: 286 codes in skin_subs.hcpcs_universe
  • Reimbursed at ASP+6% (pre-2026) or flat $127.14/cm² (2026+)

2. Application codes (CPT 15271-15278) — the professional service of applying it

  • Already in skin_subs.hcpcs_reference (34 reference codes)
  • Reimbursed via PFS (RVU × conversion factor × GPCI)
  • Historical predecessors: CPT 15330-15336 (pre-2012)
  • PFS data already in DuckDB: pfs.rvu has 12 years (2015-2026) for all 8 current application codes
  • 2026 non-facility total: $4.73 (15271 trunk/arm/leg first 25cm²) to $10.82 (15277 face/neck child first 100cm²)

3. Fee schedule history — needed for the predatory pricing analysis

  • PFS rates for application codes determine the service revenue on top of the product revenue
  • The combined revenue (ASP+6% product + PFS application) is what makes skin subs lucrative
  • Already available in pfs.rvu, pfs.carrier_locality, pfs.gpci

4. CMS Town Hall meetings — grey literature source

  • CMS holds town halls when proposing major payment changes
  • Skin substitute reclassification town halls (2024-2025) contain industry testimony, CMS rationale
  • Need to be captured in Zotero (deferred to #236 grey literature issue)

Impact on claims extraction (#234):
When filtering claims for skin subs, must capture BOTH:

  • Lines with Q4xxx product codes (the skin substitute itself)
  • Lines with 15271-15278 application codes (the professional service)
  • These often appear on the same claim but as separate claim lines
**Additional scope identified — application/administration codes and fee schedule data.** The skin sub analysis requires TWO code families: **1. Product codes (Q4xxx)** — what skin substitute was applied - Already loaded: 286 codes in `skin_subs.hcpcs_universe` - Reimbursed at ASP+6% (pre-2026) or flat $127.14/cm² (2026+) **2. Application codes (CPT 15271-15278)** — the professional service of applying it - Already in `skin_subs.hcpcs_reference` (34 reference codes) - Reimbursed via PFS (RVU × conversion factor × GPCI) - Historical predecessors: CPT 15330-15336 (pre-2012) - PFS data already in DuckDB: `pfs.rvu` has 12 years (2015-2026) for all 8 current application codes - 2026 non-facility total: $4.73 (15271 trunk/arm/leg first 25cm²) to $10.82 (15277 face/neck child first 100cm²) **3. Fee schedule history** — needed for the predatory pricing analysis - PFS rates for application codes determine the *service* revenue on top of the *product* revenue - The combined revenue (ASP+6% product + PFS application) is what makes skin subs lucrative - Already available in `pfs.rvu`, `pfs.carrier_locality`, `pfs.gpci` **4. CMS Town Hall meetings** — grey literature source - CMS holds town halls when proposing major payment changes - Skin substitute reclassification town halls (2024-2025) contain industry testimony, CMS rationale - Need to be captured in Zotero (deferred to #236 grey literature issue) **Impact on claims extraction (#234):** When filtering claims for skin subs, must capture BOTH: - Lines with Q4xxx product codes (the skin substitute itself) - Lines with 15271-15278 application codes (the professional service) - These often appear on the same claim but as separate claim lines
kert closed this issue 2026-03-25 18:56:20 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: homelab/stack#232