[Babase] Change record of sexual cycle design documentation

Karl O. Pinc babase@www.eco.princeton.edu
Wed, 09 Feb 2005 16:32:24 +0000


Hi,

Susan reminded me that it's useful to see what's changed between
the old document and the new.

Here are the changes between what I sent now and what I sent
last time.  The format is called "unified diff".  One of the
things is says is which line numbers have changed in the
old document and the new.  As I cut-and-pasted from the
real document to send the email, I didn't send the
entire file, the line numbers won't be so useful.

The intention here is to give you a clue of what parts
of the document to look at if you want to ignore
the stuff that was left untouched.

We can do more than line-by-line changes when we get
around to producing spiffy output, but this is the
quick way.

The quick summary of how to read it is:

Look at the first character of each line.

If it begins with a space, the line is the same in the old
and the new files.

If it begins with a -, this line was removed from the
old file (to make the new file).

If it begins with a +, the line was added to the new
file.

So, unified diff reports a line change as a deletion of the
old line followed by an insertion of the new line.

So, If I start with a document that looks like.

foo
bar

And I change it to.

foo
Bar
baz

You'll see a diff that looks like:

 foo
-bar
+Bar
+baz

I include the detailed description of the unified diff format
followed by by the changes I made to the document.

For more info see:
http://www.gnu.org/software/diffutils/diffutils.html


Karl <kop@meme.com>
Free Software:  "You don't pay back, you pay forward."
                 -- Robert A. Heinlein


--------------<snip>-----------
Detailed Description of Unified Format
......................................

   The unified output format starts with a two-line header, which looks
like this:

     --- FROM-FILE FROM-FILE-MODIFICATION-TIME
     +++ TO-FILE TO-FILE-MODIFICATION-TIME

The time stamp looks like `2002-02-21 23:30:39.942229878 -0800' to
indicate the date, time with fractional seconds, and time zone.

   Next come one or more hunks of differences; each hunk shows one area
where the files differ.  Unified format hunks look like this:

     @@ FROM-FILE-RANGE TO-FILE-RANGE @@
      LINE-FROM-EITHER-FILE
      LINE-FROM-EITHER-FILE...

   The lines common to both files begin with a space character.  The
lines that actually differ between the two files have one of the
following indicator characters in the left print column:

`+'
     A line was added here to the first file.

`-'
     A line was removed here from the first file.

--------------<snip>------------------
* looking for kop@meme.com--2004/babase--devel--2.0--patch-386 to  
compare with
* comparing to kop@meme.com--2004/babase--devel--2.0--patch-386
A  {arch}/babase/babase--devel/babase--devel--2.0/kop@meme.com--2004/ 
patch-log/patch-387
M  doc/BabaseSystem.txt

* modified files

--- orig/doc/BabaseSystem.txt
+++ mod/doc/BabaseSystem.txt
@@ -550,11 +550,10 @@

 This table records pregnancies.  It contains one row for each recorded
 pregnancy.  A pregnancy is defined to be an event occurring to some
-mother, even though we may not know who the mother is.  A single
-pregnancy could result in more than one fetus.  The only time there
-will not be an associated BIOGRAPH row is when the pregnancy is still
-in progress, otherwise there will always be a BIOGRAPH row which
-records the progeny of the pregnancy.
+mother, a single pregnancy could result in more than one fetus.  The
+only time there will not be an associated BIOGRAPH row is when the
+pregnancy is still in progress, otherwise there will always be a
+BIOGRAPH row which records the progeny of the pregnancy.

 The conception sexual cycle dates (Conceive) of the pregnancy should
 not be later than the birth date value (Birth) of the associated
@@ -574,39 +573,36 @@

 Data Entry Rules

-This table is updated with the regular FoxPro data maintenance tools.
-See section 2.0 in the Protocol for Data Management: Amboseli Baboon
-Project document.
+No special program supports the maintenance of this table.

 Data Element Descriptions

 Pid

 The contents of this column uniquely identifies the pregnancy record.
-When the mother is known, the Pid is the mothers Sname followed by the
-parity.  When the mother is not known, the Pid is the Sname of the
-individual that the pregnancy produced.  Because the Pid is only used
-to identify the record, it is not necessary to change the Pid just
-because the parity of the pregnancy is found to have changed.  In
-general, once a unique Pid is established, it should not be changed.
-When retrieving data from this table, do not assume anything about the
-contents of this column except that it will uniquely identify a
-pregnancy.  Use the female associated with the ovulation (through
-Conceive) to obtain the mother, and the Parity column to obtain
-meaningful information on mother and parity.
-
-This column should not be blank.
+The Pid is the mothers Sname followed by the parity.  Because the Pid
+is only used to identify the record, it is not necessary to change the
+Pid just because the parity of the pregnancy is found to have changed.
+In general, once a unique Pid is established, it should not be
+changed.  When retrieving data from this table the safe approach is to
+assume nothing about the contents of this column except that it will
+uniquely identify a pregnancy.  Although it is true that the
+non-numeric portion of the PID is the mother's Sname, care must be
+taken because, for instance, an Sname may (and at least one does) end
+with a space.  The safe way to obtain the bearer of the pregnancy is
+to find the female associated with the ovulation by joining PREGS.
+Conceive with CYCLES.Csid to find CYCLES.Sname.  Likewise, the Parity
+column should always be used to obtain a meaningful parity value.

 Parity

+(This use of 100, etc. in this column is under review.)
 The cardinality of the pregnancy.  1 for a female's first pregnancy, 2
 for a female's second pregnancy, and so forth.  There should be no
 'gaps' in the pregnancies, sequenced by Parity, of any female.  When
 the first pregnancy is known, the Parity sequence begins with 1.  When
 the first pregnancy is not known, the Parity sequence begins with 101.

-This column should not be blank.
-
 Conceive

 The information recorded on the sexual cycle of the conception which
@@ -614,21 +610,20 @@
 mother.  The associated CYCLES row should contain a Ddate value to
 record the date of conception.  The dates of the associated CYCLES
 record, when dates are present, should be should be between the sexual
-maturity date and the death date of the mother.  When this column is
-not blank, it should contain a unique datum. This column should not be
-blank.
+maturity date and the death date of the mother.  This column should
+contain a unique datum.

 When the date of conception is estimated because there is no sexual
 cycle data, the conception date recorded should be 178 days before the
 recorded birthday.

-Resume
+Resume (NULL allowed)

 The resumption of cycle information of the first cycle following the
 pregnancy.  This is the Cid of a row in CYCLES.  The associated CYCLES
 record will usually not have a resumption of menses date.  This column
-may be blank for those cases when resumption of cycle information is
-not known.  When this column is not blank, it should contain a unique
+may be NULL for those cases when resumption of cycle information is
+not known.  When this column is not NULL, it should contain a unique
 datum.


@@ -642,14 +637,14 @@
 else about when this occurred.  These children will have a pregnancy
 record, which will be associated with the sexual cycle of conception,
 and the CYCLES row will contain an estimated conception date.  (See
-the PREGS Conceive documentation above.)  The table also includes rows
+the PREGS.Conceive documentation above.)  The table also includes rows
 that record estimated conception dates.  Each of these rows are
 associated with a pregnancy record and can be classified as estimated
 by examining the earliest possible deturgesence date (Eddate) and
-latest possible deturgesence date (Ddate) values.
+latest possible deturgesence date (Lddate) values.

 Because every female that has reached sexual maturity should have a
-maturation date (Matured) in BIOGRAPH, with a corresponding row for
+maturation date (Matured) in MATUREDATES, with a corresponding row for
 the first sexual cycle, the sexual cycle with a sequence (Seq) of 1
 should be the female's first sexual cycle and should not, in general,
 have a onset of menses date (Mdate).
@@ -663,7 +658,7 @@
 not an observed onset of menses date, and the estimated onset of
 menses date falls within a period of continuous observation, and there
 is a prior deturgesence date (Ddate) in the immediately preceding
-sexual cycle.  (See SEEDS.)  The calculated Mdate falls on the 13th
+sexual cycle.  (See GAPS.)  The calculated Mdate falls on the 13th
 day after the preceding deturgesence date, unless the turgesence date
 (Tdate) falls within this time period in which case the calculated
 Mdate is set to the day of the turgesence date.  Estimated onset of
@@ -700,12 +695,11 @@

 A numeric identifier unique to each menses/turgesence/deturgesence
 cycle.  This is used to reference the cycle elsewhere in the database.
-This column should not be blank.

 Sname

 The short name of the female.  This column should contain the Sname of
-a female in BIOGRAPH.  This column should not be blank.
+a female in BIOGRAPH.

 Series

@@ -718,7 +712,7 @@
 the female resumes the Series number is incremented and the female's
 subsequent CYCLES rows are given a Series value of 2.  Additional
 breaks in observation result in further increments.  The initiation
-and cessation of observation should be recorded in the SEEDS table
+and cessation of observation should be recorded in the GAPS table
 and there should be a row there to record every Series endpoint,
 menarche and disappearance or death excepted.

@@ -727,8 +721,8 @@

 Seq

-Sequence.  The first sexual cycle of a female has a Seq value of 1,
-the second a value of 2, etc.  There are no gaps in the sequence
+Sequence.  The first recorded sexual cycle of a female has a Seq value
+of 1, the second a value of 2, etc.  There are no gaps in the sequence
 numbers assigned to a female.  Even when records of cycles are
 missing, the first recorded cycle after the missing period has a
 sequence one greater than the last recorded cycle before the missing
@@ -740,91 +734,89 @@
 The value in this column is not user maintainable, the system
 automatically generates the value.

-This column should not be blank.
-
-Mdate
+Mdate (NULL allowed)

 Onset of menses date.  Only one of these date values may be before the
 individual's onset of first menses date (Matured), and all should be
-on or before the individual's Statdate.  This column may be blank when
-this date is not known.
+on or before the individual's Statdate.  This column may be NULL when
+this date is not known or cannot be estimated.

-Emdate
+Emdate (NULL allowed)

 Earliest possible onset of menses date.  Only one of these date values
 may be before the individual's puberty date (Matured), and all should
 be on or before the individual's Statdate.  When the menses is
 observed, this value should be the same as the Mdate value.  This
-column may be blank when this date is not known, either because the
+column may be NULL when this date is not known, either because the
 Mdate is not known or because the accuracy of the Mdate is not known.

-Lmdate
+Lmdate (NULL allowed)

 Latest possible onset of menses date.  Only one of these date values
 may be before the individual's puberty date (Matured), and all should
 be on or before the individual's Statdate.  When the menses is
 observed, this value should be the same as the Mdate value.  This
-column may be blank when this date is not known, either because the
+column may be NULL when this date is not known, either because the
 Mdate is not known or because the accuracy of the Mdate is not known.

 EstM

 A boolean value indicating whether or not the M date was
 the result of observation or whether it was calculated from the Ddate
-value.  'Y' means the value was calculated, 'N' means it was not.
+value.  TRUE means the value was calculated, FALSE means it was not.

-Tdate
+Tdate (NULL allowed)

 Onset of turgesence date.  This date should be between the
 individual's puberty date (Matured) and Statdate, inclusive.  This
-column may be blank when this date is not known.
+column may be NULL when this date is not known.

-Etdate
+Etdate (NULL allowed)

 Earliest possible onset of turgesence date.  Only one of these date
 values may be before the individual's puberty date (Matured), and all
 should be on or before the individual's Statdate.  When the onset of
 turgesence is observed, this value should be the same as the Tdate
-value.  This column may be blank when this date is not known, either
+value.  This column may be NULL when this date is not known, either
 because the Tdate is not known or because the accuracy of the Tdate is
 not known.

-Ltdate
+Ltdate (NULL allowed)

 Latest possible onset of turgesence date.  This date should be between
 the individual's puberty date (Matured) and Statdate, inclusive.  When
 the onset of turgesence is observed, this value should be the same as
-the Tdate value.  This column may be blank when this date is not  
known,
+the Tdate value.  This column may be NULL when this date is not known,
 either because the Tdate is not known or because the accuracy of the
 Tdate is not known.

-Ddate
+Ddate (NULL allowed)

 Date of onset of deturgesence.  This date should be between the
 individual's puberty date (Matured) and Statdate, inclusive.  This
 column may be blank when this date is not known.

-Eddate
+Eddate (NULL allowed)

 Earliest possible onset of deturgesence date.  Only one of these date
 values may be before of the individual's puberty date (Matured), and
 all should on or before the individual's Statdate.  When the onset of
 deturgesence is observed, this value should be the same as the Ddate
-value.  This column may be blank when this date is not known, either
+value.  This column may be NULL when this date is not known, either
 because the Ddate is not known or because the accuracy of the Ddate is
 not known.

-Lddate
+Lddate (NULL allowed)

 Latest possible onset of deturgesence date.  This date should be
 between the individual's puberty date (Matured) and Statdate,
 inclusive.  When the onset of deturgesence is observed, this value
-should be the same as the Ddate value.  This column may be blank when
+should be the same as the Ddate value.  This column may be NULL when
 this date is not known, either because the Ddate is not known or
 because the accuracy of the Ddate is not known.


-SEEDS
+GAPS

 Records of the initiation and cessation of continuous periods of
 observation during which a female's cycles are, presumed, to all have
@@ -835,18 +827,21 @@
 observational periods or that represent isolated single days of
 observation must have a value in the State column.  All other rows,
 those with a code of 'E' that represent the end of an observational
-period, may not have a value in the State column.
+period, must not have a value in the State column.

 This table is used to construct the reproductive state tables,
 REPSTATS and CYCSTATS.

+The combination of Sname and Date is unique.
+
+
 Data Entry Rules

 We'll figure something out.

 Data Element Descriptions

-Sid
+Gapid

 A number which uniquely identifies each row.

@@ -868,15 +863,19 @@
 The date upon which observations began or ended.  Observations were
 made on the given date.

-State
+State (NULL allowed)

 The state of the female's sexual cycle on the given date.  Valid
-values are: 'M', follicular phase 1 -- mdate (inclusive) to tdate
-(exclusive); 'F', follicular phase 2 -- tdate (inclusive) to 6 days
-prior to ddate (inclusive); 'O', ovluating -- 5 days prior to ddate
-(inclusive) to ddate (exclusive); 'L', luteal -- ddate (inclusive) to
-mdate (exclusive); 'P' pregnant -- ddate (inclusive) to birth
-(exclusive); 'A', lactating -- birth (inclusive) to mdate (exclusive).
+values are: 'M', menses, follicular phase 1 -- Mdate (inclusive) to
+Tdate (exclusive); 'S', swelling, follicular phase 2 -- Tdate
+(inclusive) to 6 days prior to Ddate (inclusive); 'O', ovulating -- 5
+days prior to Ddate (inclusive) to Ddate (exclusive); 'D',
+deturgesence, luteal -- Ddate (inclusive) to Mdate (exclusive); 'P'
+pregnant -- Ddate (inclusive) to birth (exclusive); 'L', lactating --
+birth (inclusive) to Mdate (exclusive).
+
+Must not be NULL when Code is 'S' or 'P', must be NULL when code is
+'E'.  See discussion in the table description above.


 CYCPOINTS
@@ -981,12 +980,10 @@

 A numeric identifier identifying each sexual cycle.  It is unique
 across all cycles of all females.  A cycle is defined to begin with
-onset of menses, encompass the turgesence and deturgesence  
transitions, and
-end the day before the next onset of menses.  Cycles that 'start' late  
or
-'stop' early, that contain faux transitions, include the faux
-transitions in the cycle.  Note that some cycles may only contain a
-single CYCPOINTS row, that is, the Cid value may be unique to a single
-CYCPOINTS row.
+onset of menses, encompass the turgesence and deturgesence
+transitions, and end the day before the next onset of menses.  Note
+that some cycles may only contain a single CYCPOINTS row, that is, the
+Cid value may be unique to a single CYCPOINTS row.

 Seq

@@ -1033,12 +1030,6 @@
 Each female begins with a series of 1 and and series is incremented
 with each interruption in regular observation.

-EstM
-
-A boolean value indicating whether or not the M date was
-the result of observation or whether it was calculated from the Ddate
-value.  'Y' means the value was calculated, 'N' means it was not.
-

 SEXSKINS.DBF (Sexskin turgescence measurements)
 This table records information on the size of the females? sexskins.   
It contains one row
@@ -1428,22 +1419,21 @@

 REPSTATS

-(REProductive STATus) Contains one row per female per day from post
-menarche date, when menarche is observed, through date of death
-(inclusive).  When menarche is unobserved then REPSTATS rows begin on
-a 'seed' date supplied by the user.  (See SEEDS.)  While the
-individual is alive the last date is either the statdate or the last
-recorded sexual cycle endpoint, which ever is later.  End of cycle
-dates are T (turgesence onset) date or end-of-pregnancy date.  The
-day-by-day nature of this table makes it easy to correlate sexual
-cycle information with other events.
+(REProductive STATus) Contains one row per female per day for every
+day during continuous observation periods from date of menarche
+through date of death (inclusive).  When menarche is unobserved then
+REPSTATS rows begin on a beginning of observation date.  Likewise, the
+cessation or resumption of observation interrupts or resumes the
+contiguous series of the females REPSTATS' dates. (See GAPS.)  While
+the individual is alive the last date is either the BIOGRAPH.Statdate
+or the last recorded sexual cycle endpoint, which ever is later.  End
+of cycle dates are (exclusive of both) M (menses onset) date or
+end-of-pregnancy date.  The day-by-day nature of this table makes it
+easy to correlate reproductive cycle information with other events.

 Note that because of gaps in the observational record some sexual
-cycles may not be recorded, or may be partially recorded.  Therefore
-the Din and Dr column values cannot be accepted without critical
-examination because they reflect recorded values and so may indicate
-over-long cycle times when the information in the database is
-incomplete.
+cycles may not be recorded, or may be partially recorded.  In these
+cases the Din and Dr columns are NULL.  (See below.)

 See CYCSTATS for more fertility detail.

@@ -1453,73 +1443,65 @@
 This table is not maintainable by the user.  The system constructs
 this table automatically from the data values recorded in the CYCLES
 table, the BIOGRAPH.Status and BIOGRAPH.Statdate columns, and the
-SEEDS table.
+GAPS table.


 Data Element Descriptions

 Rid
+
 A unique number which serves to identify the row.

 Date
+
 The row records a female's reproductive state on this day.

 Sname
+
 The Sname identifying the female whose reproductive state is recorded.
 (See BIOGRAPH.)

 State

-General reproductive state of the female on the Date given.  The legal
-values are: P (pregnant), from the D (deturgesence onset) date through
-the end-of-pregnancy date (inclusive of endpoints). C (cycling), from
-(including) the T (turgesence onset) date up to (but not including)
-the T date of the following cycle, or in the case of pregnancy, up to
-(but not including) the D date. L (lactating), from (but not
-including) the end-of-pregnancy date to (but not including) the next
-T date. Note that post menopausal individuals have a state of C, or
-possibly L if the last cycle resulted in a pregnancy.
+General reproductive state of the female on the given Date.  The legal
+values are: C (cycling), from (including) the T (turgesence onset)
+date up to (but not including) the T date of the following cycle, or
+in the case of pregnancy, up to (but not including) the D date. P
+(Pregnant), from (including) the D (deturgesence onset) date up to
+(but not including) the end-of-pregnancy date, date of birth,
+abortion, or death.  L (lactating), from (including) the
+end-of-pregnancy date to (but not including) the next T date. Note
+that post menopausal individuals have a state of C, or possibly L if
+the last cycle resulted in a pregnancy.

 Dins (NULL allowed)
+
 (Days INto State) The number of days since the state started.  The
 first day of the state has a value of 1, the next a value of 2, etc.

 This column is NULL when the system cannot determine when the state
-began.  This occurs when the starting date of a female's cycle is
-obtained from the SEEDS table.
+began.  This occurs when the beginning of the reproductive state
+occurs during a period when the individual is not under regular
+observation.  (See GAPS.)

-See the table description above for caveats regarding the accuracy of
-this column.

 Dr (NULL allowed)
+
 (Days Remaining) The number of days remaining in the state.  The last
 day of the state has a value of 0, the next to last day a value of 1,
 etc.  Note that the sum of Dins and Dr is always the total number of
 days the cycle spent in the state.

 This column is NULL when the system cannot determine when the state
-ends because data remains to be entered.  This occurs under the
-following conditions: When there is a record of the start of a
-pregnancy but no record of the pregnancy's end.  (Birth, death of the
-mother, abortion, etc. end the pregnancy.)  When the end of the state
-is set based upon BIOGRAPH.Statdate and BIOGRAPH.Status indicates the
-individual is still alive.
-
-See the table description above for caveats regarding the accuracy of
-this column.
-
-Cids
-(Census IDentifier at Start of cycle) The Cid of the CENSUS row which
-records the beginning of the cycle.  (See CENSUS table.)
-
-Cide (NULL allowed)
-(Census IDentifier at End of cycle) The Cid of the CENSUS row which
-records the end of the cycle.  NULL for the last cycle of an
-individual.  Note that a NULL does not necessarily mean the individual
-is post-menopausal, it may simply indicate that the individual has had
-no further data entry performed.
+ends.  This occurs when the end of the reproductive state was not
+observed due to cessation of regular observation.  (See GAPS.)  It
+also occurs while the individual is alive and the state has not ended,
+or rather when the observations of the state have not been entered
+into the system.  Finally, it occurs when the individual dies as it is
+not known when the state would have ended.
+
+Pid (NULL allowed)

-Pid
 (Pregnancy IDentifier) The Pid of the pregnancy associated with the
 state.  This value must be present when the state is P or L.  There is
 also a Pid value for those C cycles that result in pregnancy.  (See
@@ -1530,20 +1512,34 @@

 (fertility CYCle STATus) Contains one row per female per day, for
 those days in REPSTATS where the REPSTATS Status is C (cycling.)  This
-is a day-by-day record of the details of the females' fertile
-cycles. Where data on a portion of the female's cycles is missing
-there will be "gaps" where there are no rows for a female for a
-sequence of dates.  Missing Mdate, Tdate, or Ddate values in CYCLES
-cause gaps.  When there is no data on entire cycles, .i.e. some cycles
-are not recorded in CYCLES rows, there will not be a gap, but there
-will be long cycles that span the entire interval.
+is a day-by-day record of the details of the females' fertile cycles.
+The day-by-day nature of this table makes it easy to correlate sexual
+cycle information with other events.  Where data on a portion of the
+female's cycles is missing there will be "gaps" where there are no
+rows for a female for a sequence of dates.  Missing Mdate, Tdate, or
+Ddate values in CYCLES cause gaps.  When there is no data on entire
+cycles, .i.e. some cycles are not recorded in CYCLES rows, there will
+not be a gap, but there will be long cycles that span the entire
+interval.
+
+Note that post-menopausal individuals' final cycles will have a State
+of D and a long duration, with the individual's date of death being
+the last day of the cycle.
+
+When the end of S (swelling, follicular phase 2) cycle state is not
+known, that is Dr (days remaining in state) is NULL, some of the
+computed Din (days into state) values may be skewed as the end of the
+state is counted backward from the beginning of the D date, the next
+observed transition marker.  See the information on the calculation of
+the O (ovulatory) state below.
+

 Data Entry Rules

 This table is not maintainable by the user.  The system constructs
 this table automatically from the data values recorded in the CYCLES
 table, the BIOGRAPH.Status and BIOGRAPH.Statdate columns, and the
-SEEDS table.
+GAPS table.


 Data Element Descriptions
@@ -1561,88 +1557,59 @@
 State

 Categorizes the period within the reproductive cycle.  Legal values
-are: F (follicular), the T (turgesence onset) date through 6 days
-before the D (deturgesence onset) date (inclusive of endpoints.)  O
-(ovulating), from 5 days before the D date through the day before the
-D date (inclusive of endpoints.)  L (luetal), from the D date through
-the day before the T date (inclusive of endpoints.)  Note that
-post-menopausal individuals' final cycles will have a status of L and
-a long duration, with the individual's date of death being the last
-day of the cycle.
+are: M (menses, follicular phase 1), the M (onset of menses) date to
+the day before the T (turgesence onset) date (inclusive of endpoints);
+S (swelling, follicular phase 2), the T date through 6 days before the
+D (deturgesence onset) date (inclusive of endpoints); O (ovulating),
+from 5 days before the D date through the day before the D date
+(inclusive of endpoints); D (deturgesing, luteal), from the D date
+through the day before the M date (inclusive of endpoints).
+
+Dins (NULL allowed)

-Dins
 (Days INto State) The number of days since the state started.  The
 first day of the state has a value of 1, the next a value of 2, etc.

-Dr
+This column is NULL when the system cannot determine when the state
+began.  This occurs when the cycle is the female's first cycle, as
+there is no menses to begin the cycle, and likewise for the first
+cycle after pregnancy.  The cycle's starting date is also unknown when
+it occurs during a period when the individual is not under regular
+observation.  (See GAPS.)
+
+Dr (NULL allowed)
+
 (Days Remaining) The number of days remaining in the state.  The last
 day of the state has a value of 0, the next to last day a value of 1,
 etc.  Note that the sum of Dins and Dr is always the total number of
 days the cycle spent in the state.

-Cids
-(Census IDentifier at Start of cycle) The Cid of the CENSUS row which
-records the beginning of the cycle.  (See CENSUS table.)
-
-Cide
-(Census IDentifier at End of cycle) The Cid of the CENSUS row which
-records the end of the cycle.  0 (empty) for the last cycle of an
-individual.  Note that a 0 does not necessarily mean the individual is
-post-menopausal, it may simply indicate that the individual has had no
-further data entry performed.
-
-
-SEEDS (sexual cycle SEED data)
-
-This table contains one row for every female that is post menarche but
-who's menarche was not observed and recorded.  It is used to provide
-estimates of menarche date.
-
-(Comment: Why don't we use a female's BIOGRAPH.Matured date (now
-MATUREDATES.Matured in the new design)
-instead?  If we do use MATUREDATES.Matured, how will we tell when a
-discrepancy between that date and the first CYCLES.Mdate is an error
-and when it means that there's missing CYCLES?  Perhaps we put an
-additional flag on the MATUREDATES table to indicate we want the date
-used to begin REPSTATS cycling?  IIRC, the answer is that we don't
-want REPSTATS all the way from MATUREDATES.Matured when the individual
-is old when we start observations, because there could be lots of
-pregnancies, etc.  We just want the REPSTATS state as of the start of
-observations so we can guess at the initial start of that state.
-
-What about long periods of 'gaps' in observation, where there may be
-several pregnancies, etc.?  That's when we have "blank" CYCLES.  Right
-now that means that the REPSTATS spanning these 'blank' CYCLES have
-'over long' lactation times.  (As there's no other cycle data
-lactation runs from birth to next pregnancy, right?  Do we need to
-adjust the design or did we figure this was ok?  Not a problem at the
-beginning of _any_ observation (no REPSTATS at all) but a problem when
-there's gaps after observation starts.)  Beginning of pregnancy and
-end of pregnancy have 'markers' and so we do get correct (estimated)
-REPSTATS times for the pregnancy itself.)
+This column is NULL when the system cannot determine when the state
+ends.  This occurs when the end of the reproductive state was not
+observed due to cessation of regular observation.  (See GAPS.)  It
+also occurs while the individual is alive and the state has not ended,
+or rather when the observations of the state have not been entered
+into the system.  Finally, it occurs when the individual dies as it is
+not known when the state would have ended.

-This table exists so that REPSTATS can be populated from the date of
-menarche when CYCLES has no row recording menarche.

+MMINTERVALS

-Data Entry Rules
+One row for every day the female is cycling, counting between M dates.

-There are no custom programs used in the maintenance of this table.
+When cycles start late, due to pregnancy, menarche, or resumption of
+observation the Din column is blank.  However, the corresponding row
+in the REPSTATS table contains a relevant Din value.

+When cycles are interrupted, end early, due to pregnancy the Dr value
+can likewise be found in the REPSTATS table.  There is no relevant Dr
+value when cycles end early due to death or interruption of
+observation.

-Data Element Descriptions

-Hid (system generated)
-A unique number which serves to identify the row.
-
-Date
-Estimated date of menarche.
-
-Sname
-Sname of female.
+MDINTERVALS

-Stae
-(STate At Entry??)
+One row for every day the female is cycling, between M and D dates.


 IV.	The Support Tables



* added files

--- /dev/null
+++ /home/kop/biz/babase/tla/babase--devel--2.0--patch-387/,,what- 
changed.babase--devel--2.0--patch-386--kop@meme.com--2004/new-files- 
archive/./{arch}/babase/babase--devel/babase--devel--2.0/ 
kop@meme.com--2004/patch-log/patch-387
@@ -0,0 +1,12 @@
+Revision: babase--devel--2.0--patch-387
+Archive: kop@meme.com--2004
+Creator: Karl O. Pinc <kop@meme.com>
+Date: Tue Feb  8 23:59:50 EST 2005
+Standard-date: 2005-02-09 04:59:50 GMT
+Modified-files: doc/BabaseSystem.txt
+New-patches: kop@meme.com--2004/babase--devel--2.0--patch-387
+Summary: Another design interation for sexual cycle stuff.
+Keywords:
+
+This is the 'quick' design.  I'd like to break out CYCLES into  
CYCPOINTS but we need to get something going.
+