Hospital
Hospital is one of the deepest-inheriting types in schema.org. It inherits from three parents simultaneously:
- CivicStructure (giving it
openingHours,openingHoursSpecification, and the civic-structure semantic). - EmergencyService (a LocalBusiness subtype for 24/7 response services).
- MedicalOrganization (giving it
isAcceptingNewPatients,healthPlanNetworkId,medicalSpecialty).
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.
<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.
<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.
- Google docsLocal business / medical organisation knowledge panelprimary
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.
- 01
Hospital with no opening hours
WrongHospital with no openingHoursSpecificationRight24/7 hospitals publish explicit 00:00-23:59 hours seven days a weekEmpty hours on a 24/7 service reads as 'closed' to Google's parser. Publish the full-week spec.
- 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.
- 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.
- 04
Embedding PHI in reviews
WrongReview text naming a patient and their diagnosisRightAggregate ratings only, or anonymised reviewsA hospital listing is public; patient detail is protected. Never publish identifiable patient data in structured reviews.
Schema properties in this example
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...