DISC4.0 Algorithms - Module A - Youth Generalized Anxiety Disorder
Diagnostic criteria for 300.02 Generalized Anxiety Disorder
- Excessive anxiety and worry (apprehensive expectation), occurring more days than not for at least 6 months, about a number of events or activities (such as work or school performance).
- The person finds it difficult to control the worry.
- The anxiety and worry are associated with three (or more) of the following six symptoms (with at least some symptoms present for more days than not for the past 6 months). Note: Only one item is required in children.
- restlessness or feeling keyed up or on edge
- being easily fatigued
- difficulty concentrating or mind going blank
- irritability
- muscle tension
- sleep disturbance (difficulty falling or staying asleep, or restless unsatisfying sleep)
- The focus of the anxiety and worry is not confined to features of an Axis I disorder, e.g., the anxiety or worry is not about having a Panic Attack (as in Panic Disorder), being embarrassed in public (as in Social Phobia), being contaminated (as in Obsessive-Compulsive Disorder), being away from home or close relatives (as in Separation Anxiety Disorder), gaining weight (as in Anorexia Nervosa),having multiple physical complaints (as in Somatization Disorder), or having a serious illness (as in Hypochondriasis), and the anxiety and worry do not occur exclusively during Posttraumatic Stress Disorder.
- The anxiety, worry, or physical symptoms cause clinically significant distress or impairment in social, occupational, or other important areas of functioning.
- The disturbance is not due to the direct physiological effects of a substance (e.g., a drug of abuse, a medication) or a general medical condition (e.g., hyperthyroidism) and does not occur exclusively during a Mood Disorder, a Psychotic Disorder, or a Pervasive Developmental Disorder.
DISC4.0 Algorithms - Module A - Youth Generalized Anxiety Disorder - Data Definition
libname sds "&path";
filename discy "&filein";
data sds.yga0 (drop = card testid);
infile discy end = last pad;
input id $ 1-10 card $ 11-14;
testid = id;
%huid;
do until (testid ne id);
select (card);
when ('A601') do;
input id $ 1-10
yga001 16
yga001a 17
yga001b 18
yga001c 19
yga001d 20
yga002 21
yga002a 22
yga002b 23
yga002c 24
yga002d 25
yga003 26
yga003a 27
yga003b 28
yga003c 29
yga003d 30
yga004 31
yga004a 32
yga004b 33
yga004c 34
yga004d 35
yga005 36
yga005a 37
yga005b 38
yga005c 39
yga005d 40
yga006 41
yga006a 42
yga007 43
yga007a 44
yga007b 45
yga008 46
yga008a 47
yga008b 48
yga009 49
yga009a 50
yga009b 51
yga010 52
yga010a 53
yga010b 54
yga011 55
yga011a 56
yga011b 57
ygan01 58
yga012 59
yga012a 60
yga012b 61
yga013 62
yga013a 63
yga013b 64
yga014y 65-66
yga014z 67-68
yga014a 69
yga014b 70
yga014c 71
yga014dy 72-73
yga014dz 74-75
yga014e 76;
end;
when ('A602') do;
input id $ 1-10
yga015 16
yga015a 17
yga016 18
yga016a 19
yga017 20
yga017a 21
yga018 22
yga018a 23
yga019 24
yga019a 25
yga020 26
yga020a 27
yga021 28
yga021a 29
yga022 30-31
yga022a 32-33
yga023 34
yga023a 35
yga023b 36
yga023c 37
yga024 38
yga024a 39
yga024b 40
yga025 41
yga025a 42
yga025b 43
yga026 44
yga026a 45
yga026b 46
yga027 47
yga027a 48
yga027b 49
yga027c 50
yga027d 51
yga028 52
yga028a 53
yga028b 54
yga028c 55
yga028d 56
yga029 57
yga029a 58
yga029b 59
yga029c 60
yga029d 61
yga030 62
yga030ay 63-64
yga030az 65-66;
end; /* end WHEN */
otherwise input;
end; /* end SELECT */
testid = id;
if (last) then id = ' ';
else input id $ 1-10 card $ 11-14 @@;
end; /* end DO UNTIL */
id = testid;
LABEL
YGA001 = 'Often worried before taking test/handing in assignment, past year'
YGA002 = 'Often seem worried before playing a sports game or doing an activity, pasy year'
YGA003 = 'Worried a lot about small mistakes made in projects or activities, past year'
YGA004 = 'Often worried about being on time in past year'
YGA005 = 'Often worried about having an illness in past year'
YGA006 = 'A time when worried four days straight out of the week'
YGA007 = 'Muscles felt tite/tense on days when worried'
YGA008 = 'Very restless or keyed up while worried in past year'
YGA009 = 'Got tired easily when tired in past year'
YGA010 = 'Trouble focusing due to nervousness in past year'
YGA011 = 'While worried mind went blank in past year'
YGA012 = 'While worried in past year it became hard to sleep, hard to wake up'
YGA013 = 'Grouchy/irritable while worried, annoyed by little things in past year'
YGA014y = 'Age when first worried about a lot of different things'
YGA014z = 'Grade when first worried about a lot of different things'
YGA015 = 'While problem was at its worst caretakers became upset/annoyed by worrying'
YGA016 = 'Worrying prevnted doing things/going places with family'
YGA017 = 'Worrying prevented doing things/going places with peers'
YGA018 = 'Worrying made schoolwork very hard and interfeared with grades in school'
YGA019 = 'While causing trouble with schoolwork teachers/boss became annoyed/upset'
YGA020 = 'Felt bad/upset about worrying so much'
YGA021 = 'In last year visited someone at a hospital/clinic/their office because of worrying'
YGA022 = 'Name and information of person seen for help (OPTIONAL)'
YGA023 = 'Type of person who is tense and finds it hard to relax'
YGA024 = 'In past year often been worried that they made a mistake/did something wrong'
YGA025 = 'In past year been worried that they made a fool of themselves infront of others'
YGA026 = 'Been very concerned with being liked by others in past year'
YGA027 = 'Often had headaches in the last year'
YGA028 = 'Often had stomachaches in the last year'
YGA029 = 'Other aches and pains in last year'
YGA030 = 'Since age of 5 worrying ever got worse than now';
run;
DISC4.0 Algorithms - Module A - Youth Generalized Anxiety Disorder - Data Recoding
Data Recoding
99, 77, 9, 7 -> missing
88, 8 -> 0
data sds.yga1;
set sds.yga0;
array ygavar(*)
yga001 yga001a yga001b yga001c yga001d
yga002 yga002a yga002b yga002c yga002d
yga003 yga003a yga003b yga003c yga003d
yga004 yga004a yga004b yga004c yga004d
yga005 yga005a yga005b yga005c yga005d
yga006 yga006a
yga007 yga007a yga007b
yga008 yga008a yga008b
yga009 yga009a yga009b
yga010 yga010a yga010b
yga011 yga011a yga011b
yga012 yga012a yga012b
yga013 yga013a yga013b
yga014a yga014b yga014c yga014e
yga021 yga021a
yga023 yga023a yga023b yga023c
yga024 yga024a yga024b
yga025 yga025a yga025b
yga026 yga026a yga026b
yga027 yga027a yga027b yga027c yga027d
yga028 yga028a yga028b yga028c yga028d
yga029 yga029a yga029b yga029c yga029d
yga030 yga015 yga016 yga017 yga018 yga019 yga020;
do i = 1 to dim (ygavar);
if (ygavar(i) = 9 or ygavar(i) = 7) then ygavar(i) = .;
end;
array double(*)
yga014y yga014z
yga014dy yga014dz
yga022 yga022a
yga030ay yga030az;
do i = 1 to dim(double);
if (double(i) = 99 or double(i) = 77) then double(i) = .;
if (double(i) = 88) then double(i) = 0;
end;
array eight(*)
yga001
yga001d
yga018
yga019;
do i = 1 to dim(eight);
if (eight(i) = 8) then eight(i) = 0;
end;
run;
DISC4.0 Algorithms - Module A - Youth Generalized Anxiety Disorder - Algorithms
proc sort data=sds.ymodi1; by id;
proc sort data=sds.yga1; by id;
data sds.yga2
(keep = id huid ygay ygaay ygaby ygac1y ygac2y ygac3y ygac4y ygac5y ygac6y
ygacy ygac1m ygac2m ygac3m ygac4m ygac5m ygac6m ygam ygaam ygabm ygacm
ygaima1 ygaima2 ygaima3 ygaima4 ygaima5 ygaima6 ygaima ygayima ygamima
ygaimb ygayimb ygamimb ygaimc1 ygaimc2 ygaimc3 ygaimc4 ygaimc5
ygaimc6 ygaimc ygayimc ygamimc ygayimd ygamimd age gender
ygacrity ygacritm ygasymp
yga001-yga005 yga023-yga029);
merge sds.ymodi1 sds.yga1; by id;
age = yit002;
gender = yitn02;
****** Criteria ******;
*----A;
if ((yga001=0 or (yga001a=0 and yga001b=0)) and (yga002=0 or (yga002a=0 and yga002b=0)) and
(yga003=0 or (yga003a=0 and yga003b=0)) and (yga004=0 or (yga004a=0 and yga004b=0)) and
(yga005=0 or (yga005a=0 and yga005b=0))) and yga006=. then yga006=0; /*box h*/
array impair(6) yga015 yga016 yga017 yga018 yga019 yga020;
array impaira(6) yga015a yga016a yga017a yga018a yga019a yga020a;
if (sum((yga001a=2),(yga001b=2),(yga002a=2),(yga002b=2),(yga003a=2),(yga003b=2),
(yga004a=2),(yga004b=2),(yga005a=2),(yga005b=2))=0)
then do; do i=1 to 6; impair[i]=0; end; end;
if yga006=0 then do; do i=1 to 6; impair[i]=0; end; end;
if (sum((yga007a=2),(yga008a=2),(yga009a=2),(ygan01=2),
(yga012a),(yga013a=2))=0)
then do; do i=1 to 6; impair[i]=0; end; end;
do i=1 to 6;
if impair[i]=0 then impaira[i]=1;
end;
*-----Past Year;
if ((yga006a = 2) and (sum((yga001a = 2),(yga002a=2),(yga003a=2),(yga004a=2),
(yga005a=2)) ge 2)) then ygaay = 1;
else if ((yga006 = 0 or yga006a = 0) or
(sum((yga002 = 0 or yga002a=0),
(yga003 = 0 or yga003a=0),
(yga004 = 0 or yga004a=0),
(yga005 = 0 or yga005a=0),
(yga001 = 0 or yga001a=0)) ge 4))
then ygaay = 0;
*-----Past Month;
if ((yga006a = 2) and (sum((yga001a = 2 and yga001d = 2), (yga002a = 2 and
yga002d = 2), (yga003a = 2 and yga003d = 2), (yga004a = 2 and yga004d = 2),
(yga005a = 2 and yga005d = 2)) ge 2)) then ygaam = 1;
else if (yga006 = 0 or yga006a = 0) or
(sum((yga002 = 0 or yga002a = 0 or yga002d=0),
(yga003 = 0 or yga003a = 0 or yga003d=0),
(yga004 = 0 or yga004a = 0 or yga004d=0),
(yga005 = 0 or yga005a = 0 or yga005d=0),
(yga001 = 0 or yga001a = 0 or yga001d=0)) ge 4)
then ygaam = 0;
*-----B;
*-----Past Year;
if (sum((yga002a = 2 and yga002b=2),(yga003a = 2 and yga003b=2),(yga004a = 2 and
yga004b=2),(yga005a = 2 and yga005b=2),(yga001a = 2 and yga001b=2)) ge 2)
then ygaby = 1;
else if (sum((yga002 = 0 or yga002a = 0 or yga002b=0),
(yga003 = 0 or yga003a = 0 or yga003b=0),
(yga004 = 0 or yga004a = 0 or yga004b=0),
(yga005 = 0 or yga005a = 0 or yga005b=0),
(yga001 = 0 or yga001a = 0 or yga001b=0)) ge 4)
then ygaby = 0;
*-----Past Month;
if (sum((yga002a = 2 and yga002b = 2 and yga002d = 2),
(yga003a = 2 and yga003b = 2 and yga003d = 2),
(yga004a = 2 and yga004b = 2 and yga004d = 2),
(yga005a = 2 and yga005b = 2 and yga005d = 2),
(yga001a = 2 and yga001b = 2 and yga001d = 2)) ge 2) then ygabm = 1;
else if (sum((yga002 = 0 or yga002a = 0 or yga002b = 0 or yga002d = 0),
(yga003 = 0 or yga003a = 0 or yga003b = 0 or yga003d = 0),
(yga004 = 0 or yga004a = 0 or yga004b = 0 or yga004d = 0),
(yga005 = 0 or yga005a = 0 or yga005b = 0 or yga005d = 0),
(yga001 = 0 or yga001a = 0 or yga001b = 0 or yga001d = 0)) ge 4)
then ygabm = 0;
*-----C;
if ((yga001=0 or (yga001a=0 and yga001b=0)) and (yga002=0 or (yga002a=0 and yga002b=0)) and
(yga003=0 or (yga003a=0 and yga003b=0)) and (yga004=0 or (yga004a=0 and yga004b=0)) and
(yga005=0 or (yga005a=0 and yga005b=0))) or yga006=0 then do;
ygac1y=0;ygac2y=0;ygac3y=0;ygac4y=0;ygac5y=0;ygac6y=0;
ygac1m=0;ygac2m=0;ygac3m=0;ygac4m=0;ygac5m=0;ygac6m=0;
end; /* if box h or Q6 leads to Q23 then all the sub-criteria of criterion C are 0 */
else
do;
*-----Past Year;
*-----C1;
if (yga008a = 2) then ygac1y = 1;
else if (yga008 = 0 or yga008a = 0) then ygac1y = 0;
*-----C2;
if (yga009a = 2) then ygac2y = 1;
else if (yga009 = 0 or yga009a = 0) then ygac2y = 0;
*-----C3;
if (yga010a = 2 or yga011a = 2) then ygac3y = 1;
else if ((yga010 = 0 or yga010a = 0) and (yga011 = 0 or yga011a = 0))
then ygac3y = 0;
*-----C4;
if (yga013a = 2) then ygac4y = 1;
else if (yga013 = 0 or yga013a = 0) then ygac4y = 0;
*-----C5;
if (yga007a = 2) then ygac5y = 1;
else if (yga007 = 0 or yga007a = 0) then ygac5y = 0;
*-----C6;
if (yga012a = 2) then ygac6y = 1;
else if (yga012 = 0 or yga012a = 0) then ygac6y = 0;
*-----Past Month;
*-----C1;
if (yga008a = 2 and yga008b = 2) then ygac1m = 1;
else if (yga008 = 0 or yga008a = 0 or yga008b = 0) then ygac1m = 0;
*-----C2;
if (yga009a = 2 and yga009b = 2) then ygac2m = 1;
else if (yga009 = 0 or yga009a = 0 or yga009b = 0) then ygac2m = 0;
*-----C3;
if ((yga010a = 2 and yga010b = 2) or (yga011a = 2 and yga011b = 2))
then ygac3m = 1;
else if ((yga010 = 0 or yga010a = 0 or yga010b = 0) and
(yga011 = 0 or yga011a = 0 or yga011b = 0)) then ygac3m = 0;
*-----C4;
if (yga013a = 2 and yga013b = 2) then ygac4m = 1;
else if (yga013 = 0 or yga013a = 0 or yga013b = 0) then ygac4m = 0;
*-----C5;
if (yga007a = 2 and yga007b = 2) then ygac5m = 1;
else if (yga007 = 0 or yga007a = 0 or yga007b = 0) then ygac5m = 0;
*-----C6;
if (yga012a = 2 and yga012b = 2) then ygac6m = 1;
else if (yga012 = 0 or yga012a = 0 or yga012b = 0) then ygac6m = 0;
end;
if (0<=AGE<12) then do;
if (sum(ygac1y, ygac2y, ygac3y, ygac4y, ygac5y, ygac6y) ge 1)
then ygacy = 1;
else if ((n(ygac1y, ygac2y, ygac3y, ygac4y, ygac5y, ygac6y)-sum(ygac1y,
ygac2y, ygac3y, ygac4y, ygac5y, ygac6y)) eq 6)
then ygacy = 0;
if (sum(ygac1m, ygac2m, ygac3m, ygac4m, ygac5m, ygac6m) ge 1)
then ygacm = 1;
else if ((n(ygac1m, ygac2m, ygac3m, ygac4m, ygac5m, ygac6m)-sum(ygac1m,
ygac2m, ygac3m, ygac4m, ygac5m, ygac6m)) eq 6)
then ygacm = 0;
end;
if (AGE>=12) then do;
if (sum(ygac1y, ygac2y, ygac3y, ygac4y, ygac5y, ygac6y) ge 3)
then ygacy = 1;
else if ((n(ygac1y, ygac2y, ygac3y, ygac4y, ygac5y, ygac6y)-sum(ygac1y,
ygac2y, ygac3y, ygac4y, ygac5y, ygac6y)) ge 4)
then ygacy = 0;
if (sum(ygac1m, ygac2m, ygac3m, ygac4m, ygac5m, ygac6m) ge 3)
then ygacm = 1;
else if ((n(ygac1m, ygac2m, ygac3m, ygac4m, ygac5m, ygac6m)-sum(ygac1m,
ygac2m, ygac3m, ygac4m, ygac5m, ygac6m)) ge 4)
then ygacm = 0;
end;
****** Diagnosis for Genralized Anxiety Disorder ******;
if (ygaay = 1 and ygaby = 1 and ygacy = 1) then ygay = 1;
else if (ygaay = 0 or ygaby = 0 or ygacy = 0) then ygay = 0;
if (ygaam = 1 and ygabm = 1 and ygacm = 1) then ygam = 1;
else if (ygaam = 0 or ygabm = 0 or ygacm = 0) then ygam = 0;
****** Variable Labels ******;
label ygaay = 'Anxiety and worry most days for 6 months'
ygaam = 'Anxiety and worry most days for 6 months'
ygaby = 'Difficult to control the worry'
ygabm = 'Difficult to control the worry'
ygacy = 'Somatic symptoms'
ygacm = 'Somatic symptoms';
*----Impairment Algorithms;
*------A; /* One intermediate rating of impairment or distress */
if (yga015a = 2 or yga015a = 3) then ygaima1 = 1;
else if (yga015a = 1 or yga015a = 7 or yga015a = 9) then ygaima1 = 0;
if (yga016a = 2 or yga016a = 3) then ygaima2 = 1;
else if (yga016a = 1 or yga016a = 7 or yga016a = 9) then ygaima2 = 0;
if (yga017a = 2 or yga017a = 3) then ygaima3 = 1;
else if (yga017a = 1 or yga017a = 7 or yga017a = 9) then ygaima3 = 0;
if (yga018a = 2 or yga018a = 3) then ygaima4 = 1;
else if (yga018a = 1 or yga018a = 7 or yga018a = 9) then ygaima4 = 0;
if (yga019a = 2 or yga019a = 3) then ygaima5 = 1;
else if (yga019a = 1 or yga019a = 7 or yga019a = 9) then ygaima5 = 0;
if (yga020a = 2 or yga020a = 3) then ygaima6 = 1;
else if (yga020a = 1 or yga020a = 7 or yga020a = 9) then ygaima6 = 0;
if (sum(ygaima1, ygaima2, ygaima3, ygaima4, ygaima5, ygaima6) ge 1)
then ygaima = 1;
else if ((n(ygaima1, ygaima2, ygaima3, ygaima4, ygaima5, ygaima6) - sum(ygaima1,
ygaima2, ygaima3, ygaima4, ygaima5, ygaima6)) ge 6)
then ygaima = 0;
if ygaima = 1 and ygay = 1 then ygayima = 1;
else if ygaima = 0 or ygay = 0 then ygayima = 0;
if ygaima = 1 and ygam = 1 then ygamima = 1;
else if ygaima = 0 or ygam = 0 then ygamima = 0;
*------B; /* Two intermediate ratings of impairment or distress */
if (sum(ygaima1, ygaima2, ygaima3, ygaima4, ygaima5, ygaima6) ge 2)
then ygaimb = 1;
else if ((n(ygaima1, ygaima2, ygaima3, ygaima4, ygaima5, ygaima6) - sum(ygaima1,
ygaima2, ygaima3, ygaima4, ygaima5, ygaima6)) ge 5)
then ygaimb = 0;
if ygaimb = 1 and ygay = 1 then ygayimb = 1;
else if ygaimb = 0 or ygay = 0 then ygayimb = 0;
if ygaimb = 1 and ygam = 1 then ygamimb = 1;
else if ygaimb = 0 or ygam = 0 then ygamimb = 0;
*-----C; /* One severe ratings of impairment or distress */
if (yga015a = 3) then ygaimc1 = 1;
else if (yga015a = 1 or yga015a = 2 or yga015a = 7 or yga015a = 9) then ygaimc1 = 0;
if ( yga016a = 3) then ygaimc2 = 1;
else if (yga016a = 1 or yga016a = 2 or yga016a = 7 or yga016a = 9) then ygaimc2 = 0;
if ( yga017a = 3) then ygaimc3 = 1;
else if (yga017a = 1 or yga017a = 2 or yga017a = 7 or yga017a = 9) then ygaimc3 = 0;
if (yga018a = 3) then ygaimc4 = 1;
else if (yga018a = 1 or yga018a = 2 or yga018a = 7 or yga018a = 9) then ygaimc4 = 0;
if (yga019a = 3) then ygaimc5 = 1;
else if (yga019a = 1 or yga019a = 2 or yga019a = 7 or yga019a = 9) then ygaimc5 = 0;
if (yga020a = 3) then ygaimc6 = 1;
else if (yga020a = 1 or yga020a = 2 or yga020a = 7 or yga020a = 9) then ygaimc6 = 0;
if (sum(ygaimc1, ygaimc2, ygaimc3, ygaimc4, ygaimc5, ygaimc6) ge 1)
then ygaimc = 1;
else if ((n(ygaimc1, ygaimc2, ygaimc3, ygaimc4, ygaimc5, ygaimc6) - sum(ygaimc1,
ygaimc2, ygaimc3, ygaimc4, ygaimc5, ygaimc6)) ge 6)
then ygaimc = 0;
if ygaimc = 1 and ygay = 1 then ygayimc = 1;
else if ygaimc = 0 or ygay = 0 then ygayimc = 0;
if ygaimc = 1 and ygam = 1 then ygamimc = 1;
else if ygaimc = 0 or ygam = 0 then ygamimc = 0;
*------D; /* Impairment D: present when impairment B or C are satisified */
If ygayimb = 1 or ygayimc = 1 then ygayimd = 1;
else if ygayimb = 0 and ygayimc = 0 then ygayimd = 0;
If ygamimb = 1 or ygamimc = 1 then ygamimd = 1;
else if ygamimb = 0 and ygamimc = 0 then ygamimd = 0;
***** Criterion Count *****;
ygacrity =sum(of ygaay ygaby ygac1y ygac2y ygac3y ygac4y ygac5y ygac6y );
ygacritm =sum(of ygaam ygabm ygac1m ygac2m ygac3m ygac4m ygac5m ygac6m );
*****Symptom Count*****;
ygasymp=sum(of yga001-yga005 yga023-yga029)/2;
label
ygacrity = 'Youth Generalized Anxiety Criteria Count - Last Year'
ygacritm = 'Youth Generalized Anxiety Criteria Count - Last Month'
ygasymp = 'Youth Generalized Anxiety Symptom Count';
run;