Overview
- Namespace URI:
https://ns.cascadeprotocol.org/checkup/v1#- Preferred Prefix:
checkup:- Version:
- 3.0
- 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.
Core Classes (14 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
Deprecated v2.0DEPRECATED: Use cascade:PatientProfile from core.ttl v2.0. Patient demographics promoted to core vocabulary for Solid WebID Profile alignment.
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.4DEPRECATED: 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.
Sub-Concern Classification v2.0
Every checkup: class is annotated with cascade:subConcern to document its functional role within the vocabulary. This self-documenting taxonomy supports migration planning and vocabulary organization.
| Sub-Concern | Description | Classes |
|---|---|---|
| summary | Genuine L3 — aggregates L2 data into patient-facing records | MedicationSummary, SupplementSummary, AllergySummary, ConditionSummary, FamilyHistoryEntry, ImmunizationSummary, LabResultSummary, ProcedureSummary |
| analytics | L3 insights — AI-generated or computed patient-facing analysis | WellnessSummary, TrendInsight, CorrelationInsight, KeyIndicator, AttentionItem, VisitPrepSummary, SuggestedQuestion, DiscussionTopic, MedicationChangeRecord |
| intake | Data collection — captures new patient-reported data | IntakeFormData, VisitIssue, IntakeQuestionnaireResponse, ResponseItem, DiagnosticTestResult |
| self-report | Patient-reported outcomes — subclass of health:SelfReport (WS7 complete) | DailyCheckIn |
| financial | Insurance/billing — migrating to coverage: (WS4) | InsuranceInfo |
| app-config | Application settings — target path /settings/checkup/ (Phase B) | CheckInSettings |
| structural | Technical references, not domain concepts | WellnessProfileReference, ScreeningStatus |
| deprecated | Superseded by other patterns | VitalSignsTrend, WellnessBaseline, ActivitySummary, HealthRecord, ClinicalSummary, ReviewOfSystems, DataProvenance, PatientProfile |
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.
Adherence & Discussion Classes v1.5
Patient-reported adherence tracking and visit discussion preparation. Supports daily medication check-ins and AI-generated discussion topics.
checkup:DailyCheckIn
owl:Class · rdfs:subClassOf health:SelfReport
Patient-reported daily medication adherence check-in capturing response status, missed medications, and optional notes. Extends health:SelfReport base class (v2.1) which provides common self-report properties (reportDate, reportType, completionStatus, reportContext, reportNotes). Apps implement the SelfReportable protocol pattern to bridge Swift models to the ontology.
checkup:DiscussionTopic
owl:Class · rdfs:subClassOf prov:Entity
AI-generated or user-created topic for discussion during a healthcare visit. Topics are derived from medication data, adherence patterns, supplement interactions, or user input.
checkup:CheckInSettings
owl:Class
Application configuration for daily check-in notification scheduling and day-of-week preferences.
Intake Questionnaire Classes v1.6
FHIR-inspired intake questionnaire responses using LOINC panel codes as identifiers and SNOMED CT for coded answers. Uses native Cascade Protocol serialization with a mechanical transformation path to FHIR QuestionnaireResponse JSON for clinical interoperability.
checkup:IntakeQuestionnaireResponse
owl:Class · rdfs:subClassOf prov:Entity
Response to a standardized intake questionnaire section. Uses LOINC panel codes as questionnaire identifiers (e.g., 71421-2 for Social History) and SNOMED CT codes for standardized answers.
checkup:ResponseItem
owl:Class · rdfs:subClassOf prov:Entity
A question-answer pair within an intake questionnaire response. Uses LOINC item codes as link identifiers and SNOMED CT codes for coded answers. Supports nested sub-items via childItem for hierarchical questionnaire structures.
Wellness & Activity Classes v1.7
Aggregated wellness baselines and activity summaries from consumer device data. These classes provide Layer 3 summaries for intake form wellness sections.
checkup:WellnessBaseline
owl:Class · rdfs:subClassOf prov:Entity
v1.7 Deprecated v1.11Aggregated wellness baseline snapshot from consumer device data. Combines resting heart rate, HRV, VO2 Max, walking heart rate, respiratory rate, and walking steadiness into a single measurement point for trend comparison.
Properties: baselineTimestamp, measurementPeriod, restingHeartRate, hrvSDNN, vo2Max, walkingHeartRate, respiratoryRateBaseline, walkingSteadiness
checkup:ActivitySummary
owl:Class · rdfs:subClassOf prov:Entity
v1.7 Deprecated v1.11Aggregated activity and sleep metrics over a measurement period. Layer 3 summary combining steps, exercise, energy, stand hours, and sleep data.
Properties: summaryPeriodStart, summaryPeriodEnd, averageDailySteps, exerciseMinutes, standHours, activeEnergyBurned, sleepDuration, sleepQuality
Clinical Summary Classes v1.7
Patient-facing summaries of clinical data for intake forms. These classes use a mixed namespace pattern where checkup: properties handle app-layer enrichment while clinical: properties provide standardized clinical data.
checkup:ImmunizationSummary
owl:Class · rdfs:subClassOf prov:Entity
v1.7Patient-facing immunization record for intake forms. Uses mixed namespace pattern: checkup: properties for app-layer enrichment (vaccineCategory) alongside clinical data fields.
Properties (16): vaccineName, administrationDate, immunizationStatus, vaccineCode, vaccineCategory, manufacturer, lotNumber, expirationDate, doseNumber, doseQuantity, administrationRoute, administrationSite, administeringProvider, administeringLocation, immunizationNotes, immunizationSourceRecord
checkup:LabResultSummary
owl:Class · rdfs:subClassOf prov:Entity
v1.7Patient-facing lab result summary for intake forms. Uses mixed namespace pattern: checkup:labCategory for app-layer categorization, clinical: properties for standardized lab data.
Properties: labCategory (additional lab data fields use clinical: namespace)
checkup:WellnessProfileReference
owl:Class · rdfs:subClassOf prov:Entity
v1.7Lightweight pointer to the patient's full wellness profile stored in the SDK HealthProfile. Uses rdfs:seeAlso to link to the wellness data file.
checkup:ProcedureSummary
owl:Class · rdfs:subClassOf prov:Entity
v1.8Patient-facing procedure record for intake forms. Uses the mixed namespace pattern: checkup: properties for app-layer fields (procedureName, procedureCategory, procedureLocation), clinical: properties for standardized clinical data (procedureStatus, performedDate, bodySite, performer, outcome, snomedCode, cptCode).
Properties: 4 checkup: + 7 clinical: cross-references
checkup:MedicationChangeRecord
owl:Class · rdfs:subClassOf prov:Entity
v1.9A recorded change to a medication or supplement since the last visit snapshot. Tracked for the "Changes Since Last Visit" report section. Consumed by PlainTextReportGenerator, PatientBriefSections, and ProviderViews.
Properties: 5 (changeType, changedField, changeRecordPreviousValue, changeRecordNewValue, changeDate)
Three-Layer Analysis:
- Layer 1: No standard equivalent. FHIR tracks medication versions via
Provenanceresources but has no discrete change record. - Layer 2: Not applicable — change tracking is app-layer behavior.
- Layer 3:
checkup:MedicationChangeRecord— Cascade-proprietary. Captures deltas between visit snapshots for patient-facing reports.
checkup:VisitPrepTray v3.1
owl:Class · rdfs:subClassOf prov:Entity · cascade:subConcern "intake"
Per-appointment visit preparation container grouping issues, discussion topics, questions, and notes. Uses a typed payload wrapper (VisitItemPayload) to preserve type richness from VisitIssue, DiscussionTopic, and SuggestedQuestion. Interactive input container built before a visit; distinct from checkup:VisitPrepSummary (rendered output).
Properties: 7 on VisitPrepTray (prepTitle, appointmentDate, prepProviderName, specialty, visitPrepStatus, prepCompletedDate, hasTrayItem) + 5 on VisitTrayItem (payloadType, intentCategory, isResolved, sourceSection, sourceRecordId)
Three-Layer Analysis:
- Layer 1: No standard equivalent. FHIR has no visit preparation tray concept. Closest:
Encounter.reasonReferencelinking conditions to appointments. - Layer 2: Not applicable — visit preparation is patient-curated, not clinical or device data.
- Layer 3:
checkup:VisitPrepTray— Cascade-proprietary. Organizes visit prep items by appointment with intent categories: discuss, schedule, inform, ask.
checkup:VisitTrayItem v3.1
owl:Class · rdfs:subClassOf prov:Entity
A typed item within a VisitPrepTray. Wraps existing types (VisitIssue, DiscussionTopic, SuggestedQuestion) or holds note/custom content with an intent category (discuss, schedule, inform, ask) and resolution tracking.
Properties: payloadType, intentCategory, isResolved, sourceSection, sourceRecordId
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
checkup:noteContent v1.7
owl:DatatypeProperty
Free-text notes for visit preparation. Merges previously separate VisitPrepNotes content into VisitPrepSummary.
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
Medication Verification Properties v1.7
checkup:needsVerification
owl:DatatypeProperty
Whether this medication needs patient verification.
Domain: checkup:MedicationSummary
Range: xsd:boolean
checkup:verificationReason
owl:DatatypeProperty
Why verification is needed: historical, duplicate, conflicting_sources.
Domain: checkup:MedicationSummary
Range: xsd:string
checkup:lastVerifiedDate
owl:DatatypeProperty
When the patient last verified this medication.
Domain: checkup:MedicationSummary
Range: xsd:dateTime
checkup:importSessionId
owl:ObjectProperty
Link to the import session that created this medication record.
Domain: checkup:MedicationSummary
Range: xsd:anyURI
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
Suggested Question Properties
checkup:questionText
owl:DatatypeProperty
The suggested question to ask the provider.
Domain: checkup:SuggestedQuestion
Range: xsd:string
checkup:questionCategory
owl:DatatypeProperty
Category: treatment_options, side_effects, prevention, lifestyle, referral, diagnosis, prognosis, medication, screening.
Domain: checkup:SuggestedQuestion
Range: xsd:string
checkup:basedOnCondition / basedOnMedication / basedOnIssue / basedOnTrend
owl:ObjectProperty
Links to the condition, medication, visit issue, or vital signs trend that triggered this question.
Domain: checkup:SuggestedQuestion
Additional Source Properties v1.7
checkup:basedOnTemplate
owl:DatatypeProperty
Template name the question was generated from.
Domain: checkup:SuggestedQuestion
Range: xsd:string
checkup:basedOnScreening
owl:ObjectProperty
Link to the screening record the question relates to.
Domain: checkup:SuggestedQuestion
Range: xsd:anyURI
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
Adherence & Discussion Properties v1.5
DailyCheckIn Properties
checkup:checkInDate
owl:DatatypeProperty
Date of the check-in (normalized to midnight).
Domain: checkup:DailyCheckIn
Range: xsd:dateTime
checkup:checkInResponse
owl:DatatypeProperty
Adherence response: allTaken, missedSome, skippedToday.
Domain: checkup:DailyCheckIn
Range: xsd:string
checkup:missedMedicationIds
owl:DatatypeProperty
Comma-separated UUIDs of missed medications (when response is missedSome).
Domain: checkup:DailyCheckIn
Range: xsd:string
checkup:submittedAt
owl:DatatypeProperty
Timestamp when the check-in was submitted.
Domain: checkup:DailyCheckIn
Range: xsd:dateTime
DiscussionTopic Properties
checkup:topicText
owl:DatatypeProperty
Main discussion topic text.
Domain: checkup:DiscussionTopic
Range: xsd:string
checkup:topicCategory
owl:DatatypeProperty
Category: medication, supplement, adherence, interaction, lifestyle, general.
Domain: checkup:DiscussionTopic
Range: xsd:string
checkup:topicSource
owl:DatatypeProperty
How the topic was generated: ai_generated, user_created, template.
Domain: checkup:DiscussionTopic
Range: xsd:string
checkup:relevanceScore
owl:DatatypeProperty
Computed relevance score (0.0 to 1.0) for prioritizing topics.
Domain: checkup:DiscussionTopic
Range: xsd:decimal
CheckInSettings Properties
checkup:checkInEnabled / notificationHour / notificationMinute / enabledDays
owl:DatatypeProperty
Configuration for daily check-in notifications: enabled state (xsd:boolean), notification hour and minute (xsd:integer), and enabled days of the week (xsd:string).
Domain: checkup:CheckInSettings
Intake Questionnaire Properties v1.6
IntakeQuestionnaireResponse Properties
checkup:questionnaireId
owl:DatatypeProperty
LOINC panel code identifying the questionnaire section (e.g., 71421-2 for Social History).
Domain: checkup:IntakeQuestionnaireResponse
Range: xsd:string
checkup:questionnaireTitle
owl:DatatypeProperty
Human-readable title of the questionnaire section.
Domain: checkup:IntakeQuestionnaireResponse
Range: xsd:string
checkup:responseItem
owl:ObjectProperty
Link to a ResponseItem containing a question-answer pair.
Domain: checkup:IntakeQuestionnaireResponse
Range: checkup:ResponseItem
checkup:completedAt
owl:DatatypeProperty
Timestamp when the questionnaire was completed.
Domain: checkup:IntakeQuestionnaireResponse
Range: xsd:dateTime
ResponseItem Properties
checkup:itemLinkId
owl:DatatypeProperty
LOINC item code identifying the question (e.g., 72166-2 for Tobacco smoking status).
Domain: checkup:ResponseItem
Range: xsd:string
checkup:itemText
owl:DatatypeProperty
Human-readable question display text.
Domain: checkup:ResponseItem
Range: xsd:string
checkup:itemAnswer / itemAnswerCode / itemAnswerCodeSystem
owl:DatatypeProperty
Answer values: free-text answer (xsd:string), coded answer value using SNOMED CT or LOINC (xsd:string), and code system URI (xsd:anyURI, e.g., http://snomed.info/sct/).
Domain: checkup:ResponseItem
checkup:childItem
owl:ObjectProperty
Nested sub-item for hierarchical questionnaire structures.
Domain: checkup:ResponseItem
Range: checkup:ResponseItem
IntakeFormData Links
checkup:hasQuestionnaireResponse
owl:ObjectProperty
Link from IntakeFormData to a completed intake questionnaire response.
Domain: checkup:IntakeFormData
Range: checkup:IntakeQuestionnaireResponse
IntakeFormData Links v1.7
checkup:hasImmunization
owl:ObjectProperty
Link to an immunization summary entry.
Domain: checkup:IntakeFormData
Range: checkup:ImmunizationSummary
checkup:hasLabResult
owl:ObjectProperty
Link to a lab result summary entry.
Domain: checkup:IntakeFormData
Range: checkup:LabResultSummary
checkup:hasWellnessBaseline
owl:ObjectProperty
Link to the wellness baseline snapshot.
Domain: checkup:IntakeFormData
Range: checkup:WellnessBaseline
checkup:hasActivitySummary
owl:ObjectProperty
Link to the activity and sleep summary.
Domain: checkup:IntakeFormData
Range: checkup:ActivitySummary
checkup:hasProcedure v1.8
owl:ObjectProperty
Link to a procedure summary entry.
Domain: checkup:IntakeFormData
Range: checkup:ProcedureSummary
checkup:hasChange v1.9
owl:ObjectProperty
Link from a MedicationSummary or SupplementSummary to a medication change record.
Range: checkup:MedicationChangeRecord
Wellness Baseline Properties v1.7
checkup:baselineTimestamp
owl:DatatypeProperty
Timestamp when this baseline snapshot was computed.
Domain: checkup:WellnessBaseline
Range: xsd:dateTime
checkup:measurementPeriod
owl:DatatypeProperty
Description of the data period used to compute this baseline (e.g., "7 days", "30 days").
Domain: checkup:WellnessBaseline
Range: xsd:string
checkup:restingHeartRate
owl:DatatypeProperty
Average resting heart rate during baseline period (bpm).
Domain: checkup:WellnessBaseline
Range: xsd:double
checkup:hrvSDNN
owl:DatatypeProperty
Average heart rate variability (SDNN) during baseline period (ms).
Domain: checkup:WellnessBaseline
Range: xsd:double
checkup:vo2Max
owl:DatatypeProperty
Most recent VO2 Max value during baseline period (mL/kg/min).
Domain: checkup:WellnessBaseline
Range: xsd:double
checkup:walkingHeartRate
owl:DatatypeProperty
Average walking heart rate during baseline period (bpm).
Domain: checkup:WellnessBaseline
Range: xsd:double
checkup:respiratoryRateBaseline
owl:DatatypeProperty
Average respiratory rate during baseline period (breaths/min).
Domain: checkup:WellnessBaseline
Range: xsd:double
checkup:walkingSteadiness
owl:DatatypeProperty
Walking steadiness classification during baseline period: OK, Low, Very Low.
Domain: checkup:WellnessBaseline
Range: xsd:string
Activity Summary Properties v1.7
checkup:summaryPeriodStart
owl:DatatypeProperty
Start date of the activity summary period.
Domain: checkup:ActivitySummary
Range: xsd:dateTime
checkup:summaryPeriodEnd
owl:DatatypeProperty
End date of the activity summary period.
Domain: checkup:ActivitySummary
Range: xsd:dateTime
checkup:averageDailySteps
owl:DatatypeProperty
Average number of steps per day during the period.
Domain: checkup:ActivitySummary
Range: xsd:integer
checkup:exerciseMinutes
owl:DatatypeProperty
Total or average exercise minutes during the period.
Domain: checkup:ActivitySummary
Range: xsd:integer
checkup:standHours
owl:DatatypeProperty
Average daily stand hours during the period.
Domain: checkup:ActivitySummary
Range: xsd:integer
checkup:activeEnergyBurned
owl:DatatypeProperty
Average daily active energy burned in kcal during the period.
Domain: checkup:ActivitySummary
Range: xsd:double
checkup:sleepDuration
owl:DatatypeProperty
Average sleep duration in hours during the period.
Domain: checkup:ActivitySummary
Range: xsd:double
checkup:sleepQuality
owl:DatatypeProperty
Qualitative sleep quality assessment: good, fair, poor.
Domain: checkup:ActivitySummary
Range: xsd:string
Immunization Summary Properties v1.7
Uses mixed namespace pattern: checkup: properties for app-layer enrichment alongside clinical data fields. 16 properties total.
checkup:vaccineName
owl:DatatypeProperty
Name of the vaccine administered.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:administrationDate
owl:DatatypeProperty
Date the vaccine was administered.
Domain: checkup:ImmunizationSummary
Range: xsd:dateTime
checkup:immunizationStatus
owl:DatatypeProperty
Status: completed, entered-in-error, not-done.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:vaccineCode
owl:DatatypeProperty
CVX vaccine code for standardized identification.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:vaccineCategory
owl:DatatypeProperty
Categorization for intake form display: routine, travel, occupational, other.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:manufacturer
owl:DatatypeProperty
Vaccine manufacturer name.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:lotNumber
owl:DatatypeProperty
Vaccine lot number.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:expirationDate
owl:DatatypeProperty
Vaccine expiration date.
Domain: checkup:ImmunizationSummary
Range: xsd:date
checkup:doseNumber
owl:DatatypeProperty
Dose sequence number in multi-dose series.
Domain: checkup:ImmunizationSummary
Range: xsd:integer
checkup:doseQuantity
owl:DatatypeProperty
Dose quantity administered.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:administrationRoute
owl:DatatypeProperty
Route of vaccine administration: intramuscular, subcutaneous, oral, etc.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:administrationSite
owl:DatatypeProperty
Body site where vaccine was administered: left arm, right arm, etc.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:administeringProvider
owl:DatatypeProperty
Name of the provider who administered the vaccine.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:administeringLocation
owl:DatatypeProperty
Location where vaccine was administered.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:immunizationNotes
owl:DatatypeProperty
Additional notes about the immunization.
Domain: checkup:ImmunizationSummary
Range: xsd:string
checkup:immunizationSourceRecord
owl:ObjectProperty
Link to the source clinical:Immunization record.
Domain: checkup:ImmunizationSummary
Range: xsd:anyURI
Procedure Summary Properties v1.8
Uses mixed namespace pattern: checkup: for app-layer fields, clinical: for standardized clinical data (defined in clinical.ttl).
checkup:procedureName
owl:DatatypeProperty
Name of the medical procedure.
Domain: checkup:ProcedureSummary
Range: xsd:string
checkup:procedureCategory
owl:DatatypeProperty
Categorization for intake form display: surgical, diagnostic, therapeutic, other.
Domain: checkup:ProcedureSummary
Range: xsd:string
checkup:procedureLocation
owl:DatatypeProperty
Facility or location where the procedure was performed.
Domain: checkup:ProcedureSummary
Range: xsd:string
checkup:procedureSourceRecord
owl:ObjectProperty
Link to the source clinical:Procedure record.
Domain: checkup:ProcedureSummary
Range: xsd:anyURI
Cross-referenced clinical: properties: procedureStatus, performedDate, bodySite, performer, outcome, procedureSnomedCode, cptCode
Medication Change Record Properties v1.9
Tracks changes to medications and supplements between visit snapshots for the "Changes Since Last Visit" report section.
checkup:changeType
owl:DatatypeProperty
Type of change: added, stopped, doseChanged, frequencyChanged, adherenceChanged, statusChanged.
Domain: checkup:MedicationChangeRecord
Range: xsd:string
checkup:changedField
owl:DatatypeProperty
Name of the field that was changed (e.g., dose, frequency).
Domain: checkup:MedicationChangeRecord
Range: xsd:string
checkup:changeRecordPreviousValue
owl:DatatypeProperty
Value of the field before the change.
Domain: checkup:MedicationChangeRecord
Range: xsd:string
checkup:changeRecordNewValue
owl:DatatypeProperty
Value of the field after the change.
Domain: checkup:MedicationChangeRecord
Range: xsd:string
checkup:changeDate
owl:DatatypeProperty
Date when the change occurred.
Domain: checkup:MedicationChangeRecord
Range: xsd:dateTime
Lab Result Summary Properties v1.7
Uses mixed namespace pattern: checkup:labCategory for app-layer categorization. Standardized lab data fields use clinical: namespace properties.
checkup:labCategory
owl:DatatypeProperty
Intake form display category: metabolic, hematology, lipid, thyroid, vitamin, other.
Domain: checkup:LabResultSummary
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:schemaVersionandcascade:DataProvenancefor versioning and provenance tracking.cascade:DataSource(v1.1) for source identity. - Health Vocabulary:
checkup:WellnessSummaryreferenceshealth:MetricTrendfor Layer 2 wellness trend data. Insight classes link to Layer 2 observations. - Clinical Vocabulary: Links to
clinical:Medication,clinical:AllergyIntolerance, andclinical:Conditionsource records imported from Apple Health. - POTS Vocabulary:
checkup:DiagnosticTestResultcan referencepots:POTSCheckResultfor orthostatic screening results. - FHIR: Maintains alignment with FHIR resource structures for clinical interoperability.
IntakeQuestionnaireResponse(v1.6) is structurally inspired by FHIR QuestionnaireResponse with a mechanical transformation path.
SHACL Validation Shapes
Validation shapes for this vocabulary are defined in
checkup.shapes.ttl (v2.0).
The shapes file validates all active checkup classes and their required properties. Key shapes include:
checkup:IntakeFormDataShape— Validates the top-level intake form aggregate with required linkscheckup:MedicationSummaryShape— Validates medication summaries with episode linkagecheckup:SupplementSummaryShape— Validates supplement summaries with required regulatoryStatuscheckup:IntakeQuestionnaireResponseShape— Validates FHIR-inspired questionnaire responsescheckup:ResponseItemShape— Validates questionnaire response items with nested sub-items
In v2.0 of the shapes file, shapes for the 8 deprecated classes removed in checkup v3.0 have been dropped, ensuring validation only targets active vocabulary terms.
Changelog
Version 3.1 (2026-02-22)
- Added
checkup:VisitPrepTrayclass (7 properties:prepTitle,appointmentDate,prepProviderName,specialty,visitPrepStatus,prepCompletedDate,hasTrayItem) for per-appointment visit preparation containers - Added
checkup:VisitTrayItemclass (5 properties:payloadType,intentCategory,isResolved,sourceSection,sourceRecordId) for typed items within a tray - Added
checkup:hasVisitPrepObjectProperty andcheckup:activeVisitPrepIdDatatypeProperty as aggregate links onIntakeFormData - Active classes: 28 (was 27). Part of Health Map v3 Pre-Phase Track A (Task A7).
Version 3.0 (2026-02-18)
- Removed 8 deprecated classes:
PatientProfile,InsuranceInfo,VitalSignsTrend,WellnessBaseline,ActivitySummary,ScreeningStatus,FamilyHistoryEntry,DiagnosticTestResult - Clean break: all deprecated classes now fully removed from
checkup.ttl(previously markedowl:deprecated true) - Demographics via
cascade:PatientProfile(core v2.0+), insurance viacoverage:InsurancePlan(coverage v1.0) - Updated
checkup.shapes.ttlto v2.0 — shapes for removed classes dropped - Part of Schema Refactoring Plan Phase 4 (CLN1)
Version 2.2 (2026-02-17)
- Updated
InsuranceInfoclass comment to referencecoverage:namespace properties - Version bump to match
checkup.ttlowl:versionInfo - Part of Schema Refactoring Plan Phase 3 (WS4 integration)
Version 2.1 (2026-02-17)
DailyCheckInnowrdfs:subClassOf health:SelfReport(wasprov:Entity)- Base self-report properties (
reportDate,reportType,completionStatus,reportContext,reportNotes) promoted tohealth:namespace viahealth:SelfReportbase class - Apps implement the SelfReportable protocol pattern to bridge Swift models to the ontology
- Part of Schema Refactoring Plan Phase 3 (WS7)
Version 2.0 (2026-02-17)
- Deprecated
checkup:PatientProfile(usecascade:PatientProfilefrom core.ttl) - Deprecated 8 Tier 3 patient profile properties (
preferredLanguage,maritalStatus,raceEthnicity,preferredPharmacy,hasLivingWill,hasPowerOfAttorney,hasDNR,advanceDirectiveNotes) — migrated tocascade:/dct:namespace - Part of Schema Refactoring Plan Phase 3 (WS6a)
Version 1.11 (2026-02-18)
- Updated
InsuranceInfoclass comment to referencecoverage:namespace for mixed namespace pattern - Part of Schema Refactoring Plan Phase 2 (WS4)
Version 1.10 (2026-02-17)
- Added
cascade:subConcernannotations to all classes for functional role classification - Added Sub-Concern Classification table documenting 9 sub-concern categories across all classes
- Deprecated
WellnessBaselineandActivitySummary(sub-concern: deprecated) - Part of Schema Refactoring Plan Phase 1 (WS2)
Version 1.9 (2026-02-10)
- Added
MedicationChangeRecordclass for tracking medication/supplement changes between visit snapshots (5 properties) - Added
hasChangelink onMedicationSummaryandSupplementSummary - Enables persistence of "Changes Since Last Visit" report data across save/reload cycles
- Property names prefixed (
changeRecordPreviousValue,changeRecordNewValue) to avoid collision withVitalSignsTrendproperties
Version 1.8 (2026-02-10)
- Added
ProcedureSummaryclass with mixed namespace pattern (4checkup:properties + 7clinical:cross-references) - Added
hasProcedureaggregate link onIntakeFormData - Added procedure serialization and deserialization in
CheckupSerializer/CheckupDeserializer
Version 1.7 (2026-02-10)
- Added 5 new classes:
WellnessBaseline,ActivitySummary,ImmunizationSummary,LabResultSummary,WellnessProfileReference WellnessBaseline: aggregated vital sign baseline with 8 propertiesActivitySummary: combined activity/sleep metrics with 8 propertiesImmunizationSummary: patient-facing vaccine summary with 16 properties (mixed namespace pattern)LabResultSummary: patient-facing lab summary withlabCategory(usesclinical:properties for standardized data)WellnessProfileReference: lightweight pointer to full wellness profile- Added
noteContenttoVisitPrepSummary(merges VisitPrepNotes) - Added 4
MedicationSummaryverification properties - Added 2
SuggestedQuestionsource properties - Added 4
IntakeFormDataaggregate links for new classes
Version 1.6 (2026-02-09)
- Added 2 new classes:
IntakeQuestionnaireResponse,ResponseItem - FHIR-inspired questionnaire container using LOINC panel codes as identifiers and SNOMED CT for coded answers
- ResponseItem supports nested sub-items via
childItemfor hierarchical questionnaire structures - Added 10 new properties:
questionnaireId,questionnaireTitle,responseItem,completedAt,itemLinkId,itemText,itemAnswer,itemAnswerCode,itemAnswerCodeSystem,childItem - Added
hasQuestionnaireResponselink from IntakeFormData - Follows "established vocabularies first" principle: LOINC/SNOMED as actual vocabulary,
checkup:as minimal container - Mechanical transformation path to FHIR QuestionnaireResponse JSON preserved for clinical interoperability
- SHACL shapes added:
IntakeQuestionnaireResponseShape,ResponseItemShape
Version 1.5 (2026-02-07)
- Added 3 new classes:
DailyCheckIn,DiscussionTopic,CheckInSettings - DailyCheckIn: patient-reported daily medication adherence tracking with response status and missed medication IDs
- DiscussionTopic: AI-generated or user-created visit discussion topics with relevance scoring and source tracking
- CheckInSettings: notification scheduling configuration for daily adherence reminders
- Added 17 new properties for adherence tracking, discussion topics, and notification settings
- Added
hasDailyCheckIn,hasDiscussionTopic,hasCheckInSettingslinks from IntakeFormData
Version 1.4 (2026-02-01)
- Added 5 new Layer 3 insight classes:
WellnessSummary,TrendInsight,CorrelationInsight,KeyIndicator,AttentionItem - Added
VisitPrepSummaryclass for curated clinical visit preparation - Added aggregate links to
IntakeFormData:hasWellnessSummary,hasTrendInsight,hasCorrelationInsight,hasKeyIndicator,hasAttentionItem,hasVisitPrepSummary - Deprecated
VitalSignsTrend— superseded byhealth:MetricTrend(Layer 2) +checkup:WellnessSummary(Layer 3). Will be removed in v1.5. CorrelationInsightenforces temporal-only language (no causation claims)insightGeneratedByusesprov:Agentrange for both software and human agent provenance- Added
health:prefix import for cross-layer references tohealth:MetricTrend
Version 1.3 (2026-01-17)
- Added EHR Provenance Properties for cross-app medication data portability:
ehrSystemName— EHR patient portal identifierehrOrganization— Healthcare organization namefhirResourceType— FHIR resource type originlastSyncedFromSource— Sync timestamp
- Added Medication Classification Properties:
relevanceTier— current, needsVerification, historical, filteredtherapeuticClass— Pharmacological classtierClassificationReason— Human-readable classification explanation
Version 1.2 (2026-01-15)
- Added Phase 3 MedicationSummary properties (
episodeId,indication,patientCost,functionalImpact,concernsForDoctor) - Added
doctorAwareproperty for SupplementSummary - Updated to align with checkup.shapes.ttl v1.2
- SHACL shapes now validate MedicationSummary with episode linkage and SupplementSummary with required regulatoryStatus
Version 1.1 (2026-01-15)
- Added
SupplementSummaryclass for dietary supplements and OTC products - Added 12 supplement-specific properties (
regulatoryStatus,evidenceStrength, etc.) - Added
hasSupplementproperty 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