What is the Household
Registration System (HRS)?
The Household Registration System is a new software program designed to function as a
template for generating Demographic Surveillance Systems (DSS) computer programs. The HRS
aims to facilitate the collection, management, and analysis of data generated by DSS.
What does it cost?
It is available free to researchers for noncommercial use. There are two versions:
HRS for DOS and HRS2 for use with FoxPro. They can be downloaded from the Web site of the
Population Council.
What kind of
surveys can be conducted with HRS2®?
The HRS2® is a computer system for the
automated generation of database software for longitudinal survival studies. The system
maintains a consistent record of significant demographic events that occur to a population
in a fixed geographic region. In addition, the HRS2 generates up-to-date registration
books that can be used by field workers. HRS sites currently are using the program for
research about acute respiratory infection, malaria and other diseases, health system
reforms, child survival, and reproductive health.
Why was this program
developed?
Critical research needs in the health sciences often require longitudinal population
studies, but launching and sustaining such studies often require technical assistance that
can be prohibitively expensive in developing countries. With support from the Thrasher
Research Fund, the Population Council developed the HRS to reduce the cost and complexity
of longitudinal research.
What are the differences
between the DOS-based version of the HRS and the Visual FoxPro version (HRS2)?
I believe that the HRS2 version is substantially better than the DOS version, for these
reasons:
- It is quite easy to change ID schemes.
- It can accommodate non-resident
individuals.
- It can keep track of many families in
one location.
- It can keep track of social groups
other than the family.
- It can accommodate many different types
of relationships in addition to marital relationships.
- Data entry is more user-friendly.
- Consistency checks are tied to the
datayou cannot bypass them by editing the data directly.
- Updates to tables are made in a
groupif any update
fails, none of the updates in a group will go through.
I suspect I have missed a few, but I
hope that the list is compelling enough for you to consider using the next version of the
HRS (HRS2).
The downside, of course, is that you
need to learn a new software system. I believe it is worth it.
How different is the
programming language in FoxPro5 from FoxPro 2.6?
It is quite different. There is an object-oriented architecture that
allows for the development of sophisticated user interfaces.
Database capabilities have also improved considerably with the addition of validation
checks attached to the fields and records of the database.
Will FoxPro 5 run my older
FoxPro 2.6 applications?
It willthere is an automated conversion programbut I was not pleased with the
results. Sometimes it drops the validation checks and it also buries the screens below
many layers of "containers."
How does Access compare
to FoxPro for the development of longitudinal systems?
Access is a very reasonable database system. Some of the automated builders/wizards are
very impressive. FoxPro should have more of these features. Although Access is appealing
from a number of perspectives, I have these reservations:
- Access is object-based but has no
inheritancewithout inheritance you need to cut and paste. Access does not have good
buffering capabilitiesthe key impact on our systems would be that the fields on
the screen will probably write directly to the database table (alternatively you can use
memory variables the old way). FoxPro buffering capabilities allow for storage in an
intermediate buffered area.
- In Access, you cannot add properties
or methods to screen controls (such as text boxes, command buttons, and the like).
- FoxPro has a true object-oriented
architecture and Access does not. The object-oriented architecture can be used to embed
error handling logic and consistency checking. It is very difficult to do this in an
elegant way in Access. Active-X controls or adding new events are ways to get around this
problem.
- Access's performance under large data
loads is reported to be marginal. I have heard this from more than one source, so I am
anxious to test the new system on a large number of records.
What are the steps
involved in making a transition from my current system to the HRS2?
My biggest concern is that projects
have the appropriate resources to make the HRS2 work for them. Here are some of the
required resources:
- A copy of Visual FoxPro, Version 5 or Version 6.
- Books and manuals. The documentation
manuals need to be purchased separately from the software. In addition, I recommend
the following books:
- The Fundamentals: Building
Visual Studio Applications on a Visual FoxPro 6.0 Foundation
Whil Hentzen. Edited by Doug
Hennig.
Hentzenwerke Press
ISBN 0-9655093-5-4
- Effective Techniques for
Application Development with Visual FoxPro 6.0
Jim Booth & Steve Sawyer, Ed. Steven P. Dingle
Hentzenwerke Press
ISBN 0-9655093-7-0
- Advanced Object Oriented
Programming with Visual FoxPro 6.0
Markus Egger, Ed. Mac Rubel
Hentzenwerke Press
ISBN 0-9655093-8-9
- Visual FoxPro 6 Enterprise
Development.
Paddock, Petersen, and Talmage,
Prima Publishing
ISBN 0-7615-1381-7
- any other Visual FoxPro books you find
interesting.
- At least one technical person.
This person should know some database program and be willing to learning Visual FoxPro.
- A plan to convert your existing data to
fit into the HRS2 format. I imagine that this will require some collaboration
between your group and me. I have been involved in converting data from three projects and
it does require patience and persistence. I have some tools to help us.
- Some adaptation/modification to fit
your project. This includes the addition of new fields, modifying screens, and the like.
- Once a version of the HRS2 is adapted
to your site, I recommend that you run the system in parallel to the old system to make
sure that it is working correctly. You should have a testing phase built into the
transition.
- The current documentation and technical
manual for the HRS2 is weak. As time permits, I will be improving this part of the
system.
How do you model the
population?
A paper that lays out the data model for the HRS2 can be found at:
http://indepth-network.org (click on Publications)
How do you handle the
recording of revisits to a household?
I see two solutions to the problem of recording revisitations
during a single round:
1) Field-based: Do not put the date of
visit until you actually interview the household. I believe that this is the appropriate
solution, but it may not be possible due to complications in the field operations.
- 2) Computer-based:
-
- a) Do you have the revisit date? If so,
then enter this date into the computer rather than the first visit date.
b) You could enter an amendmentadd an additional visit and then add the event. This
would require removing the rule that you can not have more than one visit per round. I can
help you do this if you choose this route.
How do you handle
migrations within the study where you do not know the ID of the internal migrant?
If you do not know the ID of the internal migrant, then Q is the
appropriate value for the recall ID. The system will then assign an ID to this person.
Later, when the ID is known, you edit the
recall ID, change from Q to the known value and save. This operation should change all the
ID values from the assigned ID to the value put into the recall ID field.
Could you tell me more about
INDEPTH?
INDEPTH (International Network of
Field Sites
with Continuous Demographic Evaluation of Populations and Their Health) is a global
network of DSS sites linked electronically. The group's Web site is dedicated to
longitudinal and health research.