Tutorials › Nonlinear Mixed-Effects Models (NLME) › Encoding BQL Status Without Inventing Concentrations

Below-Quantification-Limit Observations · Tutorial 294 of 797

Encoding BQL Status Without Inventing Concentrations

Learn to build and validate analysis records that distinguish measured concentrations from censored observations and preserve the correct threshold for each BQL result.

Advanced 12 min read

What You'll Learn

  • Distinguish a quantified result, a BQL status, and a software placeholder.
  • Represent observation status and the applicable LLOQ explicitly in analysis records.
  • Check how each record maps to its likelihood contribution.
  • Detect common data-processing errors with row-level and dataset-level checks.
  • Compare explicit censoring records with substitution and deletion approaches.

Why Encoding Matters

A below-quantification-limit (BQL) result is information about an observation, but it is not a measured concentration at the assay limit, at half the limit, or at zero. In an NLME analysis, that distinction matters because the likelihood for a BQL record describes an event relative to a threshold, whereas the likelihood for a quantified record uses its measured value. If a data file stores a made-up concentration without reliably preserving its BQL status, software or downstream processing can treat the made-up number as an actual measurement.

The introductory material on building an M3 dataset and likelihood establishes the distinction between the quantified-data contribution and the censored-data contribution. This tutorial concentrates on the data handoff: how to make that distinction explicit in analysis records, preserve the relevant limit, and test that the records are interpreted as intended. Names and required values differ across software, so a field name alone never guarantees the correct likelihood.

Definition: For subject \(i\) at sampling record \(j\), let \(S_{ij}\) be the observation status, with \(S_{ij}=Q\) for a quantified result and \(S_{ij}=B\) for a BQL result. Let \(Y_{ij}\) denote the reported concentration when \(S_{ij}=Q\), and let \(L_{ij}\) denote the applicable lower limit of quantification (LLOQ) when \(S_{ij}=B\). A BQL record represents the event that the latent assay result is below \(L_{ij}\); it does not assert that the result equals a substitute concentration.

A practical analysis record should make the status recoverable without guessing. At minimum, retain the subject identifier, sampling time, status, and either the quantified value or the censoring threshold. Keep the original assay result or laboratory status in a traceable source field when available. Do not overwrite the source record with an analysis placeholder and discard the information that distinguishes a placeholder from a reported value.

FieldFor a quantified recordFor a BQL record
Subject and timeIdentify the subject and sampling timeIdentify the subject and sampling time
StatusExplicitly indicate quantifiedExplicitly indicate BQL
Concentration valueStore the actual reported concentration, with unitsDo not present a substitute as an observed concentration
ThresholdRetain when useful for traceability or assay trackingStore the applicable LLOQ, with units

An analysis program may require a numeric value in a field even when the observation is censored. In that situation, a reserved value may serve as a technical placeholder only if a separate, correctly interpreted status field controls the likelihood and the placeholder cannot be mistaken for a valid measurement. The placeholder is a property of the data interface, not an estimate of the unobserved concentration. If the software's rules for missing values, censoring indicators, and thresholds are unclear, test them on a small dataset before fitting the full model.

How Status Determines the Likelihood Input

Let \(g_{ij}(y\mid\theta,\eta_i)\) be the conditional density of the assay result at concentration \(y\), given population parameters \(\theta\) and subject-specific random effects \(\eta_i\). For a quantified record, the observation's likelihood contribution uses the density evaluated at the actual reported value. For a BQL record with threshold \(L_{ij}\), its contribution is the probability of the censored event under that same conditional distribution:

$$ \mathcal{L}_{ij} = \begin{cases} g_{ij}(Y_{ij}\mid\theta,\eta_i), & S_{ij}=Q,\\[4pt] \displaystyle \int_{-\infty}^{L_{ij}} g_{ij}(y\mid\theta,\eta_i)\,dy = P(Y_{ij}<L_{ij}\mid\theta,\eta_i), & S_{ij}=B. \end{cases} $$

This expression gives the key data check: the status must select the correct kind of contribution, and the threshold attached to a BQL record must be the threshold used in that contribution. The quantified value and the threshold are not interchangeable. A quantified value is an observed result; a threshold defines an event about a result that was not quantified. For a continuous observation model, using \(<\) rather than \(\leq\) at the threshold makes no difference to the probability, because the probability of an exact point is zero.

Key takeaway: A valid BQL record must preserve both the censoring status and its applicable threshold. A numeric placeholder can be used only as an implementation device that cannot be evaluated as if it were the measured concentration.

Worked Examples

Worked Example: Separating a Reported Value From a Placeholder

Suppose a hypothetical assay reports concentrations in mg/L and has an LLOQ of 0.20 mg/L. At one sample time, a subject has a quantified result of 0.31 mg/L; at a later sample time, the laboratory reports BQL. Construct records that preserve the distinction.

For the quantified sample, record the status as \(Q\) and the measured value as \(Y_{ij}=0.31\) mg/L. Its likelihood contribution is \(g_{ij}(0.31\mid\theta,\eta_i)\). For the later sample, record the status as \(B\), the applicable threshold as \(L_{ij}=0.20\) mg/L, and no claimed observed concentration. Its likelihood contribution is \(P(Y_{ij}<0.20\mid\theta,\eta_i)\).

If the fitting interface requires a number for every row, suppose it uses \(-99\) as a reserved placeholder. That value is safe only if the software reads the BQL status and threshold and excludes \(-99\) from the measured-value density. If the status is lost and the likelihood evaluates \(g_{ij}(-99\mid\theta,\eta_i)\), the record is not being analyzed as the laboratory reported it. The numeric placeholder has no concentration interpretation.

Worked Example: Checking a BQL Record Against the Likelihood

Consider a hypothetical conditional normal observation model with mean \(m_{ij}=0.80\) mg/L and standard deviation \(\sigma_{ij}=0.20\) mg/L. A record is reported BQL at \(L_{ij}=0.25\) mg/L. Verify the contribution implied by that status, and contrast it with the density at a substituted value of 0.25 mg/L.

Standardizing the threshold gives

$$ z=\frac{L_{ij}-m_{ij}}{\sigma_{ij}} =\frac{0.25-0.80}{0.20}=-2.75. $$

Thus the BQL likelihood contribution is the lower-tail probability

$$ P(Y_{ij}<0.25\mid m_{ij},\sigma_{ij}) =\Phi(-2.75)\approx 0.00298. $$

By contrast, evaluating the normal density at 0.25 mg/L gives

$$ g_{ij}(0.25) =\frac{1}{0.20\sqrt{2\pi}} \exp\left[-\frac{(0.25-0.80)^2}{2(0.20)^2}\right] \approx 0.0455\ \text{per mg/L}. $$

These are different quantities: approximately 0.00298 is a probability for the event below the threshold, while approximately 0.0455 per mg/L is a density at one concentration. Substituting the LLOQ and treating it as a quantified result would use the second contribution, not the first. The calculation assumes the stated conditional normal model and that the record's BQL status and 0.25 mg/L limit are correct.

Worked Example: Applying the Correct Limit to Each Record

A hypothetical dataset combines two assay batches. A BQL observation from the first batch has LLOQ 0.05 mg/L; a BQL observation from the second has LLOQ 0.10 mg/L. For illustration, suppose each record has a conditional normal distribution with \(\sigma_{ij}=0.10\) mg/L, and the predicted means are 0.30 mg/L for the first record and 0.20 mg/L for the second. Calculate the two contributions using the stored, record-specific limits.

For the first record,

$$ z_1=\frac{0.05-0.30}{0.10}=-2.50, \qquad P(Y_{i1}<0.05)=\Phi(-2.50)\approx 0.00621. $$

For the second record,

$$ z_2=\frac{0.10-0.20}{0.10}=-1.00, \qquad P(Y_{i2}<0.10)=\Phi(-1.00)\approx 0.1587. $$

The two records have different BQL probabilities because their predicted means and thresholds differ. Assigning 0.05 mg/L to both records would incorrectly use \(\Phi((0.05-0.20)/0.10)=\Phi(-1.50)\approx0.06681\) for the second one. The record must therefore carry the limit from its own assay context; a single dataset-wide limit is not valid when limits vary across records.

Input Checks and Failure Modes

Before estimation, check the analysis dataset as if it were a specification for the likelihood. Each row should have a valid subject and time, one unambiguous status, and units that agree across concentration and threshold fields. A quantified record should have a finite reported concentration and should not be routed through the BQL branch. A BQL record should have a finite, positive threshold when the assay definition requires a positive LLOQ, and should not be routed through the measured-value density using a placeholder.

Some useful checks can be implemented as assertions or review tables:

  • Count quantified and BQL records and compare those counts with the assay or source-data summary.
  • List BQL records with missing thresholds, thresholds in unexpected units, or thresholds that do not match their assay batch.
  • List records marked quantified that have missing concentrations, and records marked BQL that have a purported measured concentration without a documented reason.
  • Inspect duplicate subject-time records and confirm that each row represents the intended sample or assay result.
  • Trace several rows from the source data through every transformation to the final likelihood branch. Confirm that status and threshold remain paired with the same sample.
  • Run a small test with one quantified record and one BQL record. Verify that changing the BQL placeholder alone does not change the censored likelihood contribution.

That last check is especially informative: when the status and threshold are correctly controlling the censored contribution, changing a purely technical placeholder should not change that contribution. If it does, the placeholder is entering the observation model or the data interface is not behaving as expected. Other warning signs include implausible BQL contributions, a sudden change in the count of BQL records after data processing, or results that change when records are reordered. These findings do not by themselves identify the cause, but they warrant checking the data mapping and the likelihood code before interpreting parameter estimates.

1
Preserve the source status.
Carry the laboratory's quantified/BQL classification into an explicit analysis field; do not infer it later from a substituted number.
2
Attach the right threshold.
Match each BQL result to the LLOQ that applied to that sample, retaining units and assay context.
3
Map status to likelihood.
Confirm that quantified records use measured values and BQL records use the probability below their thresholds.
4
Test the implementation.
Use a small, hand-checkable dataset and verify that placeholder values cannot silently become observations.

Comparison and Practical Limits

Explicit status-and-threshold encoding supports the M3 censored-likelihood approach: each record contributes according to whether the assay quantified it or only established that it was below a limit. Deleting BQL records removes their information, while substitution methods insert an assumed value and can cause the analysis to treat that value as measured. Those approaches may be used for particular purposes, but they do not encode the BQL event in the same way. For an M3 analysis, correct censoring information in the input is essential; a correct likelihood cannot recover a status or threshold that the dataset has lost.

Encoding alone does not establish that the assay limit is scientifically correct, that the residual error model is suitable, or that the model parameters are identifiable. The analysis also relies on an observation model appropriate to the recorded scale and on a correct link between each row and the subject, time, and assay result it represents. If statuses are ambiguous, thresholds are unavailable, or units have been transformed inconsistently, resolve those issues or document a justified data-handling decision before fitting. Do not silently convert uncertainty about the record into an invented concentration.

Common pitfall: “The software needs a numeric dependent value, so I will put the LLOQ in that field and the model will know the record was BQL.” The software knows only what its data mapping and likelihood logic explicitly tell it. Store the status and threshold, then verify that the BQL branch uses the event probability and never evaluates the placeholder as a measured result.

Check Your Understanding

Answer each question, then compare with the brief solutions.

  1. A record is marked BQL at 0.08 mg/L, and the software requires a numeric placeholder. What information must remain available for the likelihood to use the record correctly?
  2. In a normal observation model with mean 0.50 mg/L, standard deviation 0.10 mg/L, and BQL threshold 0.30 mg/L, what is the censored probability contribution?
  3. Why is evaluating a density at the LLOQ not equivalent to the BQL likelihood contribution?
  4. Two assay batches have different LLOQs. What is the risk of storing only one dataset-wide threshold?
  5. What does it suggest if changing a technical placeholder changes the BQL likelihood contribution?

Solutions. (1) Preserve the BQL status and the applicable threshold of 0.08 mg/L, as well as the subject and time; the placeholder must not be treated as measured. (2) Standardize: \(z=(0.30-0.50)/0.10=-2.00\). The contribution is \(\Phi(-2.00)\approx0.02275\). (3) A density is evaluated at a point and has inverse-concentration units; the BQL contribution is the probability integrated over all values below the threshold. (4) Some records can be assigned the wrong threshold, changing their censored probabilities. (5) The placeholder may be entering the likelihood as an observed value, or the status-to-likelihood mapping may be incorrect; inspect and test the implementation before fitting or interpreting the model.