Overview

Namespace URI:
https://ns.cascadeprotocol.org/checkup/v1#
Preferred Prefix:
checkup:
Version:
1.4
Status:
Stable
Imports:
cascade: (Core Vocabulary v1)
clinical: (Clinical Vocabulary v1)
health: (Health Vocabulary v1)
Schema File:
checkup.ttl (Turtle/RDF)

The Checkup Vocabulary defines structured health data for patient intake forms and pre-visit preparation. It enables aggregation of EHR-imported data, HealthKit wellness data, and manually entered health information into a comprehensive patient profile suitable for healthcare visits.

Use Case: Cascade Checkup is a consumer health app that helps patients prepare for annual physicals by aggregating their health data and generating professional intake forms for healthcare providers.
Download TTL Back to Documentation

Core Classes (13 total)

checkup:IntakeFormData

owl:Class

Aggregated patient data formatted for healthcare intake forms. Contains all sections needed for a complete pre-visit profile including demographics, medications, allergies, conditions, and visit concerns.

checkup:PatientProfile

owl:Class

Patient demographics with computed age group for screening logic. Includes biological sex for medical screening recommendations and optional gender identity for form preferences.

checkup:InsuranceInfo

owl:Class

Patient insurance coverage details for intake forms. Includes provider, member ID, coverage type, and primary care provider information.

checkup:MedicationSummary

owl:Class

Current medication with enriched adherence and tolerability data. Links to clinical:Medication source records and tracks self-reported adherence barriers and side effects.

checkup:AllergySummary

owl:Class

Known allergen with reaction type and severity. Tracks data provenance (EHR verified, self-reported) and links to clinical:AllergyIntolerance source records.

checkup:ConditionSummary

owl:Class

Active or resolved health condition with ICD-10 coding. Includes onset information and current status for clinical context.

checkup:FamilyHistoryEntry

owl:Class

Single family member health condition for risk assessment. Captures relative type, condition, and age at diagnosis for inherited condition screening.

checkup:VitalSignsTrend

owl:Class

Deprecated v1.4

DEPRECATED: Use health:MetricTrend (Layer 2) for trend data and checkup:WellnessSummary (Layer 3) for patient-facing trend aggregation. Will be removed in v1.5.

checkup:ScreeningStatus

owl:Class

Patient status for recommended preventive screening. Tracks last completed date, next due date, and applicable USPSTF/ACS guidelines.

checkup:VisitIssue

owl:Class

Health issue or symptom the patient wants to discuss at their visit (chief complaint). Includes severity, duration, and user-assigned priority for visit planning.

checkup:SuggestedQuestion

owl:Class

AI-generated or template question for the patient to ask their provider. Based on conditions, medications, symptoms, or health trends identified in their profile.

checkup:DiagnosticTestResult

owl:Class

Reference to a diagnostic test from an external Cascade app (e.g., POTS Check, glucose monitoring). Provides summary for intake forms and links to detailed results in pod.

checkup:SupplementSummary

owl:Class

v1.1+

Dietary supplement, OTC product, or herbal remedy with regulatory classification and evidence strength. Separate from MedicationSummary to reflect different regulatory status and data requirements. Links to clinical:Supplement source records.

Insight & Correlation Classes v1.4

Layer 3 classes that synthesize across data domains to produce patient-facing insights. These enable wellness trend summaries, medication-metric correlations, health scoring, attention items, and visit preparation.

checkup:WellnessSummary

owl:Class · rdfs:subClassOf prov:Entity

Layer 3 patient-facing summary of wellness data. Aggregates trends and baselines from health: Layer 2 properties into a patient-readable format.

checkup:TrendInsight

owl:Class · rdfs:subClassOf prov:Entity

A patient-readable observation derived from trend data. Example: "Your resting heart rate has dropped 5 bpm since you started walking 10k steps/day."

checkup:CorrelationInsight

owl:Class · rdfs:subClassOf prov:Entity

Links two data domains with an observed temporal relationship. Example: medication start date correlates with metric change. Temporal correlation only — never implies causation.

checkup:KeyIndicator

owl:Class · rdfs:subClassOf prov:Entity

A distilled, patient-friendly health metric chosen for its predictive value and simplicity. Used for dashboard summaries and health scores. Status values: good, watch, attention.

checkup:AttentionItem

owl:Class · rdfs:subClassOf prov:Entity

Flags when a metric deviates significantly from personal baseline, data has gone stale, or a trend crosses a threshold. Rule-based, not clinical advice. Reasons: baseline_deviation, stale_data, threshold_crossed. Severity: info, watch, action.

checkup:VisitPrepSummary

owl:Class · rdfs:subClassOf prov:Entity

A curated, one-page clinical summary designed for a 15-minute appointment. Auto-generated from metric changes, medication context, and patient questions, then user-edited before export.

Insight & Correlation Properties v1.4

WellnessSummary Properties

checkup:wellnessTrend

owl:ObjectProperty

Link to a health:MetricTrend for a wellness metric.

Domain: checkup:WellnessSummary

Range: health:MetricTrend

checkup:wellnessBaselineDate

owl:DatatypeProperty

Date of the baseline snapshot this summary compares against.

Domain: checkup:WellnessSummary

Range: xsd:dateTime

TrendInsight Properties

checkup:insightText

owl:DatatypeProperty

Patient-readable description of the insight.

Domain: checkup:TrendInsight

Range: xsd:string

checkup:insightSourceTrend

owl:ObjectProperty

The health:MetricTrend this insight is derived from.

Domain: checkup:TrendInsight

Range: health:MetricTrend

checkup:insightGeneratedBy

owl:ObjectProperty

The agent that produced this insight. Supports both software agents (e.g., cascade:DataSource for rule engines) and human agents (clinicians). Aligns with W3C PROV-O prov:wasGeneratedBy pattern.

Domain: checkup:TrendInsight

Range: prov:Agent

CorrelationInsight Properties

checkup:correlationMetric

owl:ObjectProperty

The wellness metric involved in the correlation.

Domain: checkup:CorrelationInsight

Range: health:MetricTrend

checkup:correlationEvent

owl:ObjectProperty

The clinical event (medication start/stop, condition onset) involved in the correlation.

Domain: checkup:CorrelationInsight

checkup:correlationText

owl:DatatypeProperty

Patient-readable description. Must use temporal language only ("started approximately after"), never causal language ("caused by").

Domain: checkup:CorrelationInsight

Range: xsd:string

checkup:correlationTimeLag

owl:DatatypeProperty

Days between the clinical event and the observed metric change onset.

Domain: checkup:CorrelationInsight

Range: xsd:integer

KeyIndicator Properties

checkup:indicatorMetric

owl:DatatypeProperty

The metric key this indicator represents (e.g., "restingHeartRate").

Domain: checkup:KeyIndicator

Range: xsd:string

checkup:indicatorValue / indicatorUnit / indicatorLabel / indicatorStatus

owl:DatatypeProperty

Value (xsd:decimal), unit (xsd:string), patient-friendly label, and traffic-light status (good, watch, attention).

Domain: checkup:KeyIndicator

AttentionItem Properties

checkup:attentionReason / attentionMetric / attentionText / attentionSeverity

owl:DatatypeProperty

Reason (baseline_deviation, stale_data, threshold_crossed), metric key, patient-readable explanation, and severity (info, watch, action).

Domain: checkup:AttentionItem

Range: xsd:string

VisitPrepSummary Properties

checkup:visitPrepDate / visitPrepComparisonDate

owl:DatatypeProperty

Current date and previous snapshot comparison date.

Domain: checkup:VisitPrepSummary

Range: xsd:dateTime

checkup:visitPrepChange

owl:ObjectProperty

A metric change included in this visit prep.

Domain: checkup:VisitPrepSummary

Range: health:MetricTrend

checkup:visitPrepCorrelation

owl:ObjectProperty

Domain: checkup:VisitPrepSummary

Range: checkup:CorrelationInsight

checkup:visitPrepAttention

owl:ObjectProperty

Domain: checkup:VisitPrepSummary

Range: checkup:AttentionItem

checkup:visitPrepUserNotes

owl:DatatypeProperty

Patient-authored questions and concerns for the visit.

Domain: checkup:VisitPrepSummary

Range: xsd:string

Patient Profile Properties

checkup:patientName

owl:DatatypeProperty

Full legal name of the patient for intake forms.

Domain: checkup:PatientProfile

Range: xsd:string

checkup:dateOfBirth

owl:DatatypeProperty

Patient date of birth for age calculation and screening eligibility.

Domain: checkup:PatientProfile

Range: xsd:date

checkup:biologicalSex

owl:DatatypeProperty

Biological sex for medical screening logic: male, female, intersex.

Domain: checkup:PatientProfile

Range: xsd:string

checkup:ageGroup

owl:DatatypeProperty

Demographic classification: pediatric (0-17), young_adult (18-39), adult (40-64), senior (65+).

Domain: checkup:PatientProfile

Range: xsd:string

Medication Properties

checkup:medicationName

owl:DatatypeProperty

Name of the medication (generic or brand).

Domain: checkup:MedicationSummary

Range: xsd:string

checkup:dose

owl:DatatypeProperty

Medication dose with units (e.g., '10mg', '500mg').

Domain: checkup:MedicationSummary

Range: xsd:string

checkup:adherenceStatus

owl:DatatypeProperty

Self-reported adherence: taking_as_prescribed, usually_take, sometimes_miss, often_miss, stopped.

Domain: checkup:MedicationSummary

Range: xsd:string

checkup:sideEffects

owl:DatatypeProperty

List of reported side effects as comma-separated string.

Domain: checkup:MedicationSummary

Range: xsd:string

Medication Properties - Phase 3 Extensions v1.2

checkup:episodeId

owl:DatatypeProperty

Link to canonical MedicationUseEpisode in CascadeSDK. Enables longitudinal tracking.

Domain: checkup:MedicationSummary

Range: xsd:string

checkup:startDate

owl:DatatypeProperty

Date when patient started taking this medication.

Domain: checkup:MedicationSummary

Range: xsd:date

checkup:indication

owl:DatatypeProperty

Why the patient takes this medication (patient's understanding of the reason).

Domain: checkup:MedicationSummary

Range: xsd:string

checkup:patientCost

owl:DatatypeProperty

Patient's out-of-pocket cost for medication or supplement.

Range: xsd:decimal

checkup:costFrequency

owl:DatatypeProperty

Frequency of cost: per_month, per_refill, per_dose, per_bottle, annual.

Range: xsd:string

checkup:functionalImpact

owl:DatatypeProperty

How this medication helps the patient functionally (e.g., "helps me sleep").

Domain: checkup:MedicationSummary

Range: xsd:string

checkup:concernsForDoctor

owl:DatatypeProperty

Concerns the patient wants to discuss with their healthcare provider.

Domain: checkup:MedicationSummary

Range: xsd:string

Supplement Summary Properties v1.1+

checkup:supplementName

owl:DatatypeProperty

Name of the supplement or OTC product.

Domain: checkup:SupplementSummary

Range: xsd:string

checkup:regulatoryStatus

owl:DatatypeProperty

Regulatory classification distinguishing from FDA-approved medications: dietarySupplement (DSHEA), otcDrug (FDA OTC monograph), homeopathic, herbalRemedy, unknown.

Domain: checkup:SupplementSummary

Range: xsd:string

checkup:evidenceStrength

owl:DatatypeProperty

Level of clinical evidence: strongEvidence, moderateEvidence, limitedEvidence, traditionalUse, noEvidence, unknown.

Domain: checkup:SupplementSummary

Range: xsd:string

checkup:supplementDose

owl:DatatypeProperty

Dose with units (e.g., "2000 IU", "500mg").

Domain: checkup:SupplementSummary

Range: xsd:string

checkup:supplementBrand

owl:DatatypeProperty

Brand name if known (e.g., "Nature Made", "Garden of Life").

Domain: checkup:SupplementSummary

Range: xsd:string

checkup:supplementForm

owl:DatatypeProperty

Physical form: capsule, tablet, softgel, liquid, powder, gummy, spray, patch, tea, tincture, other.

Domain: checkup:SupplementSummary

Range: xsd:string

checkup:reasonForUse

owl:DatatypeProperty

User-provided reason for taking supplement (e.g., "bone health", "sleep support").

Domain: checkup:SupplementSummary

Range: xsd:string

checkup:dsldId

owl:DatatypeProperty

NIH Dietary Supplement Label Database identifier for lookup.

Domain: checkup:SupplementSummary

Range: xsd:string

checkup:doctorAware

owl:DatatypeProperty

Whether the patient's healthcare provider knows about this supplement. Used to identify supplements that should be discussed at visits.

Domain: checkup:SupplementSummary

Range: xsd:boolean

Visit Issue Properties

checkup:issueCategory

owl:DatatypeProperty

Category of health issue: pain, skin, digestive, respiratory, cardiovascular, mental_health, neurological, musculoskeletal, urinary, medication, screening, general, other.

Domain: checkup:VisitIssue

Range: xsd:string

checkup:issueDescription

owl:DatatypeProperty

Free text description of the health issue.

Domain: checkup:VisitIssue

Range: xsd:string

checkup:issuePriority

owl:DatatypeProperty

User-ranked importance (1 = highest priority).

Domain: checkup:VisitIssue

Range: xsd:integer

checkup:issueSeverity

owl:DatatypeProperty

Severity of the issue: mild, moderate, severe.

Domain: checkup:VisitIssue

Range: xsd:string

Diagnostic Test Properties

checkup:testType

owl:DatatypeProperty

Type of diagnostic test: pots_check, blood_pressure_series, glucose_series, ecg, sleep_analysis, other.

Domain: checkup:DiagnosticTestResult

Range: xsd:string

checkup:resultSummary

owl:DatatypeProperty

Brief text summary suitable for intake forms.

Domain: checkup:DiagnosticTestResult

Range: xsd:string

checkup:flaggedForDiscussion

owl:DatatypeProperty

Whether user wants to discuss this result with provider.

Domain: checkup:DiagnosticTestResult

Range: xsd:boolean

checkup:potsThresholdMet

owl:DatatypeProperty

Whether the POTS diagnostic threshold was met (HR increase >= 30 bpm). Used for POTS Check results.

Domain: checkup:DiagnosticTestResult

Range: xsd:boolean

Data Provenance Properties

checkup:provenanceType

owl:DatatypeProperty

Source type: ehr_verified, self_reported, scanned, device, ai_extracted, imported.

Range: xsd:string

checkup:provenanceSource

owl:DatatypeProperty

Specific source identifier: MyChart, Apple Health, manual entry, etc.

Range: xsd:string

Usage Example

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

<#intake-form-abc123> a checkup:IntakeFormData ;
    checkup:schemaVersion "1.0" ;
    checkup:generatedAt "2026-01-05T14:30:00Z"^^xsd:dateTime ;
    checkup:hasPatientProfile <#patient-profile> ;
    checkup:hasMedication <#medication-1> ;
    checkup:hasSupplement <#supplement-1> ;
    checkup:hasVisitIssue <#issue-1> .

<#patient-profile> a checkup:PatientProfile ;
    checkup:patientName "Jane Smith" ;
    checkup:dateOfBirth "1985-03-15"^^xsd:date ;
    checkup:biologicalSex "female" ;
    checkup:ageGroup "adult" ;
    checkup:provenanceType "ehr_verified" .

<#medication-1> a checkup:MedicationSummary ;
    checkup:medicationName "Lisinopril" ;
    checkup:dose "10mg" ;
    checkup:frequency "once_daily" ;
    checkup:adherenceStatus "taking_as_prescribed" ;
    checkup:indication "blood pressure" ;
    checkup:episodeId "med-episode-lisinopril-001" ;
    checkup:provenanceType "ehr_verified" .

<#supplement-1> a checkup:SupplementSummary ;
    checkup:supplementName "Vitamin D3" ;
    checkup:supplementDose "2000 IU" ;
    checkup:supplementFrequency "once_daily" ;
    checkup:supplementBrand "Nature Made" ;
    checkup:regulatoryStatus "dietarySupplement" ;
    checkup:evidenceStrength "moderateEvidence" ;
    checkup:reasonForUse "bone health" ;
    checkup:doctorAware "true"^^xsd:boolean .

<#issue-1> a checkup:VisitIssue ;
    checkup:issueCategory "cardiovascular" ;
    checkup:issueDescription "Occasional heart palpitations when stressed" ;
    checkup:issuePriority "1"^^xsd:integer ;
    checkup:issueSeverity "mild" .

Integration with Other Vocabularies

  • Core Vocabulary: Uses cascade:schemaVersion and cascade:DataProvenance for versioning and provenance tracking. cascade:DataSource (v1.1) for source identity.
  • Health Vocabulary: checkup:WellnessSummary references health:MetricTrend for Layer 2 wellness trend data. Insight classes link to Layer 2 observations.
  • Clinical Vocabulary: Links to clinical:Medication, clinical:AllergyIntolerance, and clinical:Condition source records imported from Apple Health.
  • POTS Vocabulary: checkup:DiagnosticTestResult can reference pots:POTSCheckResult for orthostatic screening results.
  • FHIR: Maintains alignment with FHIR resource structures for clinical interoperability.

Changelog

Version 1.4 (2026-02-01)

  • Added 5 new Layer 3 insight classes: WellnessSummary, TrendInsight, CorrelationInsight, KeyIndicator, AttentionItem
  • Added VisitPrepSummary class for curated clinical visit preparation
  • Added aggregate links to IntakeFormData: hasWellnessSummary, hasTrendInsight, hasCorrelationInsight, hasKeyIndicator, hasAttentionItem, hasVisitPrepSummary
  • Deprecated VitalSignsTrend — superseded by health:MetricTrend (Layer 2) + checkup:WellnessSummary (Layer 3). Will be removed in v1.5.
  • CorrelationInsight enforces temporal-only language (no causation claims)
  • insightGeneratedBy uses prov:Agent range for both software and human agent provenance
  • Added health: prefix import for cross-layer references to health:MetricTrend

Version 1.3 (2026-01-17)

  • Added EHR Provenance Properties for cross-app medication data portability:
    • ehrSystemName — EHR patient portal identifier
    • ehrOrganization — Healthcare organization name
    • fhirResourceType — FHIR resource type origin
    • lastSyncedFromSource — Sync timestamp
  • Added Medication Classification Properties:
    • relevanceTier — current, needsVerification, historical, filtered
    • therapeuticClass — Pharmacological class
    • tierClassificationReason — Human-readable classification explanation

Version 1.2 (2026-01-15)

  • Added Phase 3 MedicationSummary properties (episodeId, indication, patientCost, functionalImpact, concernsForDoctor)
  • Added doctorAware property for SupplementSummary
  • Updated to align with checkup-adult.shapes.ttl v1.2
  • SHACL shapes now validate MedicationSummary with episode linkage and SupplementSummary with required regulatoryStatus

Version 1.1 (2026-01-15)

  • Added SupplementSummary class for dietary supplements and OTC products
  • Added 12 supplement-specific properties (regulatoryStatus, evidenceStrength, etc.)
  • Added hasSupplement property to IntakeFormData
  • Supplements explicitly separated from medications due to different regulatory status

Version 1.0 (2026-01-03)

  • Initial release with 12 core classes
  • IntakeFormData, PatientProfile, InsuranceInfo, MedicationSummary, AllergySummary, ConditionSummary, FamilyHistoryEntry, VitalSignsTrend, ScreeningStatus, VisitIssue, SuggestedQuestion, DiagnosticTestResult
  • POTS Check integration via DiagnosticTestResult
  • Data provenance properties for source tracking

Important Notes

  • Data Classification: Mix of EHR-verified and consumer-generated data (indicated by provenance)
  • Privacy: All data stored locally in encrypted pods; patient controls sharing
  • PDF Export: Designed to generate professional intake forms for healthcare providers
  • FHIR Alignment: Properties align with FHIR Patient, MedicationStatement, AllergyIntolerance, and Condition resources