Healthcare on live streams.
Clinical events, patient vitals and device telemetry decay in seconds. Batch dashboards see deterioration after it happened — a streaming pipeline sees it as it happens, and pages the right clinician with context.
One flow for admissions, orders, results
Events from clinical systems land as streams — via webhooks, HTTP polling of system APIs, or database-change sources against your existing stores. Stages normalize, enrich and route so downstream teams subscribe to clean topics instead of re-integrating each source system.
Windows over vitals, per patient
Keyed state per patient keeps a live picture: sliding windows compute trends, stddev flags instability, and event-time watermarks keep late-arriving readings honest. Deterministic rule stages encode your escalation thresholds and fire in microseconds — no model in the alarm path.
A fleet of devices, one pipeline
Gateways publish device telemetry over MQTT or HTTP; dedup absorbs the retries lossy networks produce. Per-device keyed aggregation tracks drift, gaps and battery/heartbeat health — and a silent device is itself a signal, caught by keyed timers when an expected reading doesn't arrive.
Reach the right human, with context
When a threshold fires, an LLM stage can draft the context summary — trend, history, what crossed the line — and an MCP stage delivers it to paging, messaging or the EHR inbox. The system surfaces and summarizes; the clinician decides.
Strict privacy controls
Privacy by architecture, not by promise.
Self-hosted, fully
The engine, the pipelines and every event run on your infrastructure — on-prem or your cloud tenancy. Patient data never transits a vendor SaaS.
Your models, inside
LLM stages can run against a local model runtime — the summarization model sits inside the same perimeter as the data. No PHI in a third-party prompt unless you choose it.
Audited end to end
A subscribable audit stream, per-event tracing and a persisted trajectory for every event — who saw what, what fired, what was delivered.
Governed access
SSO/SAML, role-based access and long-retention audit come with StreamFlow Enterprise for multi-team, multi-site deployments.
Honest boundary: StreamFlow is infrastructure, not a certified medical device, and self-hosting doesn't make a deployment compliant by itself. What the architecture gives your compliance program: data that never leaves your perimeter, deterministic replay of any decision, and an audit trail for every event. Your regulatory obligations (HIPAA, GDPR, MDR…) remain assessments your team runs — we'll answer every technical question they have.
Human-in-the-loop
The pipeline never acts on a patient. It acts on attention.
Every automated path in a clinical deployment terminates at a person with context — a page, a message, an inbox item, an approval request. MCP stages support blocking on explicit human approval before any downstream action runs, and every approval or dismissal is part of the audit record. Deterministic replay means any alert can be reconstructed after the fact: the exact readings, the exact rule, the exact moment.
What it looks like
A deterioration watch is one file.
Vitals stream in per patient; trends are computed in windows; thresholds page the care team with a drafted summary.
1# pulse.yaml — vitals watch
2source:
3 kind: webhook # gateway posts vitals
4
5stages:
6 - name: trend
7 engine: streaming
8 operators:
9 - window: 10m sliding
10 keyBy: patient_id
11 aggregations:
12 hr_avg: avg(heart_rate)
13 hr_stddev: stddev(heart_rate)
14 spo2_min: min(spo2)
15
16 - name: escalate
17 engine: rule-based
18 rules:
19 - "spo2_min < 92 || hr_stddev > 15"
20
21 - name: summarize
22 engine: llm # local runtime — PHI stays in
23 systemPrompt: |
24 Draft a one-paragraph situation summary
25 for the responding clinician.
26
27 - name: page
28 engine: mcp
29 mcpTools: [ oncall.notify ]
30
31sink:
32 kind: webhook # unit dashboard
33 url: ${secret:UNIT_BOARD_WEBHOOK}
34- 1
Scaffold.
pulse new vitals --source webhook --stage streaming:trend --stage rule-based:escalate --stage llm:summarize --stage mcp:page --sink webhook - 2
Keep the model inside.
Point the llm stage at your local model runtime — the summary is drafted without PHI leaving the perimeter.
- 3
Deploy & observe.
pulse deploy . && pulse events tail --topic vitals.escalate.outEvery escalation, live and audited.
- 4
Reconstruct any alert.
Deterministic replay reproduces the exact readings and the exact rule behind any page — for review, QA or a regulator.
Watch the stream inside your walls.
See a vitals pipeline window, escalate and summarize in minutes — no install, no signup. Then self-host it where the data lives.
Pulse is free and self-hosted. Multi-node HA, geo-replication and governance come with StreamFlow Enterprise.