Bioplant Bioplant Docs
Start free

Bioplant documentation

Everything you need to run, historize, and report your bioprocess — from your first login to a validated GMP deployment.

IntroductionWhat is Bioplant

Bioplant is a web-based bioprocess data platform: a SCADA system, a time-series historian, and a batch reporting engine in one. It's built specifically for the regulated batch — cell culture, fermentation, downstream — not as a generic industrial dashboard.

The difference is in how it stores data. A normal historian records a flat stream of tag values. Bioplant tags every single sample with the batch and phase it belongs to, so producing a complete, audit-ready batch report is a single database query — not a week of stitching spreadsheets. That one design choice is what makes the reports, the Golden Batch comparison, and the compliance story work.

In short
Bioplant runs your skid, historizes every tag against its batch and phase, and turns it into a 21 CFR Part 11 batch report — with AI that reads your process.

Who it's for

  • Process & bioprocess engineers — configure recipes, screens, alarms, and control loops.
  • Operators — run batches, acknowledge alarms, watch live values on mimic screens.
  • QA / Regulatory — review the audit trail, apply e-signatures, generate EBRs.
  • Plant & R&D managers — compare batches, track yields, and monitor the whole facility.
  • Equipment makers (OEMs / resellers) — offer Bioplant white-labelled to their own customers.

Two deployment modes

The same edge-agent codebase runs in either mode, chosen with one config flag:

🎛️

Primary SCADA

edge_agent_mode = 'primary'

On smaller skids, Bioplant drives the PLCs directly — mimic HMI screens, recipes, alarms, and control loops all write to the field.

🗄️

Historian above your DCS

edge_agent_mode = 'historian'

On larger plants, Bioplant subscribes read-only to an existing DCS over Sparkplug B, OPC-UA or Modbus. It never writes back — physically and logically separated, so it can't disturb a validated control system.

Core conceptsBatch context — the key idea

Every sample Bioplant stores carries a batch_id and phase_id. This is non-negotiable in the platform's design, and it's why batch reporting is instant.

When a batch runs, the executor stamps the current batch and phase onto the live data as it's historized. Later, "give me every DO, pH, and temperature reading for batch B-2481, phase Fed-batch" is one query with an O(1) index — the raw material of a batch report, a trend overlay, or a Golden Batch comparison.

The ISA-88 model

Bioplant models your plant the way the batch standard does, in two hierarchies:

  • Physical model — Area → Cell → Unit → Equipment Module. This is your facility map.
  • Procedural model — Master Recipe → Procedure → Unit Procedure → Operation → Phase. This is how a batch runs.

A recipe is authored against the procedural model and executed on a physical unit. Because both are first-class, a batch report can show exactly which equipment ran which phase — the backbone of material genealogy and EBR.

Edge agent & store-and-forward

A small edge agent runs on a PC at the plant, next to your PLCs. It polls the field, writes to a local SQLite buffer (WAL), and uploads to the cloud in batches — outbound only, so the plant needs no inbound firewall holes.

  • No data loss — if the link drops, the agent keeps buffering and backfills when it reconnects.
  • Report-by-exception — only changed values upload (deadband as % of span + a heartbeat), cutting cloud traffic without losing fidelity. Alarms and control still evaluate every poll locally.
  • Signed config — edge config bundles are Ed25519-signed and verified before applying.

Tenants & roles

Every organisation is a tenant with row-level isolation — your data is filtered by tenant on every query. Within a tenant, access is governed by capabilities: view, operate, configure, admin, and sign. Roles (called Groups) bundle capabilities; a guard checks the capability, never a role name, so custom roles just work.

Operations vs Config
The UI splits by role: operators get a clean, read-mostly Operations view; engineers unlock Config. The API enforces the same rules — the client is never trusted.

21 CFR Part 11

On regulated tiers, Bioplant is Part 11-ready:

  • Immutable audit trail — every change to a regulated record is appended and hash-chained; nothing is updated or deleted.
  • E-signatures with meaning — signing captures who, when, and why, with session re-auth for critical operations.
  • ALCOA+ integrity and GAMP 5 Cat 4 validation kit (IQ/OQ/PQ templates) on Enterprise.
  • AI is never signed as final — LLM output is always operator-reviewed and marked AI-assisted in the trail.

Getting startedSign up & first login

Register. Go to app.bioplant.io/register, enter your registration key (from your provider), organisation name, tier, and admin email/password.
Your tenant is created. You become its first Admin, with four built-in roles seeded (Viewer, Operator, Engineer, Admin).
Sign in. Your 30-day trial starts. Enable two-factor authentication from Settings for extra security.

Set up your facility

In Config → Settings, enter your facility identity — company, facility name, and address. These print on every batch report and audit record. Add your logo and colours to white-label the app for your team.

Connect a PLC

Register an edge agent in Config → Edge Agents and copy its id + token.
Add a PLC in Config → PLCs — pick the protocol (Modbus / S7 / MQTT / OPC-UA) and connection details.
Define tags in Config → Tags — address, scaling, engineering units, and deadband.
Install the agent on a plant PC; it connects outbound and starts streaming live values within seconds.

Build your first screen

Open Config → Screens and drag equipment — reactors, tanks, valves, pumps, heat exchangers, sensors — onto the canvas. Bind each to a live tag, add gauges and value displays, and connect them with pipes. Switch to Preview to see it live, or open the operator runtime view full-screen.

Bioprocess-native
The symbol library includes reactor and tank subtypes (dished/flat, jacketed, wave), heat-exchanger types, and bioprocess sensors — viable-cell-density, turbidity, foam, pCO₂, osmolality.

The Plant View appOperations dashboard

📊

Operations dashboard

Home · /

The operator's landing page. At a glance: running batches, active alarms, key process readouts, and quick links to the screens they use most. It's read-mostly and role-aware — operators can act (acknowledge, operate) but not reconfigure.

Plant overview

🏭

Plant overview

/plant-overview

A facility-wide map following your ISA-88 physical model — every Unit and its live state (idle, running, alarm, CIP…) in one view, so a supervisor sees the whole plant at once and drills into any unit.

Live values

📡

Live

/live

Every configured tag with its current value, units, and quality, streaming over WebSocket straight from the edge. The fastest way to confirm a signal is arriving and reading correctly.

Mimic / HMI screens

🖥️

Screens (Mimic editor)

/config/screens · runtime view

A drag-and-drop SCADA/HMI builder. Compose process flow diagrams from a rich equipment library, bind components to live tags, and drive setpoints and controls (in primary mode). Two modes: an engineer editor and a full-screen operator runtime. Screens support per-component security, group resize/rotate, and reusable dashboard templates that remap tag "slots" to each tenant's tags automatically.

Alarms

🔔

Alarms

/alarms

The live alarm list — priority-ranked, with acknowledge and shelve. Beyond simple limits you get expression alarms, suppression, and phase-aware alarms that only apply during the right batch phase. Unacknowledged alarms escalate on a schedule to email, SMS, WhatsApp, or PagerDuty.

Batch console

🧫

Batch console & live batch

/batches · /live-batch

Start, monitor, and advance batches against an ISA-88 master recipe. The batch executor auto-advances phases on wall-clock timers and conditions, with branching execution and escalation on holds. The Live batch view focuses on the running batch — current phase, elapsed time, live values, and phase alarms — while every sample is silently stamped with its batch and phase.

Batch history & reports

📄

Batch history · Report builder

/batch-history · /report-builder

Every completed batch, searchable. Because the data is already batch-tagged, a full batch report is one click — rendered to PDF (Basic → Advanced → full EBR with material genealogy). Use the Report builder for custom layouts, schedule reports daily/weekly or on any schedule, and apply Part 11 e-signatures before release.

Data log

🗃️

Data log

/datalog

Browse and export the raw historized samples — filter by tag, batch, and time range, then export to CSV (or PDF/PNG on higher tiers) for offline analysis or an audit request.

ConfigurationPLCs & tags

Config → PLCs registers each PLC/gateway and its protocol connection. Config → Tags defines every tag: field address, scaling and engineering units, deadband for report-by-exception, and which PLC it lives on. Tags are the atoms everything else binds to — screens, trends, alarms, reports.

Edge agents

Config → Edge Agents is where you register agents and get their credentials. Each agent maps to a physical plant location, runs the drivers for its PLCs, buffers locally, and uploads with report-by-exception. You can tune poll interval, deadband, and heartbeat per agent.

ISA-88 model

Config → ISA-88 is where you build the physical hierarchy (Area / Cell / Unit / Equipment Module) and the procedural building blocks that recipes are assembled from. Model it once; every batch, report, and overview reads from it.

Recipes & executor

The recipe editor (Config → Recipes) is a visual Process Function Chart builder — lay out phases, transitions, setpoints, and control actions. An Examples button imports ready-made charts (generic, upstream, downstream). Advanced deployments chain recipes into process chains (CIP → SIP → Ferment → Clean) with a unit state machine and scheduling.

  • Comparison → action logic and phase-linked control.
  • Branching execution with hold/escalation.
  • Premium curated organism recipe packs available as an add-on.

Control loops (regulator)

Config → Regulator configures software control loops — PID and DO cascade, with auto-tune. Loops compare a process value to a setpoint and drive an output (in primary mode), and can be linked to a batch phase so control changes automatically as the recipe advances.

Notifications

Config → Notifications sets up delivery channels — email, SMS/WhatsApp (Twilio/MSG91), and PagerDuty — used by alarm escalation. Channels run in dry-run by default until you verify live provider credentials, so you can build and test escalation policies safely.

Users & groups

Config → Users manages people and Groups (roles). Assign capabilities, set idle auto-logoff for shared plant terminals, add comments, and enforce password aging. A login/activity audit records who signed in, from where, and when.

Audit trail

Config → Audit is the immutable, hash-chained record of every change to a regulated entity — the evidence base for a Part 11 inspection. It's append-only by design and cannot be edited from the UI or the API.

Settings & branding

Config → Settings holds facility identity, white-label branding (app name, logo, colours), your two-factor setup, and system info. Branding cascades: tenant → reseller → platform defaults.

Analytics & AIGolden Batch, NL query & AI narrative

  • Golden Batch — overlay any batch against your reference "golden" run to spot deviation instantly.
  • Natural-language query — ask "what was peak VCD in batch B-2481?" in plain English.
  • AI batch narrative — an auto-drafted written summary of a batch, always operator-reviewed and marked AI-assisted.

The AI runs cloud (Claude Haiku by default) or fully self-hosted (vLLM + Llama/Qwen) for customers who reject third-party LLMs.

Scale-up & MVBA

  • Scale-up calculator — geometric and kLa-based scale-up between vessels; pay-per-use or an included quota.
  • MVBA — multivariate batch analysis (PCA/PLS) to catch subtle multi-variable drift.
  • Soft sensors — trained models that infer hard-to-measure variables from the ones you have.

AdministrationTiers & entitlements

Tiers shows your current plan, quotas, and exactly what each level unlocks. Entitlements are enforced on both the API and the UI — the central tier matrix is the single source of truth, so nothing is gated by accident. See the full plan comparison.

Two-factor authentication

Any user can enable 2FA (TOTP) from Settings — scan the QR into an authenticator app, confirm a code, and save the recovery codes. From then on, sign-in asks for a 6-digit code (a recovery code works once each if you lose your device).

Trial & billing

Every tenant starts on a 30-day free trial — a card is collected up front (a small auth hold) but nothing is charged until the trial ends. Upgrade tiers any time; metered add-ons are billed at cycle end. Base pricing is CAD, billed in your local currency.

For resellersThe OEM / reseller model

Bioplant is a multi-level platform: Provider → Reseller (OEM) → Tenant.

  • Resellers register at oem.bioplant.io/register, get approved, then onboard their own customers.
  • Each reseller issues single-use tenant invite keys, sets white-label branding and a custom domain, and manages its tenants from its own portal.
  • An analytics console shows tenants, tiers, geography, and revenue per OEM.

API & integrations

Bioplant exposes a REST API (Fastify) for the platform, real-time updates over Socket.IO/WebSocket, and Sparkplug B over MQTT for the uplink. On Enterprise, an export API and custom drivers open the platform to your own MES/ERP integrations.