Checking a PPDB price anomaly
Overview
Price is the largest rule family in the catalogue (10 of 36 rules) and the one with the most 🔴 Critique entries. Moroccan drug prices are regulated in bands, so "looks high" is not a judgement call — there is a rule.
REQUIRED: the using-ppdb-mcp skill covers connection and tool selection.
Steps
Load the rules — do not recall them.
ppdb_list_anomaly_rules(famille="Prix")Returns all 10 with their severity and a concrete example of each violation.
Classify the product. Regulated bands apply to
Médicament. Parapharmacy and compléments alimentaires are not price-banded — check the category first withppdb_get_data_modelif unsure.Check against the official source. Prix différent de la source officielle (écart with AMMPS) is 🔴 Critique. Find the authoritative source:
ppdb_list_sources(nature="Officiel", type_produit="Medicament")Apply the severity's defined action. Each level carries one — the legend comes back with the rules. 🔴 Critique is correction obligatoire, not advisory.
If the fix touches a critical field, require two sources. Governance Règle 05: prix, DCI and AMM need two concordant sources. Confirm with
ppdb_get_governance_rulesrather than assuming.
What the bands actually encode
The rules reference PPV thresholds and fixed-margin tiers between PPV and PPH. Read the exact wording from the tool — the rows are terse and paraphrasing them loses the threshold. Report the rule text verbatim alongside your conclusion.
Common mistakes
Calling a price "aberrant" without citing a rule. Prix aberrant is its own rule (🟠 Majeure, market-average comparison) and is distinct from being outside a regulated band (🔴 Critique). They have different actions.
Treating zero as merely missing. Prix obligatoire (empty) and Prix positif (zero or negative) are two separate 🔴 Critique rules. The audit found thousands of active products priced at zero — that is the second rule, not the first.
Applying medicine bands to parapharmacy. Classify before you judge.
Proposing a correction from one source. Règle 05 blocks it.
Red flags
- About to state a price threshold from memory → call
ppdb_list_anomaly_rules - About to say "this price is fine" without naming the rule that clears it
- Recommending a change to prix/DCI/AMM citing a single source