# st: RE: nested loops for calculating a population 'at risk'

 From "Nichols, Austin" To "'statalist@hsphsun2.harvard.edu'" Subject st: RE: nested loops for calculating a population 'at risk' Date Tue, 7 Sep 2004 10:41:26 -0400

```Are you assuming that each birth record represents a woman who is 260 days
pregnant?  It's not at all clear how you back out number of days pregnant
from birth records... you would need dates of conception, and this is not a
1-1 map.  Assuming you've got date of conception, you can convert the dates
into number of days elapsed from 1 Jan 1960 (see -help datefcn- for useful
tools; the technique depends on your data) and loop through.  Maybe
something like:

. forvalues today = `list_of_all_relevant_dates' {
. count if (`today'-conception_date) >= 168 & (`today'-conception_date) <=
259
. replace gestation=r(N) if todays_date=`today'
. }
. bysort todays_date: drop if _N>1

-----Original Message-----
From: Sue Lee [mailto:Sue.Lee@lshtm.ac.uk]
Sent: Tuesday, September 07, 2004 10:19 AM
To: statalist@hsphsun2.harvard.edu
Subject: st: nested loops for calculating a population 'at risk'

hello,

i'm not exactly new to the list, but i've never posted a question
before.  i'm really stuck at the moment so i'm hopeful that someone may
be able to help...

basically, i have a large data set of births from 1 jan 1988 to 31 dec
2000.  each birth has its own record.  i would like to calculate the
number of women at a certain stage of pregnancy on any given day, say
between 24 and 37 weeks (which equals 168 to 259 days).

so, for example, to calculate the number of women on 1 Jan 1988 who are
at this stage of pregnancy, I figure I need to:
include all women on that day who are greater than 167 days, but less
than 259 days
+ all women on 2 Jan 1988 who are more than 168 days but less than 260
days
+ all women on 3 Jan 1988 who are more than 169 days but less than 261
days
+ all women on 4 Jan 1988 who are more than 170 days but less than 262
days,
etc   (repeat loop until max value of days is reached)
but I can't figure out how to translate this into stata code.

One of my big problems is that I have many records for each date (i.e.,
each baby born on 1 jan 1988 has a record for that day!) and I am
stumped on how deal with this in a loop.

I hope this makes sense and that someone is feeling generous enough to
help me figure this out!

Many thanks
Best wishes
Sue
PhD student
London School of Hygiene & Tropical Medicine
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```