The chronic-illness loop, the care network, and the industrial network all run on the same underlying platform. Nothing about the core changes when a new hospital, sensor type, or machine joins — a new source is an adapter and a topic; a new domain is a schema, not a rewrite. That's what makes it scale.
Data rises from raw signals to a synced model to a decision, then comes back down as an action. Every layer only talks to the one next to it, through the streaming bus — which is what lets any layer scale, fail, or get replaced without the others noticing.
Here's the same seven layers up close — what each one is responsible for, and the payoff you actually get from splitting the work out this way.
Wearables, EHRs, labs, and pharmacy feeds on the healthcare side; IoT sensors, SCADA, ERP, and supply-chain systems on the industrial side. None of them know a digital twin exists — the only requirement is that they can be read from.
Nothing gets re-engineered to be watched — any system that can be read from can feed the twin.
Protocol adapters translate each source's native format — HL7, DICOM, OPC-UA, MQTT, a plain webhook — into one standard event, then publish it to a shared streaming bus, once, in one place.
A burst of readings or a dead sensor can't take down anything downstream — the bus absorbs it.
Continuous readings go into a time-series store; scans and documents go into a data lake; an entity & identity registry resolves which patient or asset an event actually belongs to.
Five source systems' worth of data about the same patient lands on one twin, not five.
A state engine holds each entity's current synced state; a registry of pluggable domain models defines a "Patient" twin versus a "Wind Turbine" twin; history & versioning keeps every past state queryable.
A new disease or machine type ships as a schema change, not a platform rewrite.
A simulation engine runs what-if scenarios; domain-specific ML and risk models — glucose forecasting, sepsis risk, bearing-failure prediction — score and predict; a rules engine decides what crosses the threshold into an alert.
Every model runs independently — one team's risk model never waits on another's release.
REST/GraphQL APIs for anything querying twin state, a workflow & orchestration layer for multi-step actions, and a notification service for anything time-sensitive.
One API surface for every consumer — a new dashboard never has to learn the platform's internals.
Clinician and operator dashboards, patient and technician apps, and write-back into the systems of record — an updated EHR entry, a command to SCADA, an adjusted ERP order.
The action taken here becomes tomorrow's event back at Sources — the loop closes itself.
A concrete walk-through: a regional hospital wants its lab system feeding the same platform. Nothing above the integration layer has to know this happened.
An adapter translates the hospital's HL7 v2 lab feed into the platform's standard event schema.
Integration LayerEvents publish to the streaming bus under a new topic. Existing consumers are completely unaffected.
Streaming BusThe "Patient" domain model already exists in the registry — this hospital's patients reuse it, no new schema needed.
Twin CoreRisk models and dashboards pick up the new stream automatically — same APIs, same UI, new hospital.
Intelligence & Apps