Gesundheitsorganisationen verwalten häufig komplexe hierarchische Strukturen – regionale Krankenhausnetzwerke, die aus verschiedenen Einrichtungen bestehen und gemeinsame Ressourcen mit organisatorischer Autonomie in Einklang bringen müssen. Darüber hinaus benötigen viele klinikspezifische Gesundheitssysteme eine ereignisgesteuerte Architektur für die Echtzeit-Datensynchronisation zwischen vernetzten Einheiten. Aidbox löst diese Herausforderungen mit zwei leistungsstarken Funktionen: Organization-Based Hierarchical Access Control (OrgBAC) und Topic-Based Subscriptions.
OrgBAC: Hierarchische Datenisolation
OrgBAC ermöglicht es Ihnen, eine Organisationshierarchie innerhalb des Aidbox FHIR-Servers abzubilden und stellt FHIR-API-Endpunkte mit automatischer Datenisolation bereit.
Stellen Sie sich ein Gesundheitsnetzwerk wie das folgende vor:
- MedCorp HQ (übergeordnete Organisation mit vollständigem Zugriff auf alle Daten im Netzwerk)City General Hospital (Niederlassung mit eingeschränktem Zugriff, der auf die eigenen Organisationsdaten begrenzt ist)
- Riverside Clinic (Niederlassung mit eingeschränktem Zugriff, der auf die eigenen Organisationsdaten begrenzt ist)
Zur Veranschaulichung zeigt das folgende Bundle, wie jede Organisation in der Hierarchie über die REST-API angelegt wird:
POST /fhir
resourceType: Bundle
type: batch
entry:
- request:
method: PUT
url: Organization/med-corp
resource:
name: MedCorp HQ
resourceType: Organization
- request:
method: PUT
url: Organization/city-general-hospital
resource:
name: City General Hospital
resourceType: Organization
partOf:
reference: Organization/med-corp
- request:
method: PUT
url: Organization/riverside-clinic
resource:
name: Riverside Clinic
resourceType: Organization
partOf:
reference: Organization/med-corp
Jede erhält einen dedizierten Endpunkt:
/Organization/med-corp/fhirfür MedCorp HQ/Organization/city-general-hospital/fhirfür City General Hospital/Organization/riverside-clinic/fhirfür Riverside Clinic
Jede Ressource, die über den Endpunkt einer Organisation angelegt wird, wird automatisch mit der entsprechenden Organisations-ID versehen. Dadurch wird eine ordnungsgemäße Isolation ohne zusätzliche Konfiguration sichergestellt:
PUT /Organization/city-general-hospital/fhir/Patient/pt-123
name: [ { family: 'John' } ]
---
meta:
extension:
- url: https://aidbox.app/tenant-organization-id
valueReference:
reference: Organization/city-general-hospital
id: pt-123
resourceType: Patient
name:
- family: Smith
Die zugrunde liegende Zugriffslogik ist einfach und vorhersehbar:
- MedCorp HQ sieht alles aus allen Niederlassungen (
GET /Organization/med-corp/fhir/Patient) - City General sieht nur die eigenen Daten (
GET /Organization/city-general-hospital/fhir/Patient) - Riverside sieht nur die eigenen Daten (
GET /Organization/riverside-clinic/fhir/Patient)
Weitere Informationen zu OrgBAC-Funktionen und zur Konfiguration finden Sie in der Dokumentation: Organization-Based Hierarchical Access Control (OrgBAC)
Topic-Based Subscriptions: Echtzeit-Ereignisse
Subscriptions ermöglichen die Echtzeit-Datensynchronisation über Webhooks, Kafka und verschiedene Message-Queues. Ab Aidbox 2509 berücksichtigen Subscriptions automatisch organisatorische Grenzen. Wenn eine Subscription über die API einer Organisation angelegt wird, erbt sie die hierarchischen Filterregeln.
Dies stellt sicher:
- Hierarchischer Datenfluss: Die Subscription von MedCorp HQ erfasst Ereignisse aus allen Niederlassungen
- Eingegrenzte Topics: Die Subscriptions von City General und Riverside empfangen nur ihre eigenen Ereignisse
- Sicherheit: Ereignisse gelangen nie zwischen gleichrangigen Organisationen
Für die Einrichtung sind zwei Schlüsselkomponenten erforderlich:
- AidboxSubscriptionTopic – definiert, welche Arten von Ereignissen Benachrichtigungen auslösen sollen. Das folgende Beispiel erfasst alle finalen Observations im gesamten MedCorp-Netzwerk:
POST /Organization/med-corp/fhir/AidboxSubscriptionTopic
{
"resourceType": "AidboxSubscriptionTopic",
"url": "http://aidbox.example/observation-feed",
"status": "active",
"trigger": [{
"resource": "Observation",
"fhirPathCriteria": "status = 'final'"
}]
}
AidboxTopicDestination – legt fest, wohin Benachrichtigungen gesendet werden sollen. Jede Organisation verfügt über ein eigenes Ziel, das über ihren dedizierten Endpunkt angelegt wird. Das folgende Bundle zeigt, wie diese Ziele über die REST-Konsole erstellt werden.
POST /
resourceType: Bundle
type: batch
entry:
# MedCorp HQ destination - receives events from entire network
- request:
method: POST
url: /Organization/med-corp/fhir/AidboxTopicDestination
resource:
id: med-corp-observation-feed
resourceType: AidboxTopicDestination
meta:
profile: ["http://aidbox.app/StructureDefinition/aidboxtopicdestination-webhook-at-least-once"]
kind: webhook-at-least-once
topic: http://aidbox.example/observation-feed
parameter:
- name: endpoint
valueUrl: https://med-corp-hq.requestcatcher.com/test
# City General Hospital destination - receives only its events
- request:
method: POST
url: /Organization/city-general-hospital/fhir/AidboxTopicDestination
resource:
id: city-general-observation-feed
resourceType: AidboxTopicDestination
meta:
profile: ["http://aidbox.app/StructureDefinition/aidboxtopicdestination-webhook-at-least-once"]
kind: webhook-at-least-once
topic: http://aidbox.example/observation-feed
parameter:
- name: endpoint
valueUrl: https://city-general-hospital.requestcatcher.com/test
# Riverside Clinic destination - receives only its events
- request:
method: POST
url: /Organization/riverside-clinic/fhir/AidboxTopicDestination
resource:
id: riverside-observation-feed
resourceType: AidboxTopicDestination
meta:
profile: ["http://aidbox.app/StructureDefinition/aidboxtopicdestination-webhook-at-least-once"]
kind: webhook-at-least-once
topic: http://aidbox.example/observation-feed
parameter:
- name: endpoint
valueUrl: https://riverside-clinic.requestcatcher.com/test
Sie können die von jeder Organisation empfangenen Anfragen über die folgenden URLs überwachen (öffnen Sie diese, bevor Sie Ereignisse erzeugen):
- https://med-corp-hq.requestcatcher.com
- https://riverside-clinic.requestcatcher.com
- https://city-general-hospital.requestcatcher.com
Das folgende Diagramm veranschaulicht, wie Ereignisse durch das System fließen. Grüne Pfeile zeigen den Ereignisfluss von MedCorp HQ, gelbe Pfeile den Ereignisfluss von City General Hospital:

Selbst testen über die REST-Konsole
- Einen Patienten anlegen:
POST /Organization/city-general-hospital/fhir/Patient
id: pt-1
name: [{"family": "Smith"}]
Eine Observation anlegen:
POST /Organization/city-general-hospital/fhir/Observation
resourceType: Observation
status: final
code:
coding:
- system: http://loinc.org
code: 15074-8
display: Glucose [Moles/volume] in Blood
subject:
reference: Patient/pt-1
valueQuantity:
value: 6.3
unit: mmol/l
system: http://unitsofmeasure.org
code: mmol/L
Überprüfen Sie, ob http://med-corp-hq.requestcatcher.com und https://city-general-hospital.requestcatcher.com Ereignisse zur Erstellung der Observation empfangen.
Fazit
OrgBAC und topic-based subscriptions bilden zusammen eine robuste Grundlage für mandantenfähige Gesundheitsarchitekturen. Diese Kombination bietet unmittelbaren Mehrwert:
- Hierarchische Übersicht: Übergeordnete Organisationen überwachen alle Niederlassungen, während jede Einrichtung die Autonomie über ihre Daten behält
- Isolation ohne Konfigurationsaufwand: Datengrenzen werden automatisch durchgesetzt – keine manuelle Zugriffskontrolle erforderlich
- Echtzeit-Synchronisation: Kritische Ereignisse fließen sofort in Dashboards, Abrechnungs- und Qualitätssysteme
- Integrierte Sicherheit: Organisatorische Grenzen verhindern den Datenaustausch zwischen gleichrangigen Einrichtungen
- Entwicklereffizienz: Native FHIR-Konformität ohne benutzerdefinierte Middleware oder komplexe Infrastruktur
Ob Sie ein regionales Krankenhausnetzwerk entwerfen, mehrere Kliniken verwalten oder ein mandantenfähiges EHR aufbauen – Aidbox bietet die sichere und skalierbare Grundlage, die Ihr Gesundheitssystem benötigt.
Nutzen Sie eine kostenlose Entwicklerlizenz, um OrgBAC und topic-based subscriptions in Ihrer Organisation zu implementieren, oder erkunden Sie die Dokumentation für detaillierte Implementierungsanleitungen.
Siehe auch: RBAC mit Keycloak und SMART on FHIR V2.







