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_namedata_security,point_security,location1zero,span,source_tagcompression_deviation,compression_percentage,compression_minimum,compression_maximumexception_deviation,exception_percentage,exception_minimum,exception_maximumcompressing,scan,point_type
Tags and Attributes
status,is_goodtag_is_pt_created,tag_does_not_exist,tag_is_configuretime_since_last_value,start_time,end_time,countaverage,min,max,percent_good,standard_deviation
Attributes Only
asset_type,full_path,attribute_pathparent_element_name,parent_element_pathis_manual_data_entry,data_reference,is_configuration_itemis_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.