Methodology & provenance
Every marker has a source ID. Every score has math.
CleanPlateVA is an independent presentation of archived Virginia Department of Health records from MyHealthDepartment. It is not affiliated with or endorsed by VDH or MyHealthDepartment. VDH remains the authority. We do not inspect facilities or issue official grades.
Score anatomy
Start at 100. Every violation subtracts.
The portal publishes no usable numeric score. Our 0–100 formula runs on every report to give each inspection a score — no letter. The A–F letter belongs to the facility, not any single visit: a score bands to a grade only once it anchors a facility (see The facility grade, below).
Deduction per violation each block is one point off the score
A risk-factor violation costs three times a good-retail-practice one; a detected repeat costs half again (hollow blocks); a violation corrected on site while the inspector watched earns 25% of its deduction back. The math runs exact and rounds once at the end — halves round up, toward the better score — then floors at 0.
Worked example — one routine inspection
This inspection assessed 24 distinct code items — broad — so its 82 can anchor the facility grade below.
Worked example — a broad inspection scoring 70, then one follow-up
A 70 broad inspection → a B 83 facility grade — visibly better, but not laundered: the calibration keeps a fully-cleared F 0 inside D at best, and no follow-up alone reaches A from D or F. Re-earning the letter takes the next broad inspection.
Exact scoring edge cases
Repeat sourceA structured VDH Repeat flag or the word “repeat” in the observation makes that violation 1.5×.
Missing item numberDefaults to the lower good-retail-practice deduction of 2 points.
Corrected on siteDeducts 75% of its weight — the structured checklist’s COS marking (every OUT row for the item) earns 25% back. The credit is provisional: a later re-check that finds the item OUT again revokes it to the full deduction. It never erases the recorded violation or softens red-flag ranking.
Follow-up reportsChecklist breadth—not the word “follow-up”—decides their role. A broad report publishes a score; focused and scope-unknown reports publish null. Their per-item IN/OUT verdicts can still adjust the facility grade above, joined on the form item number.
Grade without follow-upsIdentical to the latest broad score, banded to a letter. Items never re-checked keep their full deduction; undated or same-day reports never adjust.
Written-verdict follow-upsSome follow-ups publish no checklist at all — the inspector’s verdict lives only in the written comments (“all violations corrected”). Those comments are adjudicated into a machine verdict by a separate, audited step — never parsed loosely at scoring time — and then adjust the grade exactly like a re-check of the items the broad inspection docked: “all corrected” restores like a full re-checked-IN clear, “not corrected” charges the verified-repeat ×1.5. Hedged or ambiguous comments (“corrected or are continuing to be implemented”) grant nothing until reviewed. A written verdict can restore or re-charge existing deductions, never add new ones, and a later structured re-check always outranks an earlier comment.
Not the same measurement
What the other signals mean
Each answers a different question. None is an official VDH rating.
Checklist compliance
Only applicable checklist rows count. N/A, not observed, and the non-scoring item-99 sentinel are excluded.
Trend
Only broad assessments join the connected line. A focused re-check plots as an unconnected diamond at the share of its re-examined items in compliance, labeled with that OUT ratio. Its report score is null: a number subtracting only the handful of items the visit examined could look deceptively high even when every one failed. Direction is not a forecast.
Biggest red flags
Up to five observations ranked by category, repeat status, and the documented keyword groups below. Empty means none crossed the heuristic, not “safe.”
Open repeats
Latest checklist rows simultaneously marked out and repeat, excluding rows marked corrected on site.
Exact red-flag ranking weights
Matching groups accumulate. Ties retain source order; displayed observation text is capped at 180 characters. This rank selects what to show—it does not change the 0–100 score.
Source to screen
How a VDH report becomes this website
The browser reads a prepared snapshot. It never scrapes VDH while you wait.
-
1
Official VDH surfaces
MyHealthDepartment provides a search roster, permit-history pages, and individual inspection reports.
permitIDinspectionID12VAC5-421 -
2
Archive a snapshot
A polite, resumable collector stores roster JSON and compressed permit/report pages by covered ZIP.
raw HTMLroster JSONcollected time -
3
Parse & preserve IDs
We extract identity, history, observations, citations, corrective actions, checklist rows, temperatures, and comments.
fac:<permitID>insp:<inspectionID> -
4
Derive & store
Addresses are geocoded; rules compute metrics; idempotent CouchDB projections retain each permit and inspection separately.
geocodecomputed fieldscontent hash -
5
Merge & whitelist
At export, likely re-permits are presentation-merged. Explicit field lists shape the shared finder, the grade overlay, the closed supplement, and per-facility history records while retaining lineage.
lineagefinder + overlay + closed shardsfacility history -
6
Publish two contracts
Small manifests name each prepared snapshot. Data objects publish first and the manifest flips last; the full archive JSON lives in R2 and is served by the Worker once the terms have been acknowledged.
static liteacknowledged fullfull → lite fallback
Field-level boundary
What is official, and what is ours
Color is not the contract. Every group is labeled in words.
Archived and reorganized
- Facility name, address, permit type, and status
- Permit and inspection GUIDs
- Inspection date, type, and purpose
- Violation item, citation, observation, and corrective action
- Checklist IN/OUT/N/A/N/O, COS, and Repeat markings
- Temperatures and inspector comments when present
Computed or enriched
- Inspection score: raw 0–100 formula on each report (no letter)
- Facility grade: score + A–F letter, latest broad ± follow-up re-checks
- Checklist compliance percentage
- Broad-only score trend, red flags, and open-repeat count
- Map coordinates and approximate-location flag
- “Restaurants only” classification
- Presentation merge of likely predecessor permits
Basic map
Identity, location, source handoff
Snapshot markers recorded as active at export time, names, addresses, geocoded coordinates, restaurant classification, approximation and mobile-unit flags, permit IDs, and the VDH district route needed for the source handoff. Status can age; presence is not proof a facility is currently open or permitted. No report dates, scores, grades, or inspection content.
Inspection grades
Reports plus derived signals
Inspection histories, citations, observations, checklists, temperatures, comments, status, lineage, and CleanPlateVA-calculated metrics, loaded after the visitor acknowledges the Terms of Use and Data Acknowledgment (section 06). If that data cannot be loaded, the basic map remains.
Limits & verification
What this view cannot promise
Transparency includes the edges, not just the happy path.
Selected coverage
Coverage is the ZIP count shown above, not every Virginia jurisdiction. Absence from this map does not mean absence from VDH; some places are outside the selected ZIPs or use other systems.
Snapshot, not live
Collection and publication can lag. “Newest report” is one maximum date, not proof that every covered area is equally current.
Permit status can age
An incremental scan can retain the last known “active” state after a facility stops receiving inspections. A full resweep reconciles closures; a marker is not operating-status proof.
Source retention
The portal typically exposes about two years of history. Missing report pages remain missing or unscored; this is an archive of what was collected, not a complete lifetime record.
Geocoded locations
Pins come from address lookups through VGIN, the U.S. Census Bureau, and OpenStreetMap/Nominatim, refined against Overture Maps and Foursquare OS Places, with a ZIP-centroid fallback—not VDH coordinates. Some pins are manually placed after review. Where an address is a room or space number rather than a street address, as at an airport or on a campus, the pin is placed at the venue the establishment belongs to, derived from other permits at that venue whose addresses resolved. Some unbadged pins are street-level or interpolated, not rooftop; venue-level and centroid pins are labeled approximate.
Presentation heuristics
“Restaurants only” uses permit-type/name patterns. History merging uses shared location/address plus name similarity. Either can misclassify, combine, or miss a match; retained permit IDs are the audit trail.
Focused is not facility-wide
A focused follow-up stays visible as the latest event and adjusts the facility grade item by item, but it never replaces the broad inspection that anchors it. Its own score is null; the OUT/addressed result describes that targeted visit. When comments enumerate corrected items omitted from the structured rows, both channels count once and the structured row governs any conflict.
VDH wins conflicts
Scores and summaries are comparison tools, not safety or illness predictions. If our presentation and the source disagree, the official VDH record is authoritative.
Verify at the source
Facility rows and report cards expose MyHealthDepartment links where available. Compare the observation, citation, corrective action, and checklist markings yourself.
Terms & attribution
Terms of Use and Data Acknowledgment
Inspection Records and Source Data
CleanPlateVA collects, organizes, and presents publicly available food establishment inspection records published by the Virginia Department of Health through MyHealthDepartment.
CleanPlateVA is an independent service and is not affiliated with, operated by, or endorsed by the Virginia Department of Health or MyHealthDepartment.
Inspection information displayed on this site is an archived snapshot and may not reflect the most recent information available from VDH. The original VDH inspection record remains the authoritative source. Users should consult the source record when current or official information is required.
CleanPlateVA Scores and Grades
Scores, letter grades, compliance percentages, trends, flags, classifications, and other summaries displayed by CleanPlateVA are calculated by CleanPlateVA from the underlying inspection records.
These calculations are not issued or approved by VDH and should not be interpreted as official restaurant grades, food safety certifications, health-risk assessments, or predictions of whether a person will become ill.
CleanPlateVA provides these calculations as a tool for comparing and reviewing inspection histories. They are provided as is, without warranty as to accuracy, completeness, or suitability for any particular purpose.
Location Data
Restaurant locations and map coordinates are compiled from public and open geographic data sources, including:
- Virginia Geographic Information Network (VGIN), Virginia Department of Emergency Management
- U.S. Census Bureau Geocoder and Gazetteer
- OpenStreetMap and Nominatim
- Overture Maps Foundation
- Foursquare OS Places
Some locations are approximate. Certain locations may also be manually placed or corrected by CleanPlateVA based on available source information.
Data and Map Attribution
- Inspection records: Virginia Department of Health, via MyHealthDepartment.
- Address data: Virginia Geographic Information Network (VGIN), Virginia Department of Emergency Management.
- Geocoding: U.S. Census Bureau Geocoder and Gazetteer.
- Map data and geocoding: © OpenStreetMap contributors. OpenStreetMap data is made available under the Open Database License (ODbL).
- Places data: Overture Maps Foundation, including data made available under CDLA-Permissive 2.0 and other applicable open licenses.
- Places data: Foursquare OS Places, © 2024 Foursquare Labs, Inc., made available under the Apache License 2.0.
- Basemap: © CARTO and © OpenStreetMap contributors.
CleanPlateVA’s independently calculated scores, grades, classifications, and presentation may be cited with credit to CleanPlateVA. No additional license to CleanPlateVA-created material is granted by these terms.
Acknowledgment
By selecting “Agree and View Grades”, you acknowledge that you have read and understood these terms and that CleanPlateVA’s scores and grades are independent calculations rather than official VDH ratings.
If you do not agree, you may continue using the basic map without CleanPlateVA inspection grades.
Your selection will be remembered on this device and can be changed later from the About page.