Release Release DE

aion-clinical 2.0.1 — Release Notes

Version 2.0.1 des Python-Pakets aion-clinical ist auf PyPI verfügbar. Diese Version bringt eine vollständige Überarbeitung der Authentifizierungsschicht, verbessertes FHIR-Mapping und den neuen kausalen Query-Executor.

vonby Friedhelm Matten · ISCaD GmbH

Überblick

Mit aion-clinical 2.0.1 veröffentlichen wir das erste stabile Release der 2.x-Serie. Diese Version markiert den Übergang von der Pilot-Plattform zur produktionsbereiten klinischen Infrastruktur.

Das Paket ist ab sofort auf PyPI verfügbar:

pip install aion-clinical==2.0.1

oder über Codeberg:

pip install git+https://codeberg.org/iscad/cairn.git@v2.0.1

Neuerungen in 2.0.1

Überarbeitete Authentifizierungsschicht

Das pluggable Auth-Backend wurde vollständig neu geschrieben. Unterstützte Backends:

Backend Status Beschreibung
none ✓ Stabil Kein Auth — nur für lokale Entwicklung
apikey ✓ Stabil API-Keys mit Rollen und Ablaufdatum
ldap ✓ Stabil LDAP/Active Directory — gegen echte AD-Instanzen getestet
oidc ✓ Stabil OpenID Connect — gegen Keycloak und Azure AD getestet

Konfiguration via YAML:

auth:
  backend: ldap
  ldap:
    server: ldaps://ad.klinik-example.de
    base_dn: DC=klinik,DC=example,DC=de
    bind_dn: CN=aion-service,OU=Service,DC=klinik,DC=example,DC=de
    bind_password: ${LDAP_BIND_PASSWORD}
    user_filter: "(sAMAccountName={username})"
    role_attribute: memberOf

Verbessertes FHIR R4 Mapping

Das bidirektionale AION↔FHIR R4 Mapping wurde in zwei Bereichen erweitert:

from aion_clinical import FHIRMapper

mapper = FHIRMapper(version="R4")
aion_event = mapper.from_fhir(fhir_observation)
fhir_bundle = mapper.to_fhir(aion_cohort)

Kausaler Query-Executor

Der neue CausalQueryExecutor ermöglicht die direkte Ausführung von do-Operator-Abfragen auf dem klinischen Datenmodell:

from aion_clinical import ClinicalDataStore, CausalQueryExecutor

store = ClinicalDataStore.from_fhir_bundle("icu_cohort.json")
executor = CausalQueryExecutor(store, causal_graph="icu_graph.yaml")

# do-Operator: Was wäre der Laktatspiegel, wenn Antibiotikum 2h früher?
result = executor.do(
    intervention={"type": "medication", "substance": "Cefuroxim", "delta_t": -7200},
    outcome="lactate",
    cohort_filter={"unit": "ICU", "stay_days_min": 3}
)
print(result.summary())

Behobene Fehler


Breaking Changes

Breaking Change: Auth-Konfiguration

Das Format der Auth-Konfiguration in aion.yaml hat sich geändert. Das alte Format auth_backend: apikey muss auf auth.backend: apikey umgestellt werden. Ein Migrationsskript ist verfügbar:

bash python -m aion_clinical.migrate --config aion.yaml


Migration von 1.10.x

# 1. Paket aktualisieren
pip install --upgrade aion-clinical==2.0.1

# 2. Konfiguration migrieren
python -m aion_clinical.migrate --config aion.yaml

# 3. Datenbank-Migrationen ausführen
aion db migrate

# 4. Auth-Layer testen
aion auth verify --backend ldap

Verfügbarkeit

Bei Fragen und Fehlerberichten: info@iscad-it.de

← Zurück zum Blog ← Back to blog