How SNF Register is built
Eight public files, joined by facility. This page lists each one with the date of the copy the site was built from, then the matching rules and their limits.
Sources
| File | Publisher | Copy used | Used for |
|---|---|---|---|
| Nursing Home Provider Information | CMS | Processing date September 2026 | Beds, residents, ownership type, chain, star ratings, staffing, turnover, fines |
| Nursing Home Ownership | CMS | Processing date September 2026 | Owners with 5% or more, operators with managerial control |
| Skilled Nursing Facility All Owners | CMS (Medicare enrollment, PECOS) | 2026-10-01 | Private equity, REIT and mortgage-interest flags |
| Skilled Nursing Facility Enrollments | CMS | 2026-10-01 | Links enrollment records to CMS certification numbers |
| Skilled Nursing Facility Change of Ownership | CMS | 2026-09-01 | Buyer, seller and effective date of each change since January 2016 |
| Database of FHA Healthcare Initial Endorsement Activity | HUD Office of Healthcare Programs | Data run July 8, 2026 | Every 232 and 242 endorsement since fiscal 2001: program, lender, amount, beds |
| FHA insured mortgages, active | HUD | As of September 30, 2026 | Rate, balance, monthly payment, maturity, holder and servicer |
| FHA insured mortgages, terminated | HUD | As of September 30, 2026 | How and when a past loan ended |
The site rebuilds from fresh copies with one script (scripts/refresh_data.py) that finds the newest file on each publisher's page, so the dates above change when the data does.
Matching HUD loans to facilities
CMS identifies a nursing home by its six-digit certification number. HUD identifies a loan by its FHA project number and names the property however the lender wrote it at closing. No public file links the two, so SNF Register matches them.
A HUD nursing home record matches a CMS facility when they are in the same state and city and their names share a distinctive word (something other than "nursing", "rehabilitation", "center", the city name and similar). If the names share only generic words, the bed counts must also agree within 10% or five beds. Assisted living and board and care records match only on a much closer name, since a campus often has both. A match then picks up the loan's rate, balance and maturity from HUD's active-mortgage file, or its end date from the terminated file, by FHA number. Active loans endorsed before fiscal 2001 come from the active file directly.
On this copy of the data, 3,308 HUD records matched 2,634 current facilities, 2,060 of them with an active loan. 2,578 HUD nursing home records matched nothing. Most of those are loans on buildings that have since closed, merged or been renamed beyond recognition; some are real misses.
What the match can get wrong
- A facility renamed after its loan closed can fail to match, and the page will say it found no loan.
- Two buildings in one city with similar names can be confused. Each match shows the HUD project name and bed count next to the CMS record so you can see why it matched.
- HUD's endorsement database starts in fiscal 2001. Loans paid off before then do not appear.
- HUD's active file gives a city and ZIP code but no street address.
What the CMS figures mean
- Occupancy is CMS's average number of residents per day, derived from MDS assessments, divided by certified beds. It is not the occupancy a lender would underwrite from a census report.
- Staffing is nurse hours per resident per day reported through Payroll Based Journal. Medians are across facilities that report.
- Private equity and REIT flags are what each facility checked on its Medicare enrollment. Underreporting is common; a facility without a flag may still have a PE or REIT owner further up the chain.
- Mortgage interest lists anyone the facility reported as holding a 5% or greater mortgage or security interest. It is not a list of every lender.
Corrections
Write to hello@hudskillednursing.loan with the facility's CCN and what is wrong. If a match is wrong it is fixed in the matching rules, so the same mistake does not come back on the next refresh.