FLOW ALGEBRA
TITLE: Surgery Domain Ontology
DOMAIN: Domain Ontologies / Medical Domains / Surgery
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/medical-domains/surgery-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "SurgeryDomainOntology" v1.0 {
ontology:
id: "surgery-domain-ontology"
parent: "medical-domains"
purpose: "Represent surgical procedures, clinical indications, anatomical targets, teams, safety checks, observations, complications and outcomes with evidence and temporal context."
types:
Patient: {id: string}
Encounter: {id: string, patient_id: string, timestamp: datetime?, setting: string?}
Procedure: {id: string, name: string, code: string?, code_system: string?, status: enum[planned, in_progress, completed, cancelled, unknown]}
AnatomicalStructure: {id: string, name: string, terminology_id: string?}
ClinicalCondition: {id: string, name: string, terminology_id: string?}
Practitioner: {id: string, role: string, credential_source: string?}
Device: {id: string, kind: string, identifier: string?}
Intervention: {id: string, kind: string, timestamp: datetime?}
Observation: {id: string, kind: string, value: string, unit: string?, timestamp: datetime?, provenance: string}
Outcome: {id: string, kind: string, observed_at: datetime?, follow_up_window: string?, provenance: string}
Complication: {id: string, kind: string, severity: string?, observed_at: datetime?, provenance: string}
SafetyCheck: {id: string, kind: string, result: enum[pass, fail, unknown], timestamp: datetime?, provenance: string}
Evidence: {id: string, source: string, collected_at: datetime?, reliability: number?}
Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}
predicates:
indicated_for(procedure: Procedure, condition: ClinicalCondition)
targets(procedure: Procedure, structure: AnatomicalStructure)
performed_during(procedure: Procedure, encounter: Encounter)
performed_by(procedure: Procedure, practitioner: Practitioner)
uses_device(procedure: Procedure, device: Device)
includes_intervention(procedure: Procedure, intervention: Intervention)
has_observation(encounter: Encounter, observation: Observation)
has_safety_check(procedure: Procedure, check: SafetyCheck)
has_outcome(procedure: Procedure, outcome: Outcome)
has_complication(procedure: Procedure, complication: Complication)
supported_by(relationship: Relationship, evidence: Evidence)
constraints:
- "All relationship endpoints must resolve to declared, correctly typed entities."
- "Confidence and evidence reliability, when present, must be within [0, 1]."
- "Distinguish planned, performed and completed procedures; do not infer completion from scheduling."
- "Preserve patient and encounter boundaries; do not merge records on name similarity."
- "Observations with numeric quantities require units and measurement context."
- "Clinical timestamps must preserve timezone or explicit temporal reference when known."
- "Do not infer surgical indication, effectiveness or causation from co-occurrence alone."
- "Absence of recorded complications does not establish absence of complications."
- "Access to patient-linked data requires applicable authorisation and privacy controls."
inference:
rule procedure_encounter_link:
if performed_during(p,e) and valid(p) and valid(e)
then encounter_contains_procedure(e,p)
confidence: "inherit supporting evidence; preserve procedure status"
rule anatomical_context:
if targets(p,a) and performed_during(p,e)
then anatomical_context_of(e,a)
confidence: "derived context only; not evidence of pathology"
rule safety_check_review:
if has_safety_check(p,c) and c.result == fail
then requires_safety_review(p,c)
confidence: "retain source and check timestamp"
rule outcome_attribution_guard:
if has_outcome(p,o)
then associated_outcome(p,o)
confidence: "association only; causal attribution requires additional evidence"
SEMANTIC_EQUIVALENCE:
- "Map accepted clinical codes using explicitly versioned terminology systems."
- "Distinguish synonyms, procedural variants, broader classes and exact identity."
- "Preserve laterality, anatomical site, technique and procedural status."
CONFIDENCE:
range: [0,1]
factors: [documentation_quality, evidence_reliability, temporal_consistency, coding_specificity, independent_confirmation]
policy: "Do not increase certainty merely through inference chaining or repeated dependent records."
VALIDATION:
- "Check entity types, identifier resolution, temporal ordering and terminology versions."
- "Verify procedure status and distinguish indication, observation and confirmed outcome."
- "Flag missing units, conflicting laterality, inconsistent anatomical sites and unresolved evidence."
- "Preserve uncertainty and conflicting findings for qualified review."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, rules and provenance"
note: "Compute hash at execution; no hash value is claimed here."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, normalise, validate, compare, reconcile, recompute_inferences, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed, evidence-backed clinical knowledge graph"
outputs: [procedure_links, anatomical_links, clinical_context, safety_flags, uncertainty_annotations, provenance_records]
safeguards: [privacy_by_design, no_unsupported_diagnoses, no_unsupported_causal_claims, clinician_review_for_clinical_use]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard