Skip to content
FonteumPublic-records evidence
WORKFORCE · ISSUE 091
pbj-staffingOriginal Research

The agency-staffing line: how much of US nursing-home nurse care now comes from temp staff

5.98% of all nurse-staffing hours in US nursing homes came from contract or agency staff in CMS's 2025 Q2 Payroll-Based Journal — 25.3 million of 423.7 million hours. Reliance ranged from 25.1% in Vermont to 1.0% in Alabama, and 86 homes ran on majority-agency nurse staffing.

BY FONTEUM LLC · JUNE 22, 2026 · 14 MIN READREVIEWED BY DR. JENNIFER MONTECILLO, MDSNAPSHOT 2025-06-30 · LAST UPDATED JUNE 30, 2025
CMS Payroll-Based Journal · 2025-06-30
Agency share of nurse-staffing hours — selected statespbj-staffing · 2025Q2
VT
25.1%
PA
13.4%
NJ
12.5%
NY
10.8%
US avg
6%
FL
1.5%
AL
1%
Built on CMS Payroll-Based Journal · snapshot 2025-06-30 · reproducible · re-derive the figures yourself
Key findings
of all nursing-home nurse-staffing hours came from contract or agency staff — 25.3M of 423.7M hours
pbj-staffing · CMS
highest state reliance (Vermont) versus lowest (Alabama) — a roughly 25-fold spread
pbj-staffing · CMS
of facilities (6,037 of 14,537) reported zero agency hours in the quarter
pbj-staffing · CMS
facilities ran on majority-agency staff — over half their nurse hours bought from agencies; 19 topped 75%
pbj-staffing · CMS
of all agency hours nationwide were billed in just three states — New York, Pennsylvania and New Jersey
pbj-staffing · CMS

Every figure in this study comes from one frozen federal source: the CMS Payroll-Based Journal, the daily staffing record that every Medicare- and Medicaid-certified nursing home in the country must file from its own payroll system. We read the 2025 Q2 snapshot — the quarter running April 1 through June 30, 2025 — and asked a single question the file is uniquely able to answer. Of all the nurse hours worked in America's nursing homes that spring, how many were bought from a staffing agency rather than worked by the home's own employees?

The answer is 5.98%. Out of 423.7 million nurse-staffing hours logged across 1,322,254 facility-days with residents present, 25.3 million were supplied by contract or agency staff. That is roughly one nurse hour in every seventeen, bought on the temporary market. It is not a survey estimate or a model. It is a sum of columns in the payroll file.

The short answer. In the CMS Payroll-Based Journal's 2025 Q2 snapshot, 5.98% of US nursing-home nurse-staffing hours — 25.3 million of 423.7 million — came from contract or agency staff rather than direct employees. Reliance ranged from 25.1% in Vermont to 1.0% in Alabama, a roughly 25-fold state spread. Eighty-six individual homes bought more than half their nurse hours from agencies.

The reason this number matters now is regulatory. The federal minimum-staffing standard for long-term-care facilities — finalized in 2024 — was rescinded, with the rescission effective February 2, 2026. For the first time in the modern history of the program, there is no national floor under nurse staffing. Agency reliance is the pressure valve facilities reach for when they cannot fill permanent lines, and the figures below are the pre-rescission baseline against which the next several quarters will be read.

What the contract column actually records

The Payroll-Based Journal, or PBJ, is the most granular public record of who worked in a nursing home and when. Each row is one facility, one calendar day, with hours broken out by job category: registered nurses, licensed practical nurses, certified nursing assistants, nurse aides in training, and medication aides, along with the day's resident census.

What makes this particular question answerable is a detail of how PBJ is structured. For every nurse job code, CMS requires the facility to report two paired numbers — hours worked by its own employees, and hours worked by contract or agency staff. For registered-nurse direct care, those columns are Hrs_RN_emp and Hrs_RN_ctr. The same employee-versus-contract split exists for all eight nurse job codes the file tracks. Our agency share throughout this report is the sum of the eight contract columns divided by the sum of all nurse hours, restricted to facility-days where residents were actually present.

The word "contract" here means staff sourced through a third-party staffing agency and billed to the facility, rather than carried on its own payroll. It is the nursing-home equivalent of a travel nurse or a per-diem agency shift in a hospital. The distinction is not a bookkeeping nicety. An agency nurse is paid more per hour, has no long-term relationship with the residents, and may never have worked that building before. Facilities turn to agency staff when they cannot recruit or retain permanent nurses — which is why the share is read, across the staffing literature, as a barometer of workforce instability rather than as a neutral staffing choice.

How big the agency line is, nationally

At 5.98% of all nurse hours, the agency line looks modest in aggregate. It is larger than it sounds once set against the size of the system: 25.3 million hours is the equivalent of tens of thousands of full-time nurses' worth of work, last spring, that no nursing home actually employed. Translated to the standard staffing measure, agency staff delivered about 0.23 of the 3.78 total nurse hours per resident-day the file records.

The share is not uniform across roles. Licensed practical nurses — the workhorse medication-and-treatment role in most homes — were the most agency-dependent, at 7.37% of LPN hours. Registered nurses came next at 5.78%, and the aide categories that deliver the bulk of hands-on personal care were lowest at 5.51%. That ordering is itself telling: the licensed roles, which are harder to recruit and command the steepest agency premiums, are exactly where homes most often reach for temporary coverage.

Nurse roleShare of hours from agency staff
Licensed practical nurses (LPN)7.37%
Registered nurses (RN)5.78%
Aides (CNA, aides-in-training, med aides)5.51%
All nurse staffing combined5.98%

The geography of the agency line

Sort the same hours by state and the national average dissolves into a map of enormous disparity. The table below shows the nine states with the highest agency share of nurse hours, and the five lowest, among states reporting in the quarter.

StateAgency share of nurse hoursFacilities
Vermont25.1%34
Pennsylvania13.4%652
New Hampshire13.4%74
New Mexico12.7%68
Alaska12.5%19
New Jersey12.5%346
North Dakota12.4%73
Maine10.9%77
New York10.8%594
Texas2.6%1,167
Nevada2.5%65
Arkansas1.9%216
Florida1.5%687
Alabama1.0%224

In Vermont, a quarter of every nurse hour worked in a nursing home was bought from an agency. In Alabama, it was one hour in a hundred. That roughly 25-fold gap is far wider than differences in resident need can explain on their own. It points at the things states actually shape — Medicaid reimbursement rates, the depth of the local nurse labor market, the presence or absence of state staffing rules layered on top of the federal floor, and how rural the geography is. The PBJ file cannot adjudicate among those causes. What it shows unambiguously is that a resident's state is the single strongest predictor of how much of their care is delivered by a temporary nurse.

There is a clear regional shape to the top of the table. New England and the Mid-Atlantic — Vermont, New Hampshire, Maine, New Jersey, New York, Pennsylvania — cluster among the most agency-reliant, alongside a few thin-labor-market frontier states (Alaska, New Mexico, North Dakota). The lowest-reliance states form their own block across the South and lower-cost Sun Belt: Alabama, Florida, Arkansas, Texas. The pattern is consistent enough to be structural rather than incidental.

Intensity is not the same as volume

One nuance is worth drawing out, because it is the kind of thing a single ranked column hides. Vermont has the highest agency intensity — a quarter of its hours — but with only 34 nursing homes, it accounts for just 0.9% of all the agency hours billed in the country. The states that dominate the national agency bill are the large, moderately-reliant ones. New York alone, at 10.8% reliance across 594 homes, supplies 13.8% of every agency hour worked in a US nursing home. Pennsylvania adds another 12.0%, and New Jersey 6.9%. Three states — New York, Pennsylvania, New Jersey — account for 32.7% of the national agency total between them.

So there are two different stories in the same column. If the question is "where is a resident most likely to be cared for by a temp," the answer is Vermont. If the question is "where is the money for agency nursing actually being spent," the answer is the New York–Pennsylvania–New Jersey corridor. Both are true, and conflating them is the most common way this kind of figure gets misread.

For the per-facility detail behind any state, the full daily record is published with source provenance on the PBJ staffing dataset page, and the facility-quality context for nursing homes more broadly lives in the Care Compare nursing-home module.

The concentration nobody sees in the average

The 5.98% national figure is an average, and averages hide tails. Group the country's homes by how much of their own nurse staffing they buy from agencies, and the distribution turns out to be sharply bimodal.

Facility agency shareFacilitiesShare of all facilities
Exactly 0% (no agency hours)6,03741.5%
Above 0% to under 25%7,64652.6%
25% to under 50%7685.3%
50% to under 75%670.5%
75% or more190.1%

Two facts in this table do the work. First, 41.5% of all nursing homes — 6,037 of 14,537 — bought no agency hours at all in the quarter. They ran entirely on their own employees. The median home's agency share was essentially zero (0.50%). For most of the system, agency staffing simply is not a feature of how it operates.

Second, the reliance that exists is highly concentrated. The 854 homes that bought a quarter or more of their nurse hours from agencies — just 5.9% of all facilities — accounted for 41.5% of every agency hour billed nationwide. And at the extreme, 86 facilities ran on majority-agency staff: more than half of all their nurse hours, for an entire quarter, came from temporary workers. Nineteen of those topped 75%. These are not homes that covered a bad weekend when a nurse called out. They are homes whose ordinary operating model, for three months straight, was built on rented coverage.

Per our research doctrine, we do not name individual facilities or attach these counts to any provider profile. CMS publishes the underlying file at the facility level for anyone who wishes to look; our role is to report the aggregate pattern, not to rate, warn against, or endorse any specific home.

Why the continuity gap matters

The reason an agency hour is not interchangeable with an employee hour has little to do with the individual nurse, who is often excellent, and everything to do with continuity. A permanent nurse knows which resident is normally chatty and is now withdrawn, which one's gait changed this week, which family member to call. That accumulated, undocumented knowledge is part of what catches a deteriorating resident early. A nurse arriving for a single agency shift in an unfamiliar building, however skilled, starts without it.

The staffing literature has consistently associated heavy agency reliance with weaker continuity of care, higher turnover, and the operational strain that produces both. We are careful not to overstate this: the Payroll-Based Journal records hours, not outcomes, and this study draws no causal line from an agency hour to any resident's harm. What the file establishes is the input — how much of the nursing workforce in a given home, state, or the country as a whole is temporary rather than permanent — and it establishes it precisely, from payroll, for every certified home in the nation.

A note on direct-care registered nurses

Readers of our companion study on zero-RN days will recognize the registered-nurse direct-care column, where the agency share runs higher than the all-roles figure — about 7.3% of RN direct-care hours, against 5.78% across all three RN job codes combined and 5.98% across the whole nurse workforce. The difference is a denominator choice, not a contradiction: the narrower the role you measure, the more agency-dependent it tends to look, because the licensed bedside roles are the hardest to staff permanently. We report the all-roles figure as the headline here because it answers the broadest version of the question — what share of nursing-home nursing, of every kind, is now temporary.

What this study does, and does not, show

This is a descriptive study built on a single quarter of a single federal file. Its limits matter as much as its findings.

  • It is one quarter. April–June 2025 is a single snapshot, captured as of 2025-06-30. Agency reliance moves seasonally and with the local labor market; a home's share here may not be its share today. The figures will shift as CMS publishes later quarters.
  • It measures hours, not quality. Agency share is a staffing input. This study does not measure resident outcomes and makes no claim that agency reliance caused any specific harm.
  • It is not risk-adjusted. Shares are raw ratios, not adjusted for resident acuity, case mix, facility size, or local wage levels. State differences reflect those factors alongside staffing decisions, and the file cannot separate them.
  • It depends on facility self-report. PBJ is payroll-derived and auditable, which makes it far stronger than the old self-reported survey week, but the employee-versus-contract split is still coded by the facilities themselves. Mis-coding an agency nurse as an employee, or the reverse, would shift these shares.
  • No facility-level claims. State and national aggregates are research outputs. We attach nothing to any provider profile and rate, endorse, or warn against no individual home.

None of these limits change the central, re-checkable fact: in the most recent published quarter, roughly one nurse hour in seventeen across America's nursing homes was bought from a staffing agency, and that reliance was concentrated — by role, by state, and by facility — in patterns too sharp to be accidental.

Medical review

Reviewed by Jennifer Montecillo, MD, medical reviewer. Non-practicing medical reviewer. This study reports staffing figures drawn from a public CMS payroll file; it does not assess, rate, or make clinical claims about any individual facility or resident, and it does not offer medical advice.

Reproduce this

Every figure above traces to the CMS Payroll-Based Journal 2025 Q2 snapshot, the immutable quarter CMS published for the period 2025-04-01 through 2025-06-30. The exact SQL that regenerates each headline figure ships with this study in the reproducibility block below, and the daily source file is documented on the PBJ staffing dataset page. Re-check any figure here against the source on our re-check surface; the broader provenance posture for every source family we ingest is catalogued at /sources, and the research-desk methodology standard is at /methodology.

For readers using this data operationally, our exclusion and sanction-list monitoring and the standalone staffing brand hub build on the same nursing-home data graph. For adjacent analysis, see our companion studies on zero-RN days, on how concentrated nursing-home ownership has become, and on the rising size of nursing-home fines.

Further reading and primary sources

  • CMS Payroll-Based Journal Daily Nurse Staffing — the source dataset, at data.cms.gov.
  • CMS nursing-home provider data topics — facility-level extracts, at data.cms.gov.
  • The 2024 minimum-staffing final rule (since rescinded) — the regulatory text, at federalregister.gov.
  • Independent policy analysis of nursing-home staffing and agency reliance — KFF and MACPAC both track the staffing debate and its evidence base.

The underlying CMS data is a U.S. Government Work in the public domain. Reuse of this study is permitted with attribution to Fonteum Research and a link back to this page.

Frequently asked questions

What share of US nursing-home nurse staffing comes from agency or contract staff?
In CMS's 2025 Q2 Payroll-Based Journal, 5.98% of all nurse-staffing hours — 25.3 million of 423.7 million — were supplied by contract or agency staff rather than direct facility employees. That is roughly one hour in every 17. The rate is highest for licensed practical nurses (7.37%) and lowest for aides (5.51%).
Which states rely most on agency nurse staffing?
Vermont led at 25.1% of nurse hours bought from agencies, followed by Pennsylvania (13.4%), New Hampshire (13.4%), New Mexico (12.7%) and New Jersey (12.5%). Alabama was lowest at 1.0%, with Florida (1.5%) and Arkansas (1.9%) close behind — a roughly 25-fold spread between the highest and lowest states.
Does a high agency share mean worse care?
This study does not measure care outcomes, so it makes no such claim. Agency reliance is widely treated in the staffing literature as a marker of instability — homes that cannot retain permanent nurses buy temporary coverage — and temporary staff have less continuity with residents. But the Payroll-Based Journal records hours, not quality, and the figures here are descriptive, not causal.
What is the difference between employee and contract hours in the PBJ file?
CMS requires every certified nursing home to split each nurse job code into hours worked by its own employees and hours worked by contract or agency staff. The file stores these as paired columns — for registered-nurse direct care, Hrs_RN_emp and Hrs_RN_ctr. The agency share in this study is the contract column divided by the total for all eight nurse job codes combined.
Are these figures affected by the rescinded federal staffing rule?
The 2025 Q2 snapshot predates the February 2, 2026 rescission of the federal minimum-staffing standard for long-term-care facilities. These figures describe agency reliance while the rule was still on the books. With no national staffing floor now in place, the public payroll record is the remaining way to track how heavily homes lean on temporary nurses.

Who uses this data

The source data behind this study is public

Compliance teams, journalists, and researchers work from the same federal source families cited above — queried by NPI or facility identifier through Fonteum’s open dataset pages and API. Every figure traces to a frozen, downloadable snapshot you can reproduce yourself.

Reproducibility

Every claim, reproducible

The SQL
nursing-home-agency-staffing-share-2025.sql
-- Agency / contract share of nurse staffing in US nursing homes (CMS PBJ, CY2025 Q2).
-- Snapshot: pbj_daily_nurse_staffing, snapshot_quarter = '2025Q2'
--           (the immutable CMS Payroll-Based Journal quarter covering
--            2025-04-01 .. 2025-06-30, downloaded from data.cms.gov).
--
-- Definitions (locked):
--   facility-day   := one nursing home on one calendar day.
--   included       := mds_census > 0  (residents present that day).
--   total nurse hrs:= sum of all eight nurse job-code columns:
--                       RN director  (hrs_rndon),  RN admin (hrs_rnadmin),
--                       RN direct    (hrs_rn),      LPN admin (hrs_lpnadmin),
--                       LPN direct   (hrs_lpn),     CNA (hrs_cna),
--                       aide-in-train(hrs_natrn),   med aide (hrs_medaide).
--   agency hrs     := the matching '_ctr' (contract) column for each of the
--                     eight job codes. PBJ splits every code into _emp
--                     (facility employees) and _ctr (contract / agency staff).
--   agency share   := agency hrs / total nurse hrs.
--
-- Re-running these queries against the 2025Q2 snapshot reproduces every headline
-- figure in the study, exactly. Each query is annotated with its expected result.

-- ── (1) National headline ────────────────────────────────────────────────────
with base as (
  select
    (coalesce(hrs_rn,0)+coalesce(hrs_rndon,0)+coalesce(hrs_rnadmin,0)
     +coalesce(hrs_lpn,0)+coalesce(hrs_lpnadmin,0)
     +coalesce(hrs_cna,0)+coalesce(hrs_natrn,0)+coalesce(hrs_medaide,0)) as tot,
    (coalesce(hrs_rn_ctr,0)+coalesce(hrs_rndon_ctr,0)+coalesce(hrs_rnadmin_ctr,0)
     +coalesce(hrs_lpn_ctr,0)+coalesce(hrs_lpnadmin_ctr,0)
     +coalesce(hrs_cna_ctr,0)+coalesce(hrs_natrn_ctr,0)+coalesce(hrs_medaide_ctr,0)) as ctr,
    mds_census, provnum
  from public.pbj_daily_nurse_staffing
  where snapshot_quarter = '2025Q2' and mds_census > 0
)
select
  count(*)                                       as facility_days,   -- 1,322,254
  count(distinct provnum)                        as facilities,      --    14,537
  round(sum(tot))                                as total_hours,     -- 423,690,623
  round(sum(ctr))                                as agency_hours,    --  25,337,782
  round(100.0*sum(ctr)/sum(tot), 2)              as agency_pct,      --       5.98
  round(sum(ctr)/sum(mds_census), 3)             as agency_hprd,     --      0.226
  round(sum(tot)/sum(mds_census), 2)             as total_hprd       --       3.78
from base;

-- ── (2) Agency share by nurse role ───────────────────────────────────────────
-- LPN most agency-dependent (7.37%), RN next (5.78%), aides lowest (5.51%).
select
  round(100.0*sum(coalesce(hrs_rn_ctr,0)+coalesce(hrs_rndon_ctr,0)+coalesce(hrs_rnadmin_ctr,0))
        / nullif(sum(coalesce(hrs_rn,0)+coalesce(hrs_rndon,0)+coalesce(hrs_rnadmin,0)),0), 2) as rn_agency_pct,   -- 5.78
  round(100.0*sum(coalesce(hrs_lpn_ctr,0)+coalesce(hrs_lpnadmin_ctr,0))
        / nullif(sum(coalesce(hrs_lpn,0)+coalesce(hrs_lpnadmin,0)),0), 2)                     as lpn_agency_pct,  -- 7.37
  round(100.0*sum(coalesce(hrs_cna_ctr,0)+coalesce(hrs_natrn_ctr,0)+coalesce(hrs_medaide_ctr,0))
        / nullif(sum(coalesce(hrs_cna,0)+coalesce(hrs_natrn,0)+coalesce(hrs_medaide,0)),0), 2) as aide_agency_pct -- 5.51
from public.pbj_daily_nurse_staffing
where snapshot_quarter = '2025Q2' and mds_census > 0;

-- ── (3) State agency share + share of the national agency bill ────────────────
-- Intensity (agency share) vs volume (share of all national agency hours).
-- Vermont highest intensity (25.13%) but only 0.9% of national agency hours;
-- New York 10.79% intensity but 13.8% of the national bill. NY+PA+NJ = 32.7%.
-- Alabama lowest intensity (1.01%). Spread VT/AL ~= 25x.
with s as (
  select
    state,
    sum(coalesce(hrs_rn,0)+coalesce(hrs_rndon,0)+coalesce(hrs_rnadmin,0)
        +coalesce(hrs_lpn,0)+coalesce(hrs_lpnadmin,0)
        +coalesce(hrs_cna,0)+coalesce(hrs_natrn,0)+coalesce(hrs_medaide,0)) as tot,
    sum(coalesce(hrs_rn_ctr,0)+coalesce(hrs_rndon_ctr,0)+coalesce(hrs_rnadmin_ctr,0)
        +coalesce(hrs_lpn_ctr,0)+coalesce(hrs_lpnadmin_ctr,0)
        +coalesce(hrs_cna_ctr,0)+coalesce(hrs_natrn_ctr,0)+coalesce(hrs_medaide_ctr,0)) as ctr,
    count(distinct provnum) as facilities
  from public.pbj_daily_nurse_staffing
  where snapshot_quarter = '2025Q2' and mds_census > 0
  group by state
)
select
  state,
  facilities,
  round(100.0*ctr/nullif(tot,0), 2)                       as agency_share_pct,
  round(100.0*ctr/(select sum(ctr) from s), 1)            as share_of_national_agency_pct
from s
where tot > 0
order by agency_share_pct desc;
--  highest: VT 25.13 / 0.9 · PA 13.40 / 12.0 · NH 13.36 / 1.1 · NM 12.73 / 0.9
--           AK 12.53 / 0.2 · NJ 12.46 / 6.9 · ND 12.44 / 0.9 · ME 10.91 / 0.8
--           NY 10.79 / 13.8
--  lowest:  AL 1.01 · FL 1.53 · AR 1.89 · NV 2.46 · TX 2.55

-- ── (4) Per-facility distribution of agency reliance ──────────────────────────
-- 41.5% of homes bought ZERO agency hours; the reliance that exists concentrates
-- in a small tail. 854 homes (>=25%) carry 41.5% of all agency hours; 86 homes
-- ran majority-agency (>=50%); 19 topped 75%.
with f as (
  select
    provnum,
    sum(coalesce(hrs_rn,0)+coalesce(hrs_rndon,0)+coalesce(hrs_rnadmin,0)
        +coalesce(hrs_lpn,0)+coalesce(hrs_lpnadmin,0)
        +coalesce(hrs_cna,0)+coalesce(hrs_natrn,0)+coalesce(hrs_medaide,0)) as tot,
    sum(coalesce(hrs_rn_ctr,0)+coalesce(hrs_rndon_ctr,0)+coalesce(hrs_rnadmin_ctr,0)
        +coalesce(hrs_lpn_ctr,0)+coalesce(hrs_lpnadmin_ctr,0)
        +coalesce(hrs_cna_ctr,0)+coalesce(hrs_natrn_ctr,0)+coalesce(hrs_medaide_ctr,0)) as ctr
  from public.pbj_daily_nurse_staffing
  where snapshot_quarter = '2025Q2' and mds_census > 0
  group by provnum
), p as (
  select provnum, tot, ctr, 100.0*ctr/nullif(tot,0) as pct from f where tot > 0
)
select
  count(*)                                                as facilities,         -- 14,537
  count(*) filter (where ctr = 0)                         as zero_agency,        --  6,037 (41.5%)
  count(*) filter (where pct > 0 and pct < 25)            as gt0_lt25,           --  7,646 (52.6%)
  count(*) filter (where pct >= 25 and pct < 50)          as ge25_lt50,          --    768 (5.3%)
  count(*) filter (where pct >= 50 and pct < 75)          as ge50_lt75,          --     67 (0.5%)
  count(*) filter (where pct >= 75)                       as ge75,               --     19 (0.1%)
  count(*) filter (where pct >= 25)                       as ge25_total,         --    854 (5.9%)
  count(*) filter (where pct >= 50)                       as majority_agency,    --     86
  round(percentile_cont(0.5) within group (order by pct)::numeric, 2) as median_pct, -- 0.50
  -- Share of ALL national agency hours delivered by the >=25%-reliant tail.
  round((select 100.0*sum(ctr) from p where pct >= 25)
        / (select sum(ctr) from p), 1)                    as ge25_share_of_agency_hrs -- 41.5
from p;

-- ── (5) Agency share of RN DIRECT-CARE hours only ─────────────────────────────
-- The narrower denominator referenced in the body (and the headline of the
-- companion zero-RN study): contract share of the RN direct-care job code alone
-- (hrs_rn), excluding RN admin + director-of-nursing. Higher than the all-RN
-- (5.78%) and all-workforce (5.98%) figures because the licensed bedside roles
-- are the hardest to staff permanently.
select
  round(100.0*sum(coalesce(hrs_rn_ctr,0))
        / nullif(sum(coalesce(hrs_rn,0)), 0), 2)          as rn_directcare_agency_pct -- 7.28
from public.pbj_daily_nurse_staffing
where snapshot_quarter = '2025Q2' and mds_census > 0;
The snapshot
dataset_idpbj-staffing-2025q2
snapshot_date2025-06-30
The JOINs
Source: public.pbj_daily_nurse_staffing where snapshot_quarter = '2025Q2'
Facility-day included only when mds_census > 0 (residents present that day)
Total nurse hours := sum of all eight nurse job codes (RN director, RN admin, RN direct care, LPN admin, LPN direct care, CNA, nurse aide in training, med aide); agency hours := the matching '_ctr' (contract) column for each code
Agency share := contract hours / total hours; facility identity keyed on provnum (CMS Certification Number); state from the PBJ state field
The pipeline version
methodology_versionpbj-agency-share/v1

Reproduce this

Run the exact query against the frozen 2025-06-30.

-- Agency / contract share of nurse staffing in US nursing homes (CMS PBJ, CY2025 Q2). -- Snapshot: pbj_daily_nurse_staffing, snapshot_quarter = '2025Q2' -- (the immutable CMS Payroll-Based Journal quarter covering -- 2025-04-01 .. 2025-06-30, downloaded from data.cms.gov). -- -- Definitions (locked): -- facility-day := one nursing home on one calendar day. -- included := mds_census > 0 (residents present that day). -- total nurse hrs:= sum of all eight nurse job-code columns: -- RN director (hrs_rndon), RN admin (hrs_rnadmin), -- RN direct (hrs_rn), LPN admin (hrs_lpnadmin), -- LPN direct (hrs_lpn), CNA (hrs_cna), -- aide-in-train(hrs_natrn), med aide (hrs_medaide). -- agency hrs := the matching '_ctr' (contract) column for each of the -- eight job codes. PBJ splits every code into _emp -- (facility employees) and _ctr (contract / agency staff). -- agency share := agency hrs / total nurse hrs. -- -- Re-running these queries against the 2025Q2 snapshot reproduces every headline -- figure in the study, exactly. Each query is annotated with its expected result. -- ── (1) National headline ──────────────────────────────────────────────────── with base as ( select (coalesce(hrs_rn,0)+coalesce(hrs_rndon,0)+coalesce(hrs_rnadmin,0) +coalesce(hrs_lpn,0)+coalesce(hrs_lpnadmin,0) +coalesce(hrs_cna,0)+coalesce(hrs_natrn,0)+coalesce(hrs_medaide,0)) as tot, (coalesce(hrs_rn_ctr,0)+coalesce(hrs_rndon_ctr,0)+coalesce(hrs_rnadmin_ctr,0) +coalesce(hrs_lpn_ctr,0)+coalesce(hrs_lpnadmin_ctr,0) +coalesce(hrs_cna_ctr,0)+coalesce(hrs_natrn_ctr,0)+coalesce(hrs_medaide_ctr,0)) as ctr, mds_census, provnum from public.pbj_daily_nurse_staffing where snapshot_quarter = '2025Q2' and mds_census > 0 ) select count(*) as facility_days, -- 1,322,254 count(distinct provnum) as facilities, -- 14,537 round(sum(tot)) as total_hours, -- 423,690,623 round(sum(ctr)) as agency_hours, -- 25,337,782 round(100.0*sum(ctr)/sum(tot), 2) as agency_pct, -- 5.98 round(sum(ctr)/sum(mds_census), 3) as agency_hprd, -- 0.226 round(sum(tot)/sum(mds_census), 2) as total_hprd -- 3.78 from base; -- ── (2) Agency share by nurse role ─────────────────────────────────────────── -- LPN most agency-dependent (7.37%), RN next (5.78%), aides lowest (5.51%). select round(100.0*sum(coalesce(hrs_rn_ctr,0)+coalesce(hrs_rndon_ctr,0)+coalesce(hrs_rnadmin_ctr,0)) / nullif(sum(coalesce(hrs_rn,0)+coalesce(hrs_rndon,0)+coalesce(hrs_rnadmin,0)),0), 2) as rn_agency_pct, -- 5.78 round(100.0*sum(coalesce(hrs_lpn_ctr,0)+coalesce(hrs_lpnadmin_ctr,0)) / nullif(sum(coalesce(hrs_lpn,0)+coalesce(hrs_lpnadmin,0)),0), 2) as lpn_agency_pct, -- 7.37 round(100.0*sum(coalesce(hrs_cna_ctr,0)+coalesce(hrs_natrn_ctr,0)+coalesce(hrs_medaide_ctr,0)) / nullif(sum(coalesce(hrs_cna,0)+coalesce(hrs_natrn,0)+coalesce(hrs_medaide,0)),0), 2) as aide_agency_pct -- 5.51 from public.pbj_daily_nurse_staffing where snapshot_quarter = '2025Q2' and mds_census > 0; -- ── (3) State agency share + share of the national agency bill ──────────────── -- Intensity (agency share) vs volume (share of all national agency hours). -- Vermont highest intensity (25.13%) but only 0.9% of national agency hours; -- New York 10.79% intensity but 13.8% of the national bill. NY+PA+NJ = 32.7%. -- Alabama lowest intensity (1.01%). Spread VT/AL ~= 25x. with s as ( select state, sum(coalesce(hrs_rn,0)+coalesce(hrs_rndon,0)+coalesce(hrs_rnadmin,0) +coalesce(hrs_lpn,0)+coalesce(hrs_lpnadmin,0) +coalesce(hrs_cna,0)+coalesce(hrs_natrn,0)+coalesce(hrs_medaide,0)) as tot, sum(coalesce(hrs_rn_ctr,0)+coalesce(hrs_rndon_ctr,0)+coalesce(hrs_rnadmin_ctr,0) +coalesce(hrs_lpn_ctr,0)+coalesce(hrs_lpnadmin_ctr,0) +coalesce(hrs_cna_ctr,0)+coalesce(hrs_natrn_ctr,0)+coalesce(hrs_medaide_ctr,0)) as ctr, count(distinct provnum) as facilities from public.pbj_daily_nurse_staffing where snapshot_quarter = '2025Q2' and mds_census > 0 group by state ) select state, facilities, round(100.0*ctr/nullif(tot,0), 2) as agency_share_pct, round(100.0*ctr/(select sum(ctr) from s), 1) as share_of_national_agency_pct from s where tot > 0 order by agency_share_pct desc; -- highest: VT 25.13 / 0.9 · PA 13.40 / 12.0 · NH 13.36 / 1.1 · NM 12.73 / 0.9 -- AK 12.53 / 0.2 · NJ 12.46 / 6.9 · ND 12.44 / 0.9 · ME 10.91 / 0.8 -- NY 10.79 / 13.8 -- lowest: AL 1.01 · FL 1.53 · AR 1.89 · NV 2.46 · TX 2.55 -- ── (4) Per-facility distribution of agency reliance ────────────────────────── -- 41.5% of homes bought ZERO agency hours; the reliance that exists concentrates -- in a small tail. 854 homes (>=25%) carry 41.5% of all agency hours; 86 homes -- ran majority-agency (>=50%); 19 topped 75%. with f as ( select provnum, sum(coalesce(hrs_rn,0)+coalesce(hrs_rndon,0)+coalesce(hrs_rnadmin,0) +coalesce(hrs_lpn,0)+coalesce(hrs_lpnadmin,0) +coalesce(hrs_cna,0)+coalesce(hrs_natrn,0)+coalesce(hrs_medaide,0)) as tot, sum(coalesce(hrs_rn_ctr,0)+coalesce(hrs_rndon_ctr,0)+coalesce(hrs_rnadmin_ctr,0) +coalesce(hrs_lpn_ctr,0)+coalesce(hrs_lpnadmin_ctr,0) +coalesce(hrs_cna_ctr,0)+coalesce(hrs_natrn_ctr,0)+coalesce(hrs_medaide_ctr,0)) as ctr from public.pbj_daily_nurse_staffing where snapshot_quarter = '2025Q2' and mds_census > 0 group by provnum ), p as ( select provnum, tot, ctr, 100.0*ctr/nullif(tot,0) as pct from f where tot > 0 ) select count(*) as facilities, -- 14,537 count(*) filter (where ctr = 0) as zero_agency, -- 6,037 (41.5%) count(*) filter (where pct > 0 and pct < 25) as gt0_lt25, -- 7,646 (52.6%) count(*) filter (where pct >= 25 and pct < 50) as ge25_lt50, -- 768 (5.3%) count(*) filter (where pct >= 50 and pct < 75) as ge50_lt75, -- 67 (0.5%) count(*) filter (where pct >= 75) as ge75, -- 19 (0.1%) count(*) filter (where pct >= 25) as ge25_total, -- 854 (5.9%) count(*) filter (where pct >= 50) as majority_agency, -- 86 round(percentile_cont(0.5) within group (order by pct)::numeric, 2) as median_pct, -- 0.50 -- Share of ALL national agency hours delivered by the >=25%-reliant tail. round((select 100.0*sum(ctr) from p where pct >= 25) / (select sum(ctr) from p), 1) as ge25_share_of_agency_hrs -- 41.5 from p; -- ── (5) Agency share of RN DIRECT-CARE hours only ───────────────────────────── -- The narrower denominator referenced in the body (and the headline of the -- companion zero-RN study): contract share of the RN direct-care job code alone -- (hrs_rn), excluding RN admin + director-of-nursing. Higher than the all-RN -- (5.78%) and all-workforce (5.98%) figures because the licensed bedside roles -- are the hardest to staff permanently. select round(100.0*sum(coalesce(hrs_rn_ctr,0)) / nullif(sum(coalesce(hrs_rn,0)), 0), 2) as rn_directcare_agency_pct -- 7.28 from public.pbj_daily_nurse_staffing where snapshot_quarter = '2025Q2' and mds_census > 0;

Download the data: SQL · JSON · CSV

Cite this study

Citation-ready for researchers and AI.

Fonteum Research Bureau (2026). The agency-staffing line: how much of US nursing-home nurse care now comes from temp staff. CMS Payroll-Based Journal, snapshot 2025-06-30. https://fonteum.com/research/nursing-home-agency-staffing-share-2025

Check the chain

The cited snapshot identifies the federal file. Where an attestation is present, its file hash can be re-derived; figures are not individually signed.

1
Snapshot
pbj-staffing-2025q2 · 2025-06-30
2
Supplied file hash
Not supplied
3
Snapshot attestation
Inspect supplied artifact
Figures are not individually signed · check it in Attest →

Federal source citations

  1. CMS Payroll-Based Journal · snapshot 2025-06-30 · federal source family · US-Government-Works

Fonteum LLC · June 22, 2026 · All figures trace to the frozen federal-data snapshot cited above.

What’s on file, by the numbers

Platform snapshot · 2026-08-14

13.4Mproviders & companiesProviders, organizations, owners, and facilities on file
26.2Msource-linked factsSource-linked field facts in the dated platform snapshot
90sources with dataDistinct snapshot source IDs with at least one positive record count
72fresh sourcesDistinct source IDs whose latest positive-data snapshot falls within the preceding 45 days
111sources integratedActive registry rows; integration does not establish a load
13state Medicaid jurisdictionsDistinct states represented in the state-exclusions serving table

Integrated, with-data, and fresh-observation counts are separate. No platform-wide source-completeness count is published. Completeness is source-specific and must be evaluated against the named source's expected scope. State coverage is a separate jurisdiction measure.

Source authority is record-specific

Use the issuer named on the record.

Fonteum spans federal, state, and global public publishers. A source page or returned record identifies its issuer and dataset where that metadata is available. A platform registry count does not assign every page to one authority or establish loaded, fresh, or complete coverage.

Browse source records and their stated limitations →

Reproducible by design

Inspect the evidence each published figure actually supplies.

Source and date

Research pages expose the named public file and observation date where those fields are available. Source-file SHA-256 coverage is separate; facts do not currently link deterministically to signatures.

Available derivation

Studies with a retained release and committed derivation link the SQL or method used. Other studies state the evidence and reproduction limits they actually have.

Daily observations

Dated table row-count observations can detect local drift. They do not imply that an upstream publisher released or Fonteum ingested new data that day.

Named medical review

Reviewed by Jennifer Montecillo, MD, medical reviewer. Non-practicing medical reviewer.

Read the full provenance and attestation methodology →

Request access