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.
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
InsurancePlanclass 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
DeductibleandCopayScheduleclasses (properties deferred to future version) - FHIR Coverage resource alignment documented
- Part of Schema Refactoring Plan Phase 2 (WS4)