Skip to contents

fvTesting() is a function that simulates the microbiological testing of food unit samples taken from a lot. Lots are subjected, at a given probability (pLotTested), to sampling and testing, according to a sampling plan defined by the user. The algorithm allows for two-class or three-class sampling plans, although the most commonly used for L. monocytogenes is the former one: n (sample size), c (maximum level accepted), w (weight used in the enrichment essay). By performing a bootstrapping on the sampling and testing scheme, the algorithm estimates that probability of detecting contaminated lots, and the probability that individual lots are contaminated given that they were not detected as positive during testing. Contaminated lots detected after testing are not removed from the matrix, and therefore the input matrix N is returned unchanged.

Usage

fvTesting(
  data = list(),
  nTested = 5,
  gTested = 25,
  MTested = 0,
  cTested = 0,
  pLotTested,
  nLots = NULL,
  sizeLot = NULL,
  unitSize = NULL,
  Se = 1,
  gTestedEnum = 10,
  iterSub = NULL
)

sfTesting(...)

Arguments

data

a list of:

N

(CFU) A matrix of size nLots lots by sizeLot units representing the numbers of L. monocytogenes per pack unit, from contaminated lots.

ProbUnitPos

Probability of individual lots being contaminated (a lot is considered contaminated if at least one pack unit is contaminated) (vector).

P

Mean prevalence of contaminated lots (scalar).

nTested

sample size or number of units tested (scalar).

gTested

(g) sample weight tested per unit (scalar or vector).

MTested

(CFU/g) maximum concentration accepted in a sample (scalar or vector). If \(>0\), will lead to a 3-class plan.

cTested

maximum number of samples accepted between \(m=0\) and M (scalar or vector).

pLotTested

proportion of lots subjected to sampling and testing or frequency of testing (scalar or vector).

nLots

Number of lots sampled or size of the Monte Carlo simulation (scalar).

sizeLot

Number of units or portions produced in a lot (scalar).

unitSize

(g) weight of the contents of a pack unit (scalar or vector).

Se

Sensibility of the test or probability to detect each bacterial cell applying a given microbiological essay (scalar or vector).

gTestedEnum

(g) sample weight tested for enumeration (scalar or vector).

iterSub

number of internal repetition for the testing. If NULL, it will be set to the minimum of nLots and 1000.

...

Arguments passed on to fvTesting

Value

A list of five elements of the data objects:

N

(CFU) A matrix of size nLots lots by sizeLot units representing the numbers of L. monocytogenes per pack unit, after within-lot testing.

P

Mean prevalence of contaminated lots after within-lot testing (scalar).

ProbUnitPos

Probability that the individual lot is contaminated given that it was not detected after testing (vector).

ProbThisLot

Individual probability that this lot is still in. It is the complement of the probability that this specific lot was detected (vector).

D

Mean probability of detecting contaminated lots (scalar).

Functions

  • sfTesting(): Testing Seafood

Note

Although microbiological criteria for L. monocytogenes are not intended for non-ready-to-eat foods, this function was conceived to allow the determination of the performance of sampling plans in frozen blanched vegetables as a potential risk management strategy. PROFEL (2020) explains that quick-frozen vegetables should be analysed for detection ofL. monocytogenes within the frame of the verification of the food safety management system. If the pathogen is detected in 25 g, further enumeration needs to be conducted, on the same samples, to verify if intermediate set limits are reached (\(< 10 CFU/g\)) or not.

References

PROFEL (2020). “Hygiene Guidelines for the Control of Listeria monocytogenes in the Production of Quick-Frozen Vegetables.” European Association of Fruit and Vegetable Processors. https://profel-europe.eu/_library/_files/PROFEL_Listeria_mono_guidelines_November2020.pdf.

Author

Regis Pouillot rpouillot.work@gmail.com

Examples

dat <- Lot2LotGen(
  nLots = 50,
  sizeLot = 100,
  unitSize = 500,
  betaAlpha = 0.5112,
  betaBeta = 9.959,
  C0MeanLog = 1.023,
  C0SdLog = 0.3267,
  propVarInter = 0.7
)
# Testing the microbiological criterion for RTE foods of absence of \emph{L. monocytogenes}
# in five samples of 25 g each (two-class sampling plan)
Nf1 <- fvTesting(dat,
  nTested = 5, gTested = 25, MTested = 0, cTested = 0,
  pLotTested = 0.5, unitSize = 500, Se = 0.9, iterSub = NULL
)
# Applying an in-house sampling plan of a maximum of one sample (c=1)
# below the M limit 10 CFU/g from a total of five samples taken from a lot
Nf2 <- fvTesting(dat,
  nTested = 5, gTested = 25, MTested = 10, cTested = 1,
  pLotTested = 0.5, unitSize = 500, Se = 0.9, gTestedEnum = 10, iterSub = 800
)