SDQ: Predictive Algorithm in SAS

The predictive algorithm is based on up to twelve input variables:

phyper =SDQ hyperactivity score from parent SDQ
thyper =SDQ hyperactivity score from teacher SDQ
shyper =SDQ hyperactivity score from self-report SDQ
pconduct =SDQ conduct problems score from parent SDQ
tconduct =SDQ conduct problems score from teacher SDQ
sconduct =SDQ conduct problems score from self-report SDQ
pemotion =SDQ emotional symptoms score from parent SDQ
temotion =SDQ emotional symptoms score from teacher SDQ
semotion =SDQ emotional symptoms score from self-report SDQ
pimpact =SDQ impact score from parent SDQ
timpact =SDQ impact score from teacher SDQ
simpact =SDQ impact score from self-report SDQ
"." = value for relevant score missing

The algorithm generates four output variables:

sdqed =prediction of an emotional disorder
(0 = unlikely, 1 = possible, 2 = probable)
sdqcd =prediction of a conduct disorder
(0 = unlikely, 1 = possible, 2 = probable)
sdqhk =prediction of a hyperactivity disorder
(0 = unlikely, 1 = possible, 2 = probable)
anydiag=prediction of any psychiatric disorder
(0 = unlikely, 1 = possible, 2 = probable)

if phyper ge 0 and pimpact ge 0 then phk=0;
if phyper ge 6 and pimpact ge 1 then phk=1;
if phyper ge 7 and pimpact ge 2 then phk=2;
if phyper ge 9 and pimpact ge 1 then phk=2;
if shyper ge 0 and simpact ge 0 then shk=0;
if shyper ge 6 and simpact ge 1 then shk=1;
if shyper ge 7 and simpact ge 2 then shk=2;
if thyper ge 0 and timpact ge 0 then thk=0;
if thyper ge 6 and timpact ge 1 then thk=1;
if thyper ge 7 and timpact ge 2 then thk=2;
pshk=phk;
if phk=. then pshk=shk;
if phk ge 0 or shk ge 0 or thk ge 0 then sdqhk=0;
if pshk=2 or thk=2 then sdqhk=1;
if pshk=1 and thk=1 then sdqhk=1;
if pshk=1 and thk=. then sdqhk=1;
if pshk=. and thk=1 then sdqhk=1;
if pshk=2 and thk=1 then sdqhk=2;
if pshk=2 and thk=2 then sdqhk=2;
if pconduct ge 0 or tconduct ge 0 or sconduct ge 0 then sdqcd=0;
if pconduct ge 4 or tconduct ge 3 or sconduct ge 5 then sdqcd=1;
if pconduct ge 5 and pimpact ge 2 then sdqcd=2;
if tconduct ge 4 and timpact ge 2 then sdqcd=2;
if sconduct ge 6 and simpact ge 2 then sdqcd=2;
if pimpact=. and timpact=. and simpact=. then sdqcd=.;
if pemotion ge 0 or temotion ge 0 or semotion ge 0 then sdqed=0;
if pemotion ge 5 and pimpact ge 1 then sdqed=1;
if temotion ge 5 and timpact ge 1 then sdqed=1;
if semotion ge 6 and simpact ge 1 then sdqed=1;
if pemotion ge 6 and pimpact ge 2 then pem=1; else pem=0;
if temotion ge 6 and timpact ge 2 then tem=1; else tem=0;
if semotion ge 7 and simpact ge 2 then sem=1; else sem=0;
allem=pem+tem+sem;
if allem ge 1 then sdqed=2;
if allem=1 and sdqcd=2 then sdqed=1;
if allem=1 and sdqhk=2 then sdqed=1;
if pimpact=. and timpact=. and simpact=. then sdqed=.;
if sdqed=. and sdqcd=. and sdqhk=. then anydiag=.;
if sdqed ge 0 or sdqcd ge 0 or sdqhk ge 0 then anydiag=0;
if sdqed ge 1 or sdqcd ge 1 or sdqhk ge 1 then anydiag=1;
if sdqed ge 2 or sdqcd ge 2 or sdqhk ge 2 then anydiag=2;

Last modified : 27/03/07