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 triggers the execution of logic (i.e. 'When' in the App Editor). See below for possible events. |
Clauses | The conditions that control the execution of logic (i.e. 'If', 'If/Else', 'Then'). See below for more details. |
Values | Existing data inside the Tulip system such as 'Part Count' or 'Order Number'. See below for possible value types. |
Actions | What the trigger does. Many actions are possible in the Tulip system. See below for possible actions. |
An event can be triggered from multiple sources. Possible sources and examples below:
Trigger Event | Description |
---|---|
On Step Enter | A new step has been displayed to the user |
Timers | Repeated at some interval, e.g. every 30 seconds |
Machines and Devices | A signal has been received from a device or machine |
On Step Exit | The user is navigating away from a step |
App Started | Run once when the App starts before other logic |
App Completed | Run each time the App is completed |
App Cancelled | Run if the App is cancelled |
Button is Pressed | A user has pressed a button object in the App |
A Row is Selected | A user has selected a row in a table widget in the App |
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.
Data Manipulation
Logout Current User - Logout the current user and cancel the current App execution.
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-T148 | SQL Connectors : 02 - Add Function to SQL Connector |
QA-T183 | Triggers - Print Using System Dialog Trigger |
QA-T235 | User Table : 01 - User Table |
QA-T240 | HTTP Connectors : 02 - Add several functions to HTTP Connector |
QA-T305 | Configuration and Apps : 05 - Apps can use Vision Cameras and Regions |
QA-T352 | Triggers - Basic Triggers App |
QA-T399 | Table Links : 03 - Linking Records via App Triggers |
QA-T404 | Configuration and Apps : 12 - Test Jig Enter/Exit region and Appear/Disappear events |
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 | Base Layout - Widget triggers |
QA-T516 | Base Layout - Step and App Triggers |
QA-T521 | Expression Editor : 02 - Running the "Expressions" app |
QA-T679 | Triggers - Sleep Trigger |
QA-T728 | HTTP Connectors : 05 - Non-2xx Responses |
QA-T1063 | Triggers - Default value for 'Stop remaining triggers on error' toggle |
QA-T1064 | Triggers - Functionality of 'Stop remaining triggers on error' toggle |
ID | Requirement |
---|---|
PLAT-8729 (260) | Ability to track equipment use in production execution by material unit and work order. |
PLAT-8732 (258) | Ability to complete steps with process values that are not within the predefined limits if appropriate exception/deviation information and approval is entered |
PLAT-8735 (293) | Track process execution of the Production Models by Apps |
PLAT-8738 (291) | Provide sequence management of process steps so that Apps can get required information for execution of a specific process step |
PLAT-8745 (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 |
PLAT-8747 (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. |
PLAT-8748 (301) | Ability to re-execute process step respecting any constraints of the process step configuration in the process flow. |
PLAT-8754 (358) | Provide configurable way to review exceptions |
PLAT-8757 (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 |
PLAT-8759 (326) | Ability to route and disposition materials based on sampling plans Eg. hold or future hold materials until sample testing results are available |
PLAT-8761 (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. |
PLAT-8763 (406) | Ability to consume by pre-configured unit of measure (UoM) quantities such as weight, volume, etc. |
PLAT-8778 (12) | Ability to assign and notify multiple users for a given approval workflow of all content. |
PLAT-8789 (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 |
PLAT-8793 (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. |
PLAT-8799 (75) | Ability to send notifications from any content screen. Ie. email, txt message, alarms. |
PLAT-8804 (150) | Ability to define steps and procedural elements that are triggered by time-based events such as timers or date-time. |
PLAT-8810 (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. |
PLAT-8811 (255) | Ability to verify that equipment (room, suite, area, etc.) meets routine cleaning requirements and prevent process start if cleaning status requirement is not met prior to start of processing. |
PLAT-8815 (154) | Ability to use process values from previous process steps in any procedural element or step workflow. |
PLAT-8817 (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 |
PLAT-8839 (457) | Ability to define work order types to indicate special processing or release procedures. Ie normal, testing, prototype, validation, rush, etc. |
PLAT-8840 (456) | Ability to define and dispatch work orders for the different segments of the manufacturing operation. |
PLAT-8845 (371) | Ability to control automated equipment state (start, stop, pause, resume, etc.) during the execution of a process step. |
PLAT-8847 (119) | Ability to configure procedural elements for work on orders, materials or equipment in a workflow |
PLAT-8850 (118) | Ability to configure steps and states for work on orders, materials or equipment in a workflow |
PLAT-8852 (378) | Ability to assign operators to equipment or equipment group at login. |
PLAT-8853 (426) | Ability to transfer sample material as defined in sampling plan |
PLAT-8854 (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. |
PLAT-8855 (391) | All materials must be identifiable through auto-id (e.g. barcodes) |
PLAT-8856 (123) | Ability to define process and material workflows structures that can be executed in sequence with one another |
PLAT-8857 (122) | Ability to define process flows that can be executed in parallel with one another |
PLAT-8859 (121) | Ability to define procedural sequences with relevant process information that can guide an operator through task execution. |
PLAT-8862 (127) | Disallow completion of work until all required processing steps have been performed. i.e. disallow batch close when there are incomplete processing steps. |
PLAT-8864 (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. |
PLAT-8869 (856) | Continuous signing sessions require two signature components for first signing but only one (secret) component for subsequent signings |
PLAT-8870 (100) | Ability to retrieve, examine, and view batch/lot and material attributes used in the processing step (e.g. potency), from external source. |
PLAT-8876 (427) | Ability to track material attributes during production operations with associated capabilities to browse their history and their trending e.g. temperature, assays, etc. |
PLAT-8877 (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.) |
PLAT-8878 (253) | Disallow steps from completing until the correct material, material quantity, has been consumed or identified |
PLAT-8879 (288) | Ability to track dispatching of work orders and materials to production once they are released. |
PLAT-8880 (278) | Dispatch priority of work orders and batches/lots can be controlled using predefined configurable dispatching strategies |
PLAT-8881 (277) | Ability to view dispatching list by equipment. Ie for any element of the equipment hierarchy such as area, machine, work center, etc. |
PLAT-8882 (276) | Work order have to be approved and released for production before any material can be started. Ie starting batches/lots |
PLAT-8887 (190) | Ability to define a UoM and the conversion formulas and rules between UoMs |
PLAT-8895 (180) | Ability to propagate material attributes to associated materials in the material tracking hierarchies. e.g. assigning material attributes to final product from intermediates. |
PLAT-8909 (394) | Ability to track unloading of material from a load-carrier |
PLAT-8911 (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. |
PLAT-8913 (392) | Ability to track materials handled in load-carriers. |
PLAT-8914 (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. |
PLAT-8916 (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. |
PLAT-8919 (407) | Ability to track of material waste and scrap as part of the production process execution. |
PLAT-8921 (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 |
PLAT-8923 (405) | Ability to manage and track material consumption as part of a process step. Material consumption may include processing, weighing, dispensing, etc. |
PLAT-8924 (93) | App has to provide navigation between process steps from external input. Ie. scanner, button, switch, I/O triggers, etc. |
PLAT-8925 (390) | Ability to track materials associations using the material tracking model. Ie. track physical material in tray location, trays in batches (Cohorts). |
PLAT-8928 (388) | Ability to track material inventory and its physical location. |
PLAT-8929 (90) | Ability to configure job aids for assistance. e. click on "help" to get instructions or show how-to procedure |
PLAT-8930 (385) | Ability to track equipment location for mobile equipment. The equipment log will include the equipment's location history or path. |
PLAT-8948 (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. |
PLAT-8954 (857) | Ability to print configured labels for sample materials |
PLAT-8959 (317) | Ability to track multiple dispensing of the same material continuously for different work orders or batches/lots as part of a campaign |
PLAT-8960 (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. |
PLAT-8963 (303) | Ability to track batch/lot and material rework based on the Master Recipe or material workflow configuration. |
PLAT-8964 (261) | Ability to track equipment substitution during process execution. |
PLAT-8966 (78) | All contents have to guide operators thru the process steps in an easy intuitive manner. Ie. easy navigation between process steps |
PLAT-8970 (84) | Ability for content to guide operator thru the execution of a process flow model |
PLAT-8971 (354) | Ability to track material association to work order and production order at all levels of material tracking hierarchy |
PLAT-8972 (83) | Ability to configure signature to complete a process step. |
PLAT-8976 (350) | All material tracking history will include context of material hierarchy levels |
PLAT-8978 (89) | Ability to configure alerts based on criteria of the entered data |
PLAT-8980 (88) | Ability to designate certain content fields to be required for data entry |
PLAT-8981 (357) | Ability to track material consumption and use at all levels of the material tracking hierarchy. |
PLAT-8990 (337) | Ability to track material consumption in a process step. Material consumption may include processing, assembly, weighing, dispensing, etc. |