FLOW ALGEBRA
TITLE: Medicine Domain Ontology
DOMAIN: Domain Ontologies / Medical Domains / Medicine
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/medical-domains/medicine-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "MedicineDomainOntology" v1.0 {
ontology:
id: "medicine-domain-ontology"
parent: "medical-domains"
purpose: "Represent clinical knowledge, observations, diagnoses, interventions and outcomes with evidence, uncertainty and temporal context."
types:
Patient: {id: string, pseudonymised: boolean}
ClinicalCondition: {id: string, terminology_code: string?, label: string}
Symptom: {id: string, label: string, onset: datetime?}
ClinicalFinding: {id: string, label: string, observed_at: datetime?, provenance: string}
DiagnosticTest: {id: string, kind: string, performed_at: datetime?, provenance: string}
Measurement: {value: number, unit: string, reference_range: string?, uncertainty: number?}
Intervention: {id: string, kind: string, started_at: datetime?, ended_at: datetime?}
Outcome: {id: string, label: string, measured_at: datetime?, provenance: string}
Evidence: {id: string, source: string, quality: string?, published_at: datetime?}
ClinicalAssertion: {id: string, subject: string, predicate: string, object: string, confidence: number, evidence: string[], valid_at: datetime?}
predicates:
has_symptom(patient: Patient, symptom: Symptom)
has_finding(patient: Patient, finding: ClinicalFinding)
suspected_condition(patient: Patient, condition: ClinicalCondition)
diagnosed_with(patient: Patient, condition: ClinicalCondition)
assessed_by(patient: Patient, test: DiagnosticTest)
has_measurement(test: DiagnosticTest, measurement: Measurement)
receives(patient: Patient, intervention: Intervention)
associated_with(condition: ClinicalCondition, symptom: Symptom)
supported_by(assertion: ClinicalAssertion, evidence: Evidence)
has_outcome(patient: Patient, outcome: Outcome)
constraints:
- "Every clinical assertion must have resolvable typed endpoints and provenance."
- "Confidence values must be in [0, 1]."
- "Measurements require explicit units and applicable reference ranges."
- "Association does not establish causation or diagnosis."
- "Symptoms and test results alone must not automatically assert confirmed diagnoses."
- "Clinical observations, diagnoses and treatments are time-dependent."
- "Distinguish suspected, confirmed, ruled-out and historical conditions."
- "Patient data must be minimised, access-controlled and pseudonymised where appropriate."
inference:
rule candidate_condition:
if has_symptom(p,s) and associated_with(c,s)
then candidate_for_review(p,c)
confidence: "evidence-dependent; never auto-confirm diagnosis"
rule test_support:
if assessed_by(p,t) and has_measurement(t,m) and valid(t) and clinically_relevant(m,c)
then evidence_for_assessment(p,c,t)
confidence: "consider sensitivity, specificity, prevalence and uncertainty"
rule outcome_link:
if receives(p,i) and has_outcome(p,o)
then temporally_associated(i,o)
confidence: "do not infer treatment causality without appropriate evidence"
SEMANTIC_EQUIVALENCE:
- "Map accepted terminology identifiers using versioned clinical vocabularies where licensed."
- "Distinguish exact identity, synonymy, broader/narrower concepts and clinical similarity."
- "Preserve context, units, negation, temporal status and terminology version."
CONFIDENCE:
range: [0,1]
factors: [evidence_quality, measurement_uncertainty, diagnostic_performance, temporal_relevance, source_reliability, replication]
policy: "Never inflate certainty by repeated or correlated evidence."
VALIDATION:
- "Check type compatibility, terminology codes, units and provenance."
- "Flag conflicting assertions, implausible measurements and stale evidence."
- "Require human clinical review for consequential diagnostic or treatment decisions."
- "Maintain auditability and appropriate privacy safeguards."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, inference rules and provenance"
note: "Compute at execution; no precomputed digest claimed."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental updates"
steps: [ingest, normalise, validate, compare, reconcile, recompute_inferences, clinical_review, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed clinical knowledge graph with evidence-backed relationships"
outputs: [concept_links, clinical_assertions, uncertainty_annotations, provenance_records, review_flags]
safeguards: [privacy_by_design, no_unsupported_diagnoses, no_automatic_treatment_decisions, preserve_temporal_context, human_oversight]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard