> For the complete documentation index, see [llms.txt](https://docs.decube.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decube.io/data-quality-v2/monitor-types/field-health.md).

# Field Health

The Field Health checks available for each column type, and what they have in common

Field Health monitors watch a single column and test every row in scope against a rule. Each run reports how many rows failed, and compares that count against the Tolerance you set, so you decide how many bad rows the column can carry before the monitor raises an incident.

The check you can use depends on the column's type.

{% embed url="<https://youtu.be/hI4dEvirC_8>" %}

### Numeric columns

| Check                          | What it tests                                               | Page                                                                                |
| ------------------------------ | ----------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| Average, Minimum, Maximum, Sum | One aggregate statistic for the column falls inside a range | [Numeric checks](/data-quality-v2/monitor-types/field-health/numeric-checks.md)     |
| Numerical Range                | Every individual value falls inside a range                 | [Numerical range](/data-quality-v2/monitor-types/field-health/numerical-range.md)   |
| Zero                           | The column carries few enough zero values                   | [Condition checks](/data-quality-v2/monitor-types/field-health/condition-checks.md) |

### String columns

| Check                        | What it tests                                   | Page                                                                                |
| ---------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------- |
| String Length                | Text length falls inside a range                | [String checks](/data-quality-v2/monitor-types/field-health/string-checks.md)       |
| Regex Match, Regex Not Match | Values match, or avoid, a pattern               | [String checks](/data-quality-v2/monitor-types/field-health/string-checks.md)       |
| Value In, Value Not In       | Values belong to, or stay out of, a defined set | [Value set checks](/data-quality-v2/monitor-types/field-health/value-set-checks.md) |

### Date and timestamp columns

| Check               | What it tests                               | Page                                                                              |
| ------------------- | ------------------------------------------- | --------------------------------------------------------------------------------- |
| Is Before, Is After | Values fall before or after a point in time | [Temporal checks](/data-quality-v2/monitor-types/field-health/temporal-checks.md) |

### Any column type

| Check  | What it tests                                       | Page                                                                                |
| ------ | --------------------------------------------------- | ----------------------------------------------------------------------------------- |
| Null   | The column carries few enough empty values          | [Condition checks](/data-quality-v2/monitor-types/field-health/condition-checks.md) |
| Unique | Values repeat less often than your Tolerance allows | [Condition checks](/data-quality-v2/monitor-types/field-health/condition-checks.md) |

{% hint style="info" %}
Numerical Range and String Length use a Threshold and a Tolerance together: the Threshold defines which rows fail, the Tolerance defines how many failing rows the run accepts. The Condition checks come with a fixed rule built in, so Tolerance is the only lever you set.
{% endhint %}

### Running one manually

Field Health monitors support a manual schedule. A manual run scans the full table, so factor that cost in on large tables before choosing it over a schedule.
