/************************************************************************************************/
/* Stata User File for H120 Data                                                                 */
/*                                                                                              */
/* This file contains information and a sample Stata program to create a permanent              */
/* Stata dataset for users who want to use Stata in processing the MEPS data provided           */
/* in this PUF release.  Stata (StataCorp) has the capability to produce                        */
/* appropriate standard errors for estimates from a survey with a complex sample                */
/* design such as the Medical Expenditure Panel Survey (MEPS).                                  */
/* The input file for creating a permanent Stata dataset is the ASCII data file                 */
/* (H120.DAT) supplied in this PUF release, which in turn can be extracted from the              */
/* .EXE file. After entering the Stata interactive environment access the Stata DO-File         */
/* editor by clicking on the appropriate icon in the command line at the top of the             */
/* screen.  Copy and paste the following Stata commands into the editor and save as a           */
/* DO file.  A DO file is a Stata program which may then be executed using the DO command.      */
/* For example, if the DO file is named H120.DO and is located in the directory                  */
/* C:\MEPS\PROG, then the file may be executed by typing the following command into             */
/* the Stata command line:                                                                      */
/*                         do C:\MEPS\PROG\H120.DO                                               */
/* The program below will output the Stata dataset H120.DTA                                      */
/************************************************************************************************/


#delimit ;
cd C:\MEPS\DATA;
log using H120.log, replace;
clear;

* INPUT ALL VARIABLES;
infix
  str    DUID 1-5
  int    PID 6-8
  str    DUPERSID 9-16
  int    CONDN 17-19
  str    CONDIDX 20-31
  byte   PANEL 32-33
  byte   CONDRN 34-34
  byte   PRIOLIST 35-35
  byte   AGEDIAG 36-37
  byte   REMISSN 38-39
  byte   CRND1 40-41
  byte   CRND2 42-43
  byte   CRND3 44-44
  byte   CRND4 45-46
  byte   CRND5 47-48
  byte   INJURY 49-49
  byte   ACCDENTD 50-51
  byte   ACCDENTM 52-53
  int    ACCDENTY 54-57
  byte   ACCDNJAN 58-59
  byte   ACCDNWRK 60-61
  byte   MISSWORK 62-63
  byte   MISSSCHL 64-64
  byte   INBEDFLG 65-66
  str    ICD9CODX 67-69
  str    ICD9PROX 70-71
  str    CCCODEX 72-74
  byte   HHNUM 75-76
  byte   IPNUM 77-78
  int    OPNUM 79-81
  int    OBNUM 82-84
  byte   ERNUM 85-86
  byte   RXNUM 87-88
  double PERWT08F 89-100
  int    VARSTR 101-104
  byte   VARPSU 105-105
using H120.dat;

*DEFINE VARIABLE LABELS;
label variable DUID "DWELLING UNIT ID";
label variable PID "PERSON NUMBER";
label variable DUPERSID "PERSON ID (DUID + PID)";
label variable CONDN "CONDITION NUMBER";
label variable CONDIDX "CONDITION ID";
label variable PANEL "PANEL NUMBER";
label variable CONDRN "CONDITION ROUND NUMBER";
label variable PRIOLIST "IS CONDITION ON PRIORITY LIST";
label variable AGEDIAG "AGE WHEN DIAGNOSED";
label variable REMISSN "IS CANCER IN REMISSION/UNDER CONTROL";
label variable CRND1 "HAS CONDITION INFORMATION IN ROUND";
label variable CRND2 "HAS CONDITION INFORMATION IN ROUND";
label variable CRND3 "HAS CONDITION INFORMATION IN ROUND";
label variable CRND4 "HAS CONDITION INFORMATION IN ROUND";
label variable CRND5 "HAS CONDITION INFORMATION IN ROUND";
label variable INJURY "WAS CONDITION DUE TO ACCIDENT/INJURY";
label variable ACCDENTD "DATE OF ACCIDENT -- DAY";
label variable ACCDENTM "DATE OF ACCIDENT -- MONTH";
label variable ACCDENTY "DATE OF ACCIDENT -- YEAR";
label variable ACCDNJAN "ACCIDENT/INJURY OCCUR BEFORE/AFTER JAN 1";
label variable ACCDNWRK "DID ACCIDENT OCCUR AT WORK";
label variable MISSWORK "FLAG ASSOCIATED WITH MISSED WORK DAYS";
label variable MISSSCHL "FLAG ASSOCIATED WITH MISSED SCHOOL DAYS";
label variable INBEDFLG "FLAG ASSOCIATED WITH BED DAYS";
label variable ICD9CODX "ICD-9-CM CODE FOR CONDITION - EDITED";
label variable ICD9PROX "ICD-9-CM CODE FOR PROCEDURE - EDITED";
label variable CCCODEX "CLINICAL CLASSIFICATION CODE - EDITED";
label variable HHNUM "# HOME HEALTH EVENTS ASSOC. W/ CONDITION";
label variable IPNUM "# INPATIENT EVENTS ASSOC. W/ CONDITION";
label variable OPNUM "# OUTPATIENT EVENTS ASSOC. W/ CONDITION";
label variable OBNUM "# OFFICE-BASED EVENTS ASSOC W/ CONDITION";
label variable ERNUM "# ER EVENTS ASSOC. W/ CONDITION";
label variable RXNUM "# PRESCRIBED MEDICINES ASSOC. W/ COND.";
label variable PERWT08F "EXPENDITURE FILE PERSON WEIGHT, 2008";
label variable VARSTR "VARIANCE ESTIMATION STRATUM, 2008";
label variable VARPSU "VARIANCE ESTIMATION PSU, 2008";


*DEFINE VALUE LABELS FOR REPORTS;
label define H1200001X
         -1 "-1 INAPPLICABLE"
         -7 "-7 REFUSED"
         -8 "-8 DK"
         -9 "-9 NOT ASCERTAINED" ;

label define H1200002X
         -1 "-1 INAPPLICABLE"
         -7 "-7 REFUSED"
         -8 "-8 DK"
         -9 "-9 NOT ASCERTAINED" ;

label define H1200003X
         -1 "-1 INAPPLICABLE"
         -7 "-7 REFUSED"
         -8 "-8 DK"
         -9 "-9 NOT ASCERTAINED"
         2006 "2006"
         2007 "2007"
         2008 "2008"
         2009 "2009" ;

label define H1200004X
         -1 "-1 INAPPLICABLE"
         -7 "-7 REFUSED"
         -8 "-8 DK"
         -9 "-9 NOT ASCERTAINED"
         1 "1 BEFORE"
         2 "2 AFTER" ;

label define H1200005X
         -1 "-1 INAPPLICABLE"
         -7 "-7 REFUSED"
         -8 "-8 DK"
         -9 "-9 NOT ASCERTAINED"
         1 "1 YES"
         2 "2 NO"
         3 "3 DOES NOT WORK" ;

label define H1200006X
         -1 "-1 INAPPLICABLE"
         -7 "-7 REFUSED"
         -8 "-8 DK"
         -9 "-9 NOT ASCERTAINED" ;

label define H1200007X
         1 "1 ROUND 1"
         2 "2 ROUND 2"
         3 "3 ROUND 3"
         4 "4 ROUND 4"
         5 "5 ROUND 5" ;

label define H1200008X
         -1 "-1 INAPPLICABLE"
         0 "0 NO"
         1 "1 YES" ;

label define H1200009X
         -1 "-1 INAPPLICABLE"
         0 "0 NO"
         1 "1 YES" ;

label define H1200010X
         -1 "-1 INAPPLICABLE"
         0 "0 NO"
         1 "1 YES" ;

label define H1200011X
         -1 "-1 INAPPLICABLE"
         0 "0 NO"
         1 "1 YES" ;

label define H1200012X
         -1 "-1 INAPPLICABLE"
         0 "0 NO"
         1 "1 YES" ;

label define H1200013X
         -9 "-9 NOT ASCERTAINED"
         0 "0 NO"
         1 "1 YES" ;

label define H1200014X
         -9 "-9 NOT ASCERTAINED"
         1 "1 YES"
         2 "2 NO" ;

label define H1200015X
         -9 "-9 NOT ASCERTAINED"
         0 "0 NO"
         1 "1 YES" ;

label define H1200016X
         -9 "-9 NOT ASCERTAINED"
         0 "0 NO"
         1 "1 YES" ;

label define H1200017X
         12 "12 PANEL 12"
         13 "13 PANEL 13" ;

label define H1200018X
         1 "1 YES"
         2 "2 NO" ;

label define H1200019X
         -1 "-1 INAPPLICABLE"
         -7 "-7 REFUSED"
         -8 "-8 DK"
         -9 "-9 NOT ASCERTAINED"
         1 "1 YES"
         2 "2 NO" ;

* ASSOCIATE VARIABLES WITH VALUE LABEL DEFINITIONS;
label value ACCDENTD H1200001X;
label value ACCDENTM H1200002X;
label value ACCDENTY H1200003X;
label value ACCDNJAN H1200004X;
label value ACCDNWRK H1200005X;
label value AGEDIAG H1200006X;
label value CONDRN H1200007X;
label value CRND1 H1200008X;
label value CRND2 H1200009X;
label value CRND3 H1200010X;
label value CRND4 H1200011X;
label value CRND5 H1200012X;
label value INBEDFLG H1200013X;
label value INJURY H1200014X;
label value MISSSCHL H1200015X;
label value MISSWORK H1200016X;
label value PANEL H1200017X;
label value PRIOLIST H1200018X;
label value REMISSN H1200019X;

*DISPLAY A DESCRIPTION OF STATA FILE;
describe;

*LIST FIRST 20 OBSERVATIONS IN THE FILE;
list in 1/20;

save H120, replace;

#delimit cr

* data file is stored in H120.dta
* log  file is stored in H120.log

log close

/************************************************************************************************
 NOTES:                                                                                          
                                                                                                 
 1. This program has been tested on Stata Version 10 (for Windows).                              
                                                                                                 
 2. This program will create a permanent Stata dataset.  All additional analyses                 
    can be run using this dataset.  In addition to the dataset, this program creates             
    a log file named H120.LOG and a data file named H120.DTA.  If these files (H120.DTA and H120.LOG)
    already exist in the working directory, they will be replaced when this program is executed. 
                                                                                                 
 3. If the program ends prematurely, the log file will remain open.  Before running this         
    program again, the user should enter the following Stata command: log close                  
                                                                                                 
 4. The cd command assigns C:\MEPS\DATA as the working directory and location of the input       
    ASCII and output .DTA and .LOG files and can be modified by the user as necessary.           
                                                                                                 
 5. Stata commands end with a carriage return by default. The command                            
    #delimit ;                                                                                   
    temporarily changes the command ending delimiter from a carriage return to a semicolon.      
                                                                                                 
 6. The infix command assumes that the input variables are numeric unless the variable name      
    is prefaced by str.  For example, DUPERSID is the a string (or character) variable.          
                                                                                                 
************************************************************************************************/