Skip to main content

Qualifiers

Qualifiers is the reference data type that defines your lab-result qualifier codes — J, U, UJ, R, N, NJ, B, and the like — and records what each one means. It is an application-wide, Data Steward-managed catalog, shared by every Project.

A qualifier definition does two jobs. It records the code's disposition — whether a result carrying the code is estimated, rejected, tentatively identified, or biased — so Erde can derive a result's standing from its validated qualifier instead of asking a reviewer to re-enter it by hand. And it records the code's propagation ranks, which decide which qualifier wins when the analysis tools combine several results into one (a summation or a duplicate aggregate).

You maintain Qualifiers like every other reference-data type — open Reference Data from the main navigation, expand the Laboratory group, and select Qualifiers (at /reference-data/qualifiers). For the add, edit, retire, and Load Defaults mechanics common to all types, see Manage reference data.

Fields

A Qualifier carries the standard reference-data fieldsName, Code, Description, Active, and Pinned — plus the disposition flags, propagation ranks, and neutral-qualifier link below. Unlike most reference-data types, Code is required, and it accepts characters a normal code does not (so J+, J-, and UJ- are valid qualifier codes).

FieldTypeRequiredDescription
CodetextYesThe qualifier code, max 50 characters. Unique within the catalog. Accepts symbols such as + and - so codes like J+ are valid.
NametextYesThe descriptive label, max 200 characters. Unique within the catalog.
DescriptiontextNoOptional notes, max 500 characters.
Estimatedyes/noThe result value is an estimate. Off by default.
Rejectedyes/noThe result was rejected in validation. Off by default. A result whose validated qualifier maps to a rejected code is excluded from analysis and screening by default.
Tentatively Identifiedyes/noA tentatively identified compound (TIC). Off by default.
Biased Highyes/noThe result reads high. Off by default. Cannot be set together with Biased Low.
Biased Lowyes/noThe result reads low. Off by default. Cannot be set together with Biased High.
Detected RankintegerNoPropagation rank used when at least one combined result is detected. Lower wins. Positive when set.
All Non-Detect RankintegerNoPropagation rank used when every combined result is a non-detect. Lower wins. Positive when set.
Neutral QualifierreferenceNoThe un-biased equivalent of a biased code (for example J+ points at J). Used to neutralize a combined group that has conflicting bias.
Activeyes/noControls whether the code is selectable in pickers. On by default.
Pinnedyes/noSorts the code to the top of the list. Off by default.

A code can carry several disposition flags at onceNJ, for instance, is both estimated and tentatively identified.

Disposition: what a code conveys

The disposition flags are what let Erde decide a result's standing from its validated qualifier alone. When a reviewer records a validated qualifier on a result, Erde looks the code up in this catalog and derives whether the result is rejected or estimated — the reviewer does not set those by hand.

The most consequential flag is Rejected. A result whose validated qualifier maps to a rejected code is treated as rejected throughout analysis: it is excluded from the Data Explorer, Crosstab, and Map by default (Data Explorer can opt rejected results back in).

info

Disposition is derived from the validated qualifier only. A raw lab qualifier — the code the laboratory reported — does not change a result's disposition on its own. A reviewer's validated qualifier does.

The same holds for display: the analysis and screening surfaces — Crosstab, Map, Time Series, and screening — show the validated qualifier only. The raw lab qualifier appears only in the Data Explorer's audit columns, kept there for reference.

Propagation ranks

When an analysis run combines several results into one value — a summation rule such as Total PCBs, or a duplicate aggregate — exactly one qualifier must carry forward onto the combined value. The propagation ranks decide which.

  • Lower rank wins. A rank of 1 beats a rank of 4.
  • Detected Rank applies when at least one of the combined results is detected; All Non-Detect Rank applies when every combined result is a non-detect. A code can set either, both, or neither.
  • A code with no applicable rank does not compete for the win in that case.

Rejected typically ranks 1, so a rejected result dominates a combined group.

note

Propagation ranks are global — set once on each Qualifier and used by every Project. A Data Management Plan controls how results are aggregated and reported, not what a qualifier means or how it ranks.

Neutral qualifier

A biased code reports a known direction of error — J+ reads high, J- reads low. When the combining results carry a bias in one direction only, that bias is kept: a group of J readings with a single J+ carries J+ forward, because at least one result is known to read high and none reads low. Only when a group mixes opposite directions does the bias cancel — and the Neutral Qualifier is the bias-stripped code Erde substitutes then. Both J+ and J- name J as their neutral, so a conflicting-bias group carries plain J forward. A biased code with no neutral set falls back to the rank winner's code.

Aliases

A qualifier can carry aliases — alternate spellings of the same code that a laboratory or a historical dataset might use. JN for NJ, N J with a space, J (H) — define each as an alias of its canonical code and the result still matches, without anyone editing the historical data.

Aliases are matched the same way codes are: whole-string and case-insensitive, never decomposed or stripped. An alias resolves to its canonical qualifier everywhere a code does — disposition derivation, the rejected-result filter, and qualifier propagation in summation and duplicate aggregation.

To manage a qualifier's aliases, choose Aliases in its row on the Qualifiers list, then add, edit, or remove entries. Two rules keep the mapping unambiguous:

  • An alias must be globally unique — it cannot already belong to another qualifier.
  • An alias cannot equal any qualifier code — if the text is already a code, it needs no alias.

A blank or duplicate alias is refused.

Coverage scan

When data arrives from labs that use codes you have not defined, their validated qualifiers match nothing and carry no disposition. Scan Coverage — on the Qualifiers toolbar — finds them: it lists every validated qualifier on your results that matches no defined code or alias, most frequent first. Close the gaps from the top down — add the high-volume ones as codes, or alias the variants to a code you already have — instead of fielding a per-result warning.

The standard set

Erde ships a curated EPA/NFG starter set you load on demand with Load Defaults (it never installs automatically). You own this reference data once it is loaded — edit, extend, replace, or ignore any of it. Loading is additive: it adds only the codes not already present, matched by Name or Code.

CodeNameDispositionDetected rankAll-non-detect rankNeutral
RRejectedRejected11
JEstimatedEstimated4
J+Estimated (biased high)Estimated, biased high4J
J-Estimated (biased low)Estimated, biased low4J
UNon-detect3
UJNon-detect, estimatedEstimated2
UJ+Non-detect, estimated (biased high)Estimated, biased high2UJ
UJ-Non-detect, estimated (biased low)Estimated, biased low2UJ
NTentatively identifiedTentatively identified5
NJTentatively identified, estimatedEstimated, tentatively identified2
NJ+Tentatively identified, estimated (biased high)Estimated, tentatively identified, biased high2NJ
NJ-Tentatively identified, estimated (biased low)Estimated, tentatively identified, biased low2NJ
BBlank contamination6
BJBlank contamination, estimatedEstimated3
BJ+Blank contamination, estimated (biased high)Estimated, biased high3BJ
BJ-Blank contamination, estimated (biased low)Estimated, biased low3BJ

Validation rules

RuleEffect
Code and Name are required and uniqueA blank or duplicate is refused.
A code cannot be biased both high and lowSetting both raises the error "A qualifier cannot be biased both high and low."
A rank, when set, must be positiveA zero or negative rank is refused.
Bias without EstimatedSetting a bias flag without Estimated is allowed but warns: "Bias is set but the qualifier is not estimated; bias usually applies to estimated results."
A biased code with no Neutral QualifierAllowed; warns that a mixed-bias group will not be neutralized.

Permissions

ActionRole or policy
View qualifiersAny signed-in user (read-only)
Add / edit / delete / seedData Steward — the Administrator or Data Manager role

A qualifier that another code names as its Neutral Qualifier cannot be deleted until that link is cleared. Otherwise a code can be deleted outright — results keep the qualifier text they already carry, but it stops resolving to a disposition (the coverage scan surfaces such gaps). To retire a code instead of deleting it, clear Active. See Manage reference data.