SAS User File for H108 Data This file contains information and sample SAS programs to create a permanent SAS dataset for users who want to use SAS in processing the MEPS data provided in this PUF release. There are two ways to create a permanent SAS dataset, using either the SAS transport data file (H108.SSP) or the ASCII data file (H108.DAT) supplied in this PUF release. Section A provides a sample SAS program for the first alternative, which is to convert the SAS transport data file to a regular SAS dataset using the SAS PROCedure: XCOPY. Section B provides a sample SAS program for the second alternative, which is to read data from the ASCII data file using a SAS DATA step with INFILE, INPUT, and LABEL statements. Section C explains format-related SAS statements that a user may optionally use when working with the SAS dataset. Examples of SAS programs (DATA step or PROC) are provided in all three sections, primarily for the benefit of inexperienced users. Section D contains complete SAS statements that must be used in the programs described in Sections B and C. INCLUDED BELOW ARE NOTES APPLICABLE TO USERS OF SAS VERSION 8 OR HIGHER. ****************************************************************************** The sample SAS programs provided in Sections A and B show how to create a permanent SAS dataset from the data files provided in this PUF release. A. A Sample SAS Program for Converting the SAS Transport File to a Permanent SAS Dataset The SAS PROCedure XCOPY will read a SAS transport file and convert the data to regular SAS format, storing the output in a permanent SAS dataset. This permanent SAS dataset can then be used for all future processing and analyses. Below is a sample SAS program that can be used to convert the SAS transport file to a permanent SAS dataset (in a Windows environment, with SAS V8 or higher). LIBNAME PUFLIB 'C:\MEPS\SASDATA'; FILENAME IN1 'C:\MEPS\DOWNLOAD\H108.SSP'; PROC XCOPY IN=IN1 OUT=PUFLIB IMPORT; RUN; SAS transport files, SAS data files, and SAS program files each should be stored in separate locations (directory names). Storing different types of SAS files in one location can cause errors with converting or retrieving data. Below are SAS statements to print a list of variables and a few sample records from the permanent SAS dataset: PROC CONTENTS DATA=PUFLIB.H108; TITLE 'List of Variables in MEPS H108 SAS Dataset'; RUN; PROC PRINT DATA=PUFLIB.H108 (OBS=20); TITLE 'First 20 Observations in MEPS H108 SAS Dataset'; RUN; The LIBNAME statement tells SAS the location (directory name) to store the permanent SAS dataset which is output by PROC XCOPY. The FILENAME statement tells SAS the location (complete directory and file name) of the input SAS transport data file. NOTES: 1) If you have an error reading a SAS data file you created, the problem may be a result of where you are storing and/or how you are retrieving the data. First check the data library for multiple releases of SAS files (e.g., V8 or higher with file extensions of '.SAS7BDAT' and V6 with file extensions of '.SD2') stored in the same location. a) You can avoid errors when reading these files by including the SAS release within the LIBNAME statement - e.g., LIBNAME PUFLIB V8 'C:\MEPS\SASDATA'; or b) Store SAS data files with different file extensions such as .SD2 and .SAS7BDAT, in separate folders (do not co-mingle V8 and V6 files in the same folder); or c) When importing transport files, output the SAS dataset to a different library than the one which contains the downloaded SAS transport file - e.g., LIBNAME PUFLIB 'C:\MEPS\SASDATA'; FILENAME IN1 'C:\MEPS\DOWNLOAD\Hxx.SSP'; PROC XCOPY IN=IN1 OUT=PUBLIB IMPORT; RUN; 2) The names used in the LIBNAME and FILENAME statements shown above (i.e., PUFLIB, IN1) are arbitrary; they are only temporary aliases. 3) The directory and file names used in the LIBNAME and FILENAME statements shown above are Windows syntax and may need to be modified for other operating systems such as UNIX, MAC/OS, VMS, or OS/2. 4) H108 is the internal SAS dataset name (also the PC file name, without the extension) prior to the creation of the SAS transport data file. After running PROC XCOPY, the output SAS dataset assumes the same dataset name (or file name). Hence, in the example above, a file named H108.SAS7BDAT will be created under the C:\MEPS\SASDATA directory when PROC XCOPY runs successfully. 5) The SAS transport file H108.SSP was created from a SAS V9 data file, using PROC COPY. This file has been tested for use with SAS V8 or higher. This file may work with earlier versions of SAS, although it has not been tested with those versions. Users who are unable to use this SAS transport file should instead convert the ASCII data file H108.DAT to a SAS dataset as described in Section B. B. A Sample SAS Program for Converting the ASCII Data File to a Permanent SAS Dataset The complete SAS statements (INPUT and LABEL) included in Section D are intended to save time for those users wishing to create a permanent SAS dataset from the H108.DAT ASCII data file. These statements must be used in combination with other SAS statements to create the appropriate SAS program, as shown below. To use the statements provided in Section D to create a SAS program, you will need an ASCII text editor. If you are using an interactive form of SAS (Windows, UNIX, OS2, etc.), use the editor provided as part of the SAS software. Following is a sample SAS program that will convert the ASCII data file to SAS format: LIBNAME PUFLIB 'C:\MEPS\SASDATA'; FILENAME IN1 'C:\MEPS\DOWNLOAD\H108.DAT'; DATA PUFLIB.H108; INFILE IN1 LRECL=255; INPUT .....; * to user: insert the complete INPUT statement that is provided in Section D; LABEL .....; * to user: insert the complete LABEL statement that is provided in Section D; RUN; Here is an explanation of the SAS statements used in the program above. LIBNAME statement: This tells SAS the location (directory name) of the permanent SAS dataset. FILENAME statement: This tells SAS the location of the input ASCII data file. DATA statement: This signifies the beginning of a SAS DATA step and specifies the output SAS dataset, referencing the LIBNAME entry (PUFLIB) and assigning an internal SAS dataset name (H108). In the example, after the successful completion of the DATA step, a PC file named H108.SAS7BDAT would have been created in the C:\MEPS\SASDATA directory. INFILE statement: This tells SAS the location (directory and file name) of the input ASCII data file. Also provided is the logical record length (255 bytes), with the default of RECFM=V implied when this parameter is omitted. LRECL and RECFM are optional parameters in the INFILE statement. With regard to these options, please note the following: the ASCII data file H108.DAT contains a 2-byte carriage return/line feed at the end of each record. When converting to a PC-SAS file, the LRECL option should be used to specify the record length to avoid use of a default record length by PC-SAS. If the RECFM=V option is used, the LRECL option must be specified as the logical record length (e.g., 255 for H108.DAT). If RECFM=F is used, then the LRECL value must be specified as the logical record length plus 2 (257 for H108.DAT). Note that if the RECFM option is omitted, then the default option of RECFM=V is automatically used, and LRECL should be specified as the logical record (255 for H108.DAT). INPUT statement: This specifies the input record layout, giving names and the beginning and ending column positions for data items (which become SAS variables) in the ASCII data file (H108.DAT). Variable type (numeric or character) is also defined via the INPUT statement. LABEL statement: This associates descriptive names with the SAS variables. RUN statement: This tells SAS to execute all commands up to this point. See Section A.1 above for tips on retrieving and storing the permanent SAS data files. C. Optional Format-related SAS Statements If a user wants to use formats for the SAS variables, a SAS format library must first be created. Below is a SAS program that will accomplish this: LIBNAME PUFLIB 'C:\MEPS\SASDATA'; PROC FORMAT LIBRARY=PUFLIB; VALUE .....; * to user: insert the complete set of VALUE statements found in Section D; VALUE .....; .......... ; RUN; Below is an example of how to use the SAS formats defined by the PROC FORMAT procedure: LIBNAME PUFLIB 'C:\MEPS\SASDATA'; OPTIONS FMTSEARCH=(PUFLIB); PROC FREQ DATA=PUFLIB.H108; TABLES .... / LIST MISSING; FORMAT varnam1 fmtnam1. Varnam2 fmtnam2. .... ; * to user: substitute varnam1 and fmtnam1 with actual variable names and format names; * Insert the FORMAT statement provided in Section D, if you are using all the variables in the TABLES statement; TITLE 'Frequency Distributions ....'; RUN; Here is an explanation of the SAS statements used above. LIBNAME statement: This tells SAS the location (directory name) of the SAS format library. Please note that SAS datasets (file name extension is 'SAS7BDAT' for SAS V8 or higher and 'SD2' for SAS V6) and format libraries (file name extension is 'SAS7BCAT' for SAS V8 or higher and 'SC2' for SAS V6) can be stored under the same directory. OPTIONS FMTSEARCH=...: This specifies the SAS format library. PROC FORMAT statement: This identifies the SAS procedure that will make SAS formats according to VALUE statements. Formats will be stored in a file named FORMATS.SAS7BCAT. Please note that the option 'LIBRARY=...' can be omitted if the user does not want to create a permanent SAS format library. When simply 'PROC FORMAT;' is used, the formats are defined only for the duration of the batch SAS program or an interactive SAS session. VALUE statement: This gives a) names to formats; and b) descriptive labels for individual values, or range of values. The format names can then be invoked using a FORMAT statement if desired. PROC FREQ statement: This identifies the SAS procedure that generates frequency distributions of variables specified in the TABLES statement, formatted if a FORMAT statement is used. The input SAS dataset is specified in the 'DATA=' option. FORMAT statement: This associates existing formats with variables. When using this statement, the formats must have already been created with a PROC FORMAT procedure. RUN statement: This tells SAS to execute all commands up to this point. NOTES: 1) Use of formats is entirely optional, and depends on the types of analyses that you are doing. It is recommended that you create and use them as appropriate. 2) The names used in the LIBNAME and FILENAME statements shown above (i.e., PUFLIB, IN1) are arbitrary; they are only temporary aliases. 3) You only create the permanent SAS dataset once. Additional analyses can be run using this permanent dataset. 4) The file and directory specifications in the LIBNAME and FILENAME statements are Windows syntax and may need to be modified for other operating systems such as UNIX, MAC/OS, VMS, or OS/2. D. SAS Statements This section contains SAS INPUT, LABEL, FORMAT, and VALUE statements for use in converting the ASCII H108.DAT file into a SAS dataset, and for creating SAS formats. * INPUT STATEMENTS; INFILE IN LRECL=255; INPUT @1 JOBSIDX $11.0 @12 DUPERSID $8.0 @20 DUID 5.0 @25 PID 3.0 @28 RN 1.0 @29 JOBSN 1.0 @30 PANEL 2.0 @32 JOBTYPE 2.0 @34 JSTRTM 2.0 @36 JSTRTD 2.0 @38 JSTRTY 4.0 @42 JSTOPM 2.0 @44 JSTOPD 2.0 @46 JSTOPY 4.0 @50 RETIRJOB 1.0 @51 SUBTYPE 1.0 @52 MAIN_JOB 2.0 @54 DIFFWAGE 2.0 @56 WHY_DIFF 2.0 @58 WORKSTAT 2.0 @60 Y_CHANGE 2.0 @62 STILLWRK 2.0 @64 OFFTAKEI 2.0 @66 NOWTAKEI 2.0 @68 ELIGINSR 2.0 @70 ANYINS 2.0 @72 WHY_LEFT 2.0 @74 NUMEMPS 5.0 @79 ESTMATE1 2.0 @81 MORELOC 2.0 @83 BUSINC 2.0 @85 PROPRIET 2.0 @87 TYPEEMPL 2.0 @89 YLEFT 2.0 @91 YNOBUSN 2.0 @93 RECALL 2.0 @95 HRSPRWK 3.0 @98 HRS35WK 2.0 @100 APXHRDAY 2.0 @102 SICKPAY 2.0 @104 PAYDRVST 2.0 @106 PAYVACTN 2.0 @108 RETIRPLN 2.0 @110 WKLYAMT 7.2 @117 EMPLINS 2.0 @119 OFFRDINS 2.0 @121 DIFFPLNS 2.0 @123 INUNION 2.0 @125 PROVDINS 2.0 @127 HHMEMBER 2.0 @129 NUMFMEMB 2.0 @131 TOTLEMP 4.0 @135 SALARIED 2.0 @137 HOWPAID 2.0 @139 DAYWAGE 6.2 @145 HRSPRDY 2.0 @147 MAKEAMT 9.2 @156 PERUNIT 2.0 @158 MORE10 2.0 @160 MORE15 2.0 @162 MOREMINM 2.0 @164 OVRTIMHR 6.2 @170 GROSSPAY 9.2 @179 GROSSPER 2.0 @181 SALRYWKS 2.0 @183 OTHRTYPE 2.0 @185 EARNTIPS 2.0 @187 EARNBONS 2.0 @189 EARNCOMM 2.0 @191 OTHRWAGE 6.2 @197 TIPSUNIT 2.0 @199 TIPSAMT 8.2 @207 BONSUNIT 2.0 @209 BONSAMT 9.2 @218 COMMUNIT 2.0 @220 COMMAMT 9.2 @229 HRLYWAGE 6.2 @235 JOBHASHI 2.0 @237 STILLAT 2.0 @239 ESTBTHRU 2.0 @241 SESNLJOB 2.0 @243 TEMPJOB 2.0 @245 INSESTB 2.0 @247 NELIGINS 2.0 @249 HRSALBAS 3.0 @252 INDCODEX 2.0 @254 OCCCODEX 2.0 ; * FORMAT STATEMENTS; FORMAT JOBSIDX $JOBSIDX. DUPERSID $DUPERSI. DUID DUID. PID PID. RN RN. JOBSN JOBSN. PANEL PANEL. JOBTYPE JOBTYPE. JSTRTM JSTRTM. JSTRTD JSTRTD. JSTRTY JSTRTY. JSTOPM JSTOPM. JSTOPD JSTOPD. JSTOPY JSTOPY. RETIRJOB RETIRJOB. SUBTYPE SUBTYPE. MAIN_JOB MAIN_JOB. DIFFWAGE DIFFWAGE. WHY_DIFF WHY_DIFF. WORKSTAT WORKSTAT. Y_CHANGE Y_CHANGE. STILLWRK STILLWRK. OFFTAKEI OFFTAKEI. NOWTAKEI NOWTAKEI. ELIGINSR ELIGINSR. ANYINS ANYINS. WHY_LEFT WHY_LEFT. NUMEMPS NUMEMPS. ESTMATE1 ESTMAT1F. MORELOC MORELOC. BUSINC BUSINC. PROPRIET PROPRIET. TYPEEMPL TYPEEMPL. YLEFT YLEFT. YNOBUSN YNOBUSN. RECALL RECALL. HRSPRWK HRSPRWK. HRS35WK HRS35WK. APXHRDAY APXHRDAY. SICKPAY SICKPAY. PAYDRVST PAYDRVST. PAYVACTN PAYVACTN. RETIRPLN RETIRPLN. WKLYAMT WKLYAMT. EMPLINS EMPLINS. OFFRDINS OFFRDINS. DIFFPLNS DIFFPLNS. INUNION INUNION. PROVDINS PROVDINS. HHMEMBER HHMEMBER. NUMFMEMB NUMFMEMB. TOTLEMP TOTLEMP. SALARIED SALARIED. HOWPAID HOWPAID. DAYWAGE DAYWAGE. HRSPRDY HRSPRDY. MAKEAMT MAKEAMT. PERUNIT PERUNIT. MORE10 MORE10F. MORE15 MORE15F. MOREMINM MOREMINM. OVRTIMHR OVRTIMHR. GROSSPAY GROSSPAY. GROSSPER GROSSPER. SALRYWKS SALRYWKS. OTHRTYPE OTHRTYPE. EARNTIPS EARNTIPS. EARNBONS EARNBONS. EARNCOMM EARNCOMM. OTHRWAGE OTHRWAGE. TIPSUNIT TIPSUNIT. TIPSAMT TIPSAMT. BONSUNIT BONSUNIT. BONSAMT BONSAMT. COMMUNIT COMMUNIT. COMMAMT COMMAMT. HRLYWAGE HRLYWAGE. JOBHASHI JOBHASHI. STILLAT STILLAT. ESTBTHRU ESTBTHRU. SESNLJOB SESNLJOB. TEMPJOB TEMPJOB. INSESTB INSESTB. NELIGINS NELIGINS. HRSALBAS HRSALBAS. INDCODEX INDCODEX. OCCCODEX OCCCODEX. ; * LABEL STATEMENTS; LABEL JOBSIDX ='JOB ID NUMBER' DUPERSID='SAMPLE PERSON ID (DUID + PID)' DUID ='DWELLING UNIT ID' PID ='PERSON NUMBER' RN ='ROUND' JOBSN ='JOB NUMBER' PANEL ='PANEL' JOBTYPE ='SELF-EMPLOYED OR WORK FOR SOMEONE ELSE' JSTRTM ='JOB START DATE - MONTH' JSTRTD ='JOB START DATE - DAY' JSTRTY ='JOB START DATE - YEAR' JSTOPM ='JOB STOP DATE - MONTH' JSTOPD ='JOB STOP DATE - DAY' JSTOPY ='JOB STOP DATE - YEAR' RETIRJOB='PERSON RETIRED FROM THIS JOB' SUBTYPE ='JOB SUB-TYPE' MAIN_JOB='STILL MAIN JOB OR BUSINESS' DIFFWAGE='ANY CHANGE IN WAGE AMOUNT' WHY_DIFF='WHY WAGES CHANGED' WORKSTAT='FULL OR PART TIME' Y_CHANGE='WHY CHANGE IN FULL/PART TIME STATUS' STILLWRK='STILL WORK AT ESTABLISHMENT/MISC JOB' OFFTAKEI='OFFERED INSURANCE AND NOW TAKE' NOWTAKEI='NOW OFFERED AND TAKE INSURANCE' ELIGINSR='REASON NOT ELIGIBLE FOR INSURANCE' ANYINS ='IS INSURANCE OFFERED TO ANY EMPLOYEES?' WHY_LEFT='REASON WHY NOT AT JOB NOW' NUMEMPS ='ESTABLISHMENT SIZE-NONSELF-EMPLOYED JOB' ESTMATE1='CATEGORICAL APPROX. ESTAB SIZE' MORELOC ='MORE THAN ONE LOCATION' BUSINC ='BUSINESS INCORPORATED' PROPRIET='PROPRIETORSHIP OR PARTNERSHIP' TYPEEMPL='EMPLOYEE TYPE' YLEFT ='NO JOB REASON' YNOBUSN ='WHY NO BUSINESS' RECALL ='RECALL WITHIN 30 DAYS' HRSPRWK ='NUMBER OF HOURS WORKED PER WEEK' HRS35WK ='WORK AT LEAST 35 HOURS PER WEEK' APXHRDAY='APPROXIMATE # OF HOURS WORKED PER DAY' SICKPAY ='DOES PERSON HAVE PAID SICK LEAVE' PAYDRVST='IS THERE PAID SICK LEAVE FOR DR S VISITS' PAYVACTN='DOES PERSON GET PAID VACATION' RETIRPLN='DOES PERSON HAVE PENSION/RETIREMENT PLAN' WKLYAMT ='USUAL WEEKLY GROSS INCOME' EMPLINS ='HAVE HEALTH INSURANCE THRU THIS JOB' OFFRDINS='OFFERED INSURANCE BUT CHOSE NOT TO TAKE' DIFFPLNS='CHOICE OF DIFFERENT HEALTH INS PLANS' INUNION ='BELONG TO LABOR UNION' PROVDINS='WHO PROVIDES HEALTH INSURANCE' HHMEMBER='ANY OTHER HH MEMBER WRK AT THIS BUSINESS' NUMFMEMB='HOW MANY HH MEMBERS WORK THERE' TOTLEMP ='ESTABLISHMENT SIZE-SELF-EMPLOYED JOB' SALARIED='IS PERSON SALARIED, PAID BY THE HR, ETC.' HOWPAID ='HOW IS PERSON PAID' DAYWAGE ='PERSON S DAILY WAGE RATE' HRSPRDY ='NUMBER OF HOURS PERSON WORKED IN ONE DAY' MAKEAMT ='HOW MUCH MONEY DOES PERSON MAKE' PERUNIT ='PERIOD FOR WHICH PERSON IS PAID' MORE10 ='PERSON MAKES MORE OR LESS THAN $10/HOUR' MORE15 ='PERSON MAKES MORE OR LESS THAN $15/HOUR' MOREMINM='PERSON MAKES MORE OR LESS THAN MIN. WAGE' OVRTIMHR='OVERTIME PAY RATE PER HOUR' GROSSPAY='PERSON S SALARY BEFORE TAXES (GROSS)' GROSSPER='PERIOD IN WHICH GROSS SALARY WAS EARNED' SALRYWKS='NUMBER OF WEEKS PER YEAR SALARY IS BASED' OTHRTYPE='TYPE OF OVERTIME PAY' EARNTIPS='DOES PERSON EARN TIPS' EARNBONS='DOES PERSON EARN BONUSES' EARNCOMM='DOES PERSON EARN COMMISSION' OTHRWAGE='OVERTIME PAY RATE PER HOUR' TIPSUNIT='PERIOD WHICH TIP EARNINGS ARE BASED ON' TIPSAMT ='HOW MUCH ARE PERSON S TIPS' BONSUNIT='PERIOD WHICH BONUSES ARE BASED ON' BONSAMT ='HOW MUCH ARE PERSON S BONUSES' COMMUNIT='PERIOD WHICH COMMISSIONS ARE BASED ON' COMMAMT ='HOW MUCH ARE PERSON S COMMISSIONS' HRLYWAGE='HOW MUCH PERSON MAKES PER HOUR' JOBHASHI='DOES PERSON HAVE HEALTH INS AT THIS JOB' STILLAT ='STILL WORK AT ESTABLISHMENT/MAIN JOB' ESTBTHRU='OFFERED INSURANCE, DID NOT TAKE (REVIEW)' SESNLJOB='IS JOB SEASONAL?' TEMPJOB ='IS JOB TEMPORARY?' INSESTB ='INSUR OFFERED ANY EMPLOYEES (REVIEW)?' NELIGINS='REASON NOT ELIGIBLE FOR INSUR (REVIEW)' HRSALBAS='HOURS SALARY BASED ON' INDCODEX='CONDENSED INDUSTRY CODE' OCCCODEX='CONDENSED OCCUPATION CODE' ; * VALUE STATEMENTS; VALUE ANYINS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE APXHRDAY -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 3 - 20 = '3 - 20 HRS/DAY' ; VALUE BONSAMT -10 = '-10 HOURLY WAGE >= $70.91' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 0.03 - 110000 = '$0.03 - $110,000.00' ; VALUE BONSUNIT -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 PER HOUR' 2 = '2 PER DAY' 3 = '3 PER WEEK' 4 = '4 PER TWO WKS' 5 = '5 PER MONTH' 6 = '6 PER YEAR' 91 = '91 OTHER' ; VALUE BUSINC -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE COMMAMT -10 = '-10 HOURLY WAGE >= $70.91' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 0.01 - 125000 = '$0.01 - $125,000.00' ; VALUE COMMUNIT -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 PER HOUR' 2 = '2 PER DAY' 3 = '3 PER WEEK' 4 = '4 PER TWO WKS' 5 = '5 PER MONTH' 6 = '6 PER YEAR' 91 = '91 OTHER' ; VALUE DAYWAGE -10 = '-10 HOURLY WAGE >= $70.91' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 10 - 300 = '$10.00 - $300.00' ; VALUE DIFFPLNS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES, GT ONE' 2 = '2 NO, ONLY ONE' ; VALUE DIFFWAGE -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE DUID 60001 - 77294 = 'VALID ID' ; VALUE $DUPERSI '60001012' - '77294102' = 'VALID ID' ; VALUE EARNBONS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE EARNCOMM -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE EARNTIPS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE ELIGINSR -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = "1 HASN'T WORKED LONG ENOUGH" 2 = "2 DOESN'T WORK ENOUGH HOURS" 3 = '3 ON CALL' 4 = '4 MEDICAL PROBLEM' 91 = '91 OTHER' ; VALUE EMPLINS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE ESTBTHRU -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE ESTMAT1F -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 1 - 9' 2 = '2 10 - 25' 3 = '3 26 - 49' 4 = '4 50 - 100' 5 = '5 101 - 500' 6 = '6 501 - 1000' 7 = '7 1001 - 5000' 8 = '8 5001 OR MORE' ; VALUE GROSSPAY -10 = '-10 HOURLY WAGE >= $70.91' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 2.15 - 175000 = '$2.15 - $175,000.00' ; VALUE GROSSPER -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 PER YEAR' 2 = '2 PER MONTH' 3 = '3 PER TWO WKS' 4 = '4 PER WEEK' 91 = '91 OTHER' ; VALUE HHMEMBER -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE HOWPAID -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 BY THE DAY' 2 = '2 PIECEWORK' 3 = '3 COMMISSION' 4 = '4 BONUS' 5 = '5 BY JOB/MILE' 91 = '91 OTHER' ; VALUE HRLYWAGE -10 = '-10 HOURLY WAGE >= $70.91' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 0.07 - 70 = '$0.07 - $70.00' ; VALUE HRS35WK -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE HRSALBAS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 - 20 = '1 - 20' 21 - 30 = '21 - 30' 31 - 40 = '31 - 40' 41 - 60 = '41 - 60' 61 - 80 = '61 - 80' 81 - 84 = '81 - 84' 85 - 100 = '85 - 100' ; VALUE HRSPRDY -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 3 - 4 = '3 - 4' 5 - 8 = '5 - 8' 9 - 15 = '9 - 15' 16 - 20 = '16 - 20' ; VALUE HRSPRWK -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 1 - 20 = '1 - 20' 21 - 30 = '21 - 30' 31 - 40 = '31 - 40' 41 - 60 = '41 - 60' 61 - 80 = '61 - 80' 81 - 120 = '81 - 120' 121 - 168 = '121 - 168' ; VALUE INDCODEX -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 NATURAL RESOURCES' 2 = '2 MINING' 3 = '3 CONSTRUCTION' 4 = '4 MANUFACTURING' 5 = '5 WHOLESALE AND RETAIL TRADE' 6 = '6 TRANSPORTATION AND UTILITIES' 7 = '7 INFORMATION' 8 = '8 FINANCIAL ACTIVITIES' 9 = '9 PROFESSIONAL AND BUSINESS SERVICES' 10 = '10 EDUCATION, HEALTH, AND SOCIAL SERVICES' 11 = '11 LEISURE AND HOSPITALITY' 12 = '12 OTHER SERVICES' 13 = '13 PUBLIC ADMINISTRATION' 14 = '14 MILITARY' 15 = '15 UNCLASSIFIABLE INDUSTRY' ; VALUE INSESTB -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE INUNION -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE JOBHASHI -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE $JOBSIDX '60001012301' - '77294102301' = 'VALID ID' ; VALUE JOBSN 1 - 8 = '1 - 8' ; VALUE JOBTYPE -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 SELF-EMPLOYED' 2 = '2 FOR SOMEONE ELSE' ; VALUE JSTOPD -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 - 31 = '1 - 31' ; VALUE JSTOPM -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 - 12 = '1 - 12' ; VALUE JSTOPY -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0 STILL AT JOB' 1942 - 2006 = '1942 - 2006' 2007 = '2007' 2008 = '2008' ; VALUE JSTRTD -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 - 31 = '1 - 31' ; VALUE JSTRTM -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 - 12 = '1 - 12' ; VALUE JSTRTY -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1946 - 2000 = '1946 - 2000' 2001 = '2001' 2002 = '2002' 2003 = '2003' 2004 = '2004' 2005 = '2005' 2006 = '2006' 2007 = '2007' ; VALUE MAIN_JOB -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE MAKEAMT -10 = '-10 HOURLY WAGE >= $70.91' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 0.35 - 150000 = '$0.35 - $150,000.00' ; VALUE MORE10F -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 GE $10' 2 = '2 LT $10' ; VALUE MORE15F -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 GE $15' 2 = '2 LT $15' ; VALUE MORELOC -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE MOREMINM -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 GE MINIMUM WAGE' 2 = '2 LT MINIMUM WAGE' ; VALUE NELIGINS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = "1 HASN'T WORKED LONG ENOUGH" 2 = "2 DOESN'T WORK ENOUGH HOURS" 3 = '3 ON CALL' 4 = '4 MEDICAL PROBLEM' 91 = '91 SOME OTHER REASON' ; VALUE NOWTAKEI -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE NUMEMPS -10 = '-10 # OF EMP >= 11,000' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 1 - 9 = '1 - 9' 10 - 25 = '10 - 25' 26 - 49 = '26 - 49' 50 - 100 = '50 - 100' 101 - 500 = '101 - 500' 501 - 10500 = '501 - 10,500' ; VALUE NUMFMEMB -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 1 - 5 = '1 - 5' ; VALUE OCCCODEX -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 MANAGEMENT, BUSINESS, AND FINANCIAL OPER' 2 = '2 PROFESSIONAL AND RELATED OCCUPATIONS' 3 = '3 SERVICE' 4 = '4 SALES AND RELATED OCCUPATIONS' 5 = '5 OFFICE AND ADMINISTRATIVE SUPPORT' 6 = '6 FARMING, FISHING, AND FORESTRY' 7 = '7 CONSTRUCTION, EXTRACTION, AND MAINTENANC' 8 = '8 PRODUCTION, TRANSPORTATION, AND MATERIAL' 9 = '9 MILITARY SPECIFIC OCCUPATIONS' 10 = '10 NO WORK EXPERIENCE SINCE 1995' 11 = '11 UNCLASSIFIABLE OCCUPATION' ; VALUE OFFRDINS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE OFFTAKEI -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE OTHRTYPE -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 DOES NOT WORK OVERTIME' 2 = '2 STRAIGHT TIME' 3 = '3 TIME AND A HALF' 4 = '4 COMP TIME' 5 = '5 EXACT AMOUNT' 91 = '91 OTHER' ; VALUE OTHRWAGE -10 = '-10 HOURLY WAGE >= $70.91' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 0.21 - 68 = '$0.21 - $68.00' ; VALUE OVRTIMHR -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 0.4 - 500 = '$0.40 - $500.00' ; VALUE PANEL 11 = '11' 12 = '12' ; VALUE PAYDRVST -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE PAYVACTN -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE PERUNIT -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 PER HOUR' 2 = '2 PER DAY' 3 = '3 PER WEEK' 4 = '4 PER TWO WKS' 5 = '5 PER MONTH' 6 = '6 PER YEAR' 91 = '91 OTHER' ; VALUE PID 10 - 501 = '010 - 501' ; VALUE PROPRIET -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE PROVDINS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 EMPLOYER' 2 = '2 UNION' 3 = '3 BOTH' ; VALUE RECALL -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE RETIRJOB 1 = '1 YES' 2 = '2 NO' ; VALUE RETIRPLN -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE RN 1 = '1' 2 = '2' 3 = '3' 4 = '4' 5 = '5' ; VALUE SALARIED -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 SALARIED' 2 = '2 PAID BY HOUR' 3 = '3 OTHER' ; VALUE SALRYWKS -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 11 - 52 = '11 - 52 WKS' ; VALUE SESNLJOB -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YEAR ROUND' 2 = '2 NOT YEAR ROUND' ; VALUE SICKPAY -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE STILLAT -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE STILLWRK -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE SUBTYPE -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 CUR MAIN JOB IN REF PD' 2 = '2 CUR MISC JOB IN REF PD' 3 = '3 FMR MAIN JOB IN REF PD' 4 = '4 FMR MISC JOB IN REF PD' 5 = '5 LAST JOB OUTSD REF PD' 6 = '6 RETIREMENT JOB' ; VALUE TEMPJOB -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 YES' 2 = '2 NO' ; VALUE TIPSAMT -10 = '-10 HOURLY WAGE >= $70.91' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 0.01 - 80000 = '$0.01 - $80,000.00' ; VALUE TIPSUNIT -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 PER HOUR' 2 = '2 PER DAY' 3 = '3 PER WEEK' 4 = '4 PER TWO WKS' 5 = '5 PER MONTH' 6 = '6 PER YEAR' 91 = '91 OTHER' ; VALUE TOTLEMP -10 = '-10 # OF EMP >= 11,000' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 1 - 6000 = '1 - 6,000' ; VALUE TYPEEMPL -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 PRIVATE' 2 = '2 FEDERAL' 3 = '3 STATE' 4 = '4 LOCAL' 5 = '5 ARMED FORCES' 6 = '6 FOREIGN NON US GOV' ; VALUE WHY_DIFF -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 PROMOTION OR DEMOTION' 2 = '2 CHANGE IN RESP' 3 = '3 PAY RAISE/DECREASE' 4 = '4 ANUL COST OF LIVING INCR' 5 = '5 NEW CONTRACT' 6 = '6 CHANGE IN # HRS WRKD' 7 = '7 CHANGE IN SHIFT TIME' 8 = '8 RECEIVED EDU DEGREE' 9 = '9 TOOK SPECIAL CLASSES' 91 = '91 OTHER' ; VALUE WHY_LEFT -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 JOB ENDED' 2 = '2 BUSINESS DISSOLVED OR SOLD' 3 = '3 RETIRED' 4 = '4 ILLNESS OR INJURY' 5 = '5 LAID OFF' 6 = '6 QUIT TO HAVE A BABY' 7 = '7 QUIT TO GO TO SCHOOL' 8 = '8 QUIT TO TAKE CARE OF HOME/FAM' 9 = '9 QUIT BECAUSE WANTED TIME OFF' 10 = '10 QUIT TO TAKE OTHER JOB' 11 = '11 UNPAID LEAVE' 91 = '91 OTHER' ; VALUE WKLYAMT -10 = '-10 HOURLY WAGE >= $70.91' -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 0 = '0' 0.1 - 2000 = '$0.10 - $2,000.00' ; VALUE WORKSTAT -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 GE 35 HRS' 2 = '2 LT 35 HRS' ; VALUE YLEFT -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 JOB ENDED' 2 = '2 RETIRED' 3 = '3 ILLNESS OR INJURY' 4 = '4 LAID OFF' 5 = '5 HAVE BABY' 6 = '6 SCHOOL' 7 = '7 HOME CARE' 8 = '8 TIME OFF' 9 = '9 OTHER JOB' 91 = '91 OTHER REASON' ; VALUE YNOBUSN -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 BUSINESS SOLD' 2 = '2 RETIRED' 3 = '3 ILLNESS OR INJURY' 4 = '4 HAVE BABY' 5 = '5 SCHOOL' 6 = '6 HOME CARE' 7 = '7 TIME OFF' 8 = '8 OTHER JOB' 91 = '91 OTHER REASON' ; VALUE Y_CHANGE -9 = '-9 NOT ASCERTAINED' -8 = '-8 DK' -7 = '-7 REFUSED' -1 = '-1 INAPPLICABLE' 1 = '1 PROMOTION OR DEMOTION' 2 = '2 CHANGE IN RESPONSIBILITIES' 3 = '3 CHANGE IN AMT OF WRK BUS BRINGS' 4 = '4 CHANGE IN SHIFT TIME' 5 = '5 CHANGE IN # OF EMPLOYEE AVAIL' 6 = '6 ILLNESS/DISABILITY' 7 = '7 TEMPORARY LEAVE' 8 = '8 MATERNITY/PATERNITY LEAVE' 9 = '9 GOING TO SCHL/FINISHED SCHL' 10 = '10 CHANGE IN HOME/FAM SITUATION' 11 = '11 NEED TIME OFF/WANT WRK MORE' 91 = '91 OTHER' ;