Appendix 1: Education Variable Creation

Return to Table of Contents


Enrollment Status, Highest Grade Completed, and Highest Degree Received

Variables Created:

Variables Used

Name in Program

Question Name on CD

Name in Program

Question Name on CD

Round 1 Round 5 cont.
sym1gr11 SYMBOL!CUR!FIRSTGRADE.01.01

e913111

YSCH-9131.01.01

compyr4 from r4 program

e913112

YSCH-9131.01.02

e3500r1 YSCH-3500

e913121

YSCH-9131.02.01

e11700r1 YSCH-11700

e913122

YSCH-9131.02.02

e26700r1 YSCH-26700

e913131

YSCH-9131.03.01

28200r1 YSCH-28200

e913132

YSCH-9131.03.02

t70001r1 YTRN-7000.01

e913141

YSCH-9131.04.01

t70002r1 YTRN-7000.02

e913151

YSCH-9131.05.01

t70003r1 YTRN-7000.03

e933511M

YSCH-9335.01.01~M

encat1 CV_ENROLLSTAT

e933511Y

YSCH-9335.01.01~Y

GRSURV1 CV_HGC_EVER

e933512M

YSCH-9335.01.02~M

DEGSURV1 CV_HIGHEST_DEGREE_EVER

e933512Y

YSCH-9335.01.02~Y

e933521M

YSCH-9335.02.01~M

Round 2

e933521Y

YSCH-9335.02.01~Y

e2857r2 YSCH-2857

e933531M

YSCH-9335.03.01~M

e3112r2 YSCH-3112

e933531Y

YSCH-9335.03.01~Y

e11700r2 YSCH-11700

e933541M

YSCH-9335.04.01~M

t70001r2 YTRN-7000.01

e933541M

YSCH-9335.04.01~Y

t70002r2 YTRN-7000.02

e933551M

YSCH-9335.05.01~M

encat2 CV_ENROLLSTAT

e933551Y

YSCH-9335.05.01~Y

GRSURV2 CV_HGC_EVER

e938511

YSCH-9385.01.01

GRJUNE2 CV_HGC_YR

e938512

YSCH-9385.01.02

DEGSURV2 CV_HIGHEST_DEGREE_EVER

e938521

YSCH-9385.02.01

DEGJUNE2 CV_HIGHEST_DEGREE_YR

e938522

YSCH-9385.02.02

e938531

YSCH-9385.03.01

Round 3

e938532

YSCH-9385.03.02

e2857r3 YSCH-2857

e938541

YSCH-9385.04.01

e3112r3 YSCH-3112

e938551

YSCH-9385.05.01

e11700r3 YSCH-11700

e9589111

YSCH-9589.01.01.01

t70001r3 YTRN-7000.01

e9589112

YSCH-9589.01.01.02

t70002r3 YTRN-7000.02

e9589113

YSCH-9589.01.01.03

t70003r3 YTRN-7000.03

e9589114

YSCH-9589.01.01.04

t70004r3 YTRN-7000.04

e9589121

YSCH-9589.01.02.01

e13300r3 YSCH-13300

e9589122

YSCH-9589.01.02.02

encat3 CV_ENROLLSTAT

e9589211

YSCH-9589.02.01.01

grsurv3 CV_HGC_EVER

e9589212

YSCH-9589.02.01.02

grjune3 CV_HGC_YR

e9589213

YSCH-9589.02.01.03

degsurv3 CV_HIGHEST_DEGREE_EVER

e9589311

YSCH-9589.03.01.01

degjune3 CV_HIGHEST_DEGREE_YR

e9589411

YSCH-9589.04.01.01

e9589412

YSCH-9589.04.01.02

Round 4

e9946111

YSCH-9946.01.01.01

e2857r4 YSCH-2857

e9946112

YSCH-9946.01.01.02

e3112r4 YSCH-3112

e9946113

YSCH-9946.01.01.03

e11700r4 YSCH-11700

e9946114

YSCH-9946.01.01.04

t70001r4 YTRN-7000.01

e9946121

YSCH-9946.01.02.01

t70002r4 YTRN-7000.02

e9946122

YSCH-9946.01.02.02

t70003r4 YTRN-7000.03

e9946211

YSCH-9946.02.01.01

t70004r4 YTRN-7000.04

e9946212

YSCH-9946.02.01.02

encat4 CV_ENROLLSTAT

e9946213

YSCH-9946.02.01.03

grsurv4 CV_HGC_EVER

e9946311

YSCH-9946.03.01.01

grjune4 CV_HGC_YR

e9946411

YSCH-9946.04.01.01

degsurv4 CV_HIGHEST_DEGREE_EVER

e9946412

YSCH-9946.04.01.02

degjune4 CV_HIGHEST_DEGREE_YR

e199111M

YSCH-10099.01.01.01~M

e199111Y

YSCH-10099.01.01.01~Y

Round 5

e199112M

YSCH-10099.01.01.02~M

e3103

YSCH-3103

e199112Y

YSCH-10099.01.01.02~Y

e3104

YSCH-3104

e199113M

YSCH-10099.01.01.03~M

e2806

YSCH-2806

e199113Y

YSCH-10099.01.01.03~Y

e2857

YSCH-2857

e199114M

YSCH-10099.01.01.04~M

e2908

YSCH-2908

e199114Y

YSCH-10099.01.01.04~Y

e3010

YSCH-3010

e199121M

YSCH-10099.01.02.01~M

e3061

YSCH-3061

e199121Y

YSCH-10099.01.02.01~Y

e3112

YSCH-3112

e199122M

YSCH-10099.01.02.02~M

e3877

YSCH-3877

e199122Y

YSCH-10099.01.02.02~Y

e3877B

YSCH-3877B

e199211M

YSCH-10099.02.01.01~M

e3878

YSCH-3878

e199211Y

YSCH-10099.02.01.01~Y

e4793

YSCH-4793

e199212M

YSCH-10099.02.01.02~M

e4795

YSCH-4795

e199212Y

YSCH-10099.02.01.02~Y

e1605

YSCH-1605

e199213M

YSCH-10099.02.01.03~M

e16151

YSCH-1615.01

e199213Y

YSCH-10099.02.01.03~Y

e16241

YSCH-1624.01

e199311M

YSCH-10099.03.01.01~M

e16271

YSCH-1627.01

e199311Y

YSCH-10099.03.01.01~Y

e4951

YSCH-4951

e199411M

YSCH-10099.04.01.01~M

e54581

YSCH-5458.01

e199411Y

YSCH-10099.04.01.01~Y

e54582

YSCH-5458.02

e199412M

YSCH-10099.04.01.02~M

e54583

YSCH-5458.03

e199412Y

YSCH-10099.04.01.02~Y

e54584

YSCH-5458.04

e11700

YSCH-11700

e54585

YSCH-5458.05

e11900M

YSCH-11900~M

e67841

YSCH-6784.01

e11900Y

YSCH-11900~Y

e67842

YSCH-6784.02

e273371

YSCH-27337.01

e67843

YSCH-6784.03

e273372

YSCH-27337.02

e67844

YSCH-6784.04

e273373

YSCH-27337.03

e67845

YSCH-6784.05

e273374

YSCH-27337.04

e69381

YSCH-6938.01

e273375

YSCH-27337.05

e69382

YSCH-6938.02

e273376

YSCH-27337.06

e69383

YSCH-6938.03

e234501

YSCH-23450.01

e69384

YSCH-6938.04

e234502

YSCH-23450.02

e69385

YSCH-6938.05

e234503

YSCH-23450.03

e694311

YSCH-6943.01.01

e234504

YSCH-23450.04

e694321

YSCH-6943.02.01

e234505

YSCH-23450.05

e714211

YSCH-7142.01.01

e234506

YSCH-23450.06

e714221

YSCH-7142.01.02

t70001

YTRN-7000.01

e714231

YSCH-7142.01.03

t70002

YTRN-7000.02

e71921

YSCH-7192.01

t70003

YTRN-7000.03

e71922

YSCH-7192.02

t70004

YTRN-7000.04

e71923

YSCH-7192.03

PUBID

PUBID

e71924

YSCH-7192.04

DTHS

CV_HS_DIPLOMA

e71925

YSCH-7192.05

DTGED

CV_GED

e841611

YSCH-8416.01.01

DTAA

CV_AA_DEGREE

e841612

YSCH-8416.01.02

DTBA

CV_BA_DEGREE

e841621

YSCH-8416.02.01

ROSCODE1

NEWSCHOOL_SCHCODE.01

e841622

YSCH-8416.02.02

ROSCODE2

NEWSCHOOL_SCHCODE.02

e841631

YSCH-8416.03.01

ROSCODE3

NEWSCHOOL_SCHCODE.03

e841632

YSCH-8416.03.02

ROSCODE4

NEWSCHOOL_SCHCODE.04

e841641

YSCH-8416.04.01

ROSCODE5

NEWSCHOOL_SCHCODE.05

e841651

YSCH-8416.05.01

ROSCODE6

NEWSCHOOL_SCHCODE.06

Codes for Created Variables

Enrollment Status (CV_ENROLLSTAT) 

1. not enrolled, no high school degree, no GED
2. not enrolled, GED, but no high school degree
3. not enrolled, a high school degree, no GED
4. not enrolled, some college
5. not enrolled, 2 year college graduate
6. not enrolled, 4 year college graduate

7. not enrolled, graduate degree
8. enrolled in grades 1-12
9. enrolled in a 2 year college
10. enrolled in a 4 year program
11. enrolled in a graduate program

 

Highest Grade Completed (CV_HGC_EVER, CV_HGC_YR)

0.  none
1.  first
2.  second
3.  third
4.  fourth
5.  fifth

6.  sixth
7.  seventh
8.  eighth
9.  ninth
10. tenth
11. eleventh

12. twelvth
13. first year college
14. second year college
15. third year college
16. fourth year college

17. fifth year college
18. sixth year college
19. seventh year college
20. eighth year college
95. ungraded                

 

Highest Degree Received (CV_HIGHEST_DEGREE_EVER, CV_HIGHEST_DEGREE_YR)

0. none
1. GED
2. high school diploma
3. junior college or 2-year associate degree

4. bachelor's degree (B.A., B.S., or unspecified)
5. master's degree
6. doctoral degree
7. professional degree (M.D., L.L.D., D.D.S., J.D.)

This program first creates an enrollment status variable for each respondent.  It then identifies the highest grade completed by the respondent as of the  round 5 interview date and as of June 30, 2001.  Finally, it determines the highest degree or diploma received by the respondent as of the same two dates.

Notes on education variables:  Respondents who report receiving both a GED and a high school diploma are coded as receiving a high school diploma.  Respondents who report completing 12th grade but do not report receiving a diploma or GED are coded as having completed 12th grade (in the GRSURV and GRJUNE variables, if applicable) but are not credited with a diploma/GED in the ENCAT, DEGSURV, or DEGJUNE variables.  Researchers interested in diploma receipt should use the DEGSURV or ENCAT variables and should not assume that completion of 12th grade signifies receipt of a high school diploma.

Some respondents provided conflicting information about grades attended/completed in the schooling loops (e8416 and e9589) versus the single items (e3112, e2857).  In Round 5, approximately 100 respondents have conflicting grade reports, identified using the code:

where (enroll=0 and 12>=e3112^=grsurv>0 and degsurv not in (1,2) and grsurv^=95)
or (0<maxgrade=grsurv<95 and grsurv^=e3112 and e3112<=12)

This program gives priority to information provided in the schooling loops over that provided on single item questions.  Users may wish to check the CV_HGC_EVER variable against student single item self-reports of HGC (e3112), which in many cases indicates a higher grade was completed than that reported in the loops.

Thirty-six respondents gave irreconcilable conflicting reports regarding their school attendance in the loops versus the single-item sections of the questionnaire.  These respondents are assigned invalid skips (-3) because no reasonable determination of their enrollment status and grades completed can be made.  Specifically, respondents are assigned a -3 if they a) report being not enrolled, b) report a highest grade completed on the single items (e3112) that is greater than the CV_HIGHEST_DEGREE_EVER for the prior round, but do not indicate completing this grade in a schooling loop, and c) report that their highest grade attended (e2857) is two or more greater than the highest grade completed in the previous round. If these respondents provide valid information on degrees earned, that variable will have a valid value.



/*************** ENROLLMENT STATUS **************/*

 

/** Initialize variables                                                                                           **/

 

FILL1=-4;    /*FILL1,2,3,4 and 5 are a filler variable to make the array match in N */

FILL2=-4;

FILL3=-4;

FILL4=-4;

FILL5=-4;

enroll=-3;        /* Indicator of whether respondent currently enrolled */

ENCAT=-3;         /* Enrollment status variable (including educational attainment) */

dip=0;            /* Indicator of whether respondent has a hs diploma (check previous rounds) */

ged=0;            /* Indicator of whether respondent has a ged (check previous rounds) */

hs=0;             /* Indicator of whether respondent is currently attending grades 1 to 12 */

college=0;        /* Indicator of whether respondent is current attending 2 or 4 year college */

flagcol=0;        /* Indicator to flag respondents currently attending grades 1 to 12 and enrolled in college */

FLAGLOOP=0;       /* Indicator to flag respondents going through old school re-enrollment loop twice */

SOMECOLL=0;       /* Indicator to flag respondents having attended a college (in a degree program) in current or

                     previous rounds */

FLAGGRADE=0;      /* Indicator to flag respondents reporting HGC greater than HGA */              

QUEX_PROB_Loop=0; /* Indicator to flag when respondents reporting attending a 2 or 4 year college are not asked

                     degree that they are working towards. */

PROB_SEAM=0;      /* Indicator to flag respondents who received a degree in the same month as the interview and so

                     the ENCAT is not correct. **/

PROB_previnfo=0;  /* Indicator to flag respondents who received a degree in the last round and that information was

                     not incorporated when computing ENCAT and so the ENCAT is not correct. **/

  

/*

GED_TR=1 If we have assigned a ged to R in the cveduR5_3.sas i.e. DATE OG DEGREE RECEIVED program

GED_TR=2 if we have assigned a ged to R in this program and training questions are not -1, -2, -3.

GED_TR=3 if we have assigned a ged to R in this program and training questions are either -1, -2, -3.*/

 

/** Defining arrays to be used later in the program                                                                **/

 

array e6784  e67841  e67842  e67843  e67844 e67845;

array e7192  e71921  e71922  e71923  e71924 e71925;

array e6938  e69381  e69382  e69383  e69384 e69385;

array e69431 e694311 e694321 FILL1   FILL2  FILL3;

array e7142  e714211 e714221 e714231 FILL4  FILL5;

 

array e23450  e234501  e234502  e234503  e234504  e234505  e234506;

array e27337  e273371  e273372  e273373  e273374  e273375  e273376;

array roscode roscode1 roscode2 roscode3 roscode4 roscode5 roscode6;

 

array t7000a t70001  t70002  t70003  t70004

             t70001r1 t70002r1 t70003r1

             t70001r2 t70002r2

             t70001r3 t70002r3 t70003r3 t70004r3

             t70001r4 t70002r4 t70003r4 t70004r4;

array intm int97_m int98_m int99_m int00_m;            

array inty int97_y int98_y int99_y int00_y;

array encatt encat1-encat4;

array enrollt enroll1-enroll4;

 

do J=1 to 4;

   if intm(J) NE -5 then dlicm=((inty(J)-1980)*12)+intm(J)+1;

end;  

 

if int01_m NE -5 then do;

   doicm=((int01_y-1980)*12)+int01_m;

end;

 

do I=1 to 6;

   if (roscode(I)=4 OR roscode(I)=5) and e27337(I)=-4 then QUEX_PROB_LOOP=1;

end;  

 

do I=1 to 4;

   if encatt(I) in (8,9,10,11) then enrollt(I)=1;

   if encatt(I) in (1,2,3,4,5,6,7) then enrollt(I)=0;

   if encatt(I) lt 0 then enrollt(I)=encatt(I);

end;  

 

LASTenroll=0;

do I=1 to 4;

   if enrollt(I)=1 then LASTenroll=I;

end;  

 

/** ENROLLMENT STATUS: Begin by determining whether the respondent is enrolled

    Note that summer vacations are included as part of the enrollment period                                       **/

 

    if e2857 lt e3112 then FLAGGRADE=1;

   

    if e4951=-5 then do;

       enroll=-5;

       ENCAT=-5;

    end;

 

    if e4795=1 OR e4793=1 then enroll=1; /* Continuously enrolled in old school since dli (or start date) */

    if e4795=0 and e4951=0 then enroll=0; /* Not continuously enrolled and not enrolled in any other schools since */

 

   /* Not continuously enrolled in old school since dli, not re-enrolled in old school since dli, and no new schools since dli */

    if e1605=-2 then enroll=-2;

    if e4795=0 and e1605=0 and e4951=0 then enroll=0;

    if e4793=0 and e1605=0 and e4951=0 then enroll=0;

    if e3878=0 then enroll=0;

 

   /* Not continuously enrolled in old school since dli, have RECEIVED DEGREE and/OR COMPLETED COURSE WORK old school (i.e., YSCH-1600=1), and has not reported new school since */

    if e4793=0 and e4951=0 and e1605=-4 then enroll=0;

 

/** RE-ENROLLMENT in OLD SCHOOL:

    Note that respondents can only re-enroll loop once and it is not possible to determine which individuals

    re-enrolled additional times. Individuals who were not continuously enrolled up to the interview during the last

    enrollment spell and who do not report any new schools will be coded as not enrolled.                          **/

 

    if e16241=1 then FLAGLOOP=1; /* Flag those who re-enroll */

 

    /* Respondents ENROLLED AT DLI */

    if (e4795=0 and e1605=1) then do;

       if e16151=1 then enroll=1; /* Continuously enrolled in old school */

       if e16151=0 and e16241=0 and e16271=0 and e4951=0 then enroll=0; /* Not continuously enrolled in old school,

                                                                           first time through loop, no other

                                                                           re-enrollments at old school and no new

                                                                           schools reported */

 

    end;

   

    /* Respondents NOT ENROLLED AT DLI but re-enrolled in old school SDLI */

    if e4793=0 and e1605=1 then do;

       if e16151=1 then enroll=1;

       if e16151=0 and e16241=0 and e16271=0 and e4951=0 then enroll=0;

    end; 

      

/** ENROLLMENT in NEW SCHOOLS                                                                                      **/

 

    if (e4951=1 OR e3878=1) then do;

       do I=1 to 5;

          if e6784(I)=1 and e7192(I)=0 then enroll=1;/* Continuously enrolled in new school no other new schools

                                                        reported */

          if e6784(I)=0 and e7192(I)=0 then enroll=0;/* Not continuously enrolled in new school, did not re-enroll in

                                                        new school, no other new schools reported */

       end;

    end;

 

/** Make sure that all members of the e6784 array are in the dataset - R's who leave a new school because they

    graduated or finished coursework will not be asked this question                                               **/

 

/** RE-ENROLLMENT PERIODS in NEW SCHOOLS                                                                           **/

 

    if (e4951=1 OR e3878=1) then do;

       do I=1 to 5; /* Allow for up to three times through this loop */

          if (e6784(I)=0 and e6938(I)=1) then do;

             if e69431(I)=1 and e7192(I)=0 then enroll=1;/* Continuously re-enrolled in new school, no other new

                                                            schools reported */

             if e69431(I)=0 and e7142(I)=0 and e7192(I)=0 then enroll=0;/* Not continuously re-enrolled in new school,

                                                                           not re-enrolled in new school for a

                                                                           subsequent spell, no other new schools

                                                                           reported */

          end;

       end;

    end;

 

/** ENROLLMENT STATUS CATEGORIES                                                                                   **/

 

/** First create variables to flag those who have ever received a ged or hs diploma

    dip is set to 1 if R received hs diploma in rounds 1 through 5                                                 **/

   

    if e11700=1 OR e11700r1=1 OR e26700r1=1 OR e11700r2=1 OR e11700r3=1 OR e11700r4=1 then dip=1;

    else if e11700 in (-1, -2, -3) OR e11700r1 in (-1, -2, -3) OR e26700r1 in (-1, -2, -3)

         OR e11700r2 in (-1, -2, -3) OR e11700r3 in (-1, -2, -3) OR e11700r4 in (-1, -2, -3) then dip=-3;

    if DIP_x=1 then dip=1; /* From the date of degree received program. (Added on February 10, 2003) */

       

/** ged is set to 1 if R received ged in rounds 1 through 5                                                

    NOTE:  e13300 is not available for R2--use CV (encat2) from R2                                                 **/

 

    if e28200r1=1 OR encat2=2 OR e13300r3=1 OR e13300r4=1 OR e13300=1

    OR e234501=9 OR e234502=9 OR e234503=9 OR e234504=9 OR e234505=9 OR e234506=9 then ged=1;

 

    if e28200r1 in (-1, -2, -3) OR encat2 in (-1, -2, -3) OR e13300r3 in (-1, -2, -3)

    OR e13300r4 in (-1, -2, -3) OR e13300 in (-1, -2, -3)

    OR e234501 in (-1, -2, -3) OR e234502 in (-1, -2, -3) OR e234503 in (-1, -2, -3)

    OR e234504 in (-1, -2, -3) OR e234505 in (-1, -2, -3) OR e234506 in (-1, -2, -3) then ged=-3;

 

    do I=1 to 17;

       if t7000a(I)=4 then do;

          ged=1;

          GED_TR=2;

       end;

       if ged=0 and t7000a(I) in (-1, -2, -3) then do;

          ged=-3;

          GED_TR=3;

       end;

    end;

    if GED_x=1 then ged=1; /* From the date of degree received program. (Added on February 10, 2003) */

   

/** HANDEDITS (1): added on March 31, 2003  **/

    if pubid=72 then do; ged=0; end;   

   

/** NOT ENROLLED                                                                                                   **/

 

 if (enroll=0) then do; /* BEGIN1 */

    /* Flag to indicate that R attended college (in a degree program) in a previous round */

    if encat4 in (4,5,6,7,9,10,11) and degsurv4 in (1,2) then SOMECOLL=1;

    if encat3 in (4,5,6,7,9,10,11) and degsurv3 in (1,2) then SOMECOLL=1;

    if encat2 in (4,5,6,7,9,10,11) and degsurv2 in (1,2) then SOMECOLL=1;

    if encat1 in (4,5,6,7,9,10,11) and degsurv1 in (1,2) then SOMECOLL=1;

      

    if ged le 0 and dip le 0 then ENCAT=1;/* No high school degree, no ged */

    if ged=1 then ENCAT=2;/* ged */

    if dip=1 then ENCAT=3;/* High school degree */

 

    /* Highest grade attended is at least 1 year of college

       R reports a college on the roster and indicates being enrolled in a college degree program

       (e27337<7 and e27337^=2) and R has hs diploma/ged.

       PLEASE NOTE:  Those who indicated attending a college and working toward a "vocational or technical

       certificate" (e27337=2) are coded as not having attended college (because these credits typically won't

       transfer for a BA or AA degree.                                                                         **/

 

    do I=1 to 6;

       if roscode(I) in (4,5) and e27337(I) in (-2,-3) then do;

          ENCAT=-3;

          reason=1;

       end;

       if dip=1 and roscode(I) in (4,5) and (e27337(I)>6 OR e27337(I)=2) and SOMECOLL=0 then do;

          ENCAT=3;

       end;

       if ged=1 and dip=0 and roscode(I) in (4,5) and (e27337(I)>6 OR e27337(I)=2) and 13<=e2857<=20 and

          SOMECOLL=0 then do;

          ENCAT=2;

       end;

       if ged=0 and dip=0 and roscode(I) in (4,5) and (e27337(I)<=6 and e27337(I) NE 2) and 13<=e2857<=20 then do;

          ENCAT=-3;

          reason=2;

       end;

    end;

/** Added on March 04, 2003:

    Changed the code from "(e27337(I)>6 OR e27337(I)=2)" to "(e27337(I)<=6 and e27337(I) NE 2)" **/

 

    /** If R attended any college (and was enrolled in a degree program), but is not currenly enrolled ENCAT=4

        since they attended some college.                                                                      **/

 

    prevrnd=0; 

    /* R attended some college in current round */

    do I=1 to 6;

       if roscode(I) in (4,5) and (1<=e27337(I)<=6 and e27337(I)^=2) and (13<=e2857<=20 OR e3112>=12) then

       ENCAT=4;

    end; 

 

    /* If R attended college in a prior round */

    if SOMECOLL=1 then ENCAT=4;

 

    /* Received junior college or 2 year associate degree (need to check each school) */

    if (e234501=1 OR e234502=1 OR e234503=1 OR e234504=1 OR e234505=1 OR e234506=1) then ENCAT=5;

 

    /* Received bachelor's degree (need to check each school) */

    if (e234501=3 OR e234502=3 OR e234503=3 OR e234504=3 OR e234505=3 OR e234506=3) then ENCAT=6;

 

    /* Received master's, doctoral or professional degree (need to check each school) */

    do I=1 to 6;

       if e23450(I) in (4,5,6) then ENCAT=7;

    end;

 

end; /* END1; The corresponding do is at BEGIN1 */

 

    flagvoc=0;  /* flag for Rs enrolled in "vocational/technical certificate program" */

    do I=1 to 6;

       if e27337(I)=2 then flagvoc=1;

    end;

   

    nodegree=0; /* flag for Rs enrolled in non-degree college programs */

 

/** ENROLLED                                                                                                   **/

if (enroll=1) then do; /* BEGIN2 */

    /* Missing values */

    do I=1 to 6;

       if roscode(I)=-2 then do;

          ENCAT=-3;

          reason=3;

       end;

    end;

    do I=1 to 6;

       if e27337(I)=-2 then do;

          ENCAT=-3;

          college=-3;

          flagcol=-3;

          reason=4;

        end;

    end;

 

    /* Highest grade attended as of today less than or equal to 12th grade and don't have a diploma/ged */

    if 1<=e2857<=12 and dip le 0 and ged le 0 then ENCAT=8;

 

    /** Use roster info on sch enrollment to identify type of school enrolled in

        2year/4year college should refer to the TYPE OF INSTITUTION (from roster info) not the TYPE OF DEGREE

        PROGRAM (since many attending 2-year schools report being in a 4-year degree program because that is

        their ultimate degree goal, thus the type of institution better reflects their current enrollment

        status)                                                                                                **/

 

    /** Those who completed high school (or a ged), but report being enrolled in a grade>12 and do not indentify

        a college on the school rosters are coded as -3 on ENCAT.                                              **/

    do I=1 to 6;

       if enroll=1 and (dip=1 OR ged=1) and e2857 ge 13 and e2857 lt 95 and roscode(I) in (1,2,3,6) then do;

          ENCAT=-3;

          reason=5;

       end;

    end;

 

    /** Those who completed high school (or a ged), but report being enrolled in a grade<=12 are coded as -3 on

        ENCAT.                                                                                                 **/

    do I=1 to 6;

       if enroll=1 and (dip=1 OR ged=1) and e2857<=12 then do;

          ENCAT=-3;

          reason=6;

       end;

    end;

 

    /** If enrolled in 2-year school, working toward a degree, and current grade is greater than high school then

        ENCAT=2 year college

        If R enrolled in a 2/4 year school (roscode in 4,5) and e27337=9 and R doesn't have a diploma then R is

        working toward a ged.                                                                                  **/

    do I=1 to 6;

       if dip=1 and roscode(I)=4 and e27337(I)=2 then do;

          ENCAT=3;

          nodegree=1;

       end;

       if ged=1 and roscode(I)=4 and e27337(I)=2 then do;

          ENCAT=2;

          nodegree=1;

       end;

       if ged=0 and dip=0 and roscode(I) in (4,5) and e27337(I)=9 then ENCAT=8;

       if ((roscode(I)=4 and e27337(I) in (1,3,4,5,6)) and e2857 ge 13 and e2857 lt 95) then ENCAT=9;

    end;

 

    /** If enrolled in 4-year school, working toward a degree and current grade is greater than high school then

        ENCAT=4 year college.                                                                                  **/

 

    do I=1 to 4;

       if dip=1 and roscode(I)=5 and e27337(I)=2 then do;

          ENCAT=3;

          nodegree=1;

       end;

       if ged=1 and roscode(I)=5 and e27337(I)=2 then do;

          ENCAT=2;

          nodegree=1;

       end;

       if ((roscode(I)=5 and e27337(I) in (1,3,4,5,6)) and e2857 ge 13 and e2857 lt 95) then ENCAT=10;

    end;

 

    /** Rs who have obtained a BA, are still enrolled in a post-secondary institution, and report working toward

        a graduate or professional degree should be coded as enrolled in a graduate program (this code is based

        on degree program, not type of institution--again, there is a reporting problem here, with some whose

        ultimate degree goal is a post-baccalaureate degree indicating that they are currently working toward the

        higher degree, even though they have not yet completed a BA/BS.                                        **/

 

    /** Enrolled in a university, working towards a graduate degree and current grade is greater than or equal to

        4th year college.                                                                                      **/

    do I=1 to 4;  

       if roscode(I)=5 and (4<=e27337(I)<=6) and e2857 ge 16 and e2857 lt 95 then ENCAT=11;

    end;

 

end; /* END2; The corresponding do is at BEGIN2 */

 

/** The following is for respondents who are enrolled, have no evidence of a high school diploma, yet

    reported that highest grade attended was 1st year of college since there is no evidence these people have

    a diploma and have not attended a new school, they will be placed under enrolled in grades 1-12.           **/

 

flagged=0;

if enroll=1 and e2857=13 and dip=0 and ged=0 then ENCAT=8;

   do I=1 to 6;

      if enroll=1 and roscode(I) in (4,5) and e2857>=13 and dip=0 and ged=0 and e27337(I) in (7,8) then do;

         ENCAT=8;

         flagged=1;

         nodegree=1;

      end;

   end;

 

   /** The following is for respondents who have a high school diploma, a valid date for the diploma, have not

       enrolled in a new school since dli, and report the highest grade completed being 12.

       They have been categorized as not enrolled with a high school diploma (ENCAT=3) despite the fact that

       these respondents claim to be continuously enrolled since dli.

       Since there is no evidence of college from the respondent, they have been grouped as not enrolled.      **/

   

   if e11700=1 and e11900M>0 and e11900Y>0 and e4951=0 and e3112=12 then ENCAT=3;

 

   /** The following is for respondents who report the highest grade attended as ungraded (YSCH-2857=95), show

       no evidence of a high school diploma, were skipped out of the homeschool question, and are enrolled.

       Again, since there is no evidence of a high school diploma, they are regarded as enrolled between grades

       1 and 12.                                                                                               **/

 

   if e2857=95 and dip=0 and ged=0 and enroll=1 then ENCAT=8;

 

   /** The following is for Rs who received a hs diploma, provide a valid date for diploma receipt, yet also

       report current enrollment in a high school.  Because these Rs have obtained a diploma, they are

       characterized as 3, not enrolled, a high school degree, no ged.                                         **/

 

   /* If r reports being enrolled and already has a diploma */

   flagende=0;

   do I=1 to 6;

      if enroll=1 and e11700=1 and e11900M>0 and e11900Y>0 and e3112=12 and roscode(I)=3 then do;

         ENCAT=3;

         flagende=1;

      end;

   end;

 

   /** Flag individuals who are enrolled in grades 1 to 12 and are enrolled in 2 or 4 year colleges (could be

       getting credits towards ged). For created enrollment status variable above, the flagged individuals will

       fall into category 8.                                                                                   **/

 

   if enroll=1 then do;

      if 1<=e2857<=12 and dip=0 and ged=0 then hs=1;

      do I=1 to 6;

         if e27337(I)=1 OR e27337(I)=3 then college=1;

      end;

   end;

   if hs=1 and college=1 then do;

      flagcol=1;

      ENCAT=8;

   end;

 

   /** Those who completed high school, report being enrolled in college, but are in a non-degree program are

       coded as not enrolled, a high school degree (3).  If they previously attended a college in a degree

       program they are coded as not enrolled, some college (4).

       Those whose most recent enrollment is in a degree program are coded as enrolled in a 2year (ENCAT=9) or

       4year (ENCAT=10) school.                                                                                **/

 

   /* Flag to indicate that R attended college (in a degree program) in a previous round (who did not correct

      HGA as of last int. (e2806) to indicate that HGA <13 */

      if encat4 in (4,5,6,7,9,10,11) and ((e2806 in (-4,-5)) OR (e2806>=13)) then SOMECOLL=1;

      if encat3 in (4,5,6,7,9,10,11) and ((e2806 in (-4,-5)) OR (e2806>=13)) then SOMECOLL=1;

      if encat2 in (4,5,6,7,9,10,11) and ((e2806 in (-4,-5)) OR (e2806>=13)) then SOMECOLL=1;

      if encat1 in (4,5,6,7,9,10,11) and degsurv1 in (1,2) then SOMECOLL=1;

     

      do I=1 to 6;

         if enroll=1 and roscode(I) in (4,5) and e27337(I) in (1,3,4,5,6) then SOMECOLL=1;

         if enroll=1 and dip=1 and roscode(I) in (4,5) and e27337(I) in (2,7,8) and SOMECOLL=0 then do;

            ENCAT=3;

            nodegree=1;

         end;

         if enroll=1 and ged=1 and roscode(I) in (4,5) and e27337(I) in (2,7,8) and SOMECOLL=0 then do;

            ENCAT=2;

            nodegree=1;

         end;

         if enroll=1 and roscode(I) in (4,5) and e27337(I) in (2,7,8) and SOMECOLL=1 then ENCAT=4;

         if enroll=1 and roscode(I) in (4,5) and e27337(I) in (2,7,8) and SOMECOLL=1 then ENCAT=4;

         if enroll=1 and roscode(I)=4 and e27337(I) in (1,3,4,5,6) then ENCAT=9;

         if enroll=1 and roscode(I)=5 and e27337(I) in (1,3,4,5,6) then ENCAT=10;

      end;

 

check=0;

if e4795=1 and ENCAT in (1,2,3,4,5,6,7) and flagende=0 and nodegree=0 then check=1;

 

/** Rs who report continuous enrollment in a DLI school, who subsequently report an additional school

    (typically the first school is a 4 year college and R is working toward a BA and the second school is a

    2/4 year college R attends in the summer in a non-degree program. This code overwrites code above that

    erroneously replaces the continuous enrollment information with the more recently reported non-degree

    school.

    A report of continuous enrollment in high school is overwritten with college enrollment if R reports

    earning a diploma or ged--Continuous enrollment in a high school is overwritten with ENCAT in (2,3)

    depending on degree reported.

    Must fix "enroll" flag because this flag is used in the grades skipped/repeated program

 

    NOTE:  if roscode1=2 and roscode2, roscode3, roscode4, roscode5 in (4,5) then the case must be hand edited

    to ensure accuracy--CHECK FOR ROUND 5.                                                                     **/

 

/** FUTURE CODE SHOULD BE ADDED to ENSURE THAT HIGHER DEGREE PROGRAMS (MA and above)

    ARE BEING TREATED PROPERLY in THIS SECTION **/

 

    if e4795=1 and roscode1=4 and e273371 in (1,3,4,5,6) then do;

       ENCAT=9;

       enroll=1;

    end;

    if e4795=1 and roscode1=5 and e273371 in (1,3,4,5,6) then do;

       ENCAT=10;

       enroll=1;

    end;

    if e4795=1 and roscode1 in (2,3) and dip=0 and ged=0 then do;

       ENCAT=8;

       enroll=1;

    end;

    if e4795=1 and roscode1=2 and roscode2=3 and dip=0 and ged=0 then do;

       ENCAT=8;

       enroll=1;

    end;

 

    do I=2 to 6;

       if e4795=1 and roscode1=3  and roscode(I)=4 and e27337(I) in (1,3,4,5,6) then do;

          ENCAT=9;

          enroll=1;

        end;

        if e4795=1 and roscode1=3 and roscode(I)=5 and e27337(I) in (1,3,4,5,6) then do;

           ENCAT=10;

           enroll=1;

        end;

        if e4795=1 and roscode1=3 and roscode(I) in (-4,1,2,3) then do;

            if dip=1 then ENCAT=3;

            if ged=1 then ENCAT=2;

        end;

    end;

 

    flagndeg=0;

 

    do I=1 to 6;

       if e27337(I) in (2,7,8) then flagndeg=1;

    end;

 

/** HANDEDIT (2): The program does not incorporate the degree received aspect for those Rs who received the degree in

                  the same month as the interview and so the ENCAT is not correct. **/

    if pubid=94 OR pubid=3695 OR pubid=4083 OR pubid=4769 then do;

       ENCAT=5;

       enroll=0;

       PROB_SEAM=1;

    end;

        

/** HANDEDIT (3): The program does not incorporate the degree received information from last round when computing

               ENCAT and so the ENCAT is not correct. **/

    if pubid=2370 OR pubid=3979 OR pubid=266 OR pubid=997 OR pubid=6369 OR pubid=5189 then do;

       ENCAT=5;

       PROB_previnfo=1;

    end;

 

/** HANDEDIT (4): Some Rs reported being in some post high school program but corrobarating evidence showed they were

                  either still in high school or pursuing a program to obtain a GED. So the ENCAT is not correct.**/

    if pubid=438 OR pubid=440 OR pubid=1883 OR pubid=4553 OR pubid=4593 OR pubid=5452

    OR pubid=5983 OR pubid=8309 OR pubid=2380 OR pubid=2573 OR pubid=4372 OR pubid=5015 then do;

       ENCAT=8;

    end;

                 

/** HANDEDIT (5): Miscellaneous cases. **/

    if pubid=6000 then do;

       ENCAT=5;

    end;

    if pubid=1404 OR pubid=6407 then do;

       ENCAT=-3;

    end;

 

/***** CREATED VARIABLE - HIGHEST GRADE COMPLETED AS OF THE SURVEY DATE (GRSURV) ****/

 

/** Create four arrays:

    the first array includes items that ask if R has completed for which at least one R answered positively,

    the second and third arrays list all of the questions giving the month and year of completion, and

    the fourth array lists the questions indicating the grades that the R may or may not have completed

  

    ROSCODE and e27337 arrays are also employed to ensure consistency between ENCAT and grsurv variables

    --if R reports attending a grade that is > 12 but doesn't report being enrolled in a degree program at a college

    or university, they are coded as having completed 12th grade                                               **/

 

array logic  e913111  e913112  e913121  e913131  e913141 e913151

             e9946111 e9946112 e9946113 e9946114 e9946121 e9946122

             e9946211 e9946212 e9946213 e9946311 e9946411 e9946412;

 

array cyear  e933511Y e933512Y e933521Y e933531Y e933541Y e933551Y

             e199111Y e199112Y e199113Y e199114Y e199121Y e199122Y

             e199211Y e199212Y e199213Y e199311Y e199411Y e199412Y;

 

array cmonth e933511M e933512M e933521M e933531M e933541M e933551M

             e199111M e199112M e199113M e199114M e199121M e199122M

             e199211M e199212M e199213M e199311M e199411M e199412M;

 

array grade  e841611  e841612  e841621  e841631  e841641  e841651

             e9589111 e9589112 e9589113 e9589114 e9589121 e9589122

             e9589211 e9589212 e9589213 e9589311 e9589411 e9589412;

 

array e23450  e234501  e234502  e234503  e234504  e234505  e234506;

array e27337  e273371  e273372  e273373  e273374  e273375  e273376;

array roscode roscode1 roscode2 roscode3 roscode4 roscode5 roscode6;

 

/** HANDEDIT (6): Incorporating some corrected information from the comments. **/

    if pubid=2757 then do; e199111m=6; FLAG_comm=1; end;

    if pubid=8737 then do; e199211m=6; e199211y=2000; FLAG_comm=1; end;

    if pubid=6628 then do; e9946111=0; e199111m=-4; e199111y=-4; FLAG_comm=1; end;

    if pubid=8201 then do; e933511m=5; FLAG_comm=1; end;

   

maxgrade=-16;

compmon=-16;

compyr=-16;

everloop=0;

badgrade=0;

 

assign='unassigned';

 

do I=1 to 18;

   if grade(I) ge 0 and grade(I) gt maxgrade then do; /* Select cases where there is a valid grade and it is greater

                                                         than the previously recorded grade */

       if logic(I)=1 then do;

           assign='from loop';

           maxgrade=grade(I);

           compmon=cmonth(I);

           compyr=cyear(I);

           if cyear(I) lt 2001 OR (cyear(I) eq 2001 and cmonth(I) le 6) then do;

              grjune=grade(I);

              cjumon=cmonth(I);

              cjuyr=cyear(I);

           end;

       end;

       else if logic(I) in (-1,-2,-3) then do;

         maxgrade=logic(I);

         assign='logic missing  ';

       end;

   end;

   if grade(I) in (0,-1, -2, -3,-4) and logic(I) gt -4 then do;

      maxgrade=-55;

      assign='grade invalid  ';

   end;

   if logic(I) gt -4 then everloop=1; /* Flag all observations that go through a grade loop at least once */

end;

 

hgaloop=e841611; /* Create variable indicating highest grade attended from loops */

 

do I=2 to 18;

   if grade(I) gt hgaloop then do;

      hgaloop=grade(I); </