Custom Protocol Step Data Flow
Custom protocol step data forms allow laboratories to collect structured data during protocol execution and reuse that data throughout FlaskTrack reporting.
A custom form created on a protocol step is not only used during execution. The submitted values are stored as structured, versioned event data and become available for SQL queries, custom reports, exports, and analysis.
Data Flow
flowchart LR
A[Custom Protocol Step Data Form] --> B[Protocol Execution]
B --> C[Step Data Event]
C --> D[Versioned Parquet Event Storage]
D --> E[Custom Report Builder]
E --> F[Report View]
E --> G[Export]
Overview
The data flow is:
- Define a Custom Protocol Step Data Form.
- Execute the protocol against a batch or sample.
- Operators submit step data during execution.
- FlaskTrack stores the submitted data as versioned event records.
- The data becomes available in the Custom Report Builder.
- Reports can be viewed, queried, filtered, scheduled, and exported.
This creates a direct path from laboratory execution to structured reporting.
Custom Protocol Step Data Form
A custom data form is defined inside an individual protocol step.
The form controls what information the operator must record when completing that step.
Examples include:
- contamination observations
- media formulation values
- lot numbers
- measured quantities
- incubation measurements
- transformation results
- root counts
- colony counts
- quality control notes
- pass/fail indicators
Each field becomes structured data rather than free-text notes.
Protocol Execution
When the protocol is executed, FlaskTrack presents the configured data form to the operator.
Depending on the step configuration, the form may be:
- omitted entirely
- generated from the system form for the selected action
- defined manually as a custom form
For custom forms, operators complete the configured fields before the step is submitted.
Required fields and validation rules are enforced during execution.
Step Data Events
When a custom form is submitted, FlaskTrack records the submitted values as protocol step data events.
These events preserve:
- protocol identity
- protocol step identity
- batch or sample identity
- submitted field values
- form definition version
- execution timestamp
- submitting user
- associated workflow context
This allows submitted data to be traced back to the exact workflow, protocol, step, and form version that produced it.
Versioned Form Data
Custom forms may change over time.
For example, a protocol step may originally collect:
- contamination status
- operator notes
Later, the same step may be updated to collect:
- contamination status
- contamination type
- severity
- operator notes
FlaskTrack preserves the form version associated with each submitted event. This allows historical records to remain interpretable even after a form definition changes.
Versioning supports:
- reproducibility
- audit history
- backward-compatible reporting
- safe protocol iteration
- long-term data interpretation
Parquet Event Storage
Submitted step data is stored as event data in Parquet.
Parquet storage allows FlaskTrack to expose laboratory execution data efficiently for analytics, reporting, and export workflows.
This makes custom protocol data available beyond the protocol execution screen.
It can be consumed by:
- custom SQL reports
- report builder views
- scheduled reports
- CSV or spreadsheet exports
- downstream analysis
- audit and compliance review
Custom Report Builder
The Custom Report Builder can use submitted custom step data as a reporting source.
This allows users to create reports from protocol-specific fields without engineering work.
Examples:
- contamination rate by species
- average rooting time by protocol
- media formulation usage by month
- transformation success rate by plasmid
- failed inspections by operator
- harvest yield by batch
- samples requiring quarantine
- lot numbers used in completed protocols
Custom form fields become reportable columns that can be selected, filtered, grouped, and exported.
Report View and Export
Reports created from custom protocol step data behave like other FlaskTrack reports.
Users can:
- view report results
- filter by date range
- group by protocol, step, species, batch, or sample
- export results
- use SQL for advanced reporting
- combine custom form data with workflow metadata
This allows laboratories to move directly from structured data collection to operational reporting.
Example
A protocol step named Inspect Cultures defines a custom form with these fields:
| Field | Type | Required |
|---|---|---|
| Contamination observed | Boolean | Yes |
| Contamination type | Text | No |
| Culture condition | Selection | Yes |
| Notes | Text | No |
During execution, operators complete the form for each sample.
Those submissions become structured event records.
In the Custom Report Builder, a user can then create a report such as:
Show contamination rate by species and protocol step for the last 30 days.
The same data can also be exported for external analysis.
Why This Matters
Custom protocol step forms turn laboratory execution into structured data capture.
Instead of collecting observations in disconnected spreadsheets or notes, FlaskTrack stores the data directly inside the workflow event stream.
This provides:
- consistent data collection
- traceable protocol execution
- reusable reporting fields
- versioned form history
- exportable datasets
- audit-ready records
- fewer manual spreadsheets
Custom forms are therefore both an execution tool and a reporting interface.