XooCode(){

Hospital

Hospital is one of the deepest-inheriting types in schema.org. It inherits from three parents simultaneously:

It adds 3 direct properties:

  • availableService (MedicalProcedure, MedicalTest, or MedicalTherapy): the full service menu. Array-valued; list every clinical service the hospital offers.
  • medicalSpecialty (MedicalSpecialty enumeration): the specialty focus ("Cardiovascular", "Oncologic", "Pediatric", "Emergency"). Array-valued.
  • healthcareReportingData (CDCPMDRecord or Dataset): required-reporting data such as bed capacity, ICU utilisation, or COVID-era surveillance.

Full example of schema.org/Hospital json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Hospital
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Hospital",
  "@id": "https://dunmoreregional.example/#hospital",
  "name": "Dunmore Regional Hospital",
  "url": "https://dunmoreregional.example",
  "description": "180-bed acute-care hospital serving Lackawanna County with a 24-hour Level III trauma emergency department, cardiovascular institute, and cancer centre.",
  "telephone": "+1-570-555-0010",
  "image": "https://dunmoreregional.example/images/hero.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 Hospital Drive",
    "addressLocality": "Dunmore",
    "addressRegion": "PA",
    "postalCode": "18512",
    "addressCountry": "US"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": 41.4244, "longitude": -75.6309 },
  "openingHoursSpecification": [
    { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], "opens": "00:00", "closes": "23:59" }
  ],
  "isAcceptingNewPatients": true,
  "medicalSpecialty": [
    "https://schema.org/Emergency",
    "https://schema.org/Cardiovascular",
    "https://schema.org/Oncologic",
    "https://schema.org/Pediatric"
  ],
  "availableService": [
    { "@type": "MedicalProcedure", "name": "24-hour emergency care" },
    { "@type": "MedicalProcedure", "name": "Cardiac catheterisation" },
    { "@type": "MedicalTest", "name": "CT and MRI imaging" },
    { "@type": "MedicalTherapy", "name": "Radiation oncology" }
  ],
  "healthPlanNetworkId": "AET-NE-PA-001",
  "paymentAccepted": "Aetna, Blue Cross Blue Shield, Cigna, Medicare, Medicaid, UnitedHealthcare",
  "parentOrganization": { "@type": "MedicalOrganization", "name": "Dunmore Health System" },
  "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.3", "reviewCount": "412", "bestRating": "5" }
}
</script>

Triple-inheritance consequences

Because Hospital is both a CivicStructure (a Place) and a MedicalOrganization (an Organization), it validates against two separate LocalBusiness expectations. Populate address, geo, telephone, and openingHoursSpecification exhaustively; these come from the Place side. Populate isAcceptingNewPatients, medicalSpecialty, and availableService for the medical side. Hospital is also often a branch of a larger Organization; use parentOrganization to link back.

HIPAA and listings note

Hospital structured data lists the hospital as an institution; nothing about the markup is PHI. But do not embed identifiable patient data (reviews naming individuals, real patient photos) in review or aggregateRating blocks.

Minimal valid version

The smallest markup that still produces a valid Hospital 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/Hospital (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Hospital",
  "name": "Dunmore Regional Hospital",
  "address": { "@type": "PostalAddress", "streetAddress": "100 Hospital Drive", "addressLocality": "Dunmore", "addressRegion": "PA" },
  "telephone": "+1-570-555-0010",
  "medicalSpecialty": "https://schema.org/Emergency"
}
</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 organisation knowledge panelprimary
    Google docs

Common Hospital 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

    Hospital with no opening hours

    Wrong
    Hospital with no openingHoursSpecification
    Right
    24/7 hospitals publish explicit 00:00-23:59 hours seven days a week

    Empty hours on a 24/7 service reads as 'closed' to Google's parser. Publish the full-week spec.

  2. 02

    medicalSpecialty as free text

    Wrong
    "medicalSpecialty": "Cardiology"
    Right
    "medicalSpecialty": "https://schema.org/Cardiovascular"

    medicalSpecialty is enumeration-valued. Free text is accepted but does not match Google's specialty filters.

  3. 03

    availableService with a bare string

    Wrong
    "availableService": "MRI imaging"
    Right
    { "@type": "MedicalTest", "name": "MRI imaging" }

    availableService expects typed MedicalProcedure / MedicalTest / MedicalTherapy objects. Strings short-circuit the schema.

  4. 04

    Embedding PHI in reviews

    Wrong
    Review text naming a patient and their diagnosis
    Right
    Aggregate ratings only, or anonymised reviews

    A hospital listing is public; patient detail is protected. Never publish identifiable patient data in structured reviews.

Also mentioned in 4 other examples

Hospital also appears in MedicalObservationalStudy, MedicalSpecialty, MedicalTrial, and Physician. See the full Hospital schema page for every reference.

About the example data

Dunmore Regional Hospital, a fictional 180-bed acute-care hospital serving Lackawanna County.

Comments

Loading comments...

Leave a comment