# Nursing home operators and staffing, United States

**Research U.S. nursing-home facilities, staffing, ratings and source-reported ownership links.** The dataset connects CMS facility-release history with ownership, management and limited public recruiting records so account researchers can shortlist facilities and understand reported organization relationships. It covers federal nursing-home records from 17 January 2019 through 14 September 2026,…

Nursing home operators and staffing, United States is an open, machine-readable dataset published on Mostly Right as immutable Parquet versions, with a documented column schema, a JSON query API and a direct download. Its first rows are free to read and it is open to AI agents.

## Facts

- Slug: `nursing-home-operators-and-staffing-united-states`
- Canonical page: https://mostlyright.md/datasets/nursing-home-operators-and-staffing-united-states
- Publisher: mostlyrightmd (https://mostlyright.md/publishers/mostlyrightmd)
- Published: 2026-09-14T21:00:42.557Z
- Tables: 4
- Formats: Apache Parquet (download), JSON (query and sample)
- Cost: the first 500 rows of each table are free to everyone; querying and downloading need a free account and count against a monthly free allowance unless the workspace is subscribed
- Metadata API: `GET https://mostlyright.md/api/v2/public/datasets/nursing-home-operators-and-staffing-united-states`
- Topics: nursing homes, skilled nursing facilities, cms care compare, ownership changes, nurse staffing, operator evidence, public jobs, long-term care

## How to use it

1. Read a table's schema — no account needed.
2. Fetch its published sample rows — no account needed.
   The first 500 rows of every table, in stored order, are free to everyone, with or without an account. Without an account you get that sample and nothing else: no filter, sort, search, download or page past row 500.
3. Sign in at https://mostlyright.md/login, connect this dataset to a workspace on its page, and create an `mr_use_` key.
4. Query bounded JSON, or download the complete Parquet snapshot and read it locally.
   A free workspace may read 100,000 rows and run 1,000 queries a UTC month past the sample. The allowance is shared by everyone in the workspace, and a free workspace may have any number of members. Reads count against the workspace whose data or key they use. A subscribed workspace is never counted, for anyone working in it.

Agents can do all of this over MCP at `https://mostlyright.md/api/mcp` — searching, reading schemas and sampling rows work with no credential at all.

## Table: nursing_homes

- Table id: `1c95acda-0039-4692-b53b-794835639330`
- Slug: `nursing-homes`
- Immutable version: `0fda4e75-b884-5942-b6ef-91740a7bc594`
- Schema: `GET https://mostlyright.md/api/v2/public/tables/1c95acda-0039-4692-b53b-794835639330/schema`
- Sample rows, no key: `GET https://mostlyright.md/api/v2/public/tables/1c95acda-0039-4692-b53b-794835639330/preview`
- Bounded JSON query: `POST https://mostlyright.md/api/v2/public/tables/1c95acda-0039-4692-b53b-794835639330/query` with `x-api-key: mr_use_…`
- Full Parquet snapshot: `GET https://mostlyright.md/api/v2/public/tables/1c95acda-0039-4692-b53b-794835639330/current` with `x-api-key: mr_use_…` (application/vnd.apache.parquet)

### Columns (64)

| Column | Type | Description |
| --- | --- | --- |
| `ccn` | string | The CMS certification number of the facility. |
| `observed_date` | date | The UTC day this release of the CMS files was acquired on; one partition per refresh day. |
| `facility_name` | string | The facility name on Care Compare. |
| `state` | string | The facility state. |
| `city` | string | The facility city. |
| `address` | string | The facility street address. |
| `zip_code` | string | The facility ZIP code. |
| `county` | string | The facility county or parish. |
| `latitude` | decimal | Facility latitude in decimal degrees. |
| `longitude` | decimal | Facility longitude in decimal degrees. |
| `certified_beds` | integer | The number of certified beds. |
| `average_residents_per_day` | decimal | The average daily census over the staffing reporting quarter. |
| `ownership_type` | string | The CMS ownership category, such as For profit - Corporation or Non profit - Church related. |
| `provider_type` | string | Whether the facility is certified for Medicare, Medicaid or both. |
| `first_approved_date` | date | The day the facility was first approved for Medicare and Medicaid. |
| `operator` | string | The operator: the affiliated entity CMS assigns from owners and managers shared across facilities, or the legal business name where the facility belongs to no… |
| `chain_name` | string | The affiliated entity name from Care Compare, empty for an unaffiliated facility. |
| `chain_id` | string | The CMS identifier of the affiliated entity. |
| `facilities_in_chain` | integer | How many facilities CMS counts in the same affiliated entity, 1 for an unaffiliated facility. |
| `legal_business_name` | string | The legal business name of the enrolled organisation. |
| `enrollment_id` | string | The PECOS enrollment identifier of the facility. |
| `npi` | string | The National Provider Identifier the facility bills under. |
| `is_for_profit` | boolean | True for a for-profit enrollment, false for a non-profit one. |
| `owner_count` | integer | How many distinct owners, officers and managers PECOS lists for the facility. |
| `organization_owner_count` | integer | How many of those are organisations rather than individuals. |
| `chain_home_office` | string | The owner PECOS flags as the chain home office, the most direct operator link CMS records. |
| `management_company` | string | The owner PECOS flags as a management services company. |
| `top_owner` | string | The owner holding the largest direct ownership percentage. |
| `top_owner_percentage` | decimal | The largest direct ownership percentage held, in percent. |
| `has_private_equity_owner` | boolean | True when any owner is flagged as a private equity company. |
| `has_reit_owner` | boolean | True when any owner is flagged as a real estate investment trust. |
| `newest_owner_since` | date | The most recent date any owner, officer or manager relationship began. |
| `changed_ownership_last_12_months` | boolean | True when Care Compare records a change of ownership in the twelve months before the release. |
| `last_transfer_date` | date | The effective date of the most recent change of ownership since 2016, null if none. |
| `last_transfer_type` | string | The kind of the most recent transfer: change of ownership, acquisition or merger, or consolidation. |
| `last_transfer_buyer` | string | The legal name of the buyer in the most recent transfer. |
| `last_transfer_seller` | string | The legal name of the seller in the most recent transfer. |
| `transfers_since_2016` | integer | How many changes of ownership CMS recorded for the facility since 1 January 2016. |
| `transfers_last_24_months` | integer | How many of those took effect in the twenty-four months before the release. |
| `rn_hours_per_resident_day` | decimal | Reported registered nurse hours per resident per day. |
| `lpn_hours_per_resident_day` | decimal | Reported licensed practical nurse hours per resident per day. |
| `aide_hours_per_resident_day` | decimal | Reported nurse aide hours per resident per day. |
| `total_nurse_hours_per_resident_day` | decimal | Reported total nurse staffing hours per resident per day. |
| `weekend_total_nurse_hours_per_resident_day` | decimal | Reported total nurse staffing hours per resident per day on weekends. |
| `weekend_rn_hours_per_resident_day` | decimal | Reported registered nurse hours per resident per day on weekends. |
| `adjusted_rn_hours_per_resident_day` | decimal | Case-mix adjusted registered nurse hours per resident per day. |
| `adjusted_total_nurse_hours_per_resident_day` | decimal | Case-mix adjusted total nurse staffing hours per resident per day. |
| `rn_turnover_pct` | decimal | Share of registered nurses who left over the prior year, in percent. |
| `total_nursing_turnover_pct` | decimal | Share of all nursing staff who left over the prior year, in percent. |
| `administrators_left` | integer | How many administrators left the facility over the prior year. |
| `staffing_footnote` | string | The CMS footnote code explaining a suppressed or unusual staffing figure. |
| `turnover_footnote` | string | The CMS footnote code explaining a suppressed turnover figure. |
| `staffing_rating` | integer | The staffing star rating, one to five. |
| `overall_rating` | integer | The Care Compare overall star rating, one to five. |
| `health_inspection_rating` | integer | The health inspection star rating, one to five. |
| `qm_rating` | integer | The quality measure star rating, one to five. |
| `special_focus_status` | string | The Special Focus Facility status, empty for a facility not in the programme. |
| `abuse_icon` | boolean | True when Care Compare shows the abuse icon for the facility. |
| `number_of_fines` | integer | How many civil money penalties CMS imposed in the reporting window. |
| `total_fines_dollars` | decimal | The total amount of civil money penalties, in US dollars. |
| `previous_release_date` | date | The release date of the facility's previous reading, null on its first. |
| `operator_changed` | boolean | True when the operator name differs from the facility's previous reading. |
| `rn_turnover_change_pts` | decimal | RN turnover minus the previous reading's, in percentage points; null where either is missing. |
| `total_nurse_hours_change` | decimal | Total nurse hours per resident day minus the previous reading's. |

## Table: healthcare_accounts

- Table id: `5b3c444d-40af-4fde-94ec-fef1cd0c8639`
- Slug: `healthcare-accounts`
- Immutable version: `4ae094f6-eba3-5c88-84e4-2f86bc65561f`
- Schema: `GET https://mostlyright.md/api/v2/public/tables/5b3c444d-40af-4fde-94ec-fef1cd0c8639/schema`
- Sample rows, no key: `GET https://mostlyright.md/api/v2/public/tables/5b3c444d-40af-4fde-94ec-fef1cd0c8639/preview`
- Bounded JSON query: `POST https://mostlyright.md/api/v2/public/tables/5b3c444d-40af-4fde-94ec-fef1cd0c8639/query` with `x-api-key: mr_use_…`
- Full Parquet snapshot: `GET https://mostlyright.md/api/v2/public/tables/5b3c444d-40af-4fde-94ec-fef1cd0c8639/current` with `x-api-key: mr_use_…` (application/vnd.apache.parquet)

### Columns (24)

| Column | Type | Description |
| --- | --- | --- |
| `operator_id` | string | Operator identifier only where the source establishes an operating organization. CMS ownership records leave it absent. |
| `operator_name` | string | Operating organization name only where the source establishes it. CMS ownership records leave it absent. |
| `software_names` | string | Software names derived from scoped public implementation evidence. |
| `software_evidence_count` | integer | Count of scoped public implementation evidence records. |
| `recruiting_contacts` | string | Named public recruiting contacts, aggregated before the account join. |
| `recruiting_roles` | string | Published recruiting roles, aggregated before the account join. |
| `workflow_evidence_count` | integer | Count of scoped public historical workflow evidence records. |
| `workflow_names` | string | Workflow names derived from scoped public evidence. |
| `unlinked_public_vacancy_count` | integer | Count of public job postings observed on PACS Workday that lack an exact established link to this operator. |
| `vacancy_link_status` | string | Whether observed public vacancies have an exact operator link. |
| `source_urls` | string | Public source URLs contributing to this aggregate. |
| `account_id` | string | Stable primary identifier for this source-reported healthcare account. |
| `account_name` | string | Source-reported account name for the PACS operator or CMS organization owner or manager. |
| `account_kind` | string | Whether the source identifies the account as an operator or an organization owner or manager. |
| `owner_party_id` | string | CMS PECOS Associate Control ID for the organization owner or manager. |
| `owner_party_name` | string | CMS organization owner or manager name reported by PECOS. |
| `owner_type` | string | CMS owner type when published. |
| `linked_facility_count` | integer | Number of distinct CMS Certification Numbers linked exactly to this organization owner or manager in the source revision. |
| `cms_role_record_count` | integer | Number of CMS owner or managing-control role records for this organization owner or manager. |
| `role_titles` | string | Distinct CMS role descriptions reported for this organization owner or manager. |
| `first_association_date` | date | Earliest CMS-reported association date for this organization owner or manager in the source revision. |
| `last_association_date` | date | Latest CMS-reported association date for this organization owner or manager in the source revision. |
| `source_retrieved_at` | timestamp_utc | Hosted acquisition time when the source supplies it; CMS file acquisition provenance is sealed in the run receipt. |
| `attribution` | string | Publisher attributed for the account record. |

## Table: operator_vacancies

- Table id: `521dab34-54ee-4069-bcbc-93c053b64b7a`
- Slug: `operator-vacancies`
- Immutable version: `0019b140-5e24-54f3-b2fa-281261963662`
- Schema: `GET https://mostlyright.md/api/v2/public/tables/521dab34-54ee-4069-bcbc-93c053b64b7a/schema`
- Sample rows, no key: `GET https://mostlyright.md/api/v2/public/tables/521dab34-54ee-4069-bcbc-93c053b64b7a/preview`
- Bounded JSON query: `POST https://mostlyright.md/api/v2/public/tables/521dab34-54ee-4069-bcbc-93c053b64b7a/query` with `x-api-key: mr_use_…`
- Full Parquet snapshot: `GET https://mostlyright.md/api/v2/public/tables/521dab34-54ee-4069-bcbc-93c053b64b7a/current` with `x-api-key: mr_use_…` (application/vnd.apache.parquet)

### Columns (14)

| Column | Type | Description |
| --- | --- | --- |
| `operator_id` | string | Operator identifier only when a public source establishes an exact link; null otherwise. |
| `hiring_organization` | string | Hiring organization disclosed by the public job posting. |
| `requisition_id` | string | Public job-posting requisition identifier. |
| `job_title` | string | Posted job title. |
| `employment_type` | string | Employment type published with the posting. |
| `job_location` | string | Job location published with the posting. |
| `posted_date` | date | Publisher-stated calendar date the posting was first published, not a UTC-converted timestamp date. |
| `valid_through_date` | date | Publisher-stated calendar deadline date when present, not a UTC-converted timestamp date. |
| `listing_updated_at` | timestamp_utc | Timestamp the publisher reports that it last updated the public listing. |
| `evidence_kind` | string | Category of public vacancy evidence. |
| `evidence_text` | string | Concise public posting evidence derived from published title and dates. |
| `source_url` | string | Public job-posting URL. |
| `source_retrieved_at` | timestamp_utc | Hosted acquisition timestamp when the source adapter exposes row-level retrieval provenance; otherwise null and sealed in the run receipt. |
| `attribution` | string | Publisher attributed by the public job page. |

## Table: operator_contacts_roles

- Table id: `2db14b22-cfbe-4c5d-9c9e-3b27562b8134`
- Slug: `operator-contacts-roles`
- Immutable version: `7c897097-8a36-5832-97f2-5f2bf19906f4`
- Schema: `GET https://mostlyright.md/api/v2/public/tables/2db14b22-cfbe-4c5d-9c9e-3b27562b8134/schema`
- Sample rows, no key: `GET https://mostlyright.md/api/v2/public/tables/2db14b22-cfbe-4c5d-9c9e-3b27562b8134/preview`
- Bounded JSON query: `POST https://mostlyright.md/api/v2/public/tables/2db14b22-cfbe-4c5d-9c9e-3b27562b8134/query` with `x-api-key: mr_use_…`
- Full Parquet snapshot: `GET https://mostlyright.md/api/v2/public/tables/2db14b22-cfbe-4c5d-9c9e-3b27562b8134/current` with `x-api-key: mr_use_…` (application/vnd.apache.parquet)

### Columns (22)

| Column | Type | Description |
| --- | --- | --- |
| `record_id` | string | Stable record identifier within the public source revision. |
| `ccn` | string | CMS Certification Number for the facility attached to this owner or manager role. |
| `enrollment_id` | string | PECOS enrollment identifier that joins the facility enrollment to its owner record. |
| `facility_legal_name` | string | Legal business name of the enrolled skilled nursing facility. |
| `operator_id` | string | Exact operating-organization identifier only where the source establishes one; CMS owner records do not assert this. |
| `operator_name` | string | Operating organization name only where the source establishes one; CMS owner records do not assert this. |
| `owner_party_id` | string | CMS PECOS Associate Control ID for the owner or managing-control party. |
| `owner_party_name` | string | Owner or managing-control organization or individual name reported by CMS. |
| `owner_party_kind` | string | CMS designation of the owner party as an individual or organization. |
| `owner_type` | string | CMS designation of the owner as an individual or organization when published. |
| `person_name` | string | Individual owner or manager name when CMS identifies an individual, or a public recruiting contact in the PACS pilot. |
| `role_title` | string | Published ownership, managing-control, or recruiting role. |
| `role_code` | string | CMS owner role code when CMS publishes one. |
| `association_date` | date | Date CMS reports the owner or manager became associated with the facility. |
| `ownership_percentage` | decimal | CMS-reported ownership percentage when applicable. |
| `recruitment_scope` | string | Recruiting scope stated on a public PACS page. |
| `contact_channel` | string | Public business contact channel when a source publishes one; absent for CMS ownership records. |
| `evidence_kind` | string | Type of source-published ownership, managing-control, or recruiting evidence. |
| `evidence_text` | string | Concise source-attributed summary of the published role. |
| `source_url` | string | Public source address for the record. |
| `source_retrieved_at` | timestamp_utc | Timestamp published in the source record when available; CMS file acquisition provenance is sealed in the run receipt. |
| `attribution` | string | Publisher attributed for the record. |

## Citing this dataset

Cite the dataset by name and canonical URL (https://mostlyright.md/datasets/nursing-home-operators-and-staffing-united-states), the table, and the immutable `version_id` the rows came from. A query response carries `table.version_id` and `table.content_digest`; a download carries a strong ETag and a `Content-Digest` header.
