AQ_CESD_Score_i (I1/I2/I3/S2015/S2018)

⇒ Le score CES-D est calculé à partir des 20 items de la section « Votre moral »
⇒ C’est la moyenne des points attribués à chaque modalité de réponse :

  • 0 pour la modalité « Jamais, très rarement (moins d’1 jour) »;
  • 1 pour la modalité « Occasionnellement (1 à 2 jours) »;
  • 2 pour la modalité « Assez souvent (3 à 4 jours) »;
  • 3 pour la modalité « Fréquemment, tout le temps (5 à 7 jours) ».

Les items 4, 8, 12 et 16 sont inversés et les points attribués aux modalités dans le calcul du score le sont aussi :

  • 3 pour la modalité « Jamais, très rarement (moins d’1 jour) »;
  • 2 pour la modalité « Occasionnellement (1 à 2 jours) »;
  • 1 pour la modalité « Assez souvent (3 à 4 jours) »;
  • 0 pour la modalité « Fréquemment, tout le temps (5 à 7 jours) ».

Le score brut est la somme des points attribués aux différents items.
Cette somme est calculée sur le nombre d’items renseignés:

⇒ Quand le nombre d’items manquants est au plus égal à 4 (<=4), les items manquants sont imputés par la moyenne des items renseignés.
⇒ Si le nombre d’items manquants est supérieur à 4, le score n’est pas calculé et est mis à manquant.

Le score est compris entre 0 et 60.

Code SQL

UPDATE AQ_MODVIE_CESD SET AQ_CESD_Score_i = 0;

DELIMITER |
DROP PROCEDURE IF EXISTS CESD_Score;
CREATE PROCEDURE CESD_Score (var varchar(50))
BEGIN
CASE 	WHEN var in ('Q04','Q08','Q12','Q16') 
		THEN SET @req = CONCAT('UPDATE AQ_MODVIE_CESD SET AQ_CESD_Score_i = AQ_CESD_Score_i+IFNULL((4-AQ_CESD_',var,'_n),AQ_CESD_SOMME/(20-AQ_CESD_NBNULL)) WHERE AQ_CESD_NBNULL<20');
		ELSE SET @req = CONCAT('UPDATE AQ_MODVIE_CESD SET AQ_CESD_Score_i = AQ_CESD_Score_i+IFNULL((AQ_CESD_',var,'_n-1),AQ_CESD_SOMME/(20-AQ_CESD_NBNULL)) WHERE AQ_CESD_NBNULL<20');
		END CASE;
		PREPARE r FROM @req; EXECUTE r; DROP PREPARE r;
END |
DELIMITER ;

CALL CESD_Score('Q01');
CALL CESD_Score('Q02');
CALL CESD_Score('Q03');
CALL CESD_Score('Q04');
CALL CESD_Score('Q05');
CALL CESD_Score('Q06');
CALL CESD_Score('Q07');
CALL CESD_Score('Q08');
CALL CESD_Score('Q09');
CALL CESD_Score('Q10');
CALL CESD_Score('Q11');
CALL CESD_Score('Q12');
CALL CESD_Score('Q13');
CALL CESD_Score('Q14');
CALL CESD_Score('Q15');
CALL CESD_Score('Q16');
CALL CESD_Score('Q17');
CALL CESD_Score('Q18');
CALL CESD_Score('Q19');
CALL CESD_Score('Q20');