Overview

Namespace URI:
https://ns.cascadeprotocol.org/clinical/v1#
Preferred Prefix:
clinical:
Version:
1.4
Status:
Stable
Schema File:
clinical.ttl (Turtle/RDF)
SHACL Shapes:
clinical.shapes.ttl

The Clinical Vocabulary provides a comprehensive schema for representing clinical documents and structured health records imported from EHR systems via Apple HealthKit. It supports both narrative clinical documents (progress notes, discharge summaries) and structured records (medications, allergies, lab results, conditions, immunizations, procedures, and vital signs).

All classes align with HL7 FHIR resources and use standard healthcare terminologies including LOINC, SNOMED CT, RxNorm, and ICD-10.

Download TTL Download SHACL Back to Documentation

Document Classes

Classes for representing clinical documents and their structure.

clinical:ClinicalDocument

owl:Class

Clinical documentation imported from EHR systems, including narratives and structured data.

Subclass of: fhir:DocumentReference, prov:Entity

clinical:ProgressNote

owl:Class

Provider progress note documenting a patient encounter.

Subclass of: clinical:ClinicalDocument

LOINC: 11506-3

clinical:DischargeSummary

owl:Class

Hospital discharge summary document.

Subclass of: clinical:ClinicalDocument

LOINC: 18842-5

clinical:LaboratoryReport

owl:Class

Laboratory test results with narrative interpretation.

Subclass of: clinical:ClinicalDocument, fhir:DiagnosticReport

clinical:ClinicalSection

owl:Class

Section within a clinical document (e.g., History of Present Illness, Assessment, Plan).

Structured Record Classes

Classes for representing discrete clinical data elements from EHR systems.

clinical:Medication

owl:Class

Medication record from EHR MedicationStatement or MedicationRequest resource.

Subclass of: fhir:MedicationStatement, prov:Entity

Key Properties: drugName, dosage, route, frequency, rxNormCode, prescriber, indication, courseOfTherapyType

FHIR-Enriched Properties (v1.3): medicationForm, activeIngredient, ingredientStrength, asNeeded, refillsAllowed, supplyDurationDays, dispensedQuantity, prescriptionCategory, provenanceClass, sourceFhirResourceType, clinicalIntent

clinical:Allergy

owl:Class

Allergy or intolerance record from EHR AllergyIntolerance resource.

Subclass of: fhir:AllergyIntolerance, prov:Entity

Key Properties: allergen, reaction, severity, criticality

clinical:LabResult

owl:Class

Laboratory test result from EHR Observation resource.

Subclass of: fhir:Observation, prov:Entity

Key Properties: testName, value, unit, referenceRange, interpretation, loincCode

New Properties (v1.4): orderingProvider, performingLab, observationStatus, sourceRecordId, panelMembership, referenceRangeLow, referenceRangeHigh, referenceRangeText, issuedDate

clinical:Condition

owl:Class

Medical condition or diagnosis from EHR Condition resource.

Subclass of: fhir:Condition, prov:Entity

Key Properties: conditionName, onsetDate, clinicalStatus, icd10Code, snomedCode

clinical:Immunization

owl:Class

Vaccination record from EHR Immunization resource.

Subclass of: fhir:Immunization, prov:Entity

Key Properties: vaccineName, vaccineCode, lotNumber, manufacturer, doseNumber

clinical:Procedure

owl:Class

Medical procedure record from EHR Procedure resource.

Subclass of: fhir:Procedure, prov:Entity

Key Properties: procedureName, procedureDate, bodySite, cptCode, snomedCode

clinical:VitalSign

owl:Class

Vital sign observation (heart rate, blood pressure, temperature, etc.) from EHR.

Subclass of: fhir:Observation, prov:Entity

Key Properties: vitalType, value, unit, systolicValue, diastolicValue

Longitudinal Record Classes v1.2

Classes for tracking health data over time with reconciliation and episode management.

clinical:MedicationUseEpisode

owl:Class

Canonical longitudinal record of patient's relationship with a medication over time. Derived from one or more source records via reconciliation. Episodes represent continuous periods of use—a gap beyond threshold (90 days) creates a new episode.

Subclass of: prov:Entity

Key Properties: canonicalName, episodeFirstSeenDate, episodeLastSeenDate, currentDose, inferredStatus, statusConfidence, usePattern, therapeuticClass

clinical:LabTestSeries v1.4

owl:Class

Longitudinal record of repeated measurements of the same laboratory test (identified by LOINC code) over time. The lab equivalent of MedicationUseEpisode. Unlike medication episodes where a 90-day gap creates a new episode, lab tests have no gap concept — one series per LOINC code per patient.

Subclass of: prov:Entity

Identity Properties: canonicalTestName, testLoincCode, testConceptUri, seriesCategory

Longitudinal Tracking: firstResultDate, lastResultDate, resultCount

Current State: latestValue, latestUnit, latestInterpretation

Trend Inference: trendDirection, trendConfidence, trendReason

Reference Range: currentReferenceRange, currentReferenceRangeLow, currentReferenceRangeHigh

Source Linkage: derivedFromRecord, hasAbnormalHistory, hasUnresolvedConflicts, seriesPanelMembership

clinical:Supplement

owl:Class

Dietary supplement, OTC product, or herbal remedy with explicit regulatory status. Separate from Medication class due to different regulatory status and evidence requirements.

Subclass of: prov:Entity

Key Properties: supplementName, regulatoryStatus, evidenceStrength, brand, form, dsldId, reasonForUse

Note: Supplements do NOT create episodes (different regulatory status from FDA-approved medications).

Key Data Properties

Document Metadata

clinical:importedAt

owl:DatatypeProperty

ISO 8601 timestamp when document was imported from Apple Health.

Range: xsd:dateTime

clinical:sourceEHR

owl:DatatypeProperty

Name of the source EHR system (e.g., 'Epic MyChart', 'Cerner').

Range: xsd:string

clinical:fhirResourceId

owl:DatatypeProperty

Original FHIR resource identifier from the source system.

Range: xsd:string

Terminology Codes

clinical:loincCode

owl:DatatypeProperty

LOINC code for the clinical concept.

Example: "2085-9" (HDL Cholesterol)

clinical:snomedCode

owl:DatatypeProperty

SNOMED CT code for the clinical concept.

Example: "73211009" (Diabetes mellitus)

clinical:icd10Code

owl:DatatypeProperty

ICD-10-CM diagnosis code.

Example: "E11.9" (Type 2 diabetes without complications)

clinical:rxNormCode

owl:DatatypeProperty

RxNorm code for medications.

Example: "197361" (Metformin 500mg)

Usage Example

@prefix clinical: <https://ns.cascadeprotocol.org/clinical/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#> .

# Medication record example (v1.3 — full FHIR enrichment)
<#med-metformin-123> a clinical:Medication ;
    cascade:schemaVersion "1.3" ;
    cascade:dataProvenance cascade:ClinicalGenerated ;
    clinical:drugName "Metformin HCl 500 MG Oral Tablet" ;
    clinical:dosage "500 mg" ;
    clinical:route "oral" ;
    clinical:frequency "twice daily" ;
    clinical:rxNormCode "197361" ;
    clinical:status "active" ;
    clinical:prescriber "Dr. Sarah Johnson" ;
    clinical:indication "Type 2 Diabetes" ;
    clinical:courseOfTherapyType "continuous" ;
    clinical:medicationForm "Tablet" ;
    clinical:activeIngredient "Metformin hydrochloride" ;
    clinical:ingredientStrength "500 mg" ;
    clinical:asNeeded false ;
    clinical:refillsAllowed 3 ;
    clinical:supplyDurationDays 90 ;
    clinical:dispensedQuantity "90 tablets" ;
    clinical:prescriptionCategory "community" ;
    clinical:provenanceClass "healthKitFHIR" ;
    clinical:sourceFhirResourceType "MedicationRequest" ;
    clinical:clinicalIntent "prescribed" ;
    clinical:sourceEHR "Epic MyChart" ;
    prov:wasAttributedTo <https://id.cascadeprotocol.org/users/abc123> .

# Lab result example (v1.4 — full metadata)
<#lab-a1c-456> a clinical:LabResult ;
    cascade:schemaVersion "1.4" ;
    cascade:dataProvenance cascade:ClinicalGenerated ;
    clinical:testName "Hemoglobin A1c" ;
    clinical:value "6.5" ;
    clinical:unit "%" ;
    clinical:referenceRange "4.0-5.6 %" ;
    clinical:referenceRangeLow "4.0"^^xsd:decimal ;
    clinical:referenceRangeHigh "5.6"^^xsd:decimal ;
    clinical:interpretation "H" ;
    clinical:observationStatus "final" ;
    clinical:loincCode "4548-4" ;
    clinical:effectiveDate "2025-12-15T08:30:00Z"^^xsd:dateTime ;
    clinical:issuedDate "2025-12-15T14:22:00Z"^^xsd:dateTime ;
    clinical:orderingProvider "Dr. Sarah Johnson" ;
    clinical:performingLab "Quest Diagnostics" ;
    clinical:sourceRecordId "obs-a1c-20251215-001" ;
    clinical:sourceEHR "Epic MyChart" ;
    clinical:provenanceClass "healthKitFHIR" .

# Lab test series example (v1.4 — longitudinal tracking)
<#series-a1c> a clinical:LabTestSeries ;
    cascade:schemaVersion "1.4" ;
    clinical:canonicalTestName "Hemoglobin A1C" ;
    clinical:testLoincCode "4548-4" ;
    clinical:seriesCategory "diabetes" ;
    clinical:firstResultDate "2024-06-15T08:00:00Z"^^xsd:dateTime ;
    clinical:lastResultDate "2025-12-15T08:30:00Z"^^xsd:dateTime ;
    clinical:resultCount "4"^^xsd:integer ;
    clinical:latestValue "6.5" ;
    clinical:latestUnit "%" ;
    clinical:latestInterpretation "H" ;
    clinical:trendDirection "increasing" ;
    clinical:trendConfidence "high" ;
    clinical:trendReason "3-point upward trend over 18 months" ;
    clinical:hasAbnormalHistory true ;
    clinical:currentReferenceRange "4.0-5.6 %" ;
    clinical:currentReferenceRangeLow "4.0"^^xsd:decimal ;
    clinical:currentReferenceRangeHigh "5.6"^^xsd:decimal ;
    clinical:derivedFromRecord <#lab-a1c-456> .

FHIR Alignment

The Clinical Vocabulary aligns with HL7 FHIR R4 resources to ensure interoperability with healthcare systems:

Clinical Class FHIR Resource
clinical:Medication MedicationStatement
clinical:Allergy AllergyIntolerance
clinical:LabResult Observation
clinical:Condition Condition
clinical:Immunization Immunization
clinical:Procedure Procedure
clinical:VitalSign Observation (vital-signs profile)
clinical:ClinicalDocument DocumentReference
clinical:MedicationUseEpisode v1.2 Derived from MedicationStatement
clinical:Supplement v1.2 No direct FHIR equivalent (non-prescription)
clinical:LabTestSeries v1.4 Derived from Observation (longitudinal grouping by LOINC code)

SHACL Validation

The vocabulary includes SHACL shapes for data validation. Use the shapes file to validate clinical records:

  • Required property constraints (e.g., medications must have drugName)
  • Datatype constraints (e.g., dates must be xsd:dateTime)
  • Value range constraints (e.g., severity must be mild/moderate/severe)

Download SHACL shapes for integration with your validation pipeline.

Data Provenance

All clinical records use cascade:ClinicalGenerated provenance to indicate EHR-verified data:

  • Source: Apple HealthKit HKClinicalRecord API
  • Origin: Patient portals (Epic MyChart, Cerner, etc.)
  • Classification: Clinical-generated, EHR-verified
  • Privacy: May contain PHI - encrypted storage required

Changelog

Version 1.4 (2026-01-28)

  • Added 5 new lab result properties for enhanced metadata
    • orderingProvider, performingLab, observationStatus (clinical context)
    • sourceRecordId (FHIR traceability)
    • panelMembership (panel container back-reference)
  • Added structured reference range properties: referenceRangeLow, referenceRangeHigh, referenceRangeText
  • Added issuedDate for result issuance timestamp
  • Added clinical:LabTestSeries class for longitudinal lab result tracking
    • Lab equivalent of MedicationUseEpisode — one series per LOINC code per patient
    • 20 properties for identity, trending, reference ranges, and source linkage
    • Trend inference with confidence and explainable reason
    • No gap-based splitting (unlike medication episodes)
  • Extended derivedFromRecord, sourceExternalId, and hasUnresolvedConflicts domains to include LabTestSeries
  • Extended sourceEHR and provenanceClass domains to include LabResult

Version 1.3 (2026-01-26)

  • Added 14 medication enrichment properties from FHIR extraction pipeline
    • Tier 1 (Clinical Detail): prescriber, indication, courseOfTherapyType, asNeeded, medicationForm, activeIngredient, ingredientStrength
    • Tier 1 (Provenance): provenanceClass, sourceFhirResourceType, clinicalIntent
    • Tier 2 (Dispensing): refillsAllowed, supplyDurationDays, dispensedQuantity, prescriptionCategory
  • SHACL shapes with enumerated value constraints for courseOfTherapyType, provenanceClass, sourceFhirResourceType, clinicalIntent, prescriptionCategory
  • Full end-to-end FHIR extraction pipeline: JSON → MedicationSummary → MedicationRecord → TTL
  • Previously-defined but unpopulated terms (ndcCode, snomedCode) now extracted from FHIR

Version 1.2 (2026-01-15)

  • Added MedicationUseEpisode class for longitudinal medication tracking
    • Represents continuous periods of medication use
    • Links to source MedicationRecord(s) via derivedFromRecord
    • Includes inferred status with explainable confidence/reason
    • Supports multi-system drug coding (RxNorm, NDC, SNOMED, ATC)
  • Added Supplement class for dietary supplements and OTC products
    • Explicit regulatoryStatus (dietarySupplement, otcDrug, homeopathic, herbalRemedy)
    • evidenceStrength property for clinical evidence level
    • DSLD integration for NIH supplement database
  • Added ~25 new data properties for episode and supplement serialization
  • Episode identity rules: gap > 90 days creates new episode
  • Supplements intentionally do NOT create episodes (different regulatory status)

Version 1.1 (2026-01-01)

  • Added 7 structured clinical record classes: Medication, Allergy, LabResult, Condition, Immunization, Procedure, VitalSign
  • Added ~50 data properties for structured records
  • Added vital sign component properties for multi-value observations (blood pressure)
  • Added SHACL shapes for all structured record types
  • Validated with OWL-RL reasoner (no inconsistencies)
  • Validated with Apache Jena SHACL validator

Version 1.0 (2025-12-26)

  • Initial release with document-centric vocabulary
  • ClinicalDocument and subtypes (ProgressNote, DischargeSummary, etc.)
  • ClinicalSection for document structure
  • Document metadata properties (importedAt, sourceEHR, etc.)
  • Narrative content properties