|
|
|
|
|
|
|
/* edl_date.c
Calculates the estimated delivery date (EDD) for a pregnant human
female, given the beginning date of her last menstrual period(LMP).
INPUTS:
1. lmp, pointer to a DATE_INFO structure containing the beginning date of the LMP.
OUTPUTS:
1. Returned by routine, a DATE_INFO structure containing the date of the EDD.
NOTES:
1. Background medical information for this routine is from 'Miracle of Birth',
Publications International, Ltd., Beckman House, 1989, ISBN 0-517-03209-0,
pp 12-13.
2. The EDD returned by the routine is considered reliable, since
95% of all human births occur within two weeks of the EDD.
3. The routine assumes the use of the Western (Julian/Gregorian) calendar.
4. The input date is not validated.
5. The input date is the LMP. Intrauterine development extends for
approximately 9 calendar months, or 10 lunar months. The medical lunar
month is 28 days. From the date of conception, the EDD is calculated as 38
weeks, or 9.5 lunar months, but this date is rarely known with accuracy.
The LMP is more frequently known, and consists of 10 lunar months, or 40
weeks, which is, therefore, 280 days.
6. The calculation is essentially the same as one known as "Nagele's Rule" in
medical circles. The rule dictates that to obtain the expected day of
confinement (EDC), one counts back three months from the first date of the
LMP, and then adds seven days. In a twelve-month cycle, counting backward
three months is generally arithmetically simpler than the equivalent of
counting forward by nine months. In any event, the rule dictates:
365 / 12 * 9 + 7 = 280.75 days.
Nagele's Rule is simply a rule-of-thumb method for dealing with the cyclic
calendar in order to estimate EDD, without recourse to a computer.
*/
struct DATE_INFO estimated_delivery_date (struct DATE_INFO *lmp)
{
double JD0;
struct DATE_INFO edd;
JD0 = date_to_JD0 (lmp);
JD0 += 280.0;
edd = JD0_to_date (JD0);
return (edd);
} |
|
|
|
|
|