TL;DR: A predictor can’t seed from a hand-entered value in its own output DE+COC slot - when the output data element + category option combo equals the sampled operand, the previous period reads as empty and the run generates 0. Changing only the output COC fixes it. Is this an intended boundary, and if so what’s the right pattern for “copy previous period into the same DE+COC”? (Confirmed 2.42.3.1, reproduced on Play 2.42.5.1.)
A predictor whose output DE + category option combo (COC) is identical to the operand it samples never reads the previous period’s stored value. The avg()/sum() sample comes back empty, so the run reports “Generated 0 predictions” (or writes 0 under “Never skip”). Changing only the output COC makes it work.
Version: Confirmed on 2.42.3.1 (self-hosted), reproduced on 2.42.5.1 (Play).
I’m trying to copy a value forward one period into the same DE/COC/orgUnit (e.g. carry an “Imprest level” from June into July) with avg(#{X.C}), Monthly, Sequential sample 1, Annual 0, “Skip if all values missing”. So the output slot X.C equals the sampled operand. Expected: July reads June’s stored value. Actual: “Generated 0 predictions”, nothing written (Never skip writes 0, confirming the previous period reads as empty).
Minimal repro on Play (SL demo, stable-2-42-5-1) - two predictors identical except the output COC. Input is ANC 1st visit / Fixed in both; one outputs back to Fixed (self-referential), the other to Outreach.
Same input operand, same seed, same run - the only variable is whether the output COC equals the sampled input COC. No analytics run was needed (control worked immediately), so this isn’t analytics staleness.
Objects: DE fbfJHSPpUQD (ANC 1st visit) · COCs pq2XI5kz2BY (Fixed) / PT59n8BQbqM (Outreach) · OU DiszpKrYNg8 (Ngelehun CHC) · level m9lBJogzE95 (Facility).
Question: Is it expected that a predictor won’t read a pre-existing value in its own output DE+COC slot as a previous-period sample? I understand self-reference works for feeding the predictor’s own generated values forward across a chained multi-period run - but here I’m seeding from an existing hand-entered value and it’s never sampled. If that’s the intended boundary, what’s the recommended pattern for a plain “copy previous period into the same DE+COC”?