DM 'CLE LOG; CLE OUT'; ************************************************************************** June 8, 2009 THIS IS AN EXAMPLE OF A SAS PROGRAM THAT CREATES A SAS FILE FROM THE NHIS 1963 HEALTH_EXP.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 HEALTH_EXP.SAS. *************************************************************************; * USER NOTE: PLACE NEXT TWO STATEMENTS IN SUBSEQUENT PROGRAMS; LIBNAME NHIS 'C:\NHIS1963\'; LIBNAME LIBRARY 'C:\NHIS1963\'; FILENAME ASCIIDAT 'C:\PU\1963\dat\HEALTH_EXP.dat'; * DEFINE VARIABLE VALUES FOR REPORT; PROC FORMAT LIBRARY=LIBRARY; VALUE HEF0001X 1 = "July-September 1962" 2 = "October-December 1962" ; VALUE HEF0002X 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 HEF0003X ; VALUE HEF0004X ; VALUE HEF0005X ; VALUE HEF0006X ; VALUE HEF0007X ; VALUE HEF0008X ; VALUE $HEF0009X '&' = "Primary individual" '-' = "Secondary individual" '0' = "Primary family" '1'-'9' = "Secondary family" ; VALUE $HEF0010X '&' = "Unrelated individual living alone" '0' = "Head of family or unrelated individual NOT living alone" '1' = "Spouse" '2' = "Child" '3' = "Other relative" ; VALUE HEF0011X 0 = "Male" 1 = "Female" ; VALUE HEF0012X 00 = "Under 1 year" 01-84 = "Number of years" 85 = "85 years or older" ; VALUE HEF0013X 0 = "White" 1 = "Negro" 2 = "Other" ; VALUE HEF0014X 0 = "Under 17 years" 1 = "Working" 2 = "Keeping house" 3 = "Retired" 4 = "Something else" 5 = "Unknown" ; VALUE HEF0015X 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 $HEF0016X '-' = "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 $HEF0017X '-' = "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 HEF0018X 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 HEF0019X 0 = "Under 17 years" 1 = "Married" 2 = "No code" 3 = "Widowed" 4 = "Divorced" 5 = "Separated" 6 = "Never married" ; VALUE $HEF0020X '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 HEF0021X 0 = "Female or under 17 years" 1 = "Non-veteran" 2 = "Peace time only" 3 = "World War II" 4 = "Korean" 5 = "All other veterans" ; VALUE HEF0022X 0 = "Original form returned" 1 = "First follow up sent" 2 = "Second up sent" 3 = "Telephone follow up completed" 4 = "Mail follow up completed" 5 = "Completed, DK follow up" 6 = "Non-response" ; VALUE HEF0023X 0 = "Responded" 1 = "Refused - Telephone" 2 = "Refused - Mail" 3 = "No contact - Telephone" 4 = "No response - Mail" 5 = "DK type of response" ; VALUE HEF0024X 0 = "Passed edit, never failed" 1 = "Failed edit, corrected" 2 = "Failed edit, refused" 3 = "Failed edit, no contact or response" 4 = "DK resolution" 5 = "Non-response" ; VALUE HEF0025X 0 = "No edit needed" 1 = "Telephone" 2 = "Mail" 3 = "DK" 4 = "Non-response" ; VALUE HEF0026X 0 = "Responded for self" 1 = "Spouse" 2 = "Mother" 3 = "Father" 4 = "Other family member" 5 = "Other" 6 = "DK or blank" ; VALUE $HEF0027X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "No doctors' bills" '----' = "No response" ; VALUE HEF0028X 000 = "None" 001-365 = "Number of days" ; VALUE $HEF0029X '0' = "None" '1'-'9' = "Number of episodes" ; VALUE HEF0030X 0 = "None" 1-8 = "Number of conditions" 9 = "9+ conditions" ; VALUE HEF0031X 0 = "None" 1-8 = "Number of conditions" 9 = "9+ conditions" ; VALUE HEF0032X 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 $HEF0033X '0000' = "No charge" '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "No hospital bills" '----' = "No response" ; VALUE $HEF0034X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "No medicine costs" '----' = "No response" ; VALUE HEF0035X 0 = "Paid" 1 = "Federal government" 2 = "Other governments" 3 = "Self employed" 4 = "No pay" 5 = "Other" 6 = "Not in labor force" ; VALUE $HEF0036X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "No dentist bills" '----' = "No response" ; VALUE HEF0037X ; VALUE HEF0038X ; VALUE $HEF0039X '&' = "Not reported" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE $HEF0040X '&' = "Not reported" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE $HEF0041X '&' = "Not reported" '1' = "Yes" '2' = "No" '3' = "DK" ; VALUE $HEF0042X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "None" '----' = "No response" ; VALUE $HEF0043X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "None" '----' = "No response" ; VALUE $HEF0044X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "None" '----' = "No response" ; VALUE HEF0045X 1 = "In Standard Metropolitan Statistical Areas - In central City" 2 = "In Standard Metropolitan Statistical Areas - Not in central" 4 = "Not in Standard Metropolitan Statistical Areas" ; VALUE HEF0046X 1 = "Yes" 2 = "No" 3 = "DK" ; VALUE HEF0047X 3 = "1963" ; VALUE HEF0048X ; VALUE HEF0049X ; VALUE $HEF0050X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "None" '----' = "No response" ; VALUE $HEF0051X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "None" '----' = "No response" ; VALUE $HEF0052X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "None" '----' = "No response" ; VALUE $HEF0053X '0001'-'9999' = "Dollar expenditure" '&&&&' = "Blank or DK" '- ' = "None" '----' = "No response" ; VALUE $HEF0054X '00000' = "No expenses" '00001'-'99999' = "Dollar expenditure" '&&&&&' = "DK" '-----' = "No response" ; VALUE HEF0055X 0 = "Non-response (----- in cols.137-141)" 1 = "Good entries for all questions 1-6 items (No DK/blank entries)" 2 = "Mismatch" 9 = "Blank or DK for one or more question 1-6 items" ; VALUE HEF0056X ; DATA NHIS.HEALTH_EXP; * CREATE A SAS DATA SET STORED IN DIR C:\NHIS1963\; INFILE ASCIIDAT LRECL=151; * 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 FOLLOWUP 3 REASNNOT 3 FLDEDIT 3 EDITPROC 3 RESPRELA 3 HDAY12M 3 CONDNUM 3 CHRONIC 3 ACTLIMIT 3 WRKCLASS 3 INDUSR 3 OCCUPR 3 SMSA 3 PHONE 3 YEAR 3 WT65 4 WTFQ 4 DKCODE 3 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 @23 FAMTYPE $CHAR1. @24 FAMREL $CHAR1. SEX 25 - 25 AGE_85 26 - 27 RACE 28 - 28 USUALACT 29 - 29 CURACT2W 30 - 30 @31 EDUCFH $CHAR1. @32 EDUCPX $CHAR1. INCOME 33 - 33 MARSTAT 34 - 34 @35 RESPOND $CHAR1. VETERAN 36 - 36 FOLLOWUP 37 - 37 REASNNOT 38 - 38 FLDEDIT 39 - 39 EDITPROC 40 - 40 RESPRELA 41 - 41 @42 DRBIL12M $CHAR4. HDAY12M 49 - 51 @52 HPTLEPI $CHAR1. CONDNUM 53 - 53 CHRONIC 54 - 54 ACTLIMIT 56 - 56 @57 HPBIL12M $CHAR4. @61 RXCOS12M $CHAR4. WRKCLASS 67 - 67 @69 DTBIL12M $CHAR4. INDUSR 73 - 74 OCCUPR 75 - 76 @77 HPLHIPX $CHAR1. @80 SURGRYHI $CHAR1. @84 HIMOST $CHAR1. @85 EYEGLEXP $CHAR4. @89 HEARAEXP $CHAR4. @93 OTHRAEXP $CHAR4. SMSA 101 - 101 PHONE 104 - 104 YEAR 108 - 108 WT65 109 - 114 WTFQ 115 - 120 @121 SHOESEXP $CHAR4. @125 CHIROEXP $CHAR4. @129 BRACEEXP $CHAR4. @133 OTHRBEXP $CHAR4. @137 TOTMDEXP $CHAR5. DKCODE 142 - 142 WTFA 146 - 151 ; * 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 (3)" 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" FOLLOWUP = "FOLLOW-UP REQUIRED" REASNNOT = "REASON FOR NONINTERVIEW" FLDEDIT = "FIELD EDIT REQUIRED" EDITPROC = "EDIT PROCEDURE" RESPRELA = "RELATIONSHIP OF RESPONDENT FOR PERSONAL HEALTH EXPENDITURE" DRBIL12M = "TOTAL DOCTORS' BILLS, PAST 12 MONTHS" 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)" HPBIL12M = "TOTAL HOSPITAL BILLS PAST 12 MONTHS" RXCOS12M = "TOTAL MEDICINE COSTS PAST 12 MONTHS" WRKCLASS = "CLASS OF WORKER" DTBIL12M = "TOTAL DENTIST BILLS PAST 12 MONTHS" INDUSR = "INDUSTRY RECODE" OCCUPR = "OCCUPATION RECODE" HPLHIPX = "HOSPITAL INSURANCE COVERAGE OF INDIVIDUAL" SURGRYHI = "SURGERY INSURANCE COVERAGE" HIMOST = "COVERS MOST KINDS OF SICKNESS" EYEGLEXP = "EYEGLASS EXPENDITURES" HEARAEXP = "HEARING AID EXPENDITURES" OTHRAEXP = "SPECIAL NURSING, PHYSICAL THERAPY ETC. EXPENDITURES" SMSA = "STANDARD METROPOLITAN STATISTICAL AREAS" PHONE = "HAS TELEPHONE" YEAR = "FISCAL YEAR" WT65 = "WEIGHT 6.5 (FOR TWO-WEEK RECALL QUESTIONS)" WTFQ = "QUARTERLY FINAL BASIC WEIGHT" SHOESEXP = "CORRECTIVE SHOE EXPENDITURES" CHIROEXP = "CHIROPRACTOR FEES" BRACEEXP = "EXPENDITURES FOR SPECIAL BRACES, TRUSSES ETC" OTHRBEXP = "OTHER MEDICAL EXPENSES" TOTMDEXP = "TOTAL MEDICAL EXPENSES" DKCODE = "'DK' CODE" WTFA = "FINAL ANNUAL BASIC WEIGHT" ; * ASSOCIATE VARIABLES WITH FORMAT VALUES; FORMAT QUARTER HEF0001X. REGION HEF0002X. PSURANDR HEF0003X. WEEK HEF0004X. SEGMENT HEF0005X. HHID HEF0006X. PERSON HEF0007X. RECTYPE HEF0008X. FAMTYPE $HEF0009X. FAMREL $HEF0010X. SEX HEF0011X. AGE_85 HEF0012X. RACE HEF0013X. USUALACT HEF0014X. CURACT2W HEF0015X. EDUCFH $HEF0016X. EDUCPX $HEF0017X. INCOME HEF0018X. MARSTAT HEF0019X. RESPOND $HEF0020X. VETERAN HEF0021X. FOLLOWUP HEF0022X. REASNNOT HEF0023X. FLDEDIT HEF0024X. EDITPROC HEF0025X. RESPRELA HEF0026X. DRBIL12M $HEF0027X. HDAY12M HEF0028X. HPTLEPI $HEF0029X. CONDNUM HEF0030X. CHRONIC HEF0031X. ACTLIMIT HEF0032X. HPBIL12M $HEF0033X. RXCOS12M $HEF0034X. WRKCLASS HEF0035X. DTBIL12M $HEF0036X. INDUSR HEF0037X. OCCUPR HEF0038X. HPLHIPX $HEF0039X. SURGRYHI $HEF0040X. HIMOST $HEF0041X. EYEGLEXP $HEF0042X. HEARAEXP $HEF0043X. OTHRAEXP $HEF0044X. SMSA HEF0045X. PHONE HEF0046X. YEAR HEF0047X. WT65 HEF0048X. WTFQ HEF0049X. SHOESEXP $HEF0050X. CHIROEXP $HEF0051X. BRACEEXP $HEF0052X. OTHRBEXP $HEF0053X. TOTMDEXP $HEF0054X. DKCODE HEF0055X. WTFA HEF0056X. ; PROC CONTENTS DATA=NHIS.HEALTH_EXP; PROC FREQ DATA=NHIS.HEALTH_EXP; TITLE1 'FREQUENCY REPORT FOR 1963 NHIS FISCAL YEAR PUBLIC USE PERSONAL HEALTH EXPENDITURES RECORD'; TITLE2 '(WEIGHTED)'; TABLES RECTYPE/LIST MISSING; WEIGHT WTFA; PROC FREQ DATA=NHIS.HEALTH_EXP; TITLE1 'FREQUENCY REPORT FOR 1963 NHIS FISCAL YEAR PUBLIC USE PERSONAL HEALTH EXPENDITURES RECORD'; TITLE2 '(UNWEIGHTED)'; TABLES RECTYPE/LIST MISSING; * USER NOTE: TO SEE UNFORMATTED VALUES IN PROCEDURES, ADD THE STATEMENT: FORMAT _ALL_; RUN;