Skip to main content Skip to footer

Search Crosser Knowledge Base

Verify Data Quality using Data Trigger module

The Data Trigger module is a powerful feature that allows you to generate messages whenever incoming data meets specific criteria. But did you know that the same module can also be used to assign quality labels—such as good or bad—to your data?

For example, if an incoming message contains information about a particular asset, asset type, or process value, you can automatically tag it with a quality flag. To do this, simply define the appropriate Trigger Conditions within the Data Trigger module and connect it to your flow.

Flow example:

Crosser Flow Example

Example - good:

Crosser Example

Example - bad:

Crosser Example

Trigger definition:

[
	{
		"id": "14f84789-8bc4-487d-8363-b5dcf5320ab8",
		"name": "pump_temp_good",
		"isActive": true,
		"edge": "NoEdge",
		"logicOperation": "And",
		"conditions": [
			{
				"sourceProperty": "temp",
				"condition": "LessThan",
				"value": 70
			},
			{
				"sourceProperty": "temp",
				"condition": "GreaterThan",
				"value": 50
			},
			{
				"sourceProperty": "asset",
				"condition": "Contains",
				"value": "pump"
			}
		],
		"metadata": {
			"data.quality": "good"
		}
	},
	{
		"id": "14f84789-8bc4-487d-8363-b5dcf5320ab9",
		"name": "pump_temp_high",
		"isActive": true,
		"edge": "NoEdge",
		"logicOperation": "And",
		"conditions": [
			{
				"sourceProperty": "temp",
				"condition": "GreaterThan",
				"value": 70
			},
			{
				"sourceProperty": "asset",
				"condition": "Contains",
				"value": "pump"
			}
		],
		"metadata": {
			"data.quality": "bad"
		}
	},
	{
		"id": "14f84789-8bc4-487d-8363-b5dcf5320ac1",
		"name": "pump_temp_low",
		"isActive": true,
		"edge": "NoEdge",
		"logicOperation": "And",
		"conditions": [
			{
				"sourceProperty": "temp",
				"condition": "LessThan",
				"value": 50
			},
			{
				"sourceProperty": "asset",
				"condition": "Contains",
				"value": "pump"
			}
		],
		"metadata": {
					"data.quality": "bad"
		}
	}
]

Tip: Trigger definitions can be created externally and uploaded via API. Besides that, you can parametrize them or ingest them as a flow message.

About the author

David Nienhaus | Senior Solution Engineer

David is a Senior Solution Engineer at Crosser. He has over 15 years experience working with software integration and digitization projects for critical infrastructure.
His engineering background gives him the understanding and focus needed to solve customer use cases in the most efficient and successful way.