Questions in an interview may be of several different kinds. One example is an open-ended question in which any response text can be entered, such as
``What is your profession?''Another example is a question that prompts for numeric data, such as
``How old are you?''
A numeric item may require an answer to be a single number, multiple un-related numbers, or multiple numbers whose values are related. In the last case the values may, for example, have to add up to 100.
Other questions may be single or multiple choice closed-form questions. The term `single-choice' refers to the selection of a single response from a series of possible responses, while `multiple-choice' refers to the selection of one or more responses from a series of possible responses. An example of a single choice question is
``Are you employed or unemployed?''Multiple-choice questions can result in between zero and as many answers as there are options. An example of a multiple choice question is
``Do you own any of the following items? ...''There are also non-question items, such as instructions to interviewers.
GEIS supports various types of questions by the use of different script item types. A complete list of all GEIS item types is in the file \GEIS\BIN\GEIS.TXT. The most commonly used item types are described below along with details on how the data they collect are stored.
For most item types, numeric or character variables are created within the ANSWERS data set. If only one variable is created it has the same name as the script item. Some item types store data in more than one variable, and these have the same name as the item with a number appended: QA1, QA2, QA3, ....
The most common types are discussed below.
Since the TITL item
does not form part of an interview
it is not referenced within the logic structure
of the script.
Mode | Meaning |
CATI | CATI - Computer Assisted Telephone Interview |
IVR | IVR - Interactive Voice Response: Outbound calls |
IVR_IN | IVR - Interactive Voice Response: Inbound calls |
SIVR_P | IVR - Inbound Hybrid method calls |
CASI | CASI - Computer-Assisted Self-Interview |
GEIS can perform any required calculation during the interview by inserting a CALC item within the script. The CALC calculation statements are equivalent to a small program inserted with the script. Standard SAS language statements can be used as long as only a single observation is output. By default, the calculation can consist of up to 50 lines, each of 200 characters. It is important that OUTPUT statements not be used within CALC items.
Figure 22 shows an example of calculation statements that might be included in a CALC item. When GEIS encounters a CALC item it automatically executes the following lines:
data DATACATI.COMBRESP; set DATACATI.COMBRESP;
It then executes the CALC item calculation statements. Finally, it terminates the data step:
RUN;
Normally the calculated value is stored as a numeric value in a single variable in the ANSWERS data set, called the item's primary variable, but additional variables can be created if needed within the calculation statements.
The primary variable must be assigned a value by the CALC item. The user is responsible for ensuring that this happens. This is required because GEIS will not allow the interviewer to move on the next item unless the current item has a value. Suppose a CALC item called, say QA, was defined in a script but it was not assigned a value by the CALC statements, then GEIS will stop when reaches the item during an interview and display the usual message obtained when it cannot jump to another item:
``QA[CALC] evaluates to missing! Report this error!''The interviewer will be able to move to the previous item but will not be able to move forward past this point. To avoid this the calculation statements should include a line similar to: QA=1.
``Are you employed or unemployed?''
The selected option is stored as a numeric code. Any numeric value may be used for the codes, but typical values are: 1, 2, 3, ....
Options may be set to handle Refusals and Don't knows. Refusals are coded using the code .R and Don't knows may be coded by local convention, but .K is suggested7.
By default, the CHCE allows up to 50 options. The CHCE option codes and their textual labels are defined in the script.
The LIST type allows an unlimited number of options, but the option codes and texts must be loaded from an external SAS data set at compile time. The LIST is intended for use for displaying long lists on the screen through which the interviewer can browse. For example, it may be used to display a long list of countries.
For both types formats8 are used to provide a simple means
of mapping the numeric codes to the textual responses.
However, if no format is defined the operation of GEIS will be unaffected.
The format may be defined by the user or
generated automatically by specifying the
_MAKE_
option.
``Last time, you said you were unemployed. Is this still the case?''
``In the previous interview, you reported your income as ^Prv_Incm^. Has your income increased, decreased, or stayed about the same?''
The LINK item type causes GEIS to import data from external data sets either when the script is compiled, called a static link, or just before the interview is to start, called a dynamic link.
The LINK item creates a variable in the ANSWERS with the same properties as the external data set variable that is imported. A single LINK item may import multiple variables from several data sets. For the first listed data set, if an external variable is not specified then it is assumed to have the same name as the LINK item.
The respondent's ID code is usually used to select which record in the external data sets to import. The external data set is searched for an ID variable. A search is then made for the respondent's ID code in the ID variable. The record holding the respondent's ID code is then locked and the specified variables for this record are then imported. Alternatively, a logical expression may be used to select the records to import.
There may also be a need for the data transfer to work in
the opposite direction; i.e. the current interview may
send data to external data set.
This is called external-updating10.
For example, it may count how many in a series of twenty CHCE items had a Don't Know response set. In the same way, the LCLV type can also be used to count how many of several MULT items have a particular level set.
Note that the level code specified in the LVLC item
refers to the code value specified in the
MULT or CHCE item definition.
Although the code value in CHCE
can be an integer, date, or time,
the level code in the LVLC item must be always
expressed as an integer.
When the FINAL data set is created (Section 9.3) the MULT variable is decomposed to a set of secondary variables, with one variable for each option. These variables contain `1' if the response option was selected, and `0' if not. Labels may be defined in the script for each of the secondary variables.
The length of the
name of a MULT item cannot exceed 6 characters,
but 5 is better. This becomes the name of the primary variable
in the ANSWERS data set. The secondary variables in
the FINAL data set are then named by
appending 1, 2, 3, ...to the name.
Formats are used to control how values appear on the screen. Informats are used to control entry of numeric data.
There are two types of range check limits that may be applied: absolute limits, used to catch impossible values; reasonableness limits, used to catch unlikely but possible values.
To assist in entering complex numbers, such as dates, a slider control appears on the interviewing screen underneath the data entry field. This only happens when both absolute limits are set.
Refusals are entered using the SAS special missing value: .R. This is a decimal point followed by a capital R. Don't knows may be recorded using any code, but .K is suggested11.
The NUM item only allows a single number to be entered. The NUMM item allows up to five numbers to be entered. For example, a NUMM item may be used to handle a question like:
``How long have you been employed?''where the answer may be given in any combination of days, weeks, months or years. In addition, logical constraints may be specified between the five numbers. For example, a possible constraint might be that the sum of the five fields' values must be 100.
If more than five numbers are required,
use the TABL item (page ).
Refusals and Don't knows may be recorded using a strings according to local convention, but ``REFUSED'' and ``DK'' are suggested.
The item's name cannot exceed 6 characters, but 5 is better.
The included script is inserted at the location
of the SCRP item, which it replaces.
SCRP items may be nested.
Since the SCRP item is replaced by the
inserted script, the item has no SPS (Self-Protection Statement) of its own.
``If you were given $100, how would you spend it on the following topics? ... [Multiple topics follow]''
A summary value is stored in a single variable and the values entered in the rows of the table are stored in separate variables. The summary value is determined by the VARSTAT option. For example, it could be the average or the sum of the rows. If only character data are to be entered then the primary column is set equal to the number of cells with character data. In the above example, the VARSTAT would be set equal to 100.
If a TABL item is called QA and has 10 rows, the primary column will be named QA and the secondary columns will be named QA1, QA2, ....
Overall absolute limits may be set for all rows or individual rows.
Some or all rows can be redefined as buttons. If a button is pressed the table will be blanked and the primary column will hold the value associated with the button.
Refusals are entered using the SAS special missing
value: .R.
This is a decimal point followed by a capital R.
Don't knows may be recorded using any code,
but .K is suggested13