HC010CSU.TXT File 

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 or the ASCII data file 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.

******************************************************************************

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.  The
examples use File 1 of this MEPS PUF release and can be easily modified for
use with File 2.

A.     A Sample SAS Program for Converting the SAS Transport File to a
Permanent SAS Dataset 

The SAS transport file HC10CF1.SSP was created from a PC-SAS Version 6.12 data
file, using PROC COPY.  This file has been tested for use with PC-SAS version
6.10 or higher, or with mainframe SAS version 6.08 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 HC10CF1.DAT to a SAS data set as described in
Section B.   

The SAS PROCedure XCOPY will read a SAS transport data 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 PC-SAS program that can be used to convert the SAS transport
file to a permanent PC SAS dataset (in a Windows environment, with SAS V6.12). 
 
     LIBNAME PUFLIB 'C:\MEPS';
     FILENAME IN1 'C:\MEPS\HC10CF1.SSP';

     PROC XCOPY IN=IN1 OUT=PUFLIB IMPORT;
     RUN;

If the user wants a list of variables and a few sample records in the
permanent SAS dataset, following are the SAS statements to accomplish these.

     PROC CONTENTS DATA=PUFLIB.HC10CF1;
     TITLE "List of Variables in MEPS HC10CF1 SAS Dataset";
     RUN;

     PROC PRINT DATA=PUFLIB.HC10CF1 (OBS=20);
     TITLE "First 20 Observations in MEPS HC10CF1 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)  The names used in the LIBNAME and FILENAME statements shown
     above (i.e., PUFLIB, IN1) are arbitrary; they are only temporary
     aliases.

     2)  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.

     3)  HC10CF1 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
     HC10CF1.SD2 will be created under the C:\MEPS directory when PROC
     XCOPY runs successfully.



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 HC10CF1.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';
     FILENAME IN1 'C:\MEPS\HC10CF1.DAT';

     DATA PUFLIB.HC10CF1;
     INFILE IN1 LRECL=236;
     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
describes the output SAS dataset, referencing the LIBNAME entry (PUFLIB) and
assigning an internal SAS dataset name (HC10CF1).  In the example, after the
successful completion of the DATA step, a PC file named HC10CF1.SD2 would have
been created in the C:\MEPS 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 (236
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 HC10CF1.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., 236 for HC10CF1.DAT).  If RECFM=F is used, then the LRECL
value must  be specified as the logical record length plus 2 (238 for
HC10CF1.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 (236 for HC10CF1.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 (HC10CF1.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.


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';
     
     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';
     OPTIONS FMTSEARCH=(PUFLIB); 
   
     PROC FREQ DATA=PUFLIB.HC10CF1;
     TABLES .... / LIST MISSING;
     FORMAT varnam1 fmtnam1.  Varnam2 fmtnam2.  .... ;
     * to user: substitute varnami and fmtnami 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 'SD2')
and format libraries (file name extension is 'SC2') 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.SC2.  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 will generate
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 type
     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 data set 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, and FORMAT statements for use in
converting the ASCII HC10CF1.DAT file and HC10CF2.DAT into SAS data sets, and
VALUE statements for creating
SAS
formats for both files. 

*INPUT, LABEL AND FORMAT STATEMENTS FOR HC10CF1;

* INPUT STATEMENTS;
INPUT @1      DUID      5.0
      @6      PID       3.0
      @9      DUPERSID $8.0
      @17     EVNTIDX  $12.0
      @29     EVENTRN   1.0
      @30     FFID11X  $11.0
      @41     OMTYPE1X  2.0
      @43     OMTYPE1   2.0
      @45     OMOTHOX  $25.0
      @70     OMOTHOS  $25.0
      @95     FFOMTYPX  2.0
      @97     FFOM96    2.0
      @99     FFTOT96   2.0
      @101    FFBEF96   2.0
      @103    FFOM97    2.0
      @105    FFTOT97   2.0
      @107    OMSF96X   7.2
      @114    OMMR96X   7.2
      @121    OMMD96X   8.2
      @129    OMPV96X   8.2
      @137    OMVA96X   8.2
      @145    OMCH96X   6.2
      @151    OMOF96X   8.2
      @159    OMSL96X   7.2
      @166    OMWC96X   6.2
      @172    OMOR96X   7.2
      @179    OMOU96X   6.2
      @185    OMOT96X   6.2
      @191    OMXP96X   8.2
      @199    OMTC96X   8.2
      @207    IMPOMSLF  1.0
      @208    IMPOMMCR  1.0
      @209    IMPOMMCD  1.0
      @210    IMPOMPRV  1.0
      @211    IMPOMVA   1.0
      @212    IMPOMCHM  1.0
      @213    IMPOMOFD  1.0
      @214    IMPOMSTL  1.0
      @215    IMPOMWCP  1.0
      @216    IMPOMOPR  1.0
      @217    IMPOMOPU  1.0
      @218    IMPOMOTH  1.0
      @219    IMPOMCHG  1.0
      @220    WTDPER96  12.6
      @232    VARPSU96  2.0
      @234    VARSTR96  3.0
;


* FORMAT STATEMENTS;
FORMAT DUID     DUID.
       PID      PID.
       DUPERSID $DUPERSI.
       EVNTIDX  $EVNTIDX.
       EVENTRN  EVENTRN.
       FFID11X  $FFID11X.
       OMTYPE1X OMTYPE.
       OMTYPE1  OMTYPE.
       OMOTHOX  $OMOTHOS.
       OMOTHOS  $OMOTHOS.
       FFOMTYPX FFOMTYPE.
       FFOM96   FFOM9F.
       FFTOT96  FFTOT9F.
       FFBEF96  FFBEF9F.
       FFOM97   FFOM9G.
       FFTOT97  FFTOT9G.
       OMSF96X  OMSF96X.
       OMMR96X  OMMR96X.
       OMMD96X  OMMD96X.
       OMPV96X  OMPV96X.
       OMVA96X  OMVA96X.
       OMCH96X  OMCH96X.
       OMOF96X  OMOF96X.
       OMSL96X  OMSL96X.
       OMWC96X  OMWC96X.
       OMOR96X  OMOR96X.
       OMOU96X  OMOU96X.
       OMOT96X  OMOT96X.
       OMXP96X  OMXP96X.
       OMTC96X  OMTC96X.
       IMPOMSLF IMPOMSLF.
       IMPOMMCR IMPOMMCR.
       IMPOMMCD IMPOMMCD.
       IMPOMPRV IMPOMPRV.
       IMPOMVA  IMPOMVA.
       IMPOMCHM IMPOMCHM.
       IMPOMOFD IMPOMOFD.
       IMPOMSTL IMPOMSTL.
       IMPOMWCP IMPOMWCP.
       IMPOMOPR IMPOMOPR.
       IMPOMOPU IMPOMOPU.
       IMPOMOTH IMPOMOTH.
       IMPOMCHG IMPOMCHG.
       WTDPER96 WTDPER9F.
       VARPSU96 VARPSU9F.
       VARSTR96 VARSTR9F.
;


* LABEL STATEMENTS;
LABEL DUID    ='DWELLING UNIT ID'
      PID     ='PERSON NUMBER'
      DUPERSID='PERSON ID (DUID+PID)'
      EVNTIDX ='EVENT ID'
      EVENTRN ='EVENT ROUND NUMBER'
      FFID11X ='FLAT FEE ID'
      OMTYPE1X='OTHER MEDICAL EXPENSE TYPE - EDITED'
      OMTYPE1 ='OTHER MEDICAL EXPENSE TYPE'
      OMOTHOX ='OMTYPE OTHER SPECIFY, EDITED'
      OMOTHOS ='OMTYPE OTHER SPECIFY'
      FFOMTYPX='ED FLAT FEE STEM-LEAF INDICATOR'
      FFOM96  ='TOTAL #OM EVENTS IN FF - 1996'
      FFTOT96 ='#VISITS IN FLAT FEE (ALL EVENTS) - 1996'
      FFBEF96 ='#VISITS IN FF (ALL EVENTS) BEFORE 1996'
      FFOM97  ='#OM EVENTS IN FLAT FEE: RD3, 1997'
      FFTOT97 ='#VISITS IN FF (ALL EVENTS) -1997 THRU R3'
      OMSF96X ='AMOUNT PAID,FAMILY (IMPUTED)'
      OMMR96X ='AMOUNT PAID,MEDICARE(IMPUTED)'
      OMMD96X ='AMOUNT PAID,MEDICAID (IMPUTED)'
      OMPV96X ='AMOUNT PAID,PRIVATE INSURANCE (IMPUTED)'
      OMVA96X ='AMOUNT PAID,VETERANS(IMPUTED)'
      OMCH96X ='AMOUNT PAID,CHAMPUS/CHAMPVA (IMPUTED)'
      OMOF96X ='AMOUNT PAID,OTHER FEDERAL (IMPUTED)'
      OMSL96X ='AMOUNT PAID,STATE & LOCAL GOV (IMPUTED)'
      OMWC96X ='AMOUNT PAID,WORKERS COMP (IMPUTED)'
      OMOR96X ='AMOUNT PAID,OTHER PRIVATE (IMPUTED)'
      OMOU96X ='AMOUNT PAID,OTHER PUBLIC (IMPUTED)'
      OMOT96X ='AMOUNT PAID,OTHER INSURANCE (IMPUTED)'
      OMXP96X ='SUM OF OMSF96X-OMOT96X (IMPUTED)'
      OMTC96X ='HHLD REPORTED TOTAL CHARGE (IMPUTED)'
      IMPOMSLF='IMPUTATION FLAG FOR OMSF96X'
      IMPOMMCR='IMPUTATION FLAG FOR OMMR96X'
      IMPOMMCD='IMPUTATION FLAG FOR OMMD96X'
      IMPOMPRV='IMPUTATION FLAG FOR OMPV96X'
      IMPOMVA ='IMPUTATION FLAG FOR OMVA96X'
      IMPOMCHM='IMPUTATION FLAG FOR OMCH96X'
      IMPOMOFD='IMPUTATION FLAG FOR OMOF96X'
      IMPOMSTL='IMPUTATION FLAG FOR OMSL96X'
      IMPOMWCP='IMPUTATION FLAG FOR OMWC96X'
      IMPOMOPR='IMPUTATION FLAG FOR OMOR96X'
      IMPOMOPU='IMPUTATION FLAG FOR OMOU96X'
      IMPOMOTH='IMPUTATION FLAG FOR OMOT96X'
      IMPOMCHG='IMPUTATION STATUS OF OMTC96X'
      WTDPER96='POVERTY/MORTALITY ADJUSTED PERS LEVL WGT'
      VARPSU96='VARIANCE ESTIMATION PSU 1996'
      VARSTR96='VARIANCE ESTIMATION STRATUM'
;


*INPUT, LABEL AND FORMAT STATEMENTS FOR HC10CF2;

* INPUT STATEMENTS;

INPUT @1      DUID      5.0
      @6      PID       3.0
      @9      DUPERSID $8.0
      @17     EVNTIDX  $12.0
      @29     HHSFFIDX $10.0
      @39     OMSF96H   7.2
      @46     OMMR96H   7.2
      @53     OMMD96H   5.2
      @58     OMPV96H   8.2
      @66     OMVA96H   5.2
      @71     OMCH96H   5.2
      @76     OMOF96H   7.2
      @83     OMSL96H   7.2
      @90     OMWC96H   5.2
      @95     OMOT96H   6.2
      @101    OMUC96H   5.2
      @106    OMTC96H   8.2
      @114    WTDPER96  12.6
      @126    VARPSU96  2.0
      @128    VARSTR96  3.0
;


* FORMAT STATEMENTS;
FORMAT DUID     DUID.
       PID      PID.
       DUPERSID $DUPERSI.
       EVNTIDX  $EVNTIDX.
       HHSFFIDX $HHSFFID.
       OMSF96H  OMSF96H.
       OMMR96H  OMMR96H.
       OMMD96H  OMMD96H.
       OMPV96H  OMPV96H.
       OMVA96H  OMVA96H.
       OMCH96H  OMCH96H.
       OMOF96H  OMOF96H.
       OMSL96H  OMSL96H.
       OMWC96H  OMWC96H.
       OMOT96H  OMOT96H.
       OMUC96H  OMUC96H.
       OMTC96H  OMTC96H.
       WTDPER96 WTDPER9F.
       VARPSU96 VARPSU9F.
       VARSTR96 VARSTR9F.
;


* LABEL STATEMENTS;
LABEL DUID    ='DWELLING UNIT ID'
      PID     ='PERSON NUMBER'
      DUPERSID='PERSON ID (DUID+PID)'
      EVNTIDX ='EVENT ID'
      HHSFFIDX='HOUSEHOLD REPORTED FLAT FEE ID'
      OMSF96H ='HHLD RPTD AMT PD,FAMILY (PRE-IMPUTED)'
      OMMR96H ='HHLD RPTD AMT PD,MEDICARE (PRE-IMPUTED)'
      OMMD96H ='HHLD RPTD AMT PD,MEDICAID (PRE-IMPUTED)'
      OMPV96H ='HHLD RPTD AMT PD,PRIV INS (PRE-IMPUTED)'
      OMVA96H ='HHLD RPTD AMT PD,VETERANS (PRE-IMPUTED)'
      OMCH96H ='HHLD RPTD AMT PD,CHMP/CHMPVA(PRE-IMPUTD)'
      OMOF96H ='HHLD RPTD AMT PD,OTHER FED(PRE-IMPUTED)'
      OMSL96H ='HHLD RPTD AMT PD,STATE&LOC(PRE-IMPUTED)'
      OMWC96H ='HHLD RPTD AMT PD,WORK COMP(PRE-IMPUTED)'
      OMOT96H ='HHLD RPTD AMT PD,OTH INSUR(PRE-IMPUTED)'
      OMUC96H ='HHLD RPTD AMT PD,UNCOL LIAB(PRE-IMPUTED)'
      OMTC96H ='HHLD REPORTED TOTAL CHARGE (PRE-IMPUTED)'
      WTDPER96='POVERTY/MORTALITY ADJUSTED PERS LEVL WGT'
      VARPSU96='VARIANCE ESTIMATION PSU 1996'
      VARSTR96='VARIANCE ESTIMATION STRATUM'
;


*VALUE STATEMENTS FOR CREATING SAS FORMAT LIBRARY;

  VALUE DUID
     4-10593="VALID ID"
    ;

  VALUE $DUPERSI
    "00004018"-"10593024"="VALID ID"
    ;

  VALUE $EVNTIDX
    '000040180012'-'105930240068'="VALID ID"
   ;

  VALUE EVENTRN
    1 = '1 ROUND 1'
    2 = '2 ROUND 2'
    3 = '3 ROUND 3'
    ;

  VALUE FFBEF9F
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
     0 = '0 NO FLAT FEE VISITS PRIOR TO 1996'
     1 - 10 = '1 - 10 # OF VISITS PRIOR TO 1996'
    ;

  VALUE $FFID11X
  "-1"="-1 INAPPLICABLE"
  "0015801403"-"1016103801"="VALID ID";
    ;

  VALUE FFOM9F
    -1 = '-1 INAPPLICABLE'
    1 - 2 = '1 - 2 NUMBER OF EVENTS'
    ;
  VALUE FFOM9G
    -9 = '-9 NOT ASCERTAINED'
    -1 = '-1 INAPPLICABLE'
    0 = '0 NO EVENTS IN 1997'
    1 = '1 NUMBER OF EVENTS'
    ;

  VALUE FFTOT9F
    -1 = '-1 INAPPLICABLE'
    1 - 2 = '1 - 2 NUMBER OF EVENTS'
    ;
  VALUE FFTOT9G
    -9 = '-9 NOT ASCERTAINED'
    -1 = '-1 INAPPLICABLE'
    0 = '0 NO EVENTS IN 1997'
    1 = '1 NUMBER OF EVENTS'
    ;

  VALUE FFOMTYPE
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
     1 = '1 FLAT FEE STEM'
     2 = '2 FLAT FEE LEAF'
    ;

  VALUE $HHSFFID
    -1 = '-1 INAPPLICABLE'
    '0004502701'-'1059302401'="VALID ID"
     ;

  VALUE IMPOMCHG
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = "1 IMPUTED"
    ;
  VALUE IMPOMCHM
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMEXP
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;

  VALUE IMPOMMCD
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMMCR
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMOFD
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMOPR
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMOPU
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMOTH
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMPRV
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMSLF
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMSTL
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMVA
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE IMPOMWCP
    -1 = '-1 INAPPLICABLE'
     0 = '0 UNIMPUTED'
     1 = '1 IMPUTED'
    ;
  VALUE OMCH96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
    0 = '0'
    43= '$43.00'
    ;
  VALUE OMMD96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
     0 = '0'
    ;
  VALUE OMMR96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
    0 = '0'
    1 - 4560 = '$1.00 - $4560.00'
    ;
  VALUE OMOF96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
     0 = '0'
    60 - 2000 = '$2.00 - $2000.00'
    ;

  VALUE OMOT96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
     0 = '0'
    35 - 500 = '$35.00 - $500.00'
    ;

  VALUE OMPV96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
     0 = '0'
     1 - 22077 = '$1.00 - $22077.00'
    ;
  VALUE OMSF96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
    0 = '0'
    1 - 5000 = '$1.00 - $5000.00'
    ;
  VALUE OMSL96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
    0 = '0'
    43 - 1300 = '$43.00 - $1300.00'
    ;
  VALUE OMTC96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -4 = '-4 FAMILY FLAT FEE'
    -1 = '-1 INAPPLICABLE'
     0 ='0'
    1 - 23239 = '$1.00 - $23239.00'
    ;
  VALUE OMUC96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -4 = '-4 FAMILY FLAT FEE'
    -1 = '-1 INAPPLICABLE'
     0 = '0'
    30 = '$30.00'
    ;

  VALUE OMSF96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
    1-45='$1.00 - $45.00'
 45<-100='$45.01 - $100.00'
100<-190='$100.01 - $190.00'
190<-5000='$190.01 - $5000.00'
  ;

  VALUE OMMR96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
     1-50='$1.00 - $50.00'
  50<-104='$50.01 - $104.00'
 104<-300='$104.01 - $300.00'
 300<-4560='$300.01 - $4560.00'
  ;

  VALUE OMMD96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
       3.28-32.8='$3.28 - $32.80'
      32.8<-98.4='$32.81 - $98.40'
    98.4<-193.52='$98.41 - $193.52'
193.52<-19055.98='$193.53 - $19055.98'
  ;

  VALUE OMPV96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
       1-50='$1.00 - $50.00'
    50<-115='$50.01 - $115.00'
   115<-200='$115.01 - $200.00'
 200<-22077='$200.01 - $22077.00'
  ;

  VALUE OMVA96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
       2.5-20='$2.50 - $20.00'
    20<-48.33='$20.01 - $48.33'
   48.33<-156='$48.34 - $156.00'
 156<-11619.5='$156.01 - $11619.50'
  ;

  * THE VARIABLE BELOW HAS LT 4 unique values GT 0;
  VALUE OMCH96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
       43-119.67='$43.00 - $119.67'
  ;

  VALUE OMOF96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
        2.5-20='$2.50 - $20.00'
        20<-41='$20.01 - $41.00'
       41<-100='$41.01 - $100.00'
  100<-11619.5='$100.01 - $11619.50'
  ;

  VALUE OMSL96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
       42.5-67='$42.50 - $67.00'
       67<-125='$67.01 - $125.00'
      125<-373='$125.01 - $373.00'
     373<-1300='$373.01 - $1300.00'
  ;

  * THE VARIABLE BELOW HAS LT 4 unique values GT 0;
  VALUE OMWC96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
        5-120.5='$5.00 - $120.50'
  ;

  VALUE OMOT96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
        35-121='$35.00 - $121.00'
      121<-185='$121.01 - $185.00'
      185<-337='$185.01 - $337.00'
      337<-509='$337.01 - $509.00'
  ;

  VALUE OMTC96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
          1-59='$1.00 - $59.00'
       59<-135='$59.01 - $135.00'
      135<-238='$135.01 - $238.00'
    238<-23239='$238.01 - $23239.00'
  ;

  VALUE OMOR96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
          6-88='$6.00 - $88.00'
       88<-130='$88.01 - $130.00'
      130<-241='$130.01 - $241.00'
     241<-1140='$241.01 - $1140.00'
  ;

  VALUE OMOU96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
     20.5-55.76='$20.50 - $55.76'
    55.76<-61.5='$55.77 - $61.50'
   61.5<-211.56='$61.51 - $211.56'
    211.56<-656='$211.57 - $656.00'
  ;

  VALUE OMXP96X
     -9 = '-9 NOT ASCERTAINED'
     -8 = '-8 DK'
     -7 = '-7 REFUSED'
     -1 = '-1 INAPPLICABLE'
      0 = '0'
          1-52='$1.00 - $52.00'
       52<-125='$52.01 - $125.00'
      125<-225='$125.01 - $225.00'
    225<-23239='$225.01 - $23239.00'
  ;

  VALUE OMTYPE
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
    1 = '1 GLASSES OR CONTACT LENSES'
    2 = '2 INSULIN'
    3 = '3 DIABETIC EQUIPMENT/SUPPLIES'
    4 = '4 AMBULANCE SERVICES'
    5 = '5 ORTHOPEDIC ITEMS'
    6 = '6 HEARING DEVICES'
    7 = '7 PROSTHESIS'
    8 = '8 BATHROOM AIDS'
    9 = '9 MEDICAL EQUIPMENT'
    10 = '10 DISPOSABLE SUPPLIES'
    11 = '11 ALTERATIONS/MODIFICATIONS'
    91 = '91 OTHER'
    ;
  VALUE $OMOTHOS (DEFAULT=25)
    "-9" = '-9 NOT ASCERTAINED'
    "-1" = '-1 INAPPLICABLE'
    '$50,000.00'               = '$50,000.00'
    'A LIGHT BOX'              = 'A LIGHT BOX'
    'ACUPUNTURE'               = 'ACUPUNTURE'
    'ARM SLING'                = 'ARM SLING'
    'BACK BRACE'               = 'BACK BRACE'
    'BANDAGES'                 = 'BANDAGES'
    'BANDAGES AND DRESSINGS'   = 'BANDAGES AND DRESSINGS'
    'BANDAGES, ALCOHOL'        = 'BANDAGES, ALCOHOL'
    'BANDAIDS'                 = 'BANDAIDS'
    'BATTERIES FOR HEARING AID'= 'BATTERIES FOR HEARING AID'
    'BLOOD PRESSURE MONITOR'   = 'BLOOD PRESSURE MONITOR'
    'BLOOD/SUGAR TESTER '      = 'BLOOD/SUGAR TESTER'
    'CANE'                     = 'CANE'
    'CANE FOR THE BLIND'       = 'CANE FOR THE BLIND'
    'CANE/CRUTCHES'            = 'CANE/CRUTCHES'
    'CAR AIDS  HEADRESRT'      = 'CAR AIDS  HEADRESRT'
    'CHAIR CUSHIONS'           = 'CHAIR CUSHIONS'
    'COCK UP WRIST BRACES'     = 'COCK UP WRIST BRACES'
    'CPAP  BREATHING DEVICE'   = 'CPAP  BREATHING DEVICE'
    'CPAP CONT POSITIVE AIR'   = 'CPAP CONT POSITIVE AIR'
    'CRUTCHES'                 = 'CRUTCHES'
    'DIAM'                     = 'DIAM'
    'ELASTIC STOCKINGS'        = 'ELASTIC STOCKINGS'
    'EXERCISE BANDS'           = 'EXERCISE BANDS'
    'FLU SHOT BY VISITING NURS'= 'FLU SHOT BY VISITING NURS'
    'HIGHER CHAIRS'            = 'HIGHER CHAIRS'
    'HUMIDIFIER'               = 'HUMIDIFIER'
    'IBUPROFIN MAIL ORDERED'   = 'IBUPROFIN MAIL ORDERED'
    'KITCHEN AIDES'            = 'KITCHEN AIDES'
    'KNEE BRACE'               = 'KNEE BRACE'
    'KY JELLY, CREAMS'         = 'KY JELLY, CREAMS'
    'LIFT CHAIR'               = 'LIFT CHAIR'
    'MAGNIFY.GLASS/VISUAL AIDE'= 'MAGNIFY.GLASS/VISUAL AIDE'
    'MED COMPRESSION STOCKINGS'= 'MED COMPRESSION STOCKINGS'
    'MOLDED EAR PLUGS SEE NOTE'= 'MOLDED EAR PLUGS SEE NOTE'
    'NEBULIZER'                = 'NEBULIZER'
    'NEBULIZER MASK & TUBING'  = 'NEBULIZER MASK & TUBING'
    'NECK BRACE'               = 'NECK BRACE'
    'OME FOR PROSTATE'         = 'OME FOR PROSTATE'
    'OPTIVISOR'                = 'OPTIVISOR'
    'OXXYGEN'                  = 'OXXYGEN'
    'OXYGEN'                   = 'OXYGEN'
    'PULMO AID THERAPY 6SYSTEM'= 'PULMO AID THERAPY 6SYSTEM'
    'RESPIRATOR'               = 'RESPIRATOR'
    'RETAINER'                 = 'RETAINER'
    'SHOE INSERTS'             = 'SHOE INSERTS'
    'SLING FOR ARM'            = 'SLING FOR ARM'
    'SPECIAL CLOTHING'         = 'SPECIAL CLOTHING'
    'STETHOSCOPE'              = 'STETHOSCOPE'
    'SURGICAL HOSE'            = 'SURGICAL HOSE'
    'SURGICAL STOCKINGS'       = 'SURGICAL STOCKINGS'
    'TELEPHONE LIFELINE'       = 'TELEPHONE LIFELINE'
    'VAPORIZER, BANDAIDS'      = 'VAPORIZER, BANDAIDS'
    'VAPORIZOR'                = 'VAPORIZOR'
    'WALKER'                   = 'WALKER'
    'WALKER WITH WHEELS'       = 'WALKER WITH WHEELS'
    'WHEEL CHAIR'              = 'WHEEL CHAIR'
    'WHEELCHAIR'               = 'WHEELCHAIR'
    'WRIST BRACE'              = 'WRIST BRACE'
    ;
  VALUE OMVA96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
     0 = '0'
    ;
  VALUE OMWC96H
    -9 = '-9 NOT ASCERTAINED'
    -8 = '-8 DK'
    -7 = '-7 REFUSED'
    -1 = '-1 INAPPLICABLE'
     0 = '0'
    ;

  VALUE PID
    000 - 999 = '000 - 999'
    ;

  VALUE VARPSU9F
    1 - 45 = '1 - 45'
    ;
  VALUE VARSTR9F
    1 - 140 = '1 - 140'
    ;

  VALUE WTDPER9F
    0='0'
    1099.062915 - 59109.005276 = '1099.062915 - 59109.005276'
    ;