London GP Directory
Home › Methodology

Methodology

How we collect, calculate and present every piece of information on this site. Every metric has a source, a refresh cadence, and a declared limitation.

One sentence summary: we ingest open NHS data on a published cadence, link every practice by its ODS code, recompute every metric from the source, and rebuild the static site from the result. Nothing on this site is hand-entered. Every page tells you when the data was last refreshed.

Refresh cadence

Two automated pipelines:

The full run log for every refresh is public on our GitHub Actions history. If a source is temporarily unavailable, the previous month's values are retained with a clear "data last verified" stamp on the page.

Practice identifiers

Every practice is identified by its NHS Digital ODS code (e.g. E85001). This is the canonical identifier used across all UK primary care datasets. We never deduplicate or merge ODS codes. When a practice merges or closes, the ODS record reflects that, and we update accordingly.

Per-metric methodology

"Accepting new patients" flag

SourceNHS Digital ODS / nhs.uk practice profile
What we publishWhether the practice was accepting new patients at the last refresh, with a date stamp.
RefreshWeekly.
LimitationsThis is the status published by NHS Digital. Practice managers update it directly. There can be a lag between a real-world change and the publication. Always confirm with the practice before travelling to register.

GP Patient Survey scores

SourceGP Patient Survey (Ipsos for NHS England)
What we publishFour headline percentages: overall experience, ease of getting through on the phone, satisfaction with the appointment offered, and continuity of care. Each is the most recent published value for the practice, with the London average shown alongside.
RefreshAnnual (typically July).
LimitationsThe GP Patient Survey is conducted on a sample of registered patients. Small practices may have wide confidence intervals. We do not publish the confidence interval on every page to keep the display readable — but every score is verifiable at the source.

CQC rating

SourceCQC public API
What we publishThe most recent overall CQC rating (Outstanding, Good, Requires improvement, Inadequate) and the date of the inspection that produced it.
RefreshMonthly.
LimitationsCQC ratings are inspection-based and reflect a moment in time. A practice rated Good in 2019 has not been re-inspected since 2019 in many cases. We display the inspection date prominently so readers can interpret the rating in context.

Workforce — GPs per 1,000 patients

SourceNHS Digital — General and Personal Medical Services
What we publishWhole-time-equivalent fully-qualified GPs per 1,000 registered patients.
RefreshQuarterly.
LimitationsThis excludes locums and trainees. The denominator is the practice's registered list, not the population it serves day-to-day. Direct comparison between practices should be done with care.

List size (registered patients)

SourceNHS Digital — Patients Registered at a GP Practice
What we publishThe most recent number of registered patients on the practice list.
RefreshMonthly.
LimitationsRegistered list size is not the same as patients seen each year. Some patients are registered but no longer use the practice.

PCN membership

SourceNHS Digital ODS PCN reference data.
What we publishEach practice's PCN at the time of the most recent refresh.
RefreshQuarterly.
LimitationsPCN membership can change. We show the current membership.

Languages spoken / accessibility

SourceNHS Digital practice profile data, where published.
What we publishLanguages explicitly declared by the practice, and wheelchair accessibility status.
RefreshWeekly.
LimitationsThis is self-declared data and not consistently completed across practices. Where a field is blank in the source, we display "—" rather than infer.

Ordering on hub pages

Where we present a list of "top" or "accepting" practices on a borough or PCN hub, the ordering is:

  1. Practices marked as accepting new patients, listed first.
  2. Within each group, sorted by latest GP Patient Survey overall experience score, descending.
  3. Tie-broken by alphabetical order.

The full ordering logic is visible in the open-source build script.

What we deliberately don't do

Corrections

If anything on the site is inaccurate, please tell us. Email ThierrySW11@Gmail.Com with the URL of the page and the issue. We aim to verify and respond within 5 working days. Every correction we make is logged in our public corrections log.

Version history

This methodology is versioned. Significant changes are recorded with date and rationale in our GitHub history.