Expand description
FHIR topic-based Subscriptions engine for HFS.
This crate implements the FHIR Subscriptions Framework for the Helios FHIR Server. It supports topic-based subscriptions across all FHIR versions (R4, R4B, R5, R6), with R4 using the Subscriptions R5 Backport IG and R4B/R5/R6 using native subscription resources.
§Architecture
The subscription system decomposes into five primary concerns:
- Topic Registry — stores
SubscriptionTopicdefinitions and evaluates triggers - Subscription Manager — CRUD lifecycle and status tracking for
Subscriptionresources - Event Evaluator — matches resource write events against active subscriptions
- Notification Builder — constructs version-specific notification bundles
- Channel Dispatcher — delivers notifications via rest-hook, WebSocket, etc.
The SubscriptionEngine orchestrates all five concerns and is the main
entry point, invoked asynchronously after each resource write.
Re-exports§
pub use channels::messaging::MessagingChannel;pub use channels::ws_manager::WebSocketManager;pub use channels::ws_token::WsBindingTokenManager;pub use config::MessagingSettings;pub use config::SubscriptionConfig;pub use engine::SubscriptionEngine;pub use error::SubscriptionError;pub use event::ResourceEvent;pub use event::ResourceEventType;
Modules§
- channels
- Channel dispatchers.
- config
- Subscription engine configuration.
- engine
- Subscription engine — the orchestrator.
- error
- Subscription error types.
- evaluator
- Event evaluator.
- event
- Resource event types emitted after write operations.
- manager
- Subscription manager.
- notification
- Notification builder.
- topics
- Subscription topic registry.