VitalVault Ontology Documentation

Modular Semantic Web Schema for Personal Health Data

Overview

VitalVault provides a modular ontology framework for representing personal health and wellness data using Linked Data standards. The architecture separates core cross-cutting concerns from domain-specific vocabularies, enabling flexible extension as new health applications are added.

Key Features

  • Modular Design: Core vocabulary (vv:) + domain vocabularies (pots:, ecg:, glucose:, ...)
  • Standards-Based: Built on W3C RDF, OWL, and PROV-O recommendations
  • Healthcare Interoperability: Aligned with FHIR, SNOMED CT, LOINC standards
  • Privacy-First: Designed for Solid Pod storage with WebID-based access control
  • Semantic Versioning: Independent version tracking per vocabulary

Available Vocabularies

Core Vocabulary

v1.0 Stable
Namespace:
https://vitalvault.org/vocab/core#
Prefix:
vv:
Purpose:
Cross-application vocabulary for schema versioning, data provenance, and user identity

Defines foundational concepts used by all VitalVault health data applications, including schema version tracking, consumer vs. clinical data provenance, and Solid WebID integration.

POTS Check Vocabulary

v1.2 Stable
Namespace:
https://vitalvault.org/vocab/pots#
Prefix:
pots:
Purpose:
Domain-specific vocabulary for POTS home screening checks
Imports:
vv: (Core Vocabulary v1.0)

Describes consumer-generated wellness data from guided orthostatic screening checks using the NASA Lean Test protocol with Apple Watch heart rate monitoring and iPhone posture tracking. Supports age-adjusted thresholds, symptom logging, and blood pressure analysis.

ECG Vocabulary

Coming Soon
Namespace:
https://vitalvault.org/vocab/ecg#
Prefix:
ecg:
Purpose:
Electrocardiogram data from Apple Watch and medical devices

Planned for v2.0

Glucose Vocabulary

Coming Soon
Namespace:
https://vitalvault.org/vocab/glucose#
Prefix:
glucose:
Purpose:
Blood glucose monitoring data from CGMs and glucometers

Planned for v2.1

Design Principles

1. Modularity

Core concepts (vv:) are stable and versioned independently from domain vocabularies (pots:, ecg:, etc.). New health apps can be added without breaking existing data.

2. Interoperability

All vocabularies align with healthcare standards (FHIR, SNOMED CT, LOINC) and use standard W3C formats (RDF, OWL, PROV-O) for maximum compatibility with medical systems.

3. Privacy-First

Designed for local-first storage in Solid Pods with WebID-based access control. Users own their data and control who can access it.

4. Consumer Wellness Focus

Data is classified as consumer-generated wellness information (non-diagnostic). Non-medical language throughout emphasizes that results are informational only.

5. Provenance Tracking

All data includes comprehensive provenance metadata using W3C PROV-O, tracking who created the data, when, and how it was generated.

Quick Start

Basic Example

Here's a minimal example showing how the vocabularies work together:

@prefix vv: <https://vitalvault.org/vocab/core#> .
@prefix pots: <https://vitalvault.org/vocab/pots#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<#pots-check-abc123> a pots:POTSCheckResult ;
    # Core vocabulary properties
    vv:schemaVersion "1.2" ;
    vv:dataProvenance vv:ConsumerGenerated ;

    # POTS-specific properties
    pots:date "2025-10-31T14:30:00Z"^^xsd:dateTime ;
    pots:protocol "nasaLean" ;
    pots:potsThresholdMet "true"^^xsd:boolean ;

    # Provenance tracking
    prov:wasAttributedTo <https://user.vitalvault.org/profile/card#me> .

See individual vocabulary documentation for complete property lists and usage examples.

Resources

Extending VitalVault

To add a new health data domain (e.g., sleep tracking, nutrition):

  1. Create a new vocabulary namespace: https://vitalvault.org/vocab/{domain}#
  2. Import the core vocabulary: owl:imports <https://vitalvault.org/vocab/core#>
  3. Define domain-specific classes and properties
  4. Align with relevant healthcare standards (FHIR, SNOMED CT, LOINC)
  5. Create HTML documentation following the modular pattern
  6. Version independently using semantic versioning

See the POTS vocabulary as a reference implementation.