DM 'CLE LOG; CLE OUT'; ************************************************************************** March 13, 2008 THIS IS AN EXAMPLE OF A SAS PROGRAM THAT CREATES A SAS FILE FROM THE NHIS 1968 DRVISITF.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 DRVISITF.SAS *************************************************************************; * USER NOTE: PLACE NEXT TWO STATEMENTS IN SUBSEQUENT PROGRAMS; LIBNAME NHIS 'C:\NHIS1968\'; LIBNAME LIBRARY 'C:\NHIS1968\'; FILENAME ASCIIDAT 'C:\PU\1968\dat\drvisitf.dat'; * DEFINE VARIABLE VALUES FOR REPORT; PROC FORMAT LIBRARY=LIBRARY; VALUE DVF001X 5 = "July-September (1967 if loc 108=7; 1968 if loc 108=8)" 6 = "October-December 1967" 7 = "January-March 1968" 8 = "April-June 1968" 9 = "July-September 1968" 1 = "July-September 1967" 2 = "October-December 1967" 3 = "January-March 1968" 4 = "April-June 1968" ; VALUE DVF002X 1 = "Northeast (includes sections 1 and 2)" 2 = "Midwest (includes sections 3,4 and 5)" 3 = "South (includes sections 6,7,8 and 9)" 4 = "West (includes sections 10 and 11)" ; VALUE DVF003X ; VALUE DVF004X ; VALUE DVF005X ; VALUE DVF006X ; VALUE $DVF007X ; VALUE DVF008X ; VALUE DVF009X 0 = "Under 17 years of age" 1 = "Usually working" 2 = "Keeping house" 3 = "Retired" 4 = "Something else" 5 = "DK (includes college students)" ; VALUE $DVF010X ; VALUE $DVF011X '&' = "Primary individual" '-' = "Secondary individual" '0' = "Primary family" '1'-'9' = "Secondary family" ; VALUE $DVF012X '&' = "Unrelated individual living alone" '0' = "Head of family or unrelated individual NOT living alone" '1' = "Wife" '2' = "Child" '3' = "Other relative" ; VALUE DVF013X 0 = "Male" 1 = "Female" ; VALUE DVF014X 00 = "Under 1 year old" 01-84 = "Number of years" 85 = "85 years or older" ; VALUE DVF015X 0 = "White" 1 = "Negro" 2 = "Other" ; VALUE DVF016X 2 = "Not working, has job, looking for work" 3 = "Not working, has job, on layoff" 4 = "Not working, has job, looking for work and on layoff" 7 = "Not working, has job, is looking or on layoff, DK which" . = "Not applicable (loc. 30 NE 3)" ; VALUE DVF017X 1 = "Yes worked" 2 = "Not working, has job, not looking nor on layoff" 3 = "Not working, has job, on layoff" 4 = "Not working, no job, looking for work or on lay-off" 5 = "Not working, no job, not on lay-off nor looking for work" 6 = "Under 17 years of age" ; VALUE $DVF018X '&' = "Under 17 years of age" '-' = "Unknown" '0' = "None" '1' = "1-4 years completed" '2' = "5-7 years completed" '3' = "8 years completed" '4' = "9-11 years completed" '5' = "12 years completed (high school graduate)" '6' = "13-14 years completed" '7' = "15 years completed" '8' = "16 years completed (college graduate)" '9' = "17+ years completed (graduate school)" ; VALUE $DVF019X '&' = "Under 17 years of age" '-' = "Unknown" '0' = "None" '1' = "1-4 years completed" '2' = "5-7 years completed" '3' = "8 years completed" '4' = "9-11 years completed" '5' = "12 years completed (high school graduate)" '6' = "13-14 years completed" '7' = "15 years completed" '8' = "16 years completed (college graduate)" '9' = "17+ years completed (graduate school)" ; VALUE $DVF020X '-' = "$15,000+" '0' = "DK" '1' = "Under $1,000" '2' = "$1,000-$1,999" '3' = "$2,000-$2,999" '4' = "$3,000-$3,999" '5' = "$4,000-$4,999" '6' = "$5,000-$5,999" '7' = "$6,000-$6,999" '8' = "$7,000-$9,999" '9' = "$10,000-$14,999" ; VALUE DVF021X 0 = "Under 17 years" 1 = "Married" 2 = "No code" 3 = "Widowed" 4 = "Divorced" 5 = "Separated" 6 = "Never married" ; VALUE DVF022X 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 = "DK" ; VALUE DVF023X 0 = "Female or under 17 years" 1 = "Non-veteran" 2 = "Peace time only" 3 = "Wartime veteran" 4 = "Other Korean war veteran" 5 = "Cold war veteran" 6 = "DK, if served in Armed Forces" 7 = "DK, if war veteran" 8 = "DK, if Korean or cold war veteran" ; VALUE $DVF024X '&' = "Not reported" '0' = "Physician visit in past 2 weeks (not as inpatient)" '1' = "Physician visit as inpatient in past 2 weeks" '2' = "2 weeks - < 6 months" '3' = "6 months - 11 months" '4' = "1 year" '5' = "2-4 years" '6' = "5-9 years" '7' = "10+ years" '8' = "Never" '9' = "DK or Blank" '-' = "No code on Person Approach questionnaire" ; VALUE $DVF025X '1' = "First record with 0 in 37 for this person" '2' = "Second and subsequent records with 0 in 37 for this person" '-' = "No 2 week record for this person (loc.37=& or 1-9)" ; VALUE $DVF026X '01' = "January" '07' = "July" '02' = "February" '08' = "August" '03' = "March" '09' = "September" '04' = "April" '10' = "October" '05' = "May" '11' = "November" '06' = "June" '12' = "December" '&&' = "Not reported" '99' = "DK month" '&0' = "Last week" '88' = "Week before (DK day)" ; VALUE $DVF027X '00' = "Value 0 visit on last Sunday of reference period" '01' = "Value 1 visit on second Saturday of reference period" '02' = "Value 2 visit on second Friday of reference period" '03' = "Value 3 visit on second Thursday of reference period" '04' = "Value 4 visit on second Wednesday of reference period" '05' = "Value 5 visit on second Tuesday of reference period" '06' = "Value 6 visit on second Monday of reference period" '07' = "Value 7 visit on first Sunday of reference period" '08' = "Value 8 visit on first Saturday of reference period" '09' = "Value 9 visit on first Friday of reference period" '10' = "Value 10 visit on first Thursday of reference period" '11' = "Value 11 visit on first Wednesday of reference period" '12' = "Value 12 visit on first Tuesday of reference period" '13' = "Value 13 visit on first Monday of reference period" '--' = "No value (loc. 39-42 in (&&&&, 9999, &0&0, 8888))" ; VALUE $DVF028X '1' = "Monday" '2' = "Tuesday" '3' = "Wednesday" '4' = "Thursday" '5' = "Friday" '6' = "Saturday" '7' = "Sunday" '-' = "Day unknown (loc. 39-42 in (&&&&, 9999, &0&0, 8888))" ; VALUE $DVF029X '0' = "Last week" '1' = "Week before" '-' = "Week unknown" ; VALUE $DVF030X '&&' = "Not reported or DK" '&' = "Home" '10' = "Telephone" '20' = "Doctor's office" '30' = "Prepaid insurance group" '40' = "Hospital outpatient clinic" '50' = "Hospital emergency room" '70' = "Health department" '80' = "Company or industry" '90' = "Other" ; VALUE DVF031X 000 = "None" 001-365 = "Number of days" ; VALUE DVF032X 0 = "None" 1-9 = "Number of episodes" ; VALUE $DVF033X '-' = "Dummy record" ' ' = "No dummy record" ; VALUE DVF034X 0 = "None" 1-8 = "Number of conditions" 9 = "Nine or more conditions" ; VALUE $DVF035X '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 $DVF036X ; VALUE DVF037X ; VALUE DVF038X ; VALUE $DVF039X '&' = "Unknown or not reported" '0' = "Private paid" '1' = "Federal government" '2' = "Other government" '3' = "Self-employed" '4' = "No pay" '5' = "Other (new worker)" ; VALUE $DVF040X '0000' = "No charge" '&&&&' = "Not reported" '----' = "Cost DK" '0100'-'9800' = "Dollars (2 implied decimal places)" '9900' = "99+ dollars" ; VALUE $DVF041X '01' = "General practitioner" '02' = "Anesthesiologist – A specialist in anesthetics" '03' = "Dermatologist = Treats diseases of the skin (skin specialist)" '04' = "Internist – Treats diseases of the internal organs" '05' = "Neurologist – Treats diseases of the nervous system" '06' = "Obstetrician or gynecologist – Treats pregnant women/diseases" '07' = "Ophthalmologist – Knowledge of eye and its diseases" '08' = "Orthopedist – Surgeon of the skeletal system (bone specialist)" '09' = "Osteopath" '10' = "Otolaryngologist – Ear, nose, and throat specialist" '11' = "Pathologist – An expert in organ and tissue change caused by disease" '12' = "Pediatrician – Treats the child in its development and diseases" '13' = "Proctologist – Treats the rectum and its diseases" '14' = "Psychiatrist – Deals with disorders of the mind" '15' = "Radiologist – Uses radiant energy to diagnose and treat diseases" '16' = "Surgeon (plastic, thoracic, unspecified)" '17' = "Syphilologist – Treats syphilis" '18' = "Urologist – Treat and operates on disorders of the genito-urinary syst" '19' = "Other specialist" '20' = "Specialist - DK kind" '21' = "MD - DK general practitioner or specialist" '22' = "DK if medical doctor" '23' = "Intern - DK kind" '&&' = "Not reported" ; VALUE DVF042X 1-6 = "1-6 persons" 7 = "7+ persons" ; VALUE DVF043X 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 DVF044X 01-99 = "01-99" ; VALUE DVF045X 7 = "1967 (CONDITION APPROACH QUESTIONNAIRE)" 8 = "1968 (PERSON APPROACH QUESTIONNAIRE)" ; VALUE DVF046X ; VALUE DVF047X ; VALUE DVF048X 00 = "None" 01-99 = "Number of conditions" ; VALUE $DVF049X ; VALUE $DVF050X ; VALUE $DVF051X '&' = "Not reported" '-' = "Unknown" '1' = "Diagnosis and treatment" '2' = "Pre- or post-natal care" '3' = "General checkup" '4' = "Eye examination (glasses)" '5' = "Immunization" '6' = "Other" ; VALUE $DVF052X '&' = "Not reported" '-' = "Unknown" '1' = "Diagnosis and treatment" '2' = "Pre- or post-natal care" '3' = "General checkup" '4' = "Eye examination (glasses)" '5' = "Immunization" '6' = "Other" ; VALUE $DVF053X '&' = "Not reported" '-' = "Unknown" '1' = "Diagnosis and treatment" '2' = "Pre- or post-natal care" '3' = "General checkup" '4' = "Eye examination (glasses)" '5' = "Immunization" '6' = "Other" ; VALUE $DVF054X '1' = "Amount from 4a" '2' = "Amount from 4b" ; VALUE DVF055X 0 = "Under $3,000" 1 = "$3,000-$4,999" 2 = "$5,000-$6,999" 3 = "$7,000-$9,999" 4 = "$10,000-$14,999" 5 = "$15,000+" 6 = "Unknown" ; VALUE DVF056X 0 = "Living alone" 1 = "Living with non-relative" 2 = "Living with relative--married" 3 = "Living with relative--other" ; VALUE DVF057X ; DATA NHIS.DRVISITF; * CREATE A SAS DATA SET STORED IN DIR 'C:\NHIS1968\'; INFILE ASCIIDAT LRECL=156; * DEFINE LENGTH OF NUMERIC VARIABLES; LENGTH QUARTER 3 REGION 3 PSURANDR 3 WEEK 3 SEGMENT 3 HHID 3 RECTYPE 3 USUALACT 3 SEX 3 AGE85 3 RACE 3 CURACTAD 3 CURACT2W 3 MARSTAT 3 RESPOND 3 VETERAN 3 HDAY12M 3 HPTLEPI 3 CHRONIC 3 INDUSR 3 OCCUPR 3 SIZER 3 SMSA 3 FAMSIZE 3 YEAR 3 WT65 4 WTFQ 4 CONDNUM 3 INCOMER 3 FAMRELR 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 USUALACT 22 - 22 FAMILY $ 23 - 24 FAMTYPE $ 23 - 23 FAMREL $ 24 - 24 SEX 25 - 25 AGE85 26 - 27 RACE 28 - 28 CURACTAD 29 - 29 CURACT2W 30 - 30 EDUCFH $ 31 - 31 EDUCPX $ 32 - 32 INCOME $ 33 - 33 MARSTAT 34 - 34 RESPOND 35 - 35 VETERAN 36 - 36 DVINTVL $ 37 - 37 RECSTAT $ 38 - 38 DVMONTH $ 39 - 40 DVWHENR $ 43 - 44 DVDAYR $ 45 - 45 DVWEEKR $ 46 - 46 DVPLACE $ 47 - 48 HDAY12M 49 - 51 HPTLEPI 52 - 52 DUMREC2W $ 53 - 53 CHRONIC 54 - 54 ACTLIMIT $ 56 - 56 COND3RD $ 63 - 63 INDUSR 69 - 70 OCCUPR 71 - 72 WKCLASS $ 73 - 73 DVCOST $ 75 - 78 DRTYPE $ 79 - 80 SIZER 96 - 96 SMSA 101 - 101 FAMSIZE 106 - 107 YEAR 108 - 108 WT65 109 - 114 WTFQ 115 - 120 CONDNUM 125 - 126 COND1ST $ 127 - 127 COND2ND $ 133 - 133 WHYDV1 $ 139 - 139 WHYDV2 $ 140 - 140 WHYDV1 $ 141 - 141 BILLED $ 142 - 142 INCOMER 146 - 146 FAMRELR 147 - 147 WTFA 151 - 156 ; * 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)" USUALACT = "USUAL ACTIVITY STATUS" FAMILY = "FAMILY RELATIONSHIP" FAMTYPE = "TYPE OF FAMILY" FAMREL = "RELATIONSHIP TO REFERENCE PERSON" SEX = "SEX" AGE85 = "AGE 85" RACE = "RACE" CURACTAD = "CURRENT ACTIVITY - ADDITIONAL CODES" CURACT2W = "CURRENT ACTIVITY DURING PAST 2 WEEKS" EDUCFH = "EDUCATION OF FAMILY HEAD OR OF UNRELATED INDIVIDUAL" EDUCPX = "EDUCATION OF INDIVIDUAL" INCOME = "COMBINED FAMILY INCOME OR INCOME OF UNRELATED INDIVIDUAL" MARSTAT = "MARITAL STATUS" RESPOND = "RESPONDENT - QUESTIONS 5-28" VETERAN = "VETERAN STATUS" DVINTVL = "INTERVAL SINCE LAST DOCTOR VISIT" RECSTAT = "FIRST RECORD FOR THIS PERSON" DVMONTH = "MONTH OF PHYSICIAN VISIT" DVWHENR = "DOCTOR VISIT VALUES 0-13" DVDAYR = "DAY OF WEEK OF VISIT RECODE" DVWEEKR = "WEEK OF VISIT RECODE" DVPLACE = "PLACE OF VISIT" HDAY12M = "NUMBER OF SHORT-STAY HOSPITAL DAYS IN PAST 12 MONTHS" HPTLEPI = "NUMBER OF SHORT-STAY HOSPITAL EPISODES" DUMREC2W = "DUMMY RECORD FOR VISIT IN 2 WEEKS" CHRONIC = "NUMBER OF CHRONIC CONDITIONS" ACTLIMIT = "LIMITATION OF ACTIVITY (1+ CHRONIC CONDITIONS)" COND3RD = "THIRD CONDITION CAUSING THIS DOCTOR VISIT – CONDITION SERIAL NUMBER" INDUSR = "INDUSTRY RECODE" OCCUPR = "OCCUPATION RECODE" WKCLASS = "CLASS OF WORKER" DVCOST = "COST OF DOCTOR VISIT" DRTYPE = "TYPE OF PHYSICIAN RENDERING SERVICE" SIZER = "SIZE OF FAMILY RECODE" SMSA = "STANDARD METROPOLITAN STATISTICAL AREAS" FAMSIZE = "ACTUAL SIZE OF FAMILY" YEAR = "FISCAL YEAR" WT65 = " WEIGHT 6,5 (FOR TWO-WEEK RECALL QUESTIONS)" WTFQ = "QUARTERLY FINAL BASIC WEIGHT" CONDNUM = "TOTAL NUMBER OF CONDITIONS" COND1ST = "FIRST CONDITION CAUSING THIS DOCTOR VISIT – CONDITION SERIAL NUMBER" COND2ND = "SECOND CONDITION CAUSING THIS DOCTOR VISIT – CONDITION SERIAL NUMBER" WHYDV1 = "FIRST REASON FOR DOCTOR VISIT" WHYDV2 = "SECOND REASON FOR DOCTOR VISIT" WHYDV1 = "THIRD REASON FOR DOCTOR VISIT" BILLED = "BILL RECEIVED" INCOMER = "FAMILY INCOME RECODE" FAMRELR = "FAMILY RELATIONSHIP RECODE" WTFA = "FINAL ANNUAL BASIC WEIGHT" ; * ASSOCIATE VARIABLES WITH FORMAT VALUES; FORMAT QUARTER DVF001X. REGION DVF002X. PSURANDR DVF003X. WEEK DVF004X. SEGMENT DVF005X. HHID DVF006X. PERSON $DVF007X. RECTYPE DVF008X. USUALACT DVF009X. FAMILY $DVF010X. FAMTYPE $DVF011X. FAMREL $DVF012X. SEX DVF013X. AGE85 DVF014X. RACE DVF015X. CURACTAD DVF016X. CURACT2W DVF017X. EDUCFH $DVF018X. EDUCPX $DVF019X. INCOME $DVF020X. MARSTAT DVF021X. RESPOND DVF022X. VETERAN DVF023X. DVINTVL $DVF024X. RECSTAT $DVF025X. DVMONTH $DVF026X. DVWHENR $DVF027X. DVDAYR $DVF028X. DVWEEKR $DVF029X. DVPLACE $DVF030X. HDAY12M DVF031X. HPTLEPI DVF032X. DUMREC2W $DVF033X. CHRONIC DVF034X. ACTLIMIT $DVF035X. COND3RD $DVF036X. INDUSR DVF037X. OCCUPR DVF038X. WKCLASS $DVF039X. DVCOST $DVF040X. DRTYPE $DVF041X. SIZER DVF042X. SMSA DVF043X. FAMSIZE DVF044X. YEAR DVF045X. WT65 DVF046X. WTFQ DVF047X. CONDNUM DVF048X. COND1ST $DVF049X. COND2ND $DVF050X. WHYDV1 $DVF051X. WHYDV2 $DVF052X. WHYDV1 $DVF053X. BILLED $DVF054X. INCOMER DVF055X. FAMRELR DVF056X. WTFA DVF057X. ; PROC CONTENTS DATA=NHIS.DRVISITF; PROC FREQ DATA=NHIS.DRVISITF; TITLE1 'FREQUENCY REPORT FOR 1968 NHIS PUBLIC USE DOCTOR VISIT FISCAL YEAR FILE'; TITLE2 '(WEIGHTED)'; TABLES RECTYPE/LIST MISSING; WEIGHT WTFA; PROC FREQ DATA=NHIS.DRVISITF; TITLE1 'FREQUENCY REPORT FOR 1968 NHIS PUBLIC USE DOCTOR VISIT FISCAL YEAR FILE'; TITLE2 '(UNWEIGHTED)'; TABLES RECTYPE/LIST MISSING; * USER NOTE: TO SEE UNFORMATTED VALUES IN PROCEDURES, ADD THE STATEMENT: FORMAT _ALL_; RUN;