Triggers are the core unit of user-definable logic in the Tulip system. Triggers wait for events to fire then they check various values and compare them inside clauses to determine whether to perform actions. This document describes triggers as they relate to Apps; Refer to Machine Triggers for triggers as they relate to machines.
Name | Description |
---|---|
Event | The event that the trigger executes in response to. See below for possible events. |
Clauses | The logical operation the trigger performs before deciding if it should execute an action in response to the event. See below for possible clauses. |
Values | Existing data inside the Tulip system. An example value could be: "if the Tulip variable X is greater than 3" where X is the value. See below for possible values. |
Actions | What the trigger does. Many actions are possible in the Tulip system. See below for possible actions. |
An event can result from multiple sources. Possible sources and examples below:
Source | Example |
---|---|
Physical interaction |
|
User interface interaction | a user presses a virtual button inside of a Tulip App. |
Time Interval | 60 seconds have elapsed since the App was started. |
Machine Event | A machine emits a state change event, e.g. The machine has stopped. |
Clauses allow users to define a series of boolean logic expressions (if/then statements) that must all evaluate to true before a given action is performed in response to a trigger event. A user can define a series of comparisons and then decide to execute a number of actions if one of the statements evaluates to true of if all of the statements evaluate to true.
Values can be any data-store that is maintained in the context of an App execution. Values can come from a number of sources, including:
There are two categories of actions that triggers can cause: transition actions and regular actions. Transitions are changes to the flow state of the App. Transitions can occur by changing the current step, canceling the current App (resetting completion data) or completing the App. In a trigger there can only be one transition per action section. Once a transition has been executed by the App, any triggers for that same event will not fire. For example, if a user defines two separate triggers for a barcode scan and they both contain a transition, only the first to execute will be run.
ID | Name |
---|---|
QA-T57 | Variable Widget : 02 - Record View: Compound variables can be used with triggers |
QA-T62 | Variable widget : 07 - Testing variables and compound variables in app |
QA-T98 | Record Placeholders : 04 - Load Table Records Trigger, and Table Record Widget |
QA-T99 | Record Placeholders : 05 - Create and Load Table Record Trigger |
QA-T100 | Record Placeholders : 06 - Table Data Tab |
QA-T116 | Machine Monitoring : 06 - Machine Outputs |
QA-T148 | Connectors : 02 - Add Function to SQL Connector |
QA-T183 | Triggers - Print Using System Dialog Trigger |
QA-T235 | User Table : 01 - User Table |
QA-T240 | Connectors : 04 - Add several functions to HTTP Connector |
QA-T258 | Machine Monitoring : 08 - App Triggers For Machines |
QA-T352 | Triggers - Basic Triggers App |
QA-T399 | Table Links : 03 - Linking Records via App Triggers |
QA-T469 | Schedules and Shifts : 02 - Applying shifts in apps |
QA-T497 | Expression Editor : 01 - Create an expression in an app trigger |
QA-T501 | Copying Triggers : 01 - Copying and pasting triggers between buttons |
QA-T502 | Copying Triggers : 02 - Copying and pasting triggers between image widgets |
QA-T504 | Copying Triggers : 03 - Copying and pasting triggers between Interactive Tables |
QA-T505 | Copying Triggers : 04 - Copying and pasting Step Triggers |
QA-T506 | Copying Triggers : 05 - Copying and pasting App Triggers between apps |
QA-T515 | Master Layout - Widget triggers |
QA-T516 | Master Layout - Step and App Triggers |
QA-T521 | Expression Editor : 02 - Running the "Expressions" app |
ID | Requirement |
---|---|
12 | Ability to assign and notify multiple users for a given approval workflow of all content. |
66 | Tulip can be used in environment where operators wear gloves. i.e. sterile or clean areas where the operator is gowned up and has gloves on |
75 | Ability to send notifications from any content screen. Ie. email, txt message, alarms. |
78 | All contents have to guide operators thru the process steps in an easy intuitive manner. Ie. easy navigation between process steps |
83 | Ability to configure signature to complete a process step. |
84 | Ability for content to guide operator thru the execution of a process flow model |
88 | Ability to designate certain content fields to be required for data entry |
89 | Ability to configure alerts based on criteria of the entered data |
90 | Ability to configure job aids for assistance. e. click on "help" to get instructions or show how-to procedure |
93 | App has to provide navigation between process steps from external input. Ie. scanner, button, switch, I/O triggers, etc. |
99 | Ability to display the acceptable quality limits to the operator during the execution with an indication of whether the current value is inside/outside the limits. |
100 | Ability to retrieve, examine, and view batch/lot and material attributes used in the processing step (e.g. potency), from external source. |
118 | Ability to configure steps and states for work on orders, materials or equipment in a workflow |
119 | Ability to configure procedural elements for work on orders, materials or equipment in a workflow |
121 | Ability to define procedural sequences with relevant process information that can guide an operator through task execution. |
122 | Ability to define process flows that can be executed in parallel with one another |
123 | Ability to define process and material workflows structures that can be executed in sequence with one another |
124 | Ability to define procedural elements in process and material workflows that can be repeated in sequence, ie configurable number of iteration of the same step both min. and max. number of iterations. |
125 | Ability to define conditions to route process between steps in the workflow. These conditions can be based on state change in other steps or time constraints, equipment status, critical alarms, completion of other steps or defined timers. |
127 | Disallow completion of work until all required processing steps have been performed. i.e. disallow batch close when there are incomplete processing steps. |
133 | Ability to parameterize a process and production model definitions. Ie. create generic definition using parameterization that are substituted by specific production order information prior to release to production. |
150 | Ability to define steps and procedural elements that are triggered by time-based events such as timers or date-time. |
151 | Ability to configure allowed overrides for steps and procedural elements. An override can be allowed for out of spec conditions and can require additional approval using e-signature |
154 | Ability to use process values from previous process steps in any procedural element or step workflow. |
180 | Ability to propagate material attributes to associated materials in the material tracking hierarchies. e.g. assigning material attributes to final product from intermediates. |
190 | Ability to define a UoM and the conversion formulas and rules between UoMs |
253 | Disallow steps from completing until the correct material, material quantity, has been consumed or identified |
258 | Ability to complete steps with process values that are not within the predefined limits if appropriate exception/deviation information and approval is entered |
260 | Ability to track equipment use in production execution by material unit and work order. |
261 | Ability to track equipment substitution during process execution. |
274 | Ability to start processing for work orders by starting to track material (batches, lots, units, etc.). Tracking information should respect tracking hierarchy (kits, trays, wells, flasks, jigs, etc.) |
276 | Work order have to be approved and released for production before any material can be started. Ie starting batches/lots |
277 | Ability to view dispatching list by equipment. Ie for any element of the equipment hierarchy such as area, machine, work center, etc. |
278 | Dispatch priority of work orders and batches/lots can be controlled using predefined configurable dispatching strategies |
288 | Ability to track dispatching of work orders and materials to production once they are released. |
290 | Provide managed process execution that guides the user through the production process as defined in a Production Model including the workflow, process logic, validation requirements, process parameters, material inputs and material outputs. |
291 | Provide sequence management of process steps so that Apps can get required information for execution of a specific process step |
293 | Track process execution of the Production Models by Apps |
295 | Verify that all required data has been entered and collected as prescribed by the step on completion. Disallow to progress on execution path if verification fails |
301 | Ability to re-execute process step respecting any constraints of the process step configuration in the process flow. |
302 | Ability to re-execute process step with override of constraints of the process step configuration in the Master Recipe or material workflow. In such a case an extra e-signature can be required. |
303 | Ability to track batch/lot and material rework based on the Master Recipe or material workflow configuration. |
309 | Ability to track use of one source material or load-carrier used for multiple orders Eg. bulk material that is used for different products. |
317 | Ability to track multiple dispensing of the same material continuously for different work orders or batches/lots as part of a campaign |
326 | Ability to route and disposition materials based on sampling plans Eg. hold or future hold materials until sample testing results are available |
327 | Ability to route and disposition materials based on results of sample testing (off-line) and/or quality testing (in-line) Eg. hold, reject, scrap, or release materials based on sample result |
330 | Ability to automatically or manually log an exception when data is not within configured limits and tolerances. Disallow process completion until exceptions have been logged with configured e-signatures and any authorized overrides have been processed e.g. supervisor signature, scrap, etc. |
337 | Ability to track material consumption in a process step. Material consumption may include processing, assembly, weighing, dispensing, etc. |
347 | Ability to track all WIP materials at all material hierarchy levels including batches, lots, and materials. Ie. material tracking history will include all activities performed on materials including issue, consumption, processing, mixing, assembly, movement, transfer, etc. |
350 | All material tracking history will include context of material hierarchy levels |
354 | Ability to track material association to work order and production order at all levels of material tracking hierarchy |
357 | Ability to track material consumption and use at all levels of the material tracking hierarchy. |
358 | Provide configurable way to review exceptions |
371 | Ability to control automated equipment state (start, stop, pause, resume, etc.) during the execution of a process step. |
378 | Ability to assign operators to equipment or equipment group at login. |
385 | Ability to track equipment location for mobile equipment. The equipment log will include the equipment's location history or path. |
388 | Ability to track material inventory and its physical location. |
390 | Ability to track materials associations using the material tracking model. Ie. track physical material in tray location, trays in batches (Cohorts). |
391 | All materials must be identifiable through auto-id (e.g. barcodes) |
392 | Ability to track materials handled in load-carriers. |
393 | Ability to track loading of material to a load-carrier and its location within the load carrier. Ie. material in a well, plate, flask, tank, tote, etc. |
394 | Ability to track unloading of material from a load-carrier |
405 | Ability to manage and track material consumption as part of a process step. Material consumption may include processing, weighing, dispensing, etc. |
406 | Ability to consume by pre-configured unit of measure (UoM) quantities such as weight, volume, etc. |
407 | Ability to track of material waste and scrap as part of the production process execution. |
426 | Ability to transfer sample material as defined in sampling plan |
427 | Ability to track material attributes during production operations with associated capabilities to browse their history and their trending e.g. temperature, assays, etc. |
456 | Ability to define and dispatch work orders for the different segments of the manufacturing operation. |
457 | Ability to define work order types to indicate special processing or release procedures. Ie normal, testing, prototype, validation, rush, etc. |
803 | All records shall be Accurate. there must be the ability to build accuracy checks into the design of the system or configure verification for manually entered data as necessary. |
805 | All records shall be Consistent, ie capture and recorded in the same manner and in the correct sequence of the acitivities or action being recroded. |
836 | Ability to retrieve information from external a system of record so that Apps can get the required information for execution fo a specific process step. |
856 | When an individual executes a series of signings during a single, continuous period of controlled system access, the first signing shall be executed using all electronic signature components; subsequent signings shall be executed using at least one electronic signature component that is only executable by, and designed to be used only by, the individual. |
857 | Ability to print configured labels for sample materials |