Purpose Statement
This reference guide provides administrators with a comprehensive overview of all workflow operators and conditions available in the First Due platform. Understanding these operators enables you to create effective automation rules, data validation workflows, and conditional logic that ensures accurate documentation, enforces compliance requirements, and streamlines data entry processes across your department.
Workflow operators are the building blocks of automation in First Due. They allow you to create conditional logic that triggers actions based on specific criteria—such as defaulting field values, displaying warnings or errors, hiding irrelevant fields, or requiring certain documentation.
Operators work by comparing field values against defined criteria, and when conditions are met, the system executes your specified actions. Whether you're validating response times, enforcing NEMSIS compliance, or creating intelligent defaults to reduce manual data entry, operators give you the control to build workflows that match your department's unique needs.
Common use cases include:
- Automating field defaults based on incident type or patient demographics
- Validating data quality and preventing submission errors
- Enforcing documentation requirements for specific scenarios
- Creating conditional field visibility based on user selections
- Ensuring time-based validations for response intervals
Prerequisites:
- Administrator access to First Due
- Understanding of your department's data validation requirements
- Familiarity with the report sections and fields you'll be working with
Required Permissions
To create and manage workflow operators and conditions, users must have the following permissions:
- EMS Setup - Manage - Allow
Operator Categories Overview
Workflow operators are organized into eight functional categories. Each category serves specific validation and automation purposes:
- Basic Comparison Operators - Compare single values for equality, inequality, or existence
- List Matching Operators - Check if values match or exclude items from defined lists
- Pattern Matching Operators - Validate text formats using patterns and field relationships
- Numeric Comparison Operators - Compare numbers and dates against threshold values
- Field-to-Field Comparison Operators - Compare values between two different fields
- Date/Time Operators - Validate time intervals and time-based business rules
- Aggregation Operators - Count and validate records in recurrent groups
- Text Length Operators - Validate character length requirements for text fields
1. Basic Comparison Operators
EQUAL
Definition: Checks if a field value exactly matches a single defined value.
Applicable Field Types:
- Dropdown (single-select and multi-select)
- Free-text fields
- Numeric fields
- Boolean (Yes/No)
- Date/Time fields
When to Use:
- Checking for a specific single value
- Boolean/Yes-No validations
- Exact status or type matches
- When you need one exact match, not multiple options
Workflow Example:
Scenario: Default "Gloves" for when response crew certification is equal to Paramedic.
Configuration:
- Field to Default: Protective Equipment
- Condition Field: Response / Crew / Certification
- Operator: Equal
- Value: Paramedic
- Default Value: Gloves
NOT EQUAL
Definition: Checks if a field value does NOT match the specified value.
Applicable Field Types:
- Dropdown (single-select and multi-select)
- Free-text fields
- Numeric fields
- Boolean
- Date/Time fields
When to Use:
- Excluding specific values
- Validating that something is not a certain status
- Ensuring a field changed from default
- "Everything except X" logic
Workflow Example:
Scenario: Default "Back in Service, No Care/Support Services Required" for calls when Unit Disposition is Not Equal to Patient Contact Made.
Configuration:
- Field to Default: Crew Disposition
- Condition Field: Unit Disposition
- Operator: Not Equal
- Value: Patient Contact Made
- Default Value: Back in Service, No Care/Support Services Required
EMPTY
Definition: Checks if a field has NO value—blank, null, or unset.
Applicable Field Types:
- All field types
- Dropdown (checks if nothing selected)
- Free-text (checks if blank)
- Numeric (checks if no number entered)
- Date/Time (checks if not set)
- Groups (checks if no records exist)
When to Use:
- Validating required fields
- Conditional requirements (if A is filled, B must be filled)
- Checking for missing data
- Initial state validations
Workflow Example:
Scenario: Default "National Grid Coordinates" to "None" when "First EMS on Scene" field is empty.
Configuration:
- Field to Default: National Grid Coordinates
- Condition Field: First EMS on Scene
- Operator: Empty
- Default Value: None
NOT EMPTY
Definition: Checks if a field HAS any value.
Applicable Field Types:
When to Use:
- Ensuring data exists before triggering other rules
- Conditional workflows that only apply when data is entered
- Validation that requires cross-field checks only when relevant
Workflow Example:
Scenario: Default "National Grid Coordinates" to "YES" when "Number of Patients at Scene" field is Not empty.
Configuration:
- Field to Default: National Grid Coordinates
- Condition Field: Number of Patients at Scene
- Operator: Not Empty
- Default Value: YES
2. List Matching Operators
IN
Definition: Checks if a field value matches ANY value in a defined list. This is an "OR" operation—if the field matches any item in the list, the condition passes.
Applicable Field Types:
- Dropdown (single-select)
- Dropdown (multi-select) - checks if ANY selected value is in the list
- Free-text (exact match to any list item)
- Numeric fields
When to Use:
- Checking multiple possible values with OR logic
- "If field is A, B, C, D, or E..."
- Most common operator for multi-value conditions
- When you want to trigger on ANY match
Workflow Example:
Scenario: Default "PCS Code" to "No" for 4 different possible non-transport dispatch reasons.
Configuration:
- Field to Default: PCS Code
- Condition Field: Dispatch Reason
- Operator: In
- Values: Medical Alarm, No Other Appropriate Choice, Standby, Well Person Check
- Default Value: No
NOT IN
Definition: Checks if a field value does NOT match any value in a defined list.
Applicable Field Types:
- Dropdown (single-select and multi-select)
- Free-text
- Numeric
When to Use:
- Excluding multiple values
- "If field is anything EXCEPT A, B, C..."
- Easier than listing all acceptable values when exclusions are fewer
- Negative filtering
Workflow Example:
Scenario: Default Response Urgency field to "Non-Immediate" when Primary Payment Method is not in "Insurance, Contracted Payment, Community Network."
Configuration:
- Field to Default: Response Urgency
- Condition Field: Primary Payment Method
- Operator: Not In
- Values: Insurance, Contracted Payment, Community Network
- Default Value: Non-Immediate
IN RESTRICTIVE
Definition: For multi-select fields ONLY. Checks if ALL selected values are in the defined list. Unlike "In" which checks for ANY match, this ensures EVERY selection matches the list.
Applicable Field Types:
- Dropdown (multi-select) ONLY
When to Use:
- Validating that ALL selections are from an approved list
- Restricting multi-select choices
- Ensuring no unapproved values are selected
- "All selected items must be from this set"
Workflow Example:
Scenario: Ensure all selected protective equipment items are from the approved list for a specific type of call.
NOT IN RESTRICTIVE
Definition: For multi-select fields ONLY. Checks if NONE of the selected values are in the defined list.
Applicable Field Types:
- Dropdown (multi-select) ONLY
When to Use:
- Ensuring none of certain values are selected
- Blocking specific combinations
- "Make sure NONE of these are selected"
- Opposite validation to "In Restrictive"
Workflow Example:
Scenario:
3. Pattern Matching Operators
MATCH PATTERN
Definition: Checks if a field value matches a defined regular expression pattern. Used for format validation.
Applicable Field Types:
- Free-text (primary use)
- Any text-based field
When to Use:
- Validating data formats (SSN, phone numbers, medical record numbers)
- Ensuring specific patterns (starts with letter + 5 digits)
- Complex text validation rules
- Format standardization
Common Pattern Examples:
- Phone:
^\d{3}-\d{3}-\d{4}$ (matches 555-123-4567) - SSN:
^\d{3}-\d{2}-\d{4}$ (matches 123-45-6789) - Medical Record Number:
^[A-Z]{2}\d{6}$ (matches AB123456)
Workflow Example:

Scenario: Validate that Medical Record Numbers follow the format: 2 letters followed by 6 digits.
Configuration:
- Workflow Type: Error
- Field to Validate: Medical Record Number
- Operator: Match Pattern
- Pattern:
^[A-Z]{2}\d{6}$ - Error Message: "Medical Record Number must be 2 letters followed by 6 digits (e.g., AB123456)"
NOT MATCH PATTERN
Definition: Checks if a field value does NOT match the specified regular expression pattern.
Applicable Field Types:
- Free-text
- Any text-based field
When to Use:
- Validating that data does NOT follow unwanted patterns
- Blocking specific formats
- Ensuring data quality (preventing repeated characters)
Workflow Example:

Scenario: Block narrative entries with repeated characters (e.g., "aaaa", "1111", "xxxx").
Configuration:
- Workflow Type: Error
- Field to Validate: Patient Care Narrative
- Operator: Not Match Pattern
- Pattern:
^(.)\1+$ (detects repeated single characters) - Error Message: "Please provide a meaningful narrative description"
STARTS WITH FIELD
Definition: Checks if the value in one field starts with the value from another field.
Applicable Field Types:
- Free-text fields (comparing two text fields)
- Code fields
When to Use:
- Validating related identifier prefixes
- Checking hierarchical codes
- Ensuring field relationships
- Code category validations
Workflow Example:

Scenario: Validate that a sub-procedure code starts with the main procedure category code (e.g., main procedure "12", sub-procedure should be "12.1", "12.2").
Configuration:
- Workflow Type: Error
- Field to Validate: Sub-Procedure Code
- Condition Field: Sub-Procedure Code
- Operator: Starts With Field
- Reference Field: Main Procedure Code
- Error Message: "Sub-procedure code must start with the main procedure code"
ENDS WITH FIELD
Definition: Checks if the value in one field ends with the value from another field.
Applicable Field Types:
When to Use:
- Validating code suffixes
- Checking related field endings
- Ensuring field relationships (less common than Starts With)
NOT STARTS WITH FIELD / NOT ENDS WITH FIELD
Definition: Opposite of Starts With Field and Ends With Field. Validates that one field does NOT start/end with another field's value.
When to Use:
- Preventing duplicate prefixes/suffixes
- Ensuring field independence
- Blocking certain relationship patterns
4. Numeric Comparison Operators
GREATER THAN
Definition: Checks if a numeric or date/time value is greater than (>) a specified value. Does not include the boundary value.
Applicable Field Types:
- Numeric fields (age, dose, quantity, measurements)
- Date/Time fields
When to Use:
- Validating thresholds
- Age-based rules
- Dose validation
- Date comparisons
Workflow Example:

Scenario: Display warning if systolic blood pressure exceeds 140 mmHg.
Configuration:
- Workflow Type: Warning
- Field to Validate: Systolic Blood Pressure
- Operator: Greater Than
- Value: 140
- Warning Message: "Systolic BP exceeds normal range (>140). Document clinical findings."
GREATER OR EQUAL THAN
Definition: Checks if value is greater than or equal to (>=) specified value. Includes the boundary value.
Applicable Field Types:
- Numeric fields
- Date/Time fields
When to Use:
- Minimum thresholds that include the threshold value
- "At least X" validations
- Age requirements (18+, 65+)
Workflow Example:

Scenario: Default "Geriatric Patient" flag to "Yes" for patients 65 years or older.
Configuration:
- Field to Default: Geriatric Patient Flag
- Condition Field: Patient Age
- Operator: Greater or Equal Than
- Value: 65
- Default Value: Yes
LESS THAN
Definition: Checks if value is less than (<) specified value. Does not include boundary.
Applicable Field Types:
- Numeric fields
- Date/Time fields
When to Use:
- Maximum thresholds
- Pediatric age checks
- "Below X" validations
Workflow Example:

Scenario: Require Closest Relative Guardian Relationship patients under 18 years old.
Configuration:
- Workflow Type: Error
- Field to Validate: Closest Relative Guardian Relationship
- Condition 1 Field: Closest Relative Guardian Relationship
- Operator: Empty
- AND Condition 2 Field: Information Patient Age
- Operator: Less than
- Value: 18
LESS OR EQUAL THAN
Definition: Checks if value is less than or equal to (<=) specified value. Includes boundary.
Applicable Field Types:
- Numeric fields
- Date/Time fields
When to Use:
- Maximum thresholds including the boundary
- "Up to and including X"
- Upper limit validations
Workflow Example:

Scenario: Flag abnormally low heart rate (bradycardia) for adults—heart rate <= 50 bpm.
Configuration:
- Workflow Type: Warning
- Field to Validate: Heart Rate
- Operator: Less or Equal Than
- Value: 50
- Warning Message: "Bradycardia detected (HR ≤ 50 bpm). Document clinical findings."
5. Field-to-Field Comparison Operators
GREATER THAN FIELD
Definition: Compares two fields to check if Field A is greater than Field B. Both fields must be numeric or date/time.
Applicable Field Types:
- Numeric fields (comparing two numeric fields)
- Date/Time fields (comparing two dates/times)
When to Use:
- Validating that one value exceeds another
- Date sequence validation
- Related numeric comparisons
- Time interval checks
Workflow Example:

Scenario: Validate that "Unit Arrived at Scene Time" is AFTER "Unit Dispatched Time".
Configuration:
- Workflow Type: Error
- Field to Validate: Unit Arrived at Scene
- Condition Field: Unit Arrived at Scene
- Operator: Greater Than Field
- Reference Field: Unit Dispatched Time
- Error Message: "Arrival time cannot be before dispatch time"
LESS THAN FIELD
Definition: Checks if Field A is less than Field B.
When to Use:
- Ensure Field A < Field B (e.g., start time < end time)
- Validating chronological order
- Budget or quantity comparisons
GREATER OR EQUAL THAN FIELD / LESS OR EQUAL THAN FIELD
Definition: Similar field-to-field comparisons with inclusive boundaries.
When to Use:
- Greater or Equal Than Field: Ensure Field A >= Field B
- Less or Equal Than Field: Ensure Field A <= Field B
Scenario: Validate that "Patient Arrived at Hospital" is after or equal to "Unit Departed Scene".
IN FIELD
Definition: Checks if a value selected in one field is the SAME as a value selected in another field. Prevents duplicate selections across related fields.
Applicable Field Types:
- Dropdown fields (single or multi-select)
- Code fields
When to Use:
- Preventing duplicate diagnoses/impressions
- Ensuring field independence
- Blocking same value in multiple fields
- "Don't select the same thing twice"
Workflow Example:

Scenario: Prevent documenting the same diagnosis in both "Primary Impression" and "Secondary Impression".
Configuration:
- Workflow Type: Error
- Field to Validate: Secondary Impression
- Condition Field: Secondary Impression
- Operator: In Field
- Reference Field: Primary Impression
- Error Message: "Secondary Impression cannot be the same as Primary Impression"
NOT IN FIELD
Definition: Opposite of In Field. Checks if value in one field is NOT the same as value in another field.
When to Use:
- Ensuring fields have different values
- Requiring distinct selections
- Validating field differentiation
Scenario: Ensure "Destination Hospital" is different from "Originating Hospital" for interfacility transfers.
6. Date/Time Operators
GREATER THAN DATETIME DIFFERENCE
Definition: Checks if the time difference between two date/time fields is greater than a specified constant value (e.g., 30 minutes, 2 hours).
Applicable Field Types:
Time Units Available:
- Seconds
- Minutes
- Hours
- Days
- Weeks
- Months
- Years
When to Use:
- Validating response time intervals
- Checking if events occurred within acceptable timeframes
- Ensuring minimum/maximum time gaps between events
Workflow Example:

Scenario: Warn if time from "Unit Dispatched" to "Unit Arrived at Scene" exceeds 15 minutes.
Configuration:
- Workflow Type: Warning
- Field to Validate: Unit Arrived at Scene
- Operator: Greater Than Datetime Difference
- Start Field: Unit Dispatched
- End Field: Unit Arrived at Scene
- Constant Value: 15
- Time Unit: Minutes
- Warning Message: "Response time exceeds 15 minutes. Verify accuracy or document delay reason."
GREATER OR EQUAL THAN CONSTANT DATETIME BETWEEN FIELDS
Definition: Similar to above, but includes the boundary value (>=). Passes if time difference is greater than OR equal to the constant.
Scenario: Flag patients with extended scene times (scene time >= 20 minutes) for quality review.
Configuration:
- Workflow Type: Warning
- Operator: Greater or Equal Than Constant Datetime Between Fields
- Start Field: Unit Arrived at Scene
- End Field: Unit Departed Scene
- Constant Value: 20
- Time Unit: Minutes
- Warning Message: "Scene time >= 20 minutes. Extended scene time flagged for review."
LESS THAN CONSTANT DATETIME BETWEEN FIELDS
Definition: Checks if time difference is less than (<) a constant value. Used for minimum time validations.
Scenario: Flag if patient was transported too quickly (less than 2 minutes from arrival to departure).
Configuration:
- Workflow Type: Warning
- Operator: Less Than Constant Datetime Between Fields
- Start Field: Unit Arrived at Scene
- End Field: Unit Departed Scene
- Constant Value: 2
- Time Unit: Minutes
- Warning Message: "Scene time less than 2 minutes. Verify incomplete assessment."
LESS OR EQUAL THAN CONSTANT DATETIME BETWEEN FIELDS
Definition: Checks if time difference is less than or equal to (<=) a constant value.
GREATER OR EQUAL THAN CONSTANT DATETIME BETWEEN FIELD AND CURRENT TIME
Definition: Checks if the time between a specific field and the CURRENT TIME (now) is greater than or equal to a constant. Used for real-time validations.
When to Use:
- Preventing future dates
- Validating that events happened recently
- Time-based business rules during data entry
Scenario: Prevent users from entering incident dates more than 7 days in the past (enforce timely documentation).
Configuration:
- Workflow Type: Error
- Field to Validate: Incident Date
- Operator: Greater or Equal Than Constant Datetime Between Field and Current Time
- Field: Incident Date
- Constant Value: 7
- Time Unit: Days
- Error Message: "Cannot document incidents more than 7 days old. Contact supervisor for late entry."
LESS OR EQUAL THAN CONSTANT DATETIME BETWEEN FIELD AND CURRENT TIME
Definition: Checks if time between a field and current time is less than or equal to a constant.
Scenario: Ensure medication administration time is not in the future (must be <= 0 minutes from now).
Configuration:
- Workflow Type: Error
- Operator: NOT (Less or Equal Than Constant Datetime Between Field and Current Time)
- Field: Medication Administration Time
- Constant Value: 0
- Time Unit: Minutes
- Error Message: "Medication administration time cannot be in the future"
7. Aggregation Operators (Groups/Totals)
These operators work on recurrent groups (Vitals, Medications, Procedures, etc.) to count records.
TOTAL EQUAL (Count Equal)
Definition: Checks if the total number of records in a group equals a specific number.
Applicable Field Types:
- Group/Recurrent fields ONLY (Vital Signs, Medications, Procedures, etc.)
When to Use:
- Requiring exact number of records
- Validating data completeness
- Enforcing minimum documentation
Workflow Example:

Scenario: At least 1 full set (HR, BP, AVPU, RR, GCS) of Vital Signs is required if Patient Contact is made.
Configuration:
- Workflow Type: Error
- Group: Vital Signs Group
- Condition Field: Vital Signs Group
- Operator: Total Less Than
- Value: 1
- AND Condition: Unit Disposition
- Operator: Equal
- Value: Patient Contact Made
- Error Message: At least 1 full set (HR, BP, AVPU, RR, GCS) of Vital Signs is required if Patient Contact is made.
TOTAL NOT EQUAL (Count Not Equal)
Definition: Checks if count of records is NOT equal to specified number.
Scenario: Warn if medication count is not equal to expected number based on protocol.
TOTAL GREATER THAN (Count Greater Than)
Definition: Checks if count of records is greater than (>) specified number.
Scenario: Flag cases with excessive medication administrations (> 5 medications) for review.
TOTAL GREATER OR EQUAL THAN (Count Greater or Equal Than)
Definition: Checks if count is >= specified number. Includes boundary.
Scenario: Require cardiac arrest documentation if 2 or more defibrillation attempts occurred.
TOTAL LESS THAN (Count Less Than)
Definition: Checks if count is less than (<) specified number.
Scenario: Warn if fewer than 2 vitals sets documented for transported patients.
TOTAL LESS OR EQUAL THAN (Count Less or Equal Than)
Definition: Checks if count is <= specified number.
When to Use:
- Maximum record validations
- Ensuring documentation doesn't exceed limits
- Quality control checks
8. Text Length Operators
LENGTH GREATER THAN
Definition: Checks if the character length of a text field is greater than a specified number.
Applicable Field Types:
- Free-text fields
- Long text/Narrative fields
When to Use:
- Maximum length warnings
- Preventing excessively long entries
- Field size validations
LENGTH LESS THAN
Definition: Checks if character length is less than a specified number. Used for minimum length requirements.
When to Use:
- Ensuring adequate narrative detail
- Minimum documentation requirements
- Quality checks on free-text entries
Workflow Example:

Scenario: Require patient care narratives to be at least 50 characters to ensure adequate documentation.
Configuration:
- Workflow Type: Error
- Field to Validate: Patient Care Narrative
- Operator: Length Greater Than
- Value: 50
- Error Message: "Narrative must be at least 50 characters. Please provide detailed patient care description."
LENGTH EQUAL
Definition: Checks if character length exactly equals a specified number.
When to Use:
- Exact length requirements (e.g., medical record number must be exactly 10 characters)
- Fixed-format field validation
LENGTH NOT EQUAL
Definition: Checks if character length does NOT equal specified number.
When to Use:
- Ensuring length changed from default
- Validating data variety
LENGTH GREATER OR EQUAL THAN
Definition: Checks if character length is >= specified number. Minimum length including boundary.
LENGTH LESS OR EQUAL THAN
Definition: Checks if character length is <= specified number. Maximum length including boundary.
Best Practices
Operator Selection:
- Start simple—use basic comparison operators before moving to complex patterns
- Choose "In" instead of multiple "Equal" conditions when checking for multiple values
- Use field-to-field operators for related data validation (dates, codes, identifiers)
- Reserve pattern matching for format-specific validations (phone numbers, IDs, codes)
Workflow Design:
- Test workflows with real data before deploying department-wide
- Document the business reason for each workflow rule
- Use warnings for suggestions, errors for mandatory requirements
- Combine multiple conditions with AND/OR logic for complex scenarios
- Consider the user experience—avoid excessive error messages
Performance Optimization:
- Place most restrictive conditions first to reduce processing
- Use aggregation operators sparingly on large datasets
- Test date/time operators with various time zones if applicable
- Review and archive outdated workflows regularly
Data Validation Strategy:
- Front-load validation at point of entry rather than at submission
- Provide clear, actionable error messages that explain how to fix issues
- Use default values to reduce manual data entry and improve consistency
- Balance validation rigor with user efficiency
Common Mistakes to Avoid:
- Using "Equal" when "In" is more appropriate for multiple values
- Forgetting to include boundary values (use >= or <= when appropriate)
- Creating circular logic that prevents data entry
- Overly restrictive patterns that reject valid data
- Not testing workflows across all user roles and scenarios
Troubleshooting & FAQs
Q: My workflow isn't triggering. What should I check?
A: Verify the following:
- Field names are spelled exactly as they appear in the system
- Operator matches the field type (numeric operators on numeric fields, etc.)
- Condition values match available options precisely
- User has proper permissions to trigger the workflow
- Workflow is active and published
Q: Can I combine multiple operators in a single workflow?
A: Yes. Use AND/OR logic to combine conditions. For example: "If Age < 18 AND Pediatric Assessment is Empty, display error."
Q: What's the difference between "In" and "In Restrictive"?
A:
- "In" checks if ANY selected value matches the list (OR logic)
- "In Restrictive" checks if ALL selected values are in the list (AND logic)
- Use "In Restrictive" for multi-select fields when you need to ensure every selection is approved
Q: How do I validate time intervals between events?
A: Use the Date/Time operators like "Greater Than Datetime Difference." Specify the start field, end field, time value, and unit (minutes, hours, days).
Q: Can I use operators on custom fields?
A: Yes. Operators work on both standard and custom fields, as long as the field type matches the operator requirements.
Q: My pattern matching isn't working. What's wrong?
A: Common issues include:
- Incorrect regular expression syntax
- Missing anchors (^ for start, $ for end)
- Case sensitivity—use case-insensitive flags if needed
- Test your pattern with an online regex tester before implementing
Q: How do I prevent duplicate values across multiple fields?
A: Use the "In Field" operator to check if one field's value matches another field. Display an error when they match.
Q: Can I count records in a repeating group?
A: Yes. Use aggregation operators (Total Equal, Total Greater Than, etc.) on group fields like Vitals, Medications, or Procedures.
Q: What happens if a user doesn't have permission to see a field used in a workflow?
A: The workflow will not execute for that user. Ensure workflow conditions use fields accessible to all relevant user roles.
Q: How do I create a workflow that triggers only during certain date ranges?
A: Use "Greater or Equal Than Constant Datetime Between Field and Current Time" to check if current time falls within your desired range.