Modeling Steps (Protocols)
Goals
Know what Standard and Sample Protocols are and when to use them.
Know how to create new Protocols using:
Protocol details
Custom fields
Protocol Actions
Key Terms
Term | Definition |
---|---|
Protocol (Step) | Defines the data to collect while processing the Batch. |
Standard Protocol | Associates process data with the Batch. |
Sample Protocol | Creates a child Entity from the Batch (parent). |
What are Protocols?
Protocols (Steps) define the data to collect while processing the Batch. Contiguous fields assigned to the same group represent a Sub-Step.
If the grouping includes two (2) colons followed by text, the fields will be placed in a Sub-Step Table named using the text after the colons.
Note
Discontiguous fields assigned to the same group create separate Sub-Steps.
Fields not assigned to a group create their own Sub-Step.
How to create new Protocols
Go to: L7|Master → Protocols → + New Protocol
Protocol Details
Use in manufacturing – should be set to “Yes” for Protocols that will be used in L7 MES.
Protocol Type – standard or sample.
Pipeline Protocols cannot be used in L7 MES.
Pipelines are executed from Pipeline button fields.
Duration (hours) – the time it takes to complete the Protocol.
This detail is used in L7 Scheduling.
Version – a new version of the Protocol is created each time it is saved.
Pin - locks the Protocol into a previously saved version for explicit use in Workflows.
Group Samples – N/A to L7 MES, only one (1) Batch per Batch Record.
Instructions – plain text or formatted using the rich text editor in the expanded instructions window.
Protocol instructions appear at the beginning of the Step in the Batch Record.
Image height cannot exceed 600 pixels.
OnRender – custom behavior triggered when the Step renders in the Batch Record.
Note
onRender is covered in more detail here and in the Client-Side Developer MasterClass.
To register, please visit L7 University.
Fields – Step data collected while processing the Batch.
Flex View Designer and Storage Policy – N/A to L7 MES.
Actions – custom behavior triggered when a condition is satisfied while processing the Step.
Standard Protocols
Standard Protocols have the default Complete field displayed as the last field in the Protocol. All fields before Complete are custom fields created to collect process-specific data.
Sample Protocols
Sample Protocols have two (2) key components:
The Parent-Child Relationship must be defined.
The Entity Type must be selected and represents the child Entity that will be created.
Note
While there are three (3) options, only 1-to-1 is supported in L7 MES.
In a 1-to-1 Sample Protocol, each parent creates one (1) child Entity.
In L7 MES, Sample Protocols are used to create an Item from the Batch.
The default fields Parent ID and Note appear at the beginning of every Sample Protocol. L7|ESP sets the Parent ID, User-provided Notes become the description of the newly created Item.
Note
The Sample ID Sequence field defines the ID Sequence that will be assigned to the Item being created. Once an Item Type has been selected, this field will default to the ID Sequence assigned to that Item Type in L7|Master.
When an Item is created, the following default fields will appear ahead of the custom fields attributed to the Item:
Initial Quantity
Lot ID
Serial ID
Status
Vendor
Expiration
Custom Fields
After you enter a Display Name and choose the Protocol Type, you can add custom fields to the Protocol. Over a dozen different field types are available in L7|ESP.
Note
Link and Container location are not supported in L7 MES.
In the Field Details panel, the basic details are generally the same for all field types. They allow you to:
Name the field.
Note
Display Name vs. ID: Display Name is the name that appears in the user interface (UI). ID is a fixed value used to reference the field. This differentiation ensures stability when changing the name of a custom resource field.
L7|ESP will set the Display Name as the ID if the user does not define the ID themselves.
Define the field type.
Assign a default value (static value or Python expression).
Group the fields into Sub-Steps.
Add field-level instructions (plain text or formatted using the rich text editor).
Image height cannot exceed 600 pixels.
Hide the field if:
It should be conditionally visible.
Make the field read-only if:
It has a computed value and should not be editable (data integrity).
Make the field required if:
A value must be recorded, either as part of the business process or data dependencies in L7|ESP.
Note
The shared toggle is N/A to L7 MES and reportable fields are used in L7|Intelligence.
Exceptions to basic field details:
Approval fields cannot be hidden or made read-only, and are required by default.
Instruction fields cannot have a default value because they do not have any data associated with them.
Custom Editor – not supported in L7 MES.
Custom Renderer – not supported in L7 MES.
Event Handler onChange – custom behavior triggered when a field value changes. This includes entering a value for the first time.
Note
onChange is covered in more detail here and in the Client-Side Developer MasterClass.
To register, please visit L7 University.
Field Parameters
Field parameters are dependent on the field type, see the table below for more information:
Field Type | Parameters |
---|---|
Free-form text entry – enter any character (both text and numbers allowed). | Rich Text is not supported in L7 MES. |
Numbers only allowed – enter any number. | See Entity Types and Specifications to learn more. |
Picklist – select one (1) or more static or dynamic options. | |
Date/Time – select a date and/or time in predefined or custom formats. | |
Checkbox – boolean true or false. | N/A |
Attachment – attach one (1) or more files with predefined or custom extensions. | |
Barcode – capture data as a barcode (1D, mini data matrix, or QR). | Entity barcode assigns the value as the Entity’s barcode. * This is the Entity being processed when the barcode is collected. |
Approval – enter an electronic signature. | Only Signature Flows should be used in L7 MES for Step and Batch Sign Off. |
Pipeline Button – execute a Pipeline (computational task). * Automate manual tasks, data egress and ingress. | Select a Pipeline and define its variables. Pipeline – collection of Tasks (shell scripts) run on compute resources (cluster, cloud, or directly in L7|ESP). * Pipeline are covered in more detail in the Client-Side Developer MasterClass. To register, please visit L7 University. |
Resource link – link to another L7|ESP resource. | If the Link Type is Entity Class, Container, Item, or Service Type, a multi-select picklist will appear to restrict to the selected:
If the Link Type is Container, a multi-select list of statuses can be selected to filter the list of Containers based on their status. This status can be updated after use. * Container statuses are managed in the esp Configuration. |
Inventory item use – track Items and their consumption. | Record used quantity – if deselected, the field will convert to a multi-select picklist, and only the Item name will be recorded in the Worksheet. Only use items within containers – restrict available inventory to Items stored in a location (e.g., kit); use an ESP Expression to reference a Resource Link field of type Container:
|
Instructions – field-level instructions that do not require data collection. * Image height cannot exceed 600 pixels. | N/A |
Sample Point – create new Samples during production. | See Sample Plans to learn more. |
Protocol Actions
Add an action by navigating to the Actions tab and selecting + Add Action.
Note
Actions can be added to both Standard and Sample Protocols.
Each action has a name and description - these fields are used in error reporting and logging, and are useful for documenting the intent of the action.
The condition is defined in the If
section and the action to perform if the condition is satisfied is defined in the Then
section. L7|ESP offers several out-of-box conditions and actions:
Available Conditions in L7|ESP
Condition | Definition |
All rows completed | The action is triggered if all Entities are completed during the save. |
All rows rejected | N/A to L7 MES. Signatures denote approval. |
All rows match an expression | The action is triggered if all Entities evaluate * The expression is evaluated in L7 MES context. |
Any row completed | The action is triggered if any Entity is completed during the save. |
Any row rejected | N/A to L7 MES. Signatures denote approval. |
Any rows match an expression | The action is triggered if any Entity evaluates * The expression is evaluated in L7 MES context. |
Entity added to worksheet | N/A to L7 MES. Additional Entities cannot be added to the Batch Record. |
Entity removed from worksheet | N/A to L7 MES. This is synonymous with failing the Batch. |
Only once | The action is only triggered once for a satisfied condition. |
Available Actions in L7|ESP
The available out-of-box actions are listed below. "EE" means the value can contain Expressions. Unless otherwise noted, these Expressions are evaluated in the Protocol Action Expression Context (see the parameters table below).
Action | Description |
Archive Objects (remove from UI) | Archives the matching objects (e.g., consumed Entity or Item, multi-well plate).
|
Create MES Batch | Creates a new Batch in L7 MES. * This will be covered in advanced modeling. |
Fail Samples | This action should not be used in L7 MES. Batches are failed from the Quality Review tab. |
Notify Roles | Sends an L7|ESP notification to users in the specified Role(s). It accepts the following parameters:
|
Notify Users | Sends an L7|ESP notification to the specified User(s). It accepts the following parameters:
|
Notify Workgroups | Sends an L7|ESP notification to users in the specified Workgroup(s). It accepts the following parameters:
|
Start Workflow | Creates an Experiment using the specified Workflow for the matching Entities. It accepts the following parameters:
|
Start Workflow Chain | Creates an Experiment using the specified Workflow Chain for the matching Entities. It accepts the following parameters:
|
Start MES Workflow Chain | Submits the current Batch to a downstream process (Recipe). * This will be covered in advanced modeling. |
Synchronize Field Value To Entity | Copies a value from a LIMS field to an Entity custom field for the current Sample Set in the Protocol. It accepts the following parameters:
|
Tag Row Samples | Adds the specified tag(s) to the matching Entities. If the Entity is already tagged, no change occurs. |
Untag Row Samples | Removes the specified tag(s) from the matching Entities. If the tag is not on the entity, no change occurs. |
Note
Developers can create custom Protocol Actions, which is a topic of the Server-Side Developer MasterClass.
Protocol Action Example
In this Protocol, chocolate chips and oats are being added to the cookie dough. Since diary products and oats are common allergens, it has been requested that tags are appended to each Batch to indicate they contain dairy and oats.