Overview

Namespace URI:
https://ns.cascadeprotocol.org/coverage/v1#
Preferred Prefix:
coverage:
Version:
1.0
Status:
Stable
Schema File:
coverage.ttl (Turtle/RDF)
Layer:
2 (Domain Vocabulary)

The Coverage Vocabulary is a Layer 2 domain vocabulary for patient-owned insurance and benefits data. It resolves the overlap between checkup:InsuranceInfo (Layer 3, patient-reported) and clinical:CoverageRecord (Layer 2, EHR-imported) by providing a shared set of standardized insurance properties. Insurance data is cross-cutting: it is administrative and financial rather than clinical, it is not app-specific (any health app benefits from knowing a patient's coverage), and it is contributed by both patient self-report and EHR import. Any health app can use coverage: properties via the mixed namespace pattern.

Download TTL Back to Documentation

Classes

coverage:InsurancePlan

owl:Class

An insurance plan the patient is enrolled in. Unifies patient-reported data (from checkup:InsuranceInfo) and EHR-imported data (from clinical:CoverageRecord) into a single standardized representation.

Subclass of: prov:Entity

See also: fhir:Coverage

coverage:Deductible

owl:Class

Annual deductible status and progress tracking for an insurance plan. Enables patients to monitor their progress toward meeting annual deductible limits. Properties for this class will be defined in a future version.

Subclass of: prov:Entity

See also: fhir:ExplanationOfBenefit

coverage:CopaySchedule

owl:Class

Copay amounts by service category for an insurance plan. Helps patients understand their cost-sharing responsibilities for different types of care. Properties for this class will be defined in a future version.

Subclass of: prov:Entity

Core Properties

These properties unify data from both patient-reported intake forms and EHR-imported coverage records. All properties have coverage:InsurancePlan as their domain.

coverage:providerName

owl:DatatypeProperty

Name of insurance company or plan provider (e.g., Aetna, Blue Cross, Medicare). Unifies checkup:insuranceProvider and clinical:providerName.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:memberId

owl:DatatypeProperty

Insurance policy member/subscriber ID number. Present in both patient-reported and EHR-imported data.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:groupNumber

owl:DatatypeProperty

Employer group number for employer-sponsored plans. Present in both patient-reported and EHR-imported data.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:planName

owl:DatatypeProperty

Name of the insurance plan (e.g., "Gold PPO 500"). Originally from clinical:CoverageRecord.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:planType

owl:DatatypeProperty

Type of insurance plan: hmo, ppo, epo, pos, hdhp, medicare, medicaid, tricare, other.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:coverageType

owl:DatatypeProperty

Classification of coverage: primary, secondary, dental, vision.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:effectiveStart

owl:DatatypeProperty

Start date of coverage period. Maps to clinical:effectivePeriodStart and checkup:effectiveDate.

Domain: coverage:InsurancePlan

Range: xsd:date

coverage:effectiveEnd

owl:DatatypeProperty

End date of coverage period. Maps to clinical:effectivePeriodEnd and checkup:expirationDate (for insurance usage).

Domain: coverage:InsurancePlan

Range: xsd:date

Subscriber Properties

Properties for identifying the insurance subscriber (primary policyholder). All properties have coverage:InsurancePlan as their domain.

coverage:subscriberId

owl:DatatypeProperty

Identifier for the policy holder from the insurer. From clinical:CoverageRecord.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:subscriberName

owl:DatatypeProperty

Name of insurance subscriber (the primary policyholder). From patient-reported intake form data.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:subscriberRelationship

owl:DatatypeProperty

Relationship of patient to subscriber: self, spouse, child, parent, other. Unifies clinical:relationship and checkup:subscriberRelationship with a typed enum constraint.

Domain: coverage:InsurancePlan

Range: xsd:string

Pharmacy Benefit Properties

Properties for prescription drug benefit processing. All properties have coverage:InsurancePlan as their domain.

coverage:rxBin

owl:DatatypeProperty

Pharmacy benefit BIN (Bank Identification Number). Used for prescription drug claims processing.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:rxPcn

owl:DatatypeProperty

Pharmacy benefit PCN (Processor Control Number). Used for prescription drug claims routing.

Domain: coverage:InsurancePlan

Range: xsd:string

coverage:rxGroup

owl:DatatypeProperty

Pharmacy benefit group number. Identifies the patient's pharmacy benefit group for claims processing.

Domain: coverage:InsurancePlan

Range: xsd:string

FHIR Alignment

The Coverage Vocabulary aligns with the FHIR Coverage resource. The following table maps each coverage: property to its corresponding FHIR path.

Coverage Property FHIR Coverage Path
coverage:InsurancePlan fhir:Coverage
coverage:providerName Coverage.payor (display)
coverage:memberId Coverage.identifier
coverage:groupNumber Coverage.class (group)
coverage:planName Coverage.class (plan)
coverage:planType Coverage.type
coverage:coverageType Coverage.class (category)
coverage:effectiveStart Coverage.period.start
coverage:effectiveEnd Coverage.period.end
coverage:subscriberId Coverage.subscriberId
coverage:subscriberRelationship Coverage.relationship

Usage Example

@prefix coverage: <https://ns.cascadeprotocol.org/coverage/v1#> .
@prefix cascade: <https://ns.cascadeprotocol.org/core/v1#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<#insurance-primary> a coverage:InsurancePlan ;
    cascade:schemaVersion "1.0" ;
    cascade:dataProvenance cascade:SelfReported ;
    coverage:providerName "Blue Cross Blue Shield" ;
    coverage:memberId "XYZ123456789" ;
    coverage:groupNumber "GRP-98765" ;
    coverage:planType "ppo" ;
    coverage:coverageType "primary" ;
    coverage:effectiveStart "2026-01-01"^^xsd:date ;
    coverage:effectiveEnd "2026-12-31"^^xsd:date ;
    coverage:subscriberRelationship "self" .

Recommended Storage

The recommended Solid Pod storage layout for coverage data places insurance plans under a dedicated /coverage/ directory. Each plan is stored as its own Turtle file, enabling fine-grained access control and independent updates.

/coverage/
    plans/
        {plan-id}.ttl          # InsurancePlan instances
    deductibles/
        {year}.ttl             # Annual deductible tracking (future)

SHACL Validation Shapes

Validation shapes for this vocabulary are defined in coverage.shapes.ttl.

Shapes defined:

  • coverage:InsurancePlanShape — Validates InsurancePlan instances with required provider name, member ID, plan type, and coverage type

Changelog

Version 1.0 (2026-02-18)

  • Initial release with InsurancePlan class and 14 properties
    • 8 core properties: providerName, memberId, groupNumber, planName, planType, coverageType, effectiveStart, effectiveEnd
    • 3 subscriber properties: subscriberId, subscriberName, subscriberRelationship
    • 3 pharmacy benefit properties: rxBin, rxPcn, rxGroup
  • Added Deductible and CopaySchedule classes (properties deferred to future version)
  • FHIR Coverage resource alignment documented
  • Part of Schema Refactoring Plan Phase 2 (WS4)