Score pathologique

Règle de calcul
← Retour au tableau

Principe général

Lorsqu'une ou plusieurs pathologies sont sélectionnées dans le tableau de conseils nutritionnels, chaque aliment reçoit un score de 0 à 100 calculé côté serveur. Ce score mesure dans quelle mesure l'aliment respecte les recommandations nutritionnelles spécifiques à chaque pathologie.

87/100
≥ 75 — Bon
FibresSodium
54/100
45–74 — Moyen
FibresSucres
22/100
0–44 — Déconseillé
Graisses sat.Sodium
Non calculable
Pathologie sans critères numériques

Sous le score, des pastilles colorées indiquent le signal de chaque critère pris en compte : bon moyen mauvais

Algorithme de calcul

  1. Fusion des règles (multi-pathologies)
    Si plusieurs pathologies sont sélectionnées, leurs règles nutritionnelles sont fusionnées par champ : pour un même nutriment, on conserve les bornes les plus strictes de chaque pathologie. Le poids retenu est le plus élevé.
  2. Score par critère (0–100)
    Chaque règle fusionnée donne un score entre 0 et 100 selon son type. Voir les trois types ci-dessous.
  3. Agrégation pondérée
    Le score global est la moyenne pondérée des scores de chaque critère. Les critères principaux (poids = 1,0) comptent davantage que les critères secondaires.
    score_global = Σ(score_i × poids_i) / Σ(poids_i)   ∈ [0, 100]
  4. Signal par critère
    Chaque critère reçoit un signal individuel affiché en pastille :
    score ≥ 75 → bon
    45 ≤ score < 75 → moyen
    score < 45 → mauvais

Types de règles

Trois directions de règle sont utilisées selon la pathologie et le nutriment.

↑ good_high — favoriser

Plus la valeur est haute, mieux c'est. Ex. fibres, protéines, fer.

Si valeur < seuil_min :
  50 × (v / seuil)
Si valeur ≥ seuil_min :
  50 + 50 × min(1, v / (seuil×3))

Atteindre le seuil → 50. Tripler le seuil → 100.

↓ good_low — limiter

Moins la valeur est haute, mieux c'est. Ex. sodium, graisses sat., sucres.

Si valeur ≤ seuil_max :
  100 × (1 − v/(seuil×5))
Si valeur > seuil_max :
  max(0, 100 − excès × 80)

Respecter le seuil → proche de 100. Dépasser → descente rapide.

↔ range — fenêtre optimale

Une plage idéale est définie. Ex. fibres pour le côlon irritable (1–6 g).

v < min_opt : 70 × (v / min)
min ≤ v ≤ max_opt : 100
v > max_opt : dégradation progressive

Score plein dans la fenêtre, pénalité hors des bornes.

Pathologies multiples et conflits

Certaines combinaisons de pathologies ont des exigences opposées sur un même nutriment. Par exemple, la mucoviscidose demande des lipides élevés (≥ 10 g), tandis que la pancréatite les limite à 3 g.

⚡ Conflit détecté
Lorsqu'une règle good_high et une règle good_low s'appliquent au même nutriment, un conflit est signalé. La règle est automatiquement convertie en type range avec les bornes des deux pathologies. L'indicateur ⚡ apparaît dans le badge de score pour alerter l'utilisateur.

En cas de conflit sur un nutriment, le score sur ce critère représente un compromis — aucune valeur ne peut satisfaire les deux pathologies à la fois. Il est recommandé de consulter un diététicien dans ce cas.

Exemple concret

Pathologies : Diabète + Hypertension artérielle.

Diabète : fibres ≥ 3 g (×1,0), sucres ≤ 5 g (×1,0), protéines good_high (×0,2)
HTA : sodium ≤ 300 mg (×1,0), graisses sat. ≤ 5 g (×0,4), fibres good_high (×0,3)
Fusion : fibres good_high seuil=3 g poids=1,0 ; sucres ≤ 5 g poids=1,0 ; sodium ≤ 300 mg poids=1,0 ; graisses sat. ≤ 5 g poids=0,4 ; protéines good_high poids=0,2

Lentilles cuites — fibres 7 g, sucres 1,5 g, sodium 4 mg, graisses sat. 0,1 g, prot. 9 g
CritèreTypeValeurSeuilPoidsScore
Fibresgood_high (≥3 g)7 g3 g1,0 50+50×min(1, 7/9) ≈ 89
Sucresgood_low (≤5 g)1,5 g5 g1,0 valeur ≤ seuil → 97
Sodiumgood_low (≤300 mg)4 mg300 mg1,0 valeur ≤ seuil → 100
Graisses sat.good_low (≤5 g)0,1 g5 g0,4 valeur ≤ seuil → 100
Protéinesgood_high9 g0,2 valeur > 0 → 75
Score global pondéré ≈ 94 /100
Chips apéritif — fibres 2 g, sucres 0 g, sodium 550 mg, graisses sat. 8 g, prot. 5 g
CritèreTypeValeurSeuilPoidsScore
Fibresgood_high (≥3 g)2 g3 g1,0 50 × (2/3) ≈ 33
Sucresgood_low (≤5 g)0 g5 g1,0 valeur ≤ seuil → 100
Sodiumgood_low (≤300 mg)550 mg300 mg1,0 excès 83 % → 34
Graisses sat.good_low (≤5 g)8 g5 g0,4 excès 60 % → 52
Protéinesgood_high5 g0,2 valeur > 0 → 75
Score global pondéré ≈ 60 /100
Remarques importantes :
• Le score est calculé pour 100 g d'aliment. Il ne tient pas compte des portions habituelles.
• Les pathologies sans critères numériques (allergies, exclusions par groupe) ne génèrent pas de score — un est affiché.
• En cas de pathologies contradictoires (⚡), le score est un compromis — aucun aliment ne peut parfaitement satisfaire les deux.
• Ce score est un outil d'aide à la lecture, non un avis médical ou diététique.

Critères par pathologie

Règles utilisées par le moteur de scoring côté serveur. Les poids indiquent l'importance relative du critère dans le calcul pondéré.

Pathologie Catégorie Critères ✅ Favoriser Critères ⚠️ Limiter
Métabolique
Diabète (type 1 & 2) Métabolique
Fibres ≥ 3 g ×1,0 Protéines ×0,2
Sucres ≤ 5 g ×1,0
Hypertension artérielle Métabolique
Fibres ×0,3
Sodium ≤ 300 mg ×1,0 Graisses sat. ≤ 5 g ×0,4
Dyslipidémies Métabolique
Fibres ≥ 1,5 g ×0,7
Graisses sat. ≤ 2 g ×1,0 Sodium ≤ 500 mg ×0,3
Obésité Métabolique
Fibres ≥ 3 g ×0,5
Énergie ≤ 150 kcal ×1,0 Sucres ≤ 5 g ×0,7
Stéatose hépatique (MASLD) Métabolique
Fibres ≥ 2 g ×0,8
Sucres ≤ 5 g ×1,0 Graisses sat. ≤ 4 g ×0,4
Maladies cardiovasculaires Métabolique
Fibres ≥ 2 g ×0,6
Graisses sat. ≤ 2 g ×1,0 Sodium ≤ 300 mg ×0,8
Insuffisance cardiaque Métabolique
aucun
Sodium ≤ 300 mg ×1,0 Graisses sat. ≤ 5 g ×0,4
Digestif
Maladie cœliaque Digestif
Fibres ×0,5 Protéines ×0,5
aucun
Maladie de Crohn Digestif
Protéines ≥ 2 g ×1,0
Lipides ≤ 8 g ×0,5
Rectocolite hémorragique Digestif
Fer ≥ 1 mg ×1,0 Vit. C ≥ 5 mg ×0,8 Protéines ≥ 2 g ×0,4
aucun
Syndrome de l'intestin irritable Digestif
Fibres 1–6 g ×0,8 (fenêtre)
Sucres ≤ 8 g ×0,7 Sodium ≤ 500 mg ×0,2
Diverticulose Digestif
Fibres ≥ 4 g ×1,0
aucun
Reflux gastro-œsophagien Digestif
Fibres ×0,3
Lipides ≤ 5 g ×1,0
Pancréatite chronique Digestif
aucun
Lipides ≤ 3 g ×1,0
Gastroparésie Digestif
aucun
Lipides ≤ 3 g ×1,0 Fibres ≤ 2 g ×0,8
Syndrome de l'intestin court Digestif
Glucides ≥ 30 g ×1,0 Énergie ≥ 100 kcal ×0,5
aucun
Allergie / Intolérance
Intolérance au lactose Allergie Exclusion des produits laitiers — pas de score numérique
Malabsorption du fructose Allergie
aucun
Sucres ≤ 5 g ×1,0
Allergie protéines lait (APLV) Allergie Exclusion lait et dérivés — pas de score numérique
Allergie arachides Allergie Exclusion arachides — pas de score numérique
Allergie blé / gluten Allergie
Fibres ×0,5 Protéines ×0,5
aucun
Intolérance à l'histamine Allergie Aliments fermentés à éviter — pas de score numérique
Allergie fruits de mer Allergie Exclusion crustacés — pas de score numérique
Héréditaire
Phénylcétonurie (PCU) Héréditaire
aucun
Protéines ≤ 1 g ×1,0
Galactosémie Héréditaire Exclusion lactose/galactose — pas de score numérique
Maladie de Wilson Héréditaire Limiter le cuivre — pas de score numérique
Déficit en G6PD (favisme) Héréditaire Éviter les fèves — pas de score numérique
Goutte Héréditaire
aucun
Sodium ≤ 300 mg ×0,5 Protéines ≤ 10 g ×0,5
Cancer
Cancer (nutrition générale) Cancer
Protéines ≥ 2 g ×1,0 Énergie ≥ 100 kcal ×0,8
aucun
Cancer colorectal (prévention) Cancer
Fibres ≥ 3 g ×1,0
Graisses sat. ≤ 3 g ×0,4
Post-gastrectomie Cancer
Protéines ≥ 2 g ×1,0
Sucres ≤ 3 g ×0,8
Autre
Ostéoporose Autre
Calcium ≥ 100 mg ×1,0 Protéines ×0,4
aucun
Anémie ferriprive Autre
Fer ≥ 2 mg ×1,0 Vit. C ≥ 10 mg ×0,6 Protéines ≥ 3 g ×0,4
aucun
Épilepsie pharmacorésistante Autre
Lipides ≥ 15 g ×1,0
Glucides ≤ 10 g ×0,8 Sucres ≤ 2 g ×0,6
Mucoviscidose Autre
Énergie ≥ 150 kcal ×1,0 Lipides ≥ 10 g ×0,7 Protéines ≥ 2 g ×0,6
aucun
Dénutrition (personne âgée) Autre
Énergie ≥ 100 kcal ×1,0 Protéines ≥ 2 g ×0,8
aucun
Lithiases rénales Autre
aucun
Sodium ≤ 300 mg ×1,0
Syndrome néphrotique Autre
aucun
Sodium ≤ 300 mg ×1,0
Insuffisance rénale chronique Autre
aucun
Sodium ≤ 300 mg ×1,0 Protéines ≤ 2 g ×0,8
Cirrhose hépatique Autre
Énergie ≥ 80 kcal ×1,0 Protéines ≥ 1,5 g ×0,8
aucun
Hémochromatose Autre Éviter suppléments de fer — pas de score numérique

Toutes les valeurs nutritionnelles sont exprimées pour 100 g d'aliment. Ce document est un outil d'aide à la compréhension, non un avis médical.