FM-4: Signal-Loss Inspection at Data-boundaries¶
Mit FM-4 (Signal-Loss Inspection at Data-boundaries) legt ISCaD GmbH das vierte formale Modell der AION-Familie vor. Während FM-1 bis FM-3 das klinische Informationsmodell, die Implementierung und die AION-Abfragesprache beschreiben, schließt FM-4 eine konkrete Lücke in der Praxis: Was passiert mit Informationen, wenn klinische Daten zwischen Systemen übertragen werden?
Das Paper ist auf Zenodo verfügbar (Version 2, 26. Mai 2026):
- Titel: FM-4: Signal-Loss Inspection at Data-boundaries — Eine formale Detektorklasse für klinische Cross-System-Übertragungen
- DOI: 10.5281/zenodo.20391260
- Lizenz: AGPL-3.0-only OR Commercial (ISCaD GmbH)
Die vier kanonischen Verlustmuster¶
FM-4 definiert vier Verlustmuster als Endo-Operatoren auf dem klinischen Datenstrom — unabhängig vom konkreten Übertragungsformat (HL7 v2, FHIR R4, proprietäre CDR):
| Kürzel | FM-4 Def. | Verlusttyp | Typisches Beispiel |
|---|---|---|---|
TN |
2.1 | Type Narrowing | FHIR Quantity → HL7 NM: Einheit geht verloren |
TC |
2.2 | Temporal Collapse | Fuzzy-Zeitintervall wird auf Punktzeitstempel reduziert |
AD |
2.3 | Attribute Dropping | Optionale FHIR-Extensions werden beim CDR-Import ignoriert |
RS |
2.4 | Reference Severing | Encounter-Referenz geht bei Segment-Mapping verloren |
Der Vollständigkeitssatz (FM-4 Satz 2.5) beweist: Jede verlustbehaftete Übertragung lässt sich als Komposition dieser vier Muster darstellen. Damit ist die Algebra vollständig — eine wichtige Eigenschaft für die formale Auditierbarkeit.
SILD — die Referenzimplementierung¶
Die direkte operative Umsetzung von FM-4 ist SILD (Signal-Loss Inspection at Data-boundaries), verfügbar auf:
- Codeberg: codeberg.org/iscad/cairn
- GitHub: github.com/fmatten/CAIRN
- PyPI: aion-clinical (Modul
aion_clinical.sild)
SILD implementiert alle vier Verlustmuster als Live-Detektoren in der HL7-v2- und FHIR-Pipeline. Erkannte Verluste werden als strukturierter Audit-Trail (FHIR AuditEvent) protokolliert.
from aion_clinical.sild import SILDDetector, LossPattern
# Detector im HL7-v2-Modus initialisieren
detector = SILDDetector(mode="hl7v2")
# Nachricht prüfen
report = detector.inspect(hl7_message)
for loss in report.losses:
print(f"{loss.pattern.name}: {loss.field} → {loss.description}")
# → TC: MSH-7 Timestamp → Fuzzy-Intervall auf Punktstempel reduziert
# → AD: OBX-14 Observation Date → Feld fehlt in Zielstruktur
aion-clinical 2.0.4 — Dual-Lizenz¶
Mit Version 2.0.4 (25. Mai 2026, PyPI) wechselt aion-clinical von der EUPL-1.2 auf ein Dual-Lizenzmodell:
Lizenzänderung ab v2.0.3
Die Open-Source-Lizenz ist ab sofort AGPL-3.0-only. Das bedeutet: Wer aion-clinical in einem Dienst einsetzt, der über ein Netzwerk angeboten wird, muss den Quellcode des modifizierten Systems offenlegen (§ 13 AGPL). Wer dies vermeiden möchte, kann eine kommerzielle Lizenz erwerben.
| Lizenzform | Für wen? | Bedingung |
|---|---|---|
| AGPL-3.0-only | Open-Source-Projekte, Forschung, interne Nutzung | Abgeleitete Werke und Netzwerkdienste müssen ebenfalls Open Source sein |
| Commercial | Krankenhäuser, Health-IT-Anbieter, proprietäre Produkte | Keine Offenlegungspflicht — individuelle Konditionen |
Lizenzanfragen: licensing@iscad-it.de
Upgrade auf 2.0.4¶
Das Upgrade ist vollständig rückwärtskompatibel zu 2.0.1. Alle APIs, Module und Konfigurationsformate bleiben unverändert:
pip install --upgrade aion-clinical==2.0.4
Das neue Modul aion_clinical.sild (FM-4-Implementierung) steht nach dem Upgrade sofort zur Verfügung:
import aion_clinical
print(aion_clinical.__version__) # 2.0.4
from aion_clinical.sild import SILDDetector
Zusammenfassung der Änderungen¶
- FM-4 Paper v2 auf Zenodo veröffentlicht (DOI: 10.5281/zenodo.20391260)
- Lizenzwechsel: EUPL-1.2 → AGPL-3.0-only OR Commercial (ab v2.0.3)
- Version 2.0.4 auf PyPI — rückwärtskompatibel zu 2.0.1
- SPDX-Header in allen 116 Python-Quelldateien auf
AGPL-3.0-only OR LicenseRef-Iscad-Commercialaktualisiert - Repository-Metadaten und PyPI-Klassifikatoren aktualisiert