XooCode(){

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.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Physician
<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.

schema.org/Physician (minimal)
<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.

  • Local business / medical provider knowledge panelprimary
    Google docs

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.

  1. 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.

  2. 02

    Physician used for the doctor as a person

    Wrong
    Physician with only human-biography properties
    Right
    Physician for the practice entity; Person for the individual; link them via Physician.employee

    Physician is the business, not the human. The dual-entity pattern is what directory consumers expect.

  3. 03

    hospitalAffiliation as free text

    Wrong
    "hospitalAffiliation": "Dunmore Regional"
    Right
    A Hospital node with name and ideally @id that matches the hospital's own listing

    Entity-resolved hospital references collapse physician listings onto their admitting hospitals in the knowledge graph.

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...

Leave a comment