Physician
Physician dual-inherits from MedicalBusiness (a LocalBusiness subtype) and MedicalOrganization. It models a doctor's individual practice: the legal entity through which a clinician sees patients, bills insurers, and publishes a directory listing.
It adds 5 direct properties:
availableService(MedicalProcedure / MedicalTest / MedicalTherapy): services this physician offers, array-valued.hospitalAffiliation(Hospital): hospitals at which the physician holds admitting privileges.medicalSpecialty(MedicalSpecialty enumeration): primary specialty (or array of specialties).occupationalCategory(CategoryCode or Text): SOC / ISCO / NOC code for the role.usNPI(Text): the US National Provider Identifier, a 10-digit code.
Full example of schema.org/Physician json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Physician",
"@id": "https://priyachenmd.example/#practice",
"name": "Priya Chen, MD Cardiology",
"url": "https://priyachenmd.example",
"telephone": "+1-570-555-0204",
"address": {
"@type": "PostalAddress",
"streetAddress": "102 Hospital Drive, Suite 400",
"addressLocality": "Dunmore",
"addressRegion": "PA",
"postalCode": "18512",
"addressCountry": "US"
},
"medicalSpecialty": "https://schema.org/Cardiovascular",
"isAcceptingNewPatients": true,
"usNPI": "1234567890",
"occupationalCategory": "29-1063.00",
"hospitalAffiliation": {
"@type": "Hospital",
"name": "Dunmore Regional Hospital",
"@id": "https://dunmoreregional.example/#hospital"
},
"availableService": [
{ "@type": "MedicalProcedure", "name": "Echocardiography" },
{ "@type": "MedicalProcedure", "name": "Cardiac stress testing" },
{ "@type": "MedicalTherapy", "name": "Lipid management" }
],
"employee": {
"@type": "Person",
"name": "Priya Chen",
"honorificSuffix": "MD, FACC",
"jobTitle": "Cardiologist",
"alumniOf": { "@type": "CollegeOrUniversity", "name": "Royal Institute of Medicine" }
},
"paymentAccepted": "Aetna, Blue Cross, Cigna, Medicare",
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
"opens": "08:30",
"closes": "17:00"
}
}
</script>Physician vs Person-with-jobTitle "Doctor"
A Person describes an individual; Physician describes the practice entity. On a clinician's directory listing, usually both coexist: a Person with jobTitle: "Cardiologist" for the human, and a Physician entity for the practice. Link them via Physician.employee or via memberOf on the Person.
Minimal valid version
The smallest markup that still produces a valid Physician entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Physician",
"name": "Priya Chen, MD Cardiology",
"medicalSpecialty": "https://schema.org/Cardiovascular",
"usNPI": "1234567890"
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsLocal business / medical provider knowledge panelprimary
Common Physician mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
usNPI with formatting
Wrong"usNPI": "123-456-7890"Right"usNPI": "1234567890"NPI is 10 digits with no separators. The formatted version fails the NPI checksum and breaks provider-directory matching.
- 02
Physician used for the doctor as a person
WrongPhysician with only human-biography propertiesRightPhysician for the practice entity; Person for the individual; link them via Physician.employeePhysician is the business, not the human. The dual-entity pattern is what directory consumers expect.
- 03
hospitalAffiliation as free text
Wrong"hospitalAffiliation": "Dunmore Regional"RightA Hospital node with name and ideally @id that matches the hospital's own listingEntity-resolved hospital references collapse physician listings onto their admitting hospitals in the knowledge graph.
Schema properties in this example
Also mentioned in 3 other examples
Physician also appears in IndividualPhysician, MedicalSpecialty, and PhysiciansOffice. See the full Physician schema page for every reference.
About the example data
Dr Priya Chen, MD, a fictional cardiologist whose solo practice sits across from Dunmore Regional Hospital.
Comments
Loading comments...