Decision Rule¶
Whether a measured value is called "conforming" or "not conforming" does not follow from the value alone but from a decision rule: it sets how the measurement uncertainty enters the statement and which risk of a wrong statement the laboratory accepts with it. ISO/IEC 17025:2017 asks for three things:
- agree the rule with the customer before measuring (7.1.3),
- apply it so that the risk is taken into account (7.8.6.1),
- state on the certificate which rule was applied (7.8.6.2).
calServer knows the three rules of ILAC-G8:09/2019, section 4.2. They can be set for the laboratory, agreed with a customer and chosen for a single calibration. The certificate names the rule with its section.
The three rules¶
Notation: TL is the tolerance limit, U the expanded measurement uncertainty of the measuring point, w the width of the guard band by which the acceptance limit moves inward from the tolerance limit.
| Rule | Guard band | Statements on the certificate | Risk |
|---|---|---|---|
| Non-binary with guard band (ILAC-G8 4.2.3), factory default | w = U | conforming inside TL − U; "?" between TL − U and TL; "!?" between TL and TL + U; "!" beyond | Close to the limit the certificate says explicitly that no statement is possible. |
| Binary with guard band (ILAC-G8 4.2.2) | w = U | conforming inside TL − U, otherwise "!" | Calling a device conforming by mistake has a probability of at most about 2.5 % for a normal distribution and k = 2. In exchange, some good devices are called "not conforming". |
| Simple acceptance (ILAC-G8 4.2.1) | w = 0 | conforming up to TL, otherwise "!" | U is on the certificate but not part of the decision. Close to a limit a statement can be wrong with up to 50 %. |
The non-binary rule is exactly what calServer always calculated before the choice existed. Without any setting the verdicts stay the same. w = U is the default guard band; for both rules with a guard band it can be chosen wider or narrower (The guard band w).
One measuring point, three rules
Nominal 10 V, tolerance ±0.1 V, U = 0.02 V. The guard band lies from 9.92 V to 10.08 V.
| Measured value | non-binary | binary with guard band | simple acceptance |
|---|---|---|---|
| 10.05 V | conforming | conforming | conforming |
| 10.09 V | "?" | "!" | conforming |
| 10.11 V | "!?" | "!" | "!" |
| 10.13 V | "!" | "!" | "!" |
Without measurement uncertainty every rule uses w = 0, since there is no guard band. Whether a verdict without U holds the release is set by the uncertainty setting (Measurement uncertainty per GUM). The certificate then says that points without measurement uncertainty are judged without guard band.
The guard band w¶
By default the guard band is as wide as the expanded measurement uncertainty, w = U. JCGM 106:2012 describes the guard band more generally as a multiple of U that a laboratory chooses by the risk it is willing to carry. calServer offers three kinds for both rules with a guard band:
| Guard band | Width | On the certificate |
|---|---|---|
| w = U, default | as wide as U | "guard band w = U", as before |
| w = r · U with a fixed factor r | r from 0.1 to 3, two decimals. Above 1 lowers the risk of accepting a device by mistake; below 1 accepts more good devices. r = 1 is w = U. | "guard band w = 1.5 · U" |
| By fixed risk α | α from 0.1 % to 20 %, two decimals. calServer works out w per point from U, k and the degrees of freedom so that a device with a measured value exactly on the acceptance limit is out of tolerance with a probability of at most α. | "guard band w for a risk of at most 2.5 %" |
Simple acceptance has no guard band (w = 0), so the kind makes no difference there. With the non-binary rule w applies on both sides of the limit: "?" runs from TL − w to TL, "!?" from TL to TL + w.
One measuring point, five guard bands
Nominal 10 V, tolerance ±0.1 V, U = 0.02 V with k = 2.
| Guard band | w | conforming inside |
|---|---|---|
| w = U | 0.020 V | 9.92 V to 10.08 V |
| w = 1.5 · U | 0.030 V | 9.93 V to 10.07 V |
| risk 1 % | 0.024 V | 9.924 V to 10.076 V |
| risk 2.28 % | 0.020 V | 9.92 V to 10.08 V, as w = U |
| risk 5 % | 0.017 V | 9.917 V to 10.083 V |
A measured value of 10.075 V conforms with w = U, not with w = 1.5 · U.
About the band by risk:
- Rounded up. w is rounded up to one digit more than U. A slightly wider band keeps the risk below α, a narrower one does not.
- At the acceptance limit. α applies to a measured value exactly on the acceptance limit; a value further inside carries a smaller risk.
- Few readings. If the point has finite effective degrees of freedom, calServer uses the t-distribution instead of the normal distribution. For the same standard uncertainty w becomes wider. Since U is then already calculated with a larger k, w can still come out smaller relative to U: with α = 5 % and 5 degrees of freedom w = 0.016 V instead of 0.017 V. Without k at the point, k = 2 applies.
- w = U by risk. With α = 2.28 % and k = 2 the result is w = U. If k comes from the degrees of freedom, w lies close to U but can be one digit above or below.
The guard band belongs to the rule: it is set in the same places, in the same order, and frozen with it at the first capture.
Where the rule is set¶
A calibration uses the first rule in this order:
- The calibration's own choice, in the bar below the option choice (see below).
- The agreement with the customer, on the customer page in the section Decision rule.
- The laboratory's rule under Administration › Basic Settings › Rules › Decision rule. That is also where Guard band w and, depending on the kind, Factor r or Risk α in percent are. If the value does not fit the kind, w = U applies.
Frozen at the first capture¶
When the first measured value is captured, calServer records the rule in force at the calibration. If the customer or the laboratory changes its rule afterwards, this calibration keeps its own. The certificate therefore always names the rule its points were judged by, also when reprinted a year later.
The same applies when old result rows are evaluated with
results:backfill-conformity --derive --apply: the rule is recorded before
the first verdict is written.
Calibrations from before the choice carry no rule of their own. For them the rule their points were judged by applies, which is the non-binary one. Their certificate stays the same when reprinted.
At the customer¶
The customer page (tab Overview) has the section Decision rule: a choice with "No agreement: laboratory rule" and the three rules, plus the field Agreed in for where the agreement is written down, such as "Framework contract 2026" or a quotation number. calServer does not check the field; it records where the agreement can be read. For a rule with a guard band the choice of the guard band with factor or risk appears next to it. The zone band below shows what the chosen rule means.
The agreement applies to every calibration of the customer that is first captured afterwards. A calibration's customer is its own, otherwise the device's. Changing it needs the right to edit customers; every change is in the customer's change log.
At the calibration¶
On the Test steps tab, below the option choice, is the bar Decision rule. It shows the rule in force, where it comes from (laboratory, customer, own choice, from the points already judged) and whether it is frozen. If the agreement with the customer differs, it is shown below.
To choose another rule:
- Pick the rule in the selection, and for a rule with a guard band also the guard band.
- Optionally note in Where it is agreed where the deviating agreement is, such as "Order 4711".
- Click Apply rule and evaluate N points again.
Another guard band with the same rule is another choice as well and judges the points again.
calServer then judges every captured point by the new rule, from the stored values, without measuring again. Measured value, limits and measurement uncertainty stay as they are; verdict, guard band and the column "Guardband Method" change. Back to … removes the own choice and judges by the rule of the customer or the laboratory.
Limits:
- Only before release. While the certificate awaits release or is released, the bar is locked. Withdraw or reject the process first.
- Not at the workstation. While the calibration is checked out to a workstation, the choice waits.
- Verdicts set by hand stay. If a stored verdict does not follow from its own columns, someone set it by hand. calServer does not overwrite it and lists the point as skipped. Imported verdicts (MET/CAL, manual entry) are not touched either.
- Log. Every change is in the calibration's change log: the rule itself and, per point, verdict, method and guard band, before and after.
What the rules mean opens the zone band: from the nominal value outwards, the zones of the chosen rule with the symbols the certificate prints there.
The rule in the test plan
calScript knows rule "…" on a group. That stays documentation in the
plan and its revision. Points are judged by the rule of the calibration:
which rule applies is agreed with the customer, not with the measurement
procedure.
On the calibration certificate¶
The certificate's Conformity section follows the calibration's rule:
- The introduction names the rule with its section in ILAC-G8:09/2019 and the guard band, such as "non-binary decision rule with guard band w = 1.5 · U". With w = U the text stays as it was.
- Symbols and legend fit the rule. The non-binary rule explains "?", "!?", "!" and "" as before; the two binary rules only know "!" (not conforming) and "" (not in the accreditation scope, see Accreditation scope).
- A point's column "Guardband Method" names rule and band:
ILAC-G8 w=U,ILAC-G8 binary w=1.5U,ILAC-G8 PFA<=2.5%. - If the laboratory keeps its own report variables for
Conformity_description_1to_3, those are printed. Under a rule other than the non-binary one the completion check points this out, so that the own texts name the right rule. - A calibration without points judged by calServer (imported, without tolerance) prints the texts of the template as before.
The JSON dataset calibration-certificate carries, from version 1.9, the
block decision_rule with rule, section, guard band, origin and the three
texts, from version 1.10 also guard with the guard band as data
(JSON reports).
In the completion check¶
In the Completeness area calServer checks whether rule and verdicts fit:
| Finding | Effect | Fix |
|---|---|---|
| Verdict by another decision rule | blocks | Go to decision rule jumps to the bar; apply the rule once more. calServer judges the points again from the stored values. |
| Own conformity texts instead of the texts of the decision rule | notice | Check that the report variables name the rule and explain its symbols, or clear them. |
Interface¶
| Method | Path | Right |
|---|---|---|
| GET | /api/v2/calibrations/{ctag}/decision-rule |
view calibrations |
| PUT | /api/v2/calibrations/{ctag}/decision-rule with rule (or null), guard_band and note |
edit calibrations |
| GET | /api/v2/customers/{ktag}/decision-rule |
view customers |
| PUT | /api/v2/customers/{ktag}/decision-rule with rule (or null), guard_band and agreement |
edit customers |
The rule keys are non_binary, binary_guarded and simple. guard_band is
an object with mode (u, factor or risk) and, depending on the kind,
factor (0.1 to 3) or risk (0.1 to 20, in percent); without guard_band
w = U applies. The response gives the limits in guard_limits. The choice at
the calibration answers 409 (code: release_open) while a process awaits
release or is released, and 423 (code: checked_out) while the calibration is
checked out.