2026-06-09 update: practitioner phone numbers are on the record, not the location
Some numbers here have moved. This update measures the 2026-05-08 release. The finding that practitioners carry a phone directly on the record still holds at 2026-08-20, at 99.97%. The claim below that the location path returns nothing does not:
Location.telecomwas empty in May and now carries a phone for 79.0% of the 2,535,686 location records. See the 2026-08-21 update for what changed.
New finding published: H43: practitioner phone-number reachability. It answers a practical question: can you associate a practitioner in the NDH bulk export with a phone number, and which FHIR resource do you read to get it?
What we measured
A phone can live in three places in FHIR R4 / the NDH IG:
Practitioner.telecom: on the individual's recordPractitionerRole.telecom: on the roleLocation.telecom: the practice location, viaPractitionerRole.location → Location
We pre-registered the expectation that Practitioner.telecom would be sparse,
because NPPES (the upstream of most of these fields) keeps practice phone on
the location. Under that prior, finding a phone means traversing role →
location.
Result: the prior was wrong
| Metric | 2026-05-08 release |
|---|---|
| Active Practitioner resources | 7,196,385 |
Phone directly on Practitioner.telecom | 7,195,270 (99.98%) |
| Reachable only via role / location | 0 |
| No phone on any of the three resources | 1,115 (0.015%) |
NDH carries a phone directly on the Practitioner record for essentially every
active practitioner. The traversal adds nothing. A "call this provider"
feature can read Practitioner.telecom straight off the record.
Caveats
- On-record telecom is phone + fax only.
email,url, and the location-phone path all came back empty in this release. Verify before relying on those channels. - The 2026-05-08 release deduped
Locationresources by 61% vs April, so the location-path number is release-sensitive. The headline doesn't depend on it.
Compute script: analysis/h43_practitioner_phone.py
(BigQuery, capped per-query). Output JSON:
/api/v1/findings/practitioner-phone-reachability.json.
Finding page: /findings/practitioner-phone-reachability.
AINPI, 2026-06-09 · methodology 0.7.2-draft