The use of Computer Assisted Telephone Interviewing
(CATI) system in statistics is not new, pioneer
countries have been successfully deployed CATI
in data collection for many year. A CATI system
is basically a computer system that helps the
interviewers to ask questions over the telephone.
With this primary objective, different approach
has been adopted to built the system with different
level of sophistication in technologies and
This paper intends to review the experience
on the development of the CATI in the Census
and Statistics Department of Macau (DSEC) in
the year 1999. It explains the overall system
configuration, the software employed, the design
concept, and the implementation of the first
CATI survey. On the time of writing, the CATI
project is completed at its first phase, and
trial run has been started at July 1999.
2.1 System Diagram
Figure 1 - CATI system
There are two servers to support the CATI
operation. The first server is the database
server, it provides data and storage to the
CATI workstation, such as the CATI assignment,
the related master files, the log files etc.
The second server is the telephone server, this
server is installed with special voice/fax boards,
its function is to manage the telephone line,
such as dial out, hang up, voice record, telephone
conference, etc. The CATI workstation is normal
LAN workstation running Windows 95, they have
no any telephony equipment installed.
From the system diagram we can see that the
CATI agents (interviewers) are actually working
on two networks, one is the ordinary local network
to store and retrieve data, and the second is
the telephone network which deals with telephone
activities. Two networks are physically separated
but are logically connected. The CATI agents
run a front-end windows application on the PC
and use the headphone for the telephone interview.
The following steps show a typical CATI operation
and the underlying work flow:
The CATI agent retrieves
an assignment by clicking the <next> button
on the application screen;
According the priority
queue, the application retrieves the next
assignment from the database server and displays
it on the workstation screen;
The CATI agent reviews
the history of the assignment, and click the
The application issues
a TCP/IP message to the telephone server to
request a telephone call, the message includes
the telephone number to be dialled and the
extension number of the workstation;
The telephone server
receives the message and make the telephone
call, upon success of the phone call, the
workstation's extension will be connected
to the line and the interview starts. If the
call failed, the telephone server will send
back an error message to the workstation's
2.2 The telephone server
This is a Pentium PC running Microsoft NT.
It has been installed with two types of boards
to support the telephony functions. 1) the voice/fax
boards to connect the incoming telephone lines
and 2) the extension board to connect the headphone
of the CATI agent.
A program called the Ring!impact is
running on top of the NT to manage all the telephony
activities in the server. This software is a
general purpose Computer Telephony (CT) applications
development tool, its visual programming interface
(Figure 2) allows programmers to construct CT
applications by simply connecting pieces of
program blocks. A pascal-style programming
language called Ring!Talk is employed
in the Ring!,providing certain level
of flexibility in building CT applciations.
Figure 2 - Ring!impact
One advantage of using the Ring! to
develop the CATI system is the save of development
time since most of the basic telephony functions
required by the CATI system are build-in. Another
advantage is that the same CATI computer system
can be used to develop other telephony projects
easily, like the Interactive Voice Reponse (IVR)
system, fax-on-demand, or voice-mails etc.
Drawback on using this software is that it
is not a true SDK, programs written on Ring!
are imposed certain limitations of driving the
voice boards, this limits the functions that
the CATI system can has. Another drawback is
that Ring! is a single task environment, at
any one time it only allow one program running
on the server, this create problem if we want
to divide the lines/ports to serve two different
applications - we have to merge the programs
of two applications into a single one in order
to have the services on the same time.
2.3 The database server
It is a normal NT server with MS-SQL server
installed. All CATI data are saved in this database
system for subsequent processing. Front-end
applications work with the SQL server in a 2-tier
client/server mode. This online approach allows
easy management of CATI assignment, monitoring
of progress and exchange of data.
2.4 CATI workstation
CATI workstations are normal PCs connected
to LAN, no telephone card or modem cards are
installed on them. The headphones for the CATI
agent are connected to the telephone network,
not on the PC.
In order to provide more working space on the
desktop, colour monitors are replaced by flat
LCD displays for all the CATI workstations.
This is good for the CATI agents as they will
have to drop down notes or deal with documents
during telephone interview.
The CATI Application Design
Since the uses of CATI are expected to be
extended to several projects, so the primary
design goal is to build a flexible system that
can be easily plugged-in different surveys.
Under this principal, a three-layers structure
of application design is made. These three logical
layers are 1) the CATI library, 2) the CATI
application, and 3) the survey application.
All programs on the client side are developed
in Delphi 4.
3.1 The CATI Library
The CATI Library is a set of functions developed
to handle the telephony functions. It acts as
the interface between the application program
and the telephone server. Upon receiving function
calls from the client application, the library
generates TCP/IP message to the telephone server
to trigger the desired action.
Below are example of the library functions
Make phone call
Silent monitoring of an
Hang up the phone
Return to workstation status
Join the conference group
Return the status of the
Hold the line in wait status
Alter supervisor for assistence
3.2 The CATI Application
This is the basic module of a CATI application.
Inside this module all CATI functions has been
coded, only left an windows opened for plugging
in new questionnaire.
Figure 3 - CATI Application
The buttons on the right are the standard
functions that a CATI application will have
for any establishment related survey, these
Next Case [F2]
Get the next assignment from the queue
Make the phone call
Make the appointment with the respondent
Information of the establishment for
Bring up the questionnaire for interview
Fill the interview result
Playback the pervious voice records
of the interviews
Find a particular establishment
Save whatever have been changed
Leave the program
This CATI application will only works with
the supporting tables like the Assignment table,
the Establishment master table, and the log
table etc.. The handling of survey questionnaire
will be the responsibility of the survey application.
3.3 The Survey Application
With the skeleton of the above mentioned
CATI application, survey applications can be
easily built. One great feature found in Delphi
is called Form Inheritance, this
feature allows the programmer to build a new
form(screen) based on a previously developed
one, it is not copy of the previous one,
but inherit from the previous one. Copy
and inherit make a significant difference
in terms of programming: inherited form will
carry the characteristic of the master form,
if sometime has been changed or added to the
master form, the inherited forms will automatically
have these changes or new functions.
Form Inheritance is the way that
the CATI application is built, all the CATI
telephony functions are built into the master
forms, and the survey applications inherit these
functionality and implement their own business
The following screen show a form inherited
from the CATI master form.
Figure 4 - Establishment
The Vacancy and Remuneration Survey (D7TR)
D7TR is the first trial project running on
CATI in DSEC. It is a quarterly survey to collect
data of labour market with a sample size of
about 800 establishments. In order to update
the central establishment database, this survey
also has the function of establishment verification.
According to the new plan, all establishments
will be interviewed for every 1.5 year, it means
a total number of around 4000 establishment
will be interviewed each quarter. As the size
of the sample has been increased significantly,
new method of data collection was studied. Finally,
the CATI approach was chosen for this survey.
Figure 5 - Vacancy and
Figure 6 - CATI screen
for the questionnaire of the Vacancy and Remuneration
Paper questionnaires are first sent to the
respondents, and a CATI follow-up is started
three days after mailing to confirm the receipt
of questionnaire. According to the size and
characteristic of the establishment, different
groups are defined in the CATI assignment list.
Some large companies are not included in telephone
interview as personal interview conducted by
field agent is preferred.
Figure-6 shows the data entry screen of the
project. The screen is basically identical to
the paper questionnaire. Each row and column
is marked with a clear identification number
to help communication during telephone interview.
Since the CATI workstation has online access
to the database, some enhanced validation function
Retrieve classification code by filling
in a part of the description, such as
street code, ocupation code etc.
Multiple range and cross checks are
programmed into the data entry to minimise
possible human errors.
Inputted data will be immediately validated
with the data collected in last quarter,
exaggerated difference will generate warning
to the CATI agent for immediately clarification.
Due to the very tight manpower for program
development, the development of the CATI system
for the phase I can only included those basic
functions mentioned in the previous session.
In phase II, the following CATI functions will
Incoming call queue
Incoming call transfer
It is foreseeable that CATI will become an
important means for data collection in DSEC,
and we are optimistic that this new technology
will eventually improve the quality of our statistic
Census and Statistic Department of Macau
26 June 1999