Skip to content

Data Quality Checks

Overview

Osprey's Monitoring & Troubleshooting module continuously runs data quality checks to detect misconfigurations, stale data, and hidden issues across your PI System. These checks are built-in by default and can also be customized with flexible parameters to fit your operational requirements.

Built-In Checks (Defaults)

These checks run automatically to catch common PI data quality issues:

Check Description
Bad Data Tags with Bad status or misconfigured states such as Pt Created or Configure.
No Data Detects tags or attributes that return no values over the expected interval.
Percent Good < 99% Identifies tags or attributes where data quality is below threshold.
Over Compression Detects excessive compression (e.g., Compression % = 1% and Span > 100).
Under Compression Flags when compression is turned off, leading to high data volume.
Reference Tag Does Not Exist Identifies AF attributes pointing to non-existent tags.
Displays Containing Bad Data Flags PI Vision displays that reference bad data directly or multiple degrees upstream (e.g., stale tag → calculation → display).
Calculations Containing Bad Data Detects AF Analyses that consume bad or stale data, directly or indirectly.
Tags Written by Multiple Analyses Flags tags with more than one AF Analysis writing values to them.
Duplicate Tags Identifies tags containing the same data stream, which may indicate configuration duplication.

Customizable Checks

Teams can extend checks with their own expressions. A few common examples:

Check Example Expression Description
Stale Tags time_since_last_value < 14400 Expect new data every 4 hours.
Standard Deviation Out of Range (standard_deviation / average) < 5.0 if average != 0 else True Detects abnormal variability.
Out of Range min > zero and max < zero + span Ensures values stay within configured limits.
Out of Range – Early Warning min > zero + span * 0.1 and max < (zero + span * 0.9) Flags values nearing limits.
Data Collection Check count >= 6 Confirms at least 6 samples per minute are collected.

Parameters Available

Custom checks can use different sets of parameters depending on whether the object is a tag, an attribute, or both.

Tags

  • asset_type, point_source, ex_desc, eng_units, digital_set_name
  • data_security, point_security, location1
  • zero, span, source_tag
  • compression_deviation, compression_percentage, compression_minimum, compression_maximum
  • exception_deviation, exception_percentage, exception_minimum, exception_maximum
  • compressing, scan, point_type

Tags and Attributes

  • status, is_good
  • tag_is_pt_created, tag_does_not_exist, tag_is_configure
  • time_since_last_value, start_time, end_time, count
  • average, min, max, percent_good, standard_deviation

Attributes Only

  • asset_type, full_path, attribute_path
  • parent_element_name, parent_element_path
  • is_manual_data_entry, data_reference, is_configuration_item
  • is_data_reference_defined_by_template, config_string, value_type, default_uom

Disabling Checks

Individual checks can be disabled per tag, attribute, or asset.

Asset-level disabling allows you to disable all checks for an asset and its children.

Example: disabling all checks for a sub-hierarchy in an AF Database.

Summary

Data quality checks in Osprey give you both out-of-the-box protection against common PI misconfigurations and the flexibility to define your own rules. Whether monitoring stale tags, validating data ranges, or surfacing upstream issues in displays and analyses, these checks help maintain trust in your PI System data.