Skip to main content

Formal temporal and causal structure for consistent clinical data.

Project description

AION — Algebraic Interval Ontology for Clinical Networks

Formal temporal and causal structure for consistent clinical data across systems.

Tests Python License FHIR R4


Clinical data systems often produce inconsistent results.

Not because of missing interfaces —
but because time, semantics and causality are not modelled consistently.

AION makes clinical data consistent and verifiable across systems.

It provides a formal, executable structure to:

  • represent clinical events over time
  • define and validate relationships between them
  • support reproducible analytics
  • enable reliable AI and interoperable data interpretation

Why AION?

Most systems can exchange clinical data.

The harder problem begins afterwards:

  • data is interpreted differently across systems
  • temporal relations remain implicit
  • causal assumptions are hidden in project-specific logic
  • analytics become difficult to compare and reproduce

AION addresses this structural layer directly.

Instead of modelling isolated data points only, AION models:

  • intervals instead of points
  • relations instead of implicit assumptions
  • causal structures instead of static data
  • verifiable consistency instead of hidden transformation logic

Quick Start

pip install aion-clinical
from aion.core import Interval, classify
import datetime

dt = lambda h: datetime.datetime(2024, 1, 1, h, 0)

anaesthesia = Interval(dt(7), dt(12))
operation   = Interval(dt(8), dt(11))

print(classify(anaesthesia, operation))
# -> AllenRelation.CONTAINS

This means:

  • the events are not just stored
  • their temporal relationship is explicitly defined
  • that relationship can be checked and reused across analyses

What makes AION different?

Most clinical systems model events as isolated records.

AION models the structure between events.

This enables:

  • consistent temporal reasoning
  • reproducible analytics
  • explicit causal modelling
  • formal validation of data structures
  • better reuse across systems and projects

Core Capabilities

Temporal Model

  • Complete Allen interval algebra (13 relations)
  • Fuzzy intervals with probabilistic reasoning

Data Model

  • Universal clinical event model (6-tuple)
  • Type system with hierarchy and schema evolution

Query & Analytics

  • Cohort algebra
  • Temporal pattern languages

Causal Inference

  • Causal graphs
  • Do-operator
  • Structure learning

AI Integration

  • Formal AI component model
  • Explainability (Shapley, counterfactuals)

Privacy

  • Differential privacy (Laplace / Gaussian)
  • Federated computation

Interoperability

  • FHIR mapping via structural homomorphism

Example: Cohort Query

from aion.query.cohort import query_event_sequence

q = query_event_sequence("Diagnosis", "Procedure")
cohort = q.evaluate(ctx)

Example: Causal Analysis

from aion.causal.graph import CausalGraph
from aion.causal.do import DoOperator

g = CausalGraph()
g.add_edge("Diagnosis", "Procedure")

do = DoOperator(g, data)
result = do.intervene("Procedure", "Outcome")

Architecture Overview

aion/
├── core        Temporal algebra, event model
├── abstraction Episodes and trajectories
├── query       Cohort algebra
├── causal      Causal inference
├── privacy     Differential privacy
├── ai          AI model integration
├── explain     Explainability
├── schema      Schema evolution
└── adapters    FHIR mapping

Test Suite

pytest aion/tests/
# 326 tests, ~2s runtime

Positioning

AION is not:

  • a data format
  • a data warehouse
  • a FHIR replacement

AION is:

the structural consistency layer beneath clinical data systems


Formal Foundation

AION generalises earlier formal work into a domain-independent structure for clinical information systems.

It formalises, among others:

  • temporal relations
  • event structure
  • abstraction layers
  • cohort logic
  • causal inference
  • explainability
  • schema evolution
  • privacy-preserving federation
  • FHIR-compatible structural mapping

License & Citation

EUPL-1.2 — open source
Commercial licensing: licensing@iscad-it.de

@software{aion2026,
  title  = {AION: Algebraic Interval Ontology for Clinical Networks},
  author = {Matten, Friedhelm},
  year   = {2026},
  url    = {https://codeberg.org/fm2-project/aion}
}

© Friedhelm Matten, ISCaD GmbH

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aion_clinical-1.0.4.tar.gz (91.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aion_clinical-1.0.4-py3-none-any.whl (107.3 kB view details)

Uploaded Python 3

File details

Details for the file aion_clinical-1.0.4.tar.gz.

File metadata

  • Download URL: aion_clinical-1.0.4.tar.gz
  • Upload date:
  • Size: 91.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for aion_clinical-1.0.4.tar.gz
Algorithm Hash digest
SHA256 11f5b8cf22ca37c17acc856161679a9a2113077fb7aa7e9de4a918522b8949c7
MD5 4bcd3a201bcdf98abebed894c8fb52e3
BLAKE2b-256 3eb5fad2e8ea2710fd338d0f28c8429f7dc1653473c88636ac570dbcfc47a98b

See more details on using hashes here.

File details

Details for the file aion_clinical-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: aion_clinical-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 107.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for aion_clinical-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9949f310fad03e1d82187fb81a99e01b5ab35ec37767d0ab02c84aaab64fff7d
MD5 b520acc67f90fc81c315d9a4e800f814
BLAKE2b-256 f61d74fb84c474067113fa42500be6066a7ecdbc103bd2f4c330f3e1a44e53ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page