DM 'CLE LOG; CLE OUT'; ************************************************************************** July 15, 2008 THIS IS AN EXAMPLE OF A SAS PROGRAM THAT CREATES A SAS FILE FROM THE NHIS 1963 PERSON.DAT ASCII FILE. NOTE: THE FORMAT DEFINITIONS GIVEN BELOW WILL RESULT IN PROCEDURE OUTPUT SHOWING VALUES THAT HAVE BEEN GROUPED AS THEY ARE SHOWN IN THE FILE LAYOUT DOCUMENTATION. THIS IS STORED IN PERSON.SAS *************************************************************************; * USER NOTE: PLACE NEXT TWO STATEMENTS IN SUBSEQUENT PROGRAMS; LIBNAME NHIS 'C:\NHIS1963\'; LIBNAME LIBRARY 'C:\NHIS1963\'; FILENAME ASCIIDAT 'C:\PU\1963\dat\PERSON.DAT'; * DEFINE VARIABLE VALUES FOR REPORT; PROC FORMAT LIBRARY=LIBRARY; VALUE PXP001X 1 = "July-September 1962" 2 = "October-December 1962" 3 = "January-March 1963" 4 = "April-June 1963" ; VALUE PXP002X 1 = "Northeast (includes sections 1 and 2)" 2 = "North Central (includes sections 3,4 and 5)" 3 = "South (includes sections 6,7,8 and 9)" 4 = "West (includes sections 10 and 11)" ; VALUE PXP003X ; VALUE PXP004X ; VALUE PXP005X ; VALUE PXP006X ; VALUE PXP007X ; VALUE PXP008X ; VALUE $PXP009X '&' = "Primary individual" '-' = "Secondary individual" '0' = "Primary family" '1'-'9' = "Secondary family" ; VALUE $PXP010X '&' = "Unrelated individual living alone" '0' = "Head of family or unrelated individual NOT living alone" '1' = "Spouse" '2' = "Child" '3' = "Other relative" ; VALUE PXP011X 0 = "Male" 1 = "Female" ; VALUE PXP012X 00 = "Under 1 year" 01-84 = "Number of years" 85 = "85 years or older" ; VALUE PXP013X 0 = "White" 1 = "Negro" 2 = "Other" ; VALUE PXP014X 0 = "Under 17 years" 1 = "Working" 2 = "Keeping house" 3 = "Retired" 4 = "Something else" 5 = "Unknown" ; VALUE PXP015X 1 = "Yes worked" 2 = "Not working, has job" 3 = "Not working, has job, on layoff or looking for work" 4 = "No, no job, looking for work or on lay-off" 5 = "No, no job, not looking for work" 6 = "Under 17 years" ; VALUE $PXP016X '-' = "None" '0' = "Under 17 years of age" '1' = "1-4 years completed" '2' = "5-8 years completed" '3' = "9-12 years completed" '4' = "College, 1-2 years completed" '5' = "College, 3-4 years completed" '6' = "College, 5+ years completed" '7' = "Unknown" ; VALUE $PXP017X '-' = "None" '0' = "Under 17 years of age" '1' = "1-4 years completed" '2' = "5-8 years completed" '3' = "9-12 years completed" '4' = "College, 1-2 years completed" '5' = "College, 3-4 years completed" '6' = "College, 5+ years completed" '7' = "Unknown" ; VALUE PXP018X 0 = "Unknown" 1 = "Under $500" 2 = "$ 500-$ 999" 3 = "$ 1,000-$ 1,999" 4 = "$ 2,000-$ 2,999" 5 = "$ 3,000-$ 3,999" 6 = "$ 4,000-$ 4,999" 7 = "$ 5,000-$ 6,999" 8 = "$ 7,000-$ 9,999" 9 = "$10,000 plus" ; VALUE PXP019X 0 = "Under 17 years" 1 = "Married" 2 = "No code" 3 = "Widowed" 4 = "Divorced" 5 = "Separated" 6 = "Never married" ; VALUE $PXP020X '0' = "Self-entirely" '1' = "Self-partly" '2' = "Spouse" '3' = "Mother" '4' = "Father" '5' = "Other female family member" '6' = "Other male family member" '7' = "Other" '8' = "Unknown" '9' = "'Z' respondent" ; VALUE PXP021X 0 = "Female or under 17 years" 1 = "Non-veteran" 2 = "Peace time only" 3 = "World War II" 4 = "Korean" 5 = "All other veterans" ; VALUE PXP022X 00 = "None" 01-14 = "Number of days" ; VALUE PXP023X 00 = "None" 01-14 = "Number of days" ; VALUE PXP024X 00 = "None" 01-14 = "Number of days" ; VALUE PXP025X 00 = "None" 01-14 = "Number of days" ; VALUE PXP026X 000 = "None" 001-365 = "Number of days" ; VALUE PXP027X 000 = "None" 001-365 = "Number of days" ; VALUE $PXP028X '0' = "None" '1'-'9' = "Number of episodes" ; VALUE PXP029X 0 = "None" 1-8 = "Number of conditions" 9 = "Nine or more conditions" ; VALUE PXP030X 0 = "None" 1-8 = "Number of conditions" 9 = "Nine or more conditions" ; VALUE PXP031X 1 = "Cannot perform usual activity" 2 = "Can perform usual activity but limited in amount or kind" 3 = "Can perform usual activity but limited in outside activities" 4 = "Not limited in any of these ways" ; VALUE PXP032X 0 = "Paid" 1 = "Federal government" 2 = "Other government" 3 = "Self employed" 4 = "No pay" 5 = "Other" 6 = "Not in labor force" ; VALUE $PXP033X '&' = "Blank" '0' = "Under 17" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE $PXP034X '&' = "Blank" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE $PXP035X '&' = "Blank" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE PXP036X 0 = "Under 20" 1 = "Yes" 2 = "No" 3 = "DK" 4 = "Not in labor force" ; VALUE PXP037X ; VALUE PXP038X ; VALUE $PXP039X '&' = "Not reported" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE $PXP040X '&' = "Not reported" '0' = "No coverage" '1' = "Blue Plan only" '2' = "Blue Plan with others" '3' = "Other than Blue Plan" '4' = "Covered, Plan unknown" '5' = "DK – Coverage and Plan" ; VALUE $PXP041X '&' = "Not reported" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE $PXP042X '&' = "Not reported" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE $PXP043X '&' = "Not reported" '0' = "No coverage" '1' = "Blue Plan only" '2' = "Blue Plan with others" '3' = "Other than Blue Plan" '4' = "Covered, Plan unknown" '5' = "DK – Coverage and Plan" ; VALUE $PXP044X '&' = "Not reported" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE $PXP045X '&' = "Not reported" '0' = "No coverage" '1' = "Blue Plan only" '2' = "Blue Plan with others" '3' = "Other than Blue Plan" '4' = "Covered, Plan unknown" '5' = "DK – Coverage and Plan" ; VALUE $PXP046X '&' = "Not reported" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE PXP047X 1 = "Yes" 2 = "No" ; VALUE PXP048X 1 = "Yes" 2 = "No" ; VALUE PXP049X 1 = "Yes - work loss" 2 = "No - work loss" 3 = "No code" 4 = "Yes - school loss" 5 = "No - school loss" 6 = "Under 6 years of age" ; VALUE $PXP050X '&' = "Not reported" '0' = "No coverage" '1'-'6' = "Number of plans" '7' = "7+ plans" '8' = "DK number of plans" '9' = "DK coverage" ; VALUE $PXP051X '&' = "Not reported" '0' = "No coverage" '1'-'6' = "Number of plans" '7' = "7+ plans" '8' = "DK number of plans" '9' = "DK coverage" ; VALUE $PXP052X '&' = "Not reported" '0' = "No coverage" '1'-'6' = "Number of plans" '7' = "7+ plans" '8' = "DK number of plans" '9' = "DK coverage" ; VALUE PXP053X 1 = "In Standard Metropolitan Statistical Areas - In central City" 2 = "In Standard Metropolitan Statistical Areas - Not in central City" 4 = "Not in Standard Metropolitan Statistical Areas" ; VALUE PXP054X 0 = "Housing Unit" 1 = "Other" ; VALUE PXP055X 0 = "Under 20 years" 1 = "20-54 years" 2 = "55-64 years" 3 = "65-74 years" 4 = "75 years or over" 5 = "Unknown" ; VALUE PXP056X 1 = "Yes" 2 = "No" 3 = "DK" ; VALUE PXP057X 3 = "1963" ; VALUE PXP058X ; VALUE PXP059X ; VALUE PXP060X ; DATA NHIS.PERSON; * CREATE A SAS DATA SET STORED IN DIR 'C:\NHIS1963\'; INFILE ASCIIDAT LRECL=126; * DEFINE LENGTH OF NUMERIC VARIABLES; LENGTH QUARTER 3 REGION 3 PSURANDR 3 WEEK 3 SEGMENT 3 HHID 3 PERSON 3 RECTYPE 3 SEX 3 AGE_85 3 RACE 3 USUALACT 3 CURACT2W 3 INCOME 3 MARSTAT 3 VETERAN 3 PRESAC2W 3 PBDAY2W 3 WKSCH2W 3 HDAY2W 3 PBDAY12M 3 HDAY12M 3 CONDNUM 3 CHRONIC 3 ACTLIMIT 3 WRKCLASS 3 WRKSAM3 3 INDUSR 3 OCCUPR 3 RSACT2WR 3 BDAY2WR 3 WKSCH2WR 3 SMSA 3 HHUNIT 3 AGERESPR 3 PHONE 3 YEAR 3 WT65 4 WTFQ 4 WTFA 4 ; * INPUT ALL VARIABLES; INPUT QUARTER 1 - 1 REGION 2 - 2 PSURANDR 10 - 12 WEEK 13 - 14 SEGMENT 15 - 16 HHID 17 - 18 PERSON 19 - 20 RECTYPE 21 - 21 FAMTYPE $ 23 - 23 FAMREL $ 24 - 24 SEX 25 - 25 AGE_85 26 - 27 RACE 28 - 28 USUALACT 29 - 29 CURACT2W 30 - 30 EDUCFH $ 31 - 31 EDUCPX $ 32 - 32 INCOME 33 - 33 MARSTAT 34 - 34 RESPOND $ 35 - 35 VETERAN 36 - 36 PRESAC2W 38 - 39 PBDAY2W 40 - 41 WKSCH2W 42 - 43 HDAY2W 44 - 45 PBDAY12M 46 - 48 HDAY12M 49 - 51 HPTLEPI $ 52 - 52 CONDNUM 53 - 53 CHRONIC 54 - 54 ACTLIMIT 56 - 56 WRKCLASS 67 - 67 WORK2W $ 68 - 68 JOBYET $ 69 - 69 JOBLOOK $ 70 - 70 WRKSAM3 71 - 71 INDUSR 73 - 74 OCCUPR 75 - 76 HPLHIPX $ 77 - 77 HIPLAN $ 78 - 78 COVHOSP $ 79 - 79 COVSURG $ 80 - 80 TYPESURG $ 81 - 81 COVDV $ 82 - 82 TYPEDV $ 83 - 83 COVKIND $ 84 - 84 RSACT2WR 87 - 87 BDAY2WR 88 - 88 WKSCH2WR 89 - 89 HOSPPNUM $ 90 - 90 SURGPNUM $ 91 - 91 DOCTPNUM $ 92 - 92 SMSA 101 - 101 HHUNIT 102 - 102 AGERESPR 103 - 103 PHONE 104 - 104 YEAR 108 - 108 WT65 109 - 114 WTFQ 115 - 120 WTFA 121 - 126 ; * DEFINE VARIABLE LABELS; LABEL QUARTER = "QUARTER" REGION = "REGION" PSURANDR = "PSU – RANDOM RECODE" WEEK = "WEEK OF QUARTER" SEGMENT = "SEGMENT NUMBER" HHID = "HOUSEHOLD NUMBER" PERSON = "PERSON COLUMN NUMBER" RECTYPE = "RECORD TYPE (0)" FAMTYPE = "TYPE OF FAMILY" FAMREL = "RELATIONSHIP TO REFERENCE PERSON" SEX = "SEX" AGE_85 = "AGE 85" RACE = "RACE" USUALACT = "USUAL ACTIVITY" CURACT2W = "CURRENT ACTIVITY DURING PAST 2 WEEKS" EDUCFH = "EDUCATION OF FAMILY HEAD OR OF UNRELATED INDIVIDUALS" EDUCPX = "EDUCATION OF INDIVIDUAL" INCOME = "INCOME OF FAMILY HEAD OR OF UNRELATED INDIVIDUALS" MARSTAT = "MARITAL STATUS" RESPOND = "RESPONDENT - QUESTIONS 11-17" VETERAN = "VETERAN STATUS" PRESAC2W = "RESTRICTED ACTIVITY DAYS IN PAST 2 WEEKS" PBDAY2W = "BED DAYS IN PAST 2 WEEKS" WKSCH2W = "DAYS LOST FROM WORK OR SCHOOL IN PAST 2 WEEKS" HDAY2W = "HOSPITAL DAYS IN PAST 2 WEEKS" PBDAY12M = "NUMBER OF BED DAYS IN PAST 12 MONTHS FOR PERSONS WITH 1+ CHRONIC CONDITIONS" HDAY12M = "NUMBER OF SHORT-STAY HOSPITAL DAYS IN PAST 12 MONTHS" HPTLEPI = "NUMBER OF SHORT-STAY HOSPITAL EPISODES" CONDNUM = "TOTAL NUMBER OF CONDITIONS" CHRONIC = "NUMBER OF CHRONIC CONDITIONS" ACTLIMIT = "LIMITATION OF ACTIVITY (1+ CHRONIC CONDITIONS)" WRKCLASS = "CLASS OF WORKER" WORK2W = "WORK PAST 2 WEEKS" JOBYET = "HAVE JOB OR BUSINESS" JOBLOOK = "LOOKING FOR WORK" WRKSAM3 = "SAME WORK PAST 3 YEARS" INDUSR = "INDUSTRY RECODE" OCCUPR = "OCCUPATION RECODE" HPLHIPX = "HOSPITAL INSURANCE COVERAGE OF INDIVIDUAL" HIPLAN = "NAME OF PLAN" COVHOSP = "HOSPITAL INSURANCE COVERAGE OF HOUSEHOLD HEAD" COVSURG = "SURGERY INSURANCE COVERAGE" TYPESURG = "TYPE OF SURGERY INSURANCE PLAN" COVDV = "DOCTOR’S VISITS INSURANCE COVERAGE" TYPEDV = "TYPE OF DOCTOR’S VISITS INSURANCE PLAN" COVKIND = "COVERS MOST KINDS OF SICKNESS" RSACT2WR = "RESTRICTED ACTIVITY DAYS IN PAST 2 WEEKS" BDAY2WR = "BED DAYS IN PAST 2 WEEKS" WKSCH2WR = "WORK OR SCHOOL LOST DAYS IN PAST 2 WEEKS" HOSPPNUM = "NUMBER OF HOSPITAL INSURANCE PLANS" SURGPNUM = "NUMBER OF SURGICAL INSURANCE PLANS" DOCTPNUM = "NUMBER OF DOCTOR’S INSURANCE PLANS" SMSA = "STANDARD METROPOLITAN STATISTICAL AREAS" HHUNIT = "TYPE OF LIVING QUARTERS" AGERESPR = "AGE OF RESPONDENT" PHONE = "HAS TELEPHONE" YEAR = "FISCAL YEAR" WT65 = "WEIGHT 6.5 (FOR TWO-WEEK RECALL QUESTIONS)" WTFQ = "QUARTERLY FINAL BASIC WEIGHT" WTFA = "FINAL ANNUAL BASIC WEIGHT" ; * ASSOCIATE VARIABLES WITH FORMAT VALUES; FORMAT QUARTER PXP001X. REGION PXP002X. PSURANDR PXP003X. WEEK PXP004X. SEGMENT PXP005X. HHID PXP006X. PERSON PXP007X. RECTYPE PXP008X. FAMTYPE $PXP009X. FAMREL $PXP010X. SEX PXP011X. AGE_85 PXP012X. RACE PXP013X. USUALACT PXP014X. CURACT2W PXP015X. EDUCFH $PXP016X. EDUCPX $PXP017X. INCOME PXP018X. MARSTAT PXP019X. RESPOND $PXP020X. VETERAN PXP021X. PRESAC2W PXP022X. PBDAY2W PXP023X. WKSCH2W PXP024X. HDAY2W PXP025X. PBDAY12M PXP026X. HDAY12M PXP027X. HPTLEPI $PXP028X. CONDNUM PXP029X. CHRONIC PXP030X. ACTLIMIT PXP031X. WRKCLASS PXP032X. WORK2W $PXP033X. JOBYET $PXP034X. JOBLOOK $PXP035X. WRKSAM3 PXP036X. INDUSR PXP037X. OCCUPR PXP038X. HPLHIPX $PXP039X. HIPLAN $PXP040X. COVHOSP $PXP041X. COVSURG $PXP042X. TYPESURG $PXP043X. COVDV $PXP044X. TYPEDV $PXP045X. COVKIND $PXP046X. RSACT2WR PXP047X. BDAY2WR PXP048X. WKSCH2WR PXP049X. HOSPPNUM $PXP050X. SURGPNUM $PXP051X. DOCTPNUM $PXP052X. SMSA PXP053X. HHUNIT PXP054X. AGERESPR PXP055X. PHONE PXP056X. YEAR PXP057X. WT65 PXP058X. WTFQ PXP059X. WTFA PXP060X. ; PROC CONTENTS DATA=NHIS.PERSON; PROC FREQ DATA=NHIS.PERSON; TITLE1 'FREQUENCY REPORT FOR 1963 NHIS INHOUSE PERSON FILE'; TITLE2 '(WEIGHTED)'; TABLES RECTYPE/LIST MISSING; WEIGHT WTFA; PROC FREQ DATA=NHIS.PERSON; TITLE1 'FREQUENCY REPORT FOR 1963 NHIS INHOUSE PERSON FILE'; TITLE2 '(UNWEIGHTED)'; TABLES RECTYPE/LIST MISSING; * USER NOTE: TO SEE UNFORMATTED VALUES IN PROCEDURES, ADD THE STATEMENT: FORMAT _ALL_; RUN;