Skip to main content

Clinical Medicine Domain Ontology

Medical Domains
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 10 October 2026
Audio Overview
FLOW ALGEBRA
TITLE: Clinical Medicine Domain Ontology
DOMAIN: Domain Ontologies / Medical Domains / Clinical Medicine
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/medical-domains/clinical-medicine-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.

flow "ClinicalMedicineDomainOntology" v1.0 {
  ontology:
    id: "clinical-medicine-domain-ontology"
    parent: "medical-domains"
    purpose: "Represent clinical encounters, findings, diagnoses, interventions, outcomes and supporting evidence with explicit temporal and uncertainty constraints."

  types:
    Patient: {id: string, pseudonymised: bool, consent_scope: string?}
    Clinician: {id: string, role: string, credential_source: string?}
    Encounter: {id: string, patient_id: string, start: datetime, end: datetime?, setting: string}
    Condition: {id: string, terminology_code: string?, status: enum[suspected, confirmed, ruled_out, resolved, unknown]}
    ClinicalFinding: {id: string, kind: enum[symptom, sign, measurement, laboratory_result, imaging_finding], observed_at: datetime, value: string?, unit: string?, provenance: string}
    DiagnosticTest: {id: string, method: string, specimen: string?, performed_at: datetime?, reference_range: string?}
    Intervention: {id: string, kind: enum[medication, procedure, counselling, monitoring, other], status: string, timestamp: datetime?}
    Outcome: {id: string, measure: string, value: string?, assessed_at: datetime, provenance: string}
    Evidence: {id: string, source: string, quality: string?, publication_date: datetime?}
    ClinicalRelationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence_ids: string[]}

  predicates:
    has_encounter(patient: Patient, encounter: Encounter)
    observed_during(finding: ClinicalFinding, encounter: Encounter)
    suggests(finding: ClinicalFinding, condition: Condition)
    diagnosed_during(condition: Condition, encounter: Encounter)
    ordered_during(test: DiagnosticTest, encounter: Encounter)
    performed_during(intervention: Intervention, encounter: Encounter)
    evaluates(outcome: Outcome, intervention: Intervention)
    supported_by(relationship: ClinicalRelationship, evidence: Evidence)

  constraints:
    - "All relationship endpoints must resolve to typed entities."
    - "Confidence values must be within [0,1] and must not be interpreted as calibrated clinical probabilities without validation."
    - "A symptom or isolated test result must not automatically establish a diagnosis."
    - "Distinguish suspected, confirmed, ruled-out and historical conditions."
    - "Measurements must preserve units, reference ranges, sampling context and timestamps when applicable."
    - "Temporal association alone does not establish treatment efficacy or causality."
    - "Protect patient confidentiality and enforce consent, purpose limitation and access controls."
    - "Clinical assertions must retain their source, encounter and relevant uncertainty."

  inference:
    rule encounter_context:
      if observed_during(f,e) and has_encounter(p,e)
      then finding_context(f,p,e)
      confidence: "retain observation provenance; do not infer diagnosis"
    rule evidence_trace:
      if supported_by(r,ev) and valid(ev)
      then traceable_claim(r,ev)
      confidence: "source-quality dependent"
    rule outcome_association:
      if evaluates(o,i) and valid(o) and valid(i)
      then outcome_associated_with_intervention(o,i)
      confidence: "association only; causal efficacy requires separate evidence"

  SEMANTIC_EQUIVALENCE:
    - "Map clinical terminology using versioned, licensed vocabularies where applicable."
    - "Distinguish synonymy, coding correspondence, diagnostic similarity and identity."
    - "Preserve laterality, severity, temporal status and encounter context."

  CONFIDENCE:
    range: [0,1]
    factors: [source_reliability, diagnostic_uncertainty, measurement_quality, recency, evidence_strength, population_applicability]
    policy: "Do not increase certainty solely by chaining dependent findings or duplicating sources."

  VALIDATION:
    - "Check identifiers, types, clinical terminology versions and provenance."
    - "Check temporal order, measurement units, reference ranges and missing values."
    - "Flag conflicting findings and incompatible diagnostic statuses without silently overwriting them."
    - "Require human clinical review for consequential interpretations."

  FLOW_HASH:
    algorithm: "SHA-256"
    input: "canonicalised ontology version, typed assertions, inference rules and provenance"
    note: "Compute hash at execution; no hash value is claimed here."

  UPDATE_MODEL:
    strategy: "versioned, provenance-preserving incremental update"
    steps: [ingest, deidentify_or_authorise, normalise, validate, reconcile, recompute_inferences, review, publish]
    rollback: true

  AI_CONSUMPTION:
    representation: "typed, temporally contextualised clinical knowledge graph"
    outputs: [clinical_entity_links, evidence_backed_relationships, uncertainty_annotations, provenance_records, validation_flags]
    safeguards: [privacy_controls, no_unsupported_diagnoses, no_unsupported_causal_claims, human_review, preserve_temporal_context]
}

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ