← Methods repository
CONCEPTADVANCEDPYTHON · R · SASlast reviewed 2026-08-25 · updated 2026-08-25 · 4 citations

SEER-Medicare Linked Data

A linkage of NCI Surveillance, Epidemiology, and End Results (SEER) cancer registry data - incident tumors with stage, morphology, and first-course treatment - to Medicare FFS claims for beneficiaries in SEER catchment areas, the standard US source for population-based cancer outcomes research in the elderly.

Data Sourceseer-medicarencicancer-registrydata-sourcemedicareclaims-linkageus-rwdoncology
On this page
Methods reference only. Use primary source citations and local policy before applying this in a study protocol, regulatory submission, payer dossier, or clinical decision.
In plain language

SEER-Medicare links high-quality cancer registry records (tumor site, histology, stage at diagnosis, first-course treatment from chart abstraction) to Medicare fee-for-service claims (utilization, costs, comorbidities, survival follow-up). It is unmatched for studying cancer care patterns, costs, and outcomes in Americans 65+ diagnosed 1973-present within about 30-47% of the US population across SEER regions.

When to use it
—Any cancer question needing stage/tumor confirmation; resdac for non-cancer geriatric policy.
—Incidence-based and cost questions; Flatiron for biomarker-defined treated cohorts.
—Stage-sensitive oncology outcomes; MarketScan for non-SEER-region senior comparisons.
Watch out for
—Restricted to SEER catchment areas; registry-to-claims link adds access friction.
—No genomics; thinner clinical detail (no labs/vitals); elderly-only claims.
—65+ only vs supplemental's retiree breadth outside SEER geography.

SEER-Medicare

links the NCI SEER cancer registries — population-based tumor registries capturing all incident cancers in defined geographic areas with standardized stage (SEER historic, TNM-derived), morphology, and first-course treatment abstracted from medical records — to Medicare FFS claims (Parts A/B, optionally Part D since 2006) for beneficiaries residing in SEER catchment areas. The linkage is performed by NCI; researchers receive de-identified linked files.

Why it matters for RWE

Registry data supplies what claims cannot: validated cancer diagnosis (histology confirmed), stage at diagnosis, and chart-abstracted first-course treatment. Claims supply what registries cannot: longitudinal utilization, recurrence-era services, comorbidity burden, Medicare payments, and death dates. The combination supports treatment-pattern, cost, comparative-effectiveness, and survivorship research in a population-based elderly cohort — the backbone of US cancer health-services RWE.

Operational characteristics

  • Population: patients 65+ with FFS coverage (registry captures all ages but claims exist only for Medicare enrollees); SEER areas cover roughly 30-47% of the US population depending on era.
  • Registry variables: month/year of diagnosis (not day), SEER stage, grade, morphology codes, first-course surgery/radiation/chemotherapy flags.
  • Claims variables: ICD-9/10 diagnoses, CPT/HCPCS procedures, revenue codes, Part D drug events, payment amounts, date of death.
  • FFS requirement: MA enrollees lack claim detail; analyses must restrict to FFS or handle MA months explicitly.

Common pitfalls

  • Day-of-diagnosis missing: use month-level windows; avoid misclassifying pre-diagnosis services.
  • Lookback limited to claims history: Medicare eligibility begins ~65; comorbidity lookback before 65 is impossible for most.
  • Recurrence invisible: no registry flag for recurrence; algorithms using claims after a disease-free window are approximations needing validation.
  • Generalizability: SEER areas are not nationally representative; MA growth over time shrinks the analyzable FFS denominator.

Pros, cons, and trade-offs

  • vs pure claims (MarketScan/Medicare): cancer validation, staging, and cause-specific context vs broader populations without clinical depth.
  • vs Flatiron-style clinico-genomic EHR: population-based incidence capture vs deep genomic/clinical detail in treated cohorts.
  • Trade-off: elderly-only claims coverage vs pediatric/adult registry breadth.

When NOT to use

Under-65 oncology RWE (no claims); questions requiring recurrence adjudication beyond validated algorithms; biomarker-driven treatment effects before genomics-linked expansions.

Decision diagram

flowchart LR
  R[SEER registries\ntumor - stage - first course] --> LK[NCI linkage]
  M[Medicare FFS claims A/B/D] --> LK
  LK --> SMD[De-identified SEER-Medicare files]
  SMD --> P[Treatment patterns - costs - outcomes RWE]
SEER-Medicare linkage structure: registry depth joined to Medicare claims.

Worked example

Scenario

Compare 5-year total Medicare costs after diagnosis between stage III colon cancer patients receiving adjuvant chemotherapy versus not.

Dataset

Cost comparison adjusted for demographics and comorbidity.

groupnmedian_5y_cost_usdadj_diff_pct
adjuvant_chemo - 3810 - 98400 - ref
no_adjuvant - 2140 - 71200 - +18

Steps

1Identify stage III colon cases 2008-2018 aged 66+ with continuous FFS 12m pre-diagnosis.
2Classify adjuvant chemotherapy via Part B J-codes plus Part D within 120 days post-resection.
3Sum Parts A/B/D payments over 60 months post-diagnosis; apply two-part models with inverse-probability weights.
4Adjust for age, sex, race, area SES, Charlson from pre-diagnosis claims.

Result

Adjuvant recipients incurred 18% higher adjusted 5-year costs, driven by first-year treatment-period spending; sensitivity to MA-month exclusion was minimal.

Trade-offs

vs. Pure Medicare claims (resdac)
Pros of this
—Validated cancer diagnosis, stage, morphology, and first-course treatment unavailable in claims alone.
vs. Flatiron clinico genomic EHR
Pros of this
—Population-based capture independent of treatment-seeking; decades of history.
vs. MarketScan Medicare Supplemental
Pros of this
—True FFS claims detail and national-cancer-registry validation.

Runnable example

Build an adjuvant-chemo indicator and cumulative cost frame from SEER-Medicare style extracts.

requires: pandas
\
import pandas as pd

def adjuvant_flag(carrier, pde, resection_date, window=120):
    # Part B J-codes + Part D chemo within window days post-resection
    b = carrier[(carrier.jcode.isin(CHEMO_JCODES)) &
                (carrier.svc_date >= resection_date) &
                (carrier.svc_date <= resection_date + pd.Timedelta(days=window))]
    d = pde[(pde.ther_class=="antineoplastic") &
            (pde.fill_date >= resection_date) &
            (pde.fill_date <= resection_date + pd.Timedelta(days=window))]
    return int(len(b) > 0 or len(d) > 0)

def cumulative_costs(inpatient, carrier, pde, dx_date, months=60):
    end = dx_date + pd.DateOffset(months=months)
    tot = {f: f[(f.date >= dx_date) & (f.date < end)].payment.sum()
           for f, name in [(inpatient,"ip"),(carrier,"op"),(pde,"pd")]}
    return sum(tot.values())

Citations

FOUNDATIONAL / METHODS
  1. [1]Warren JL, et al. Overview of the SEER-Medicare Data: Content, Research Applications, and Generalizability to the United States Elderly Population. Medical Care. 2002.
  2. [2]Enewold L, et al. Updated Overview of the SEER-Medicare Data: Enhanced Content and Applications. JNCI Monographs. 2020.
  3. [3]Snow TS, et al. Comparison of Population Characteristics in Real-World Clinical Oncology Databases in the US. medRxiv. 2023.
REPORTING & GUIDANCE
  1. [4]National Cancer Institute. Healthcare Delivery Research Program: SEER-Medicare Linked Data Resource.