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
Download Code
Copy to Clipboard