Health Schema
Open-source semantic extensions to schema.org for rich medical and health content markup. This vocabulary enables precise representation of causal mechanisms, temporal progressions, multi-factorial conditions, and population-specific recommendations that standard schema.org cannot capture.
Why These Extensions?
Schema.org provides excellent coverage for basic medical entities and relationships, but falls short when representing:
Multi-Step Mechanisms
Medical content often explains how something works through multiple biochemical or physiological steps. Schema.org's riskFactor property can link causes to conditions, but cannot capture multi-step mechanistic chains.
Solution: CausalPathway and CausalStep types model step-by-step mechanistic explanations with evidence levels for each transition.
Time-Based Progressions
Conditions evolve through distinct stages with different characteristics, patient experiences, and recommended actions at each phase. Standard schema.org has no way to represent this temporal structure.
Solution: TemporalProgression and TemporalStage types capture stage-based timelines with rich contextual information.
Multi-Factorial Causation
Real-world medical conditions result from multiple interacting factors, not single causes. Schema.org can list multiple risk factors but cannot describe how they interact or their relative importance.
Solution: MultifactorialCondition, ContributingFactor, and FactorInteraction types model complex causation patterns.
Conditional Recommendations
Medical recommendations often depend on multiple criteria (AND/OR logic), risk stratification, and population characteristics. Schema.org's MedicalIndication handles simple conditions but not complex decision trees.
Solution: ConditionalRecommendation and related types (PopulationCriteria, RiskAssessment) enable precise population-specific guidance.
Design Principles
- Extension, not replacement — These types augment schema.org's existing medical vocabulary rather than replacing it. Use standard schema.org types wherever possible.
- LLM-optimised — Designed to enable large language models to truly understand medical content, not just keyword match.
- Evidence-based — Properties include evidence levels and citations to support claims.
- Practical application — Developed through real-world use on medical and wellness content.
- Schema.org conventions — Follows schema.org's design patterns and naming conventions for easy adoption.
- Open source — Free to use under Creative Commons license. Community contributions welcome.
Type Reference
Causal Mechanisms
Temporal Progressions
Multi-Factorial Conditions
Conditional Recommendations
Supporting Types
How to Use This Vocabulary
1. Declare the Context
Include both schema.org and the Health Schema context in your JSON-LD:
{
"@context": [
"https://schema.org",
"https://healthschema.org/context.jsonld"
]
}
Or declare the namespace explicitly (reduces reported errors on the schema.org validator):
{
"@context": [
"https://schema.org",
{
"hs": "https://healthschema.org/",
"CausalPathway": "hs:CausalPathway",
"TemporalProgression": "hs:TemporalProgression"
}
]
}
2. Use Custom Types Alongside Schema.org
Combine standard schema.org markup with custom extensions using @graph:
{
"@context": [
"https://schema.org",
"https://healthschema.org/context.jsonld"
],
"@graph": [
{
"@type": "MedicalCondition",
"name": "Telogen effluvium",
"riskFactor": [
{
"@type": "MedicalRiskFactor",
"name": "Rapid weight loss"
}
]
},
{
"@type": "CausalPathway",
"name": "Weight loss → Hair loss mechanism",
"initialCause": { "@type": "Drug", "name": "Mounjaro" },
"pathwaySteps": [ ... ],
"finalOutcome": {
"@type": "MedicalCondition",
"name": "Telogen effluvium"
}
}
]
}
3. Validate Your Markup
Important Note on Validation
Standard schema.org validators will not recognise these custom types and may report them as errors. This is expected behavior. These extensions are designed for:
- Enhanced understanding by large language models
- Knowledge graph enrichment
- Semantic relationship modeling
Search engines will process standard schema.org properties normally and ignore custom extensions they don't understand.
4. Best Practices
- Use standard schema.org first — Only use custom types when schema.org cannot express the relationship.
- Maintain compatibility — Always include standard schema.org alongside custom extensions.
- Document thoroughly — Use
descriptionandrationaleproperties liberally. - Be consistent — Use the same custom types for similar patterns across your content.
- Cite sources — Include
citationandevidenceLevelproperties to support claims.
Examples
See practical implementations in the examples section:
- Causal Pathway Example — Mounjaro → hair loss mechanism
- Temporal Progression Example — Hair loss and recovery timeline
- Multi-Factorial Condition Example — GLP-1-associated hair loss
- Conditional Recommendation Example — High-risk population protocol
- Complete Article Markup — Full implementation combining all types
Relationship to Schema.org
This vocabulary is designed to complement, not compete with, schema.org's medical vocabulary:
| Need | Schema.org Solution | Health Schema Extension |
|---|---|---|
| Simple risk factor | riskFactor property |
Use schema.org |
| Multi-step mechanism | Not available | hs:CausalPathway |
| Signs and symptoms | signOrSymptom property |
Use schema.org |
| Single timeline event | Date/time properties | Use schema.org |
| Multi-stage progression | Not available | hs:TemporalProgression |
| Simple medical indication | MedicalIndication type |
Use schema.org |
| Complex conditional logic | Not available | hs:ConditionalRecommendation |
| Multiple risk factors | Multiple riskFactor properties |
Works, but hs:MultifactorialCondition adds interaction info |
| What tissue needs | Not available | hs:PhysiologicalRequirement |
| Compositional similarity | Not available | hs:CompositionComparison |
| Ingredient function categories | Not available | hs:FunctionalIngredientCategory |
Technical Resources
- JSON-LD Context Definition — Machine-readable context for all types and properties
- Complete Examples — Real-world implementations
Contact & Feedback
Health Schema is an open-source project developed initially by Creative Touch, a UK aesthetics clinic, and refined through real-world medical content markup.
For questions, suggestions, or to contribute:
- Website: healthschema.org
- Email: contact@healthschema.org
- Original implementation: Creative Touch
Version Information
Current Version: 0.8 (December 2025)
Namespace URI: https://healthschema.org/
License: Creative Commons Attribution 4.0 International (CC BY 4.0)