Phone Number Retrieval

These phone statements allow you to retrieve a phone number in some manner.  They retrieve numbers that are not allowed by default, use a standard way of retrieving a phone number without displaying it, retrieve a phone number to be dialed by an automatic dialer, prompt for and retrieve a phone number and retrieve a phone number from a specific market.

NOTE: With some of these PHONE statements at least one of them is required.  You can have more than one of them within your spec but at least one is necessary.  They are marked as “Required”.

Valid Subtypes

  • Allow_To_Get_Record_Type
  • Get_From_Market (Required)
  • Get_Number (Required)
  • Get_Number_And_Dial (Required)
  • Get_Specific_Number (Required)

ALLOW_TO_GET_RECORD_TYPE

Shortform: !PHONE,ALLOW

ALLOW_TO_GET_RECORD_TYPE lets you get numbers that are not allowed by default when using a PHONE,GET_SPECIFIC_NUMBER to get specific numbers.

The PHONE,ALLOW_TO_GET_RECORD_TYPE must be specified before the PHONE,GET_SPECIFIC_NUMBER.

The syntax for PHONE,ALLOW_TO_GET_RECORD_TYPE is:

!PHONE,ALLOW_TO_GET_RECORD_TYPE,<type to get option>

Type To Get Options:

  • HIDDEN allows you to get hidden numbers using a “get specific number” prompt.
  • RESOLVED allows you to get numbers that have been resolved.
  • SPECIAL allows you to get numbers that usually require a special interviewer type to get. Once a number has been retrieved, it uses the existing information to determine what to do with the number next.
    • For Example, if you get a number that has already met the maximum number of calls, it will be returned to the resolved stack with a status 973 when you are done, if you do not get a complete.

NOTE: Once a PHONE,ALLOW_TO_GET_RECORD_TYPE has been executed, it stays in effect for the entire interviewing session. It is not turned off from interview to interview and is not turned off until you exit Survent.

GET_FROM_MARKET

Shortform: !PHONE,GETMKT

GET_FROM_MARKET is used to call a number in the market specified. This is used in conjunction with special interviewer types or specific interviewer IDs to have numbers from a particular market called by particular interviewers.

NOTE1: When using a PHONE,GET_FROM_MARKET statement, you do NOT need a prior PHONE,GET_NUMBER or PHONE,GET_SPECIFIC_NUMBER to retrieve the phone number.

The syntax for the PHONE,GET_FROM_MARKET question type is:

!PHONE,GET_FROM_MARKET,<label or location>

This works like the !PHONE,GET_SPECIFIC_NUMBER statement where you give it a two-digit data location, and it returns a code to the data which you use in case the number cannot be retrieved to determine what to do.

The values returned are as follows:

Value Description
BM Bad market name
M0 Current market weight is “0” for that market
NI No index file. This aborts the interview.
NO No more numbers
OA Number is owned by someone else.
SB Number is not valid (ie: too few digits)
SC Specific number completed
SD Number at dialer
SH Specific number is in hidden stack
SJ Specific number was in the BLOW stack
SN Specific number not found
SR Specific number resolved (but not completed)
SS Number for a special interviewer
SU Number currently in use by another interviewer
SW Specific number wrong record (bug somewhere)
SX Number not wanted on duplicates screen (reset and ask again)
SZ Specific number was in “Do Not Contact” stack
TA No number returned, but wait a while and try again later
<blank> Good phone record returned

NOTE2: To handle the situation of timed calls coming up from other markets (since they are not under the control of markets), you should pick up timed numbers and immediately reassign them to Holding Area (Bucket #9), which will put it back into its proper market and cause it to be called when the market weight is set above 0; make sure you have USE_HOLDING_AREA set to “yes” if you want to retrieve it today.

GET_NUMBER

Shortform: !PHONE,GETNUM

GET_NUMBER retrieves the phone number only but does not display it. This is the standard way to get a phone number.

If you place a PHONE,GET_SPECIFIC_NUMBER statement before the PHONE,GET_NUMBER, the program will prompt for a specific number to call when it sees the PHONE,GET_NUMBER.

GET_NUMBER_AND_DIAL

Shortform: !PHONE,GETNUMDIAL

GET_NUMBER_AND_DIAL retrieves a phone number to be dialed by an automatic dialer. This is so you can check quotas or such before sending the number to the dialer. Note: The difference between using PHONE,GET_NUMBER and PHONE,GET_NUMBER_AND_DIAL only affects studies running on a dialer in targeted mode.  Manual dialed and studies running on a dialer in predictive mode will behave the same regardless of which command you use.  In the case of manual mode, no dialer is involved, so the “dial” part of the command is ignored and in the case of predictive dialing either command tells the dialer to start dialing as only connected calls ever get back to Survent.

GET_SPECIFIC_NUMBER

Shortform: !PHONE,GETSPECIFIC

GET_SPECIFIC_NUMBER prompts for and retrieves a phone number. It is often useful to be able to get a specific phone number from the phone file, rather than one that the system automatically presents.

For Example, you may have 800 inbound lines set up for respondents to call in on at their convenience. The interviewer would then want to get that phone record when a particular person calls.

  • To get a specific number, you must have an indexed phone file and a PHONE,GET_SPECIFIC_NUMBER statement in your questionnaire.
  • When Survent encounters the PHONE,GET_SPECIFIC_NUMBER statement, a switch is set so that when a PHONE,GET_NUMBER_AND_DIAL or PHONE,GET_NUMBER statement is encountered, the interviewer is prompted for a number to get from the phone file.
  • If the interviewer presses Enter at this point, instead of entering a number, the system will get the next available phone number as if in usual mode.
  • If the phone system cannot find the requested number, the interviewer is asked to enter another.
  • If the number found is either hidden or being interviewed on, a message will print to that effect and the interviewer will have to try another number.
  • The same will occur if the number is resolved or owned by some other interviewer or interviewer type, unless other statements are in effect to override this.

The standard syntax for the PHONE,GET_SPECIFIC_NUMBER statement when it is used in conjunction with the PHONE,GET_NUMBER statement is:

!PHONE,GET_SPECIFIC_NUMBER,column,width,label or location

The “column,width” specification in this syntax tells the program what text to display from the phone file in case there are duplicate numbers to choose from. The duplicates are numbered on the screen and displayed for the interviewer to choose from. The idea is to display text such as their full name or address so the interviewer will know which record to choose.

Example:

{ XPHONE5:
!PHONE,GET_SPECIFIC_NUMBER,101,50 }

This will display 50 columns of phone text information starting in column 101. Up to 650 duplicate numbers will be offered to the interviewer, who will look at the phone text information displayed and pick the appropriate one. By default, the first 70 columns of the phone text are displayed.

When looking at a screen of duplicate numbers, numbers will be shown that are hidden or resolved (and so not available) but they will be marked as “(hid)” or “(res)” on the screen.

The <label or location> is used to get a phone number using your own question display instead of the standard display. This allows you to do the following:

  • You can put whatever text you want on a prior question when asking for the phone number.
    • NOTE: You can use the VARIABLE,PHONE_NUMBER_FORMAT question to get data in phone number format; that is, the interviewer can enter numbers in any of the formats ‘1- (xxx) xxx-xxxx’ or such, and the program will strip everything except the phone number itself from the response.
  • You can put phone numbers in a disk-based-response list in the questionnaire and have interviewers pick which phone number they want to call. When they pick the number, you give the disk-based-response question as the label of the phone number, and the PHONE,GET_SPECIFIC_NUMBER will retrieve that number. This way, the interviewer will avoid typing mistakes.
  • You can have two additional indices with the phone file to get numbers with. The indices may be from 5 to 20 characters wide. To get a number by an index value, use a question to get the name/address/etc. desired from the interviewer (using a response list or an open-end), then send that response as the entry to look for in the PHONE,GET_SPECIFIC_NUMBER. If the index value is not found, you will be prompted for a valid phone number as always. Whatever you use as the index must exactly match what is entered–you cannot use wild cards or subsets.
    • If you wish to prompt for another index value, see below.

If a  a two-digit location is specified on the PHONE,GET_SPECIFIC_NUMBER question label line, the program will search immediately for the number, rather than waiting for a subsequent PHONE question and will put a return code in the specified two-digit location.  The return code can then be interrogated to allow for more flexibility in what happens in the interview.

Example:

{ XPHONE5:  .2
!PHONE,GET_SPECIFIC_NUMBER,101,50,LastName }

 

The values returned are as follows:

Value Description
BM Bad market name
NI No index file. This aborts the interview.
NO No more numbers
OA Number is owned by someone else.
SB Number is not valid (ie: too few digits)
SC Specific number completed
SD Number at dialer
SH Specific number is in hidden stack
SJ Specific number was in the BLOW stack
SN Specific number not found
SR Specific number resolved (but not completed)
SS Number for a special interviewer
SU Number currently in use by another interviewer
SW Specific number wrong record (bug somewhere)
SX Number not wanted on duplicates screen (reset and ask again)
SZ Specific number was in “Do Not Contact” stack
TA No number returned, but wait a while and try again later
<blank> Good phone record returned

NOTE: Using the return code Example above, if a good number was not retrieved, you could RESET to the question asking for a name/address/etc. and try again.