From ec64779bec776ce5cb86f7488ffca2e74118a8d3 Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Wed, 30 Oct 2024 17:21:24 -0500 Subject: [PATCH] Add textual documentation of follows related tables --- doc/src/code_tables.m4 | 220 ++++++++++++++++++++++++++++- doc/src/epilog.inc.m4 | 82 +++++++++++ doc/src/tables.m4 | 4 + doc/src/tables/comm_membs.m4 | 2 +- doc/src/tables/follow_arrivals.m4 | 200 ++++++++++++++++++++++++++ doc/src/tables/follow_observers.m4 | 98 +++++++++++++ doc/src/tables/follow_studies.m4 | 62 ++++++++ doc/src/tables/follows.m4 | 107 ++++++++++++++ include/global_constants.m4 | 17 +++ 9 files changed, 790 insertions(+), 2 deletions(-) create mode 100644 doc/src/tables/follow_arrivals.m4 create mode 100644 doc/src/tables/follow_observers.m4 create mode 100644 doc/src/tables/follow_studies.m4 create mode 100644 doc/src/tables/follows.m4 diff --git a/doc/src/code_tables.m4 b/doc/src/code_tables.m4 index 1ac1f22..baa2aec 100644 --- a/doc/src/code_tables.m4 +++ b/doc/src/code_tables.m4 @@ -141,6 +141,47 @@ Description |COMM_MEMBS_SOURCES.Description_summary| |emptytext| +.. _DATA_SOURCES: + +DATA_SOURCES (Sources of follow arrival Data) +--------------------------------------------- + +.. |DATA_SOURCES_summary| replace:: + Contains one row for each source of data for |FOLLOW_ARRIVALS| rows. + +|DATA_SOURCES_summary| + + +Special Values +`````````````` +None. + + +Column Descriptions +``````````````````` + +.. _DATA_SOURCES.Source: + +Source +'''''' + +.. |DATA_SOURCES.Source_summary| replace:: + A code identifying a source of |FOLLOW_ARRIVALS| data. + +|DATA_SOURCES.Source_summary| |keycol| + + +.. _DATA_SOURCES.Description: + +Description +''''''''''' + +.. |DATA_SOURCES.Description_summary| replace:: + A description of the code. + +|DATA_SOURCES.Description_summary| |emptytext| + + .. _DEPARTTYPES: DEPARTTYPES (community Departure reasons) @@ -229,6 +270,141 @@ Description |ENTRYTYPES.Description_summary| |emptytext| |notnull| +.. _ESTROUS_STATES: + +ESTROUS_STATES +-------------- + +.. |ESTROUS_STATES_summary| replace:: + Contains one row for each degree-of-swelling catagory used to classify + female's estrous states, and an additional row for individuals that + have no estrous state. + +|ESTROUS_STATES_summary| + + +Special Values +`````````````` + +The value ``sdb_male_swelling`` is the only value which may be +assigned to non-females, and it may not be assigned to non-juvenile +females. + +The value ``sdb_adolescent_swelling`` can only be assigned to +adolescent females. + + +Column Descriptions +``````````````````` + +.. _ESTROUS_STATES.Code: + +Code +'''' + +.. |ESTROUS_STATES.Code_summary| replace:: + The code that designates an estrous swelling state. + +|ESTROUS_STATES.Code_summary| |keycol| + + +.. _ESTROUS_STATES.Description: + +Description +''''''''''' + +.. |ESTROUS_STATES.Description_summary| replace:: + A longer description of the |ESTROUS_STATES.Code| identifier. + +|ESTROUS_STATES.Description_summary| |emptytext| + + +.. _FA_CERTAINTIES: + +FA_CERTAINTIES (Follow Arrival Certainties) +------------------------------------------- + +.. |FA_CERTAINTIES_summary| replace:: + Contains one for for each code designating the certainity of the + identification of the individual under observation (the + |FOLLOW_ARRIVALS|.\ |FOLLOW_ARRIVALS.AnimID|). + +|FA_CERTAINTIES_summary| + + +Special Values +`````````````` +None. + +Column Descriptions +``````````````````` + +.. _FA_CERTAINTIES.Certainty: + +Certainty +''''''''' + +.. |FA_CERTAINTIES.Certainty_summary| replace:: + A one character code designating a certainty assessment. + +|FA_CERTAINTIES.Certainty_summary| |keycol| |uppercase| + + +.. _FA_CERTAINTIES.Description: + +Description +''''''''''' + +.. |FA_CERTAINTIES.Description_summary| replace:: + A description of the certainty code. + +|FA_CERTAINTIES.Description_summary| |emptytext| + + +.. _OBS_PERIODS: + +OBS_PERIODS (Obsevervation Periods) +------------------------------------ + +.. |OBS_PERIODS_summary| replace:: + Contains one row for each part of the day during which an observer + may be scheduled to conduct a follow. + +|OBS_PERIODS_summary| + + +Special Values +`````````````` + +None. + + +Column Descriptions +``````````````````` + +.. _OBS_PERIODS.Period: + +Period +''''''''' + +.. |OBS_PERIODS.Period_summary| replace:: + A code identifying a part the day during which follow observations + are, or have been, scheduled. + +|OBS_PERIODS.Period_summary| |keycol| |uppercase| + + +.. _OBS_PERIODS.Description: + +Description +''''''''''' + +.. |OBS_PERIODS.Description_summary| replace:: + A description of the observation period. + +|OBS_PERIODS.Description_summary| |emptytext| |notnull| + + .. _PEOPLE: PEOPLE @@ -247,7 +423,6 @@ standard U.S. keyboard.) Special Values `````````````` - None. @@ -310,6 +485,49 @@ This allows time for existing data to be cleaned while preventing undesirable values from appearing in new data. + +.. _STUDIES: + +STUDIES (Studies that follows are part of) +------------------------------------------ + +.. |STUDIES_summary| replace:: + Contains one row for each study that there is a record of some follow + having been part of. + +|STUDIES_summary| + + +Special Values +`````````````` +None. + + +Column Descriptions +``````````````````` + +.. _STUDIES.Study: + +Period +''''''''' + +.. |STUDIES.Study_summary| replace:: + A code identifying a study. + +|STUDIES.Study_summary| |keycol| |uppercase| + + +.. _STUDIES.Description: + +Description +''''''''''' + +.. |STUDIES.Description_summary| replace:: + A description of the study. + +|STUDIES.Description_summary| |emptytext| |notnull| + + .. rubric:: Footnotes .. [#f1] The database could accept the full-set of Unicode characters, diff --git a/doc/src/epilog.inc.m4 b/doc/src/epilog.inc.m4 index b016a59..640b2bd 100644 --- a/doc/src/epilog.inc.m4 +++ b/doc/src/epilog.inc.m4 @@ -150,6 +150,12 @@ sdb_generated_rst()dnl .. |COMM_MEMBS_SOURCES.Description| replace:: :ref:`Description ` +.. |DATA_SOURCES| replace:: :ref:`DATA_SOURCES ` +.. |DATA_SOURCES.Source| replace:: + :ref:`Source ` +.. |DATA_SOURCES.Description| replace:: + :ref:`Description ` + .. |DEPARTTYPES| replace:: :ref:`DEPARTTYPES ` .. |DEPARTTYPES.DepartType| replace:: :ref:`DepartType ` @@ -160,12 +166,88 @@ sdb_generated_rst()dnl .. |ENTRYTYPES.EntryType| replace:: :ref:`EntryType ` +.. |ESTROUS_STATES| replace:: :ref:`ESTROUS_STATES ` +.. |ESTROUS_STATES.Code| replace:: + :ref:`Code ` +.. |ESTROUS_STATES.Description| replace:: + :ref:`Description ` + +.. |FA_CERTAINTIES| replace:: :ref:`FA_CERTAINTIES ` +.. |FA_CERTAINTIES.Certainty| replace:: + :ref:`Certainty ` +.. |FA_CERTAINTIES.Description| replace:: + :ref:`Description ` + +.. |FOLLOWS| replace:: :ref:`FOLLOWS ` +.. |FOLLOWS.FID| replace:: + :ref:`FID ` +.. |FOLLOWS.Focal| replace:: + :ref:`Focal ` +.. |FOLLOWS.Community| replace:: + :ref:`Community ` +.. |FOLLOWS.Notes| replace:: + :ref:`Notes ` +.. |FOLLOWS.Date| replace:: + :ref:`Date ` + +.. |FOLLOW_ARRIVALS| replace:: :ref:`FOLLOW_ARRIVALS ` +.. |FOLLOW_ARRIVALS.FAID| replace:: + :ref:`FAID ` +.. |FOLLOW_ARRIVALS.FID| replace:: + :ref:`FID ` +.. |FOLLOW_ARRIVALS.AnimID| replace:: + :ref:`AnimID ` +.. |FOLLOW_ARRIVALS.Seq| replace:: + :ref:`Seq ` +.. |FOLLOW_ARRIVALS.Start| replace:: + :ref:`Start ` +.. |FOLLOW_ARRIVALS.End| replace:: + :ref:`End ` +.. |FOLLOW_ARRIVALS.Certainty| replace:: + :ref:`Certainty ` +.. |FOLLOW_ARRIVALS.NestStart| replace:: + :ref:`NestStart ` +.. |FOLLOW_ARRIVALS.NestEnd| replace:: + :ref:`NestEnd ` +.. |FOLLOW_ARRIVALS.Cycle| replace:: + :ref:`Cycle ` +.. |FOLLOW_ARRIVALS.DataSource| replace:: + :ref:`DataSource ` + +.. |FOLLOW_OBSERVERS| replace:: :ref:`FOLLOW_OBSERVERS ` +.. |FOLLOW_OBSERVERS.FOID| replace:: + :ref:`FOID ` +.. |FOLLOW_OBSERVERS.FID| replace:: + :ref:`FID ` +.. |FOLLOW_OBSERVERS.Period| replace:: + :ref:`Period ` +.. |FOLLOW_OBSERVERS.OBS_TRec| replace:: + :ref:`OBS_TRec ` +.. |FOLLOW_OBSERVERS.OBS_Tiki| replace:: + :ref:`OBS_Tiki ` + +.. |FOLLOW_STUIDES| replace:: :ref:`FOLLOW_STUDIES ` +.. |FOLLOW_STUDIES.FSID| replace:: + :ref:`FSID ` +.. |FOLLOW_STUDIES.FID| replace:: + :ref:`FID ` +.. |FOLLOW_STUDIES.Code| replace:: + :ref:`Code ` + +.. |OBS_PERIODS| replace:: :ref:`OBS_PERIODS ` +.. |OBS_PERIODS.Period| replace:: + :ref:`Period ` + .. |PEOPLE| replace:: :ref:`PEOPLE ` .. |PEOPLE.Person| replace:: :ref:`Person ` .. |PEOPLE.Name| replace:: :ref:`Name ` .. |PEOPLE.Description| replace:: :ref:`Description ` .. |PEOPLE.Active| replace:: :ref:`Active ` +.. |STUDIES| replace:: :ref:`STUDIES ` +.. |STUDIES.Study| replace:: + :ref:`Study ` + .. View name substitutions. diff --git a/doc/src/tables.m4 b/doc/src/tables.m4 index e7edd5b..4474ea3 100644 --- a/doc/src/tables.m4 +++ b/doc/src/tables.m4 @@ -32,3 +32,7 @@ Data Tables tables/biography_log.rst tables/comm_membs.rst tables/comm_memb_log.rst + tables/follows.rst + tables/follow_arrivals.rst + tables/follow_observers.rst + tables/follow_studies.rst diff --git a/doc/src/tables/comm_membs.m4 b/doc/src/tables/comm_membs.m4 index e75bf1d..043d4d6 100644 --- a/doc/src/tables/comm_membs.m4 +++ b/doc/src/tables/comm_membs.m4 @@ -99,7 +99,7 @@ StartDate .. _COMM_MEMBS.EndDate: EndDate -````````` +``````` .. |COMM_MEMBS.EndDate_summary| replace:: The last date on which the individual was a community member; the diff --git a/doc/src/tables/follow_arrivals.m4 b/doc/src/tables/follow_arrivals.m4 new file mode 100644 index 0000000..45a4b04 --- /dev/null +++ b/doc/src/tables/follow_arrivals.m4 @@ -0,0 +1,200 @@ +.. Copyright (C) 2024 The Meme Factory, Inc. www.karlpinc.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +.. M4 setup +include(constants.m4)dnl +include(macros.m4)dnl +sdb_rst_quotes(`on')dnl +sdb_generated_rst()dnl + +.. _FOLLOW_ARRIVALS: + +FOLLOW_ARRIVALS +---------------- + +.. |FOLLOW_ARRIVALS_summary| replace:: + Each row represents a period of time during which an individual is + under observation in the follow. + +|FOLLOW_ARRIVALS_summary| The system will generate a warning when +there is no row for the follow's focal (|FOLLOWS|.\ |FOLLOWS.Focal|) +in FOLLOW_ARRIVALS. +When an individual can no longer be observed and after a period of +time is again observed, a situtation which may occur multiple times, +there is a FOLLOW_ARRIVALS row for each time period during which an +individual is under observation. + +The |FOLLOW_ARRIVALS.Start| time must be before the +|FOLLOW_ARRIVALS.End| time. +When there is more than one FOLLOW_ARRIVALS row for a given individual, +a given |FOLLOW_ARRIVALS.AnimID|, the |FOLLOW_ARRIVALS.Start| and +|FOLLOW_ARRIVALS.End| values cannot overlap, endpoints included. + +The ``sdb_male_swelling`` |ESTROUS_STATES|.\ |ESTROUS_STATES.Code| is +the only value that can be used in the |FOLLOW_ARRIVALS.Cycle| column +when the |FOLLOW_ARRIVALS.AnimID| identifies a non-female; the only +value that can be used when the related |BIOGRAPHY_DATA|.\ +|BIOGRAPHY_DATA.Sex| column is either ``sdb_male`` or ``sdb_unk_sex``, +the unknown sex. + +The ``sdb_adolescent_swelling`` |ESTROUS_STATES|.\ +|ESTROUS_STATES.Code| can only be used in the |FOLLOW_ARRIVALS.Cycle| +column when the |FOLLOW_ARRIVALS.AnimID| identifies an adolescent +female, can only be used when the related |BIOGRAPHY_DATA|.\ +|BIOGRAPHY_DATA.Sex| column is ``sdb_female`` and the individual's age +on the |FOLLOWS|.\ |FOLLOWS.Date| is at least sdb_min_adolescent_age +old and not more than sdb_max_adolescent_age old. + + +.. _FOLLOW_ARRIVALS.FAID: + +FAID (Follow Arrivals ID) +````````````````````````` + +.. |FOLLOW_ARRIVALS.FAID_summary| replace:: + |idcol| + +|FOLLOW_ARRIVALS.FAID_summary| |notnull| + + +.. _FOLLOW_ARRIVALS.FID: + +FID (Follow IDentifier) +``````````````````````` + +.. |FOLLOW_ARRIVALS.FID_summary| replace:: + The |FOLLOWS|.\ |FOLLOWS.FID| that identifies the follow during + which the individual identified by the |FOLLOW_ARRIVALS.AnimID| was + under observation. + +|FOLLOW_ARRIVALS.FID_summary| |notnull| + + +.. _FOLLOW_ARRIVALS.AnimID: + +AnimID (Animal ID) +`````````````````` + +.. |FOLLOW_ARRIVALS.AnimID_summary| replace:: + The |BIOGRAPHY_DATA|.\ |BIOGRAPHY_DATA.AnimID| identifying the + individual, focal or non-focal, who was under observation during + the follow. + +|FOLLOW_ARRIVALS.AnimID_summary| |notnull| + + +.. _FOLLOW_ARRIVALS.Seq: + +Seq (Sequence Number) +````````````````````` + +.. |FOLLOW_ARRIVALS.Seq_summary| replace:: + An automatically generated integer, starting with 1 and increasing + by one without gaps, which indicates the timewise ordering of a + given individual's presence, a given |FOLLOW_ARRIVALS.AnimID|'s + presence, in the follow. + +|FOLLOW_ARRIVALS.Seq_summary| So, the Seq increments each time an +individual (re)joins the follow. +|cannot_change| |notnull| + + +.. _FOLLOW_ARRIVALS.Start: + +Start +````` + +.. |FOLLOW_ARRIVALS.Start_summary| replace:: + The time the individual was first observed, in the given contiguous time + period during which they were considered present in the follow. + +|FOLLOW_ARRIVALS.Start_summary| |noseconds| |notnull| + + +.. _FOLLOW_ARRIVALS.End: + +End +``` + +.. |FOLLOW_ARRIVALS.End_summary| replace:: + The time the individual was last observed, in the given contiguous time + period during which they were considered present in the follow. + +|FOLLOW_ARRIVALS.End_summary| |noseconds| |notnull| + + +.. _FOLLOW_ARRIVALS.Certainty: + +Certainty +````````` + +.. |FOLLOW_ARRIVALS.Certainty_summary| replace:: + A |FA_CERTAINTIES|.\ |FA_CERTAINTIES.Certainty| code designating the + certainty of the identification of the individual; the certainty + of the |FOLLOW_ARRIVALS.AnimID| value. + +|FOLLOW_ARRIVALS.Certainty_summary| |notnull| + + +.. _FOLLOW_ARRIVALS.NestStart: + +NestStart +````````` + +.. |FOLLOW_ARRIVALS.NestStart_summary| replace:: + Whether the individual was first observed in a nest. + An integer, either ``sdb_in_nest`` when the individual was first + observed in a nest, or ``sdb_out_of_nest`` when the individual was + not first observed in a nest. + +|FOLLOW_ARRIVALS.NestStart_summary| |notnull| + + +.. _FOLLOW_ARRIVALS.NestEnd: + +NestEnd +``````` + +.. |FOLLOW_ARRIVALS.NestEnd_summary| replace:: + Whether the individual was last observed in a nest. + An integer, either ``sdb_in_nest`` when the individual was first + observed in a nest, or ``sdb_out_of_nest`` when the individual was + not first observed in a nest. + +|FOLLOW_ARRIVALS.NestEnd_summary| |notnull| + + +.. _FOLLOW_ARRIVALS.Cycle: + +Cycle +````` + +.. |FOLLOW_ARRIVALS.Cycle_summary| replace:: + A code indicating the estrous state of the individual; a + |ESTROUS_STATES|.\ |ESTROUS_STATES.Code| value. + +|FOLLOW_ARRIVALS.Cycle_summary| |notnull| + + +.. _FOLLOW_ARRIVALS.DataSource: + +DataSource +`````````` + +.. |FOLLOW_ARRIVALS.DataSource_summary| replace:: + Code indicating the source of the row's data; a |DATA_SOURCES|.\ + |DATA_SOURCES.Source| value. + +|FOLLOW_ARRIVALS.DataSource_summary| |notnull| diff --git a/doc/src/tables/follow_observers.m4 b/doc/src/tables/follow_observers.m4 new file mode 100644 index 0000000..e0d86ae --- /dev/null +++ b/doc/src/tables/follow_observers.m4 @@ -0,0 +1,98 @@ +.. Copyright (C) 2024 The Meme Factory, Inc. www.karlpinc.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +.. M4 setup +include(constants.m4)dnl +include(macros.m4)dnl +sdb_rst_quotes(`on')dnl +sdb_generated_rst()dnl + +.. _FOLLOW_OBSERVERS: + +FOLLOW_OBSERVERS +---------------- + +.. |FOLLOW_OBSERVERS_summary| replace:: + Each row represents one pair of observers, who either conducted the + follow or assisted when the follow was conducted. + +|FOLLOW_OBSERVERS_summary| There are normally two observers on each +follow, one that handles the TRec (the |FOLLOW_OBSERVERS.OBS_TRec| +column) and the other the Tiki (the |FOLLOW_OBSERVERS.OBS_Tiki| +column). +There are no data validation rules that prevent the TRec +observer from being the same observer as the Tiki observer. + +More than two observers may be related to a follow by creating +multiple FOLLOW_OBSERVERS rows that are related to a single row in the +|FOLLOWS| table. + +.. _FOLLOW_OBSERVERS.FOID: + +FOID (Follow Observers ID) +`````````````````````````` + +.. |FOLLOW_OBSERVERS.FOID_summary| replace:: + |idcol| + +|FOLLOW_OBSERVERS.FOID_summary| |notnull| + + +.. _FOLLOW_OBSERVERS.FID: + +FID (Follow IDentifier) +``````````````````````` + +.. |FOLLOW_OBSERVERS.FID_summary| replace:: + The |FOLLOWS|.\ |FOLLOWS.FID| which identifies the + follow which the observers participated in recording. + +|FOLLOW_OBSERVERS.FID_summary| |notnull| + + +.. _FOLLOW_OBSERVERS.Period: + +Period +`````` + +.. |FOLLOW_OBSERVERS.Period_summary| replace:: + The time of day during which the follow was scheduled. + +|FOLLOW_OBSERVERS.Period_summary| An |OBS_PERIODS|.\ +|OBS_PERIODS.Period| code. |notnull| + + +.. _FOLLOW_OBSERVERS.OBS_TRec: + +OBS_TRec (Observation's TRec) +````````````````````````````` + +.. |FOLLOW_OBSERVERS.OBS_TRec_summary| replace:: + The observer who handles the TRec; a |PEOPLE|.\ |PEOPLE.Person| + value. + +|FOLLOW_OBSERVERS.OBS_TRec_summary| |notnull| + + +.. _FOLLOW_OBSERVERS.OBS_Tiki: + +OBS_Tiki (Observation's Tiki) +````````````````````````````` + +.. |FOLLOW_OBSERVERS.OBS_Tiki_summary| replace:: + The observer who handles the Tiki; a |PEOPLE|.\ |PEOPLE.Person| + value. + +|FOLLOW_OBSERVERS.OBS_Tiki_summary| |notnull| diff --git a/doc/src/tables/follow_studies.m4 b/doc/src/tables/follow_studies.m4 new file mode 100644 index 0000000..e1bbebc --- /dev/null +++ b/doc/src/tables/follow_studies.m4 @@ -0,0 +1,62 @@ +.. Copyright (C) 2024 The Meme Factory, Inc. www.karlpinc.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +.. M4 setup +include(constants.m4)dnl +include(macros.m4)dnl +sdb_rst_quotes(`on')dnl +sdb_generated_rst()dnl + +.. _FOLLOW_STUDIES: + +FOLLOW_STUDIES +-------------- + +.. |FOLLOW_STUDIES_summary| replace:: + Each row represents a study that is associated with the follow. + + +.. _FOLLOW_STUDIES.FSID: + +FSID (Follow Studies ID) +```````````````````````` + +.. |FOLLOW_STUDIES.FSID_summary| replace:: + |idcol| + +|FOLLOW_STUDIES.FSID_summary| |notnull| + + +.. _FOLLOW_STUDIES.FID: + +FID (Follow IDentifier) +``````````````````````` + +.. |FOLLOW_STUDIES.FID_summary| replace:: + The |FOLLOWS|.\ |FOLLOWS.FID| which identifies the follow + associated with the study. + +|FOLLOW_STUDIES.FID_summary| |notnull| + + +.. _FOLLOW_STUDIES.Code: + +Code +```` + +.. |FOLLOW_STUDIES.Code_summary| replace:: + The code of the study; a |STUDIES|.\ |STUDIES.Study| value. + +|FOLLOW_STUDIES.Code_summary| |notnull| diff --git a/doc/src/tables/follows.m4 b/doc/src/tables/follows.m4 new file mode 100644 index 0000000..6910a8b --- /dev/null +++ b/doc/src/tables/follows.m4 @@ -0,0 +1,107 @@ +.. Copyright (C) 2024 The Meme Factory, Inc. www.karlpinc.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +.. M4 setup +include(constants.m4)dnl +include(macros.m4)dnl +sdb_rst_quotes(`on')dnl +sdb_generated_rst()dnl + +.. _FOLLOWS: + +FOLLOWS +------- + +.. |FOLLOWS_summary| replace:: + Each row represents a scheduled time during which observers are assigned + to follow a focal individual. + +|FOLLOWS_summary| A scheduled follow may or may not have any related +observations, related |FOLLOW_ARRIVALS| rows. + +The system will generate a warning when a FOLLOWS row does not have a +|FOLLOW_ARRIVALS| related row that records the presence of the focal, +does not have a related |FOLLOW_ARRIVALS| row where the +|FOLLOW_ARRIVALS|.\ |FOLLOW_ARRIVALS.AnimID| has the same value as the +follow's |FOLLOWS.Focal| column. + +A scheduled follow must have at least one related |FOLLOW_OBSERVERS| +rows, to record the observers scheduled to conduct the follow. + +The |FOLLOWS.Date| must be during a period when the focal individual +was under study, on or after the focal's |BIOGRAPHY_DATA|.\ +|BIOGRAPHY_DATA.EntryDate| and on or before the focal's +|BIOGRAPHY_DATA|.\ |BIOGRAPHY_DATA.DepartDate|. + + +.. _FOLLOWS.FID: + +FID (Follow ID) +``````````````` + +.. |FOLLOWS.FID_summary| replace:: |idcol| + +|FOLLOWS.FID_summary| |notnull| + + +.. _FOLLOWS.Focal: + +Focal (Focal animal id) +``````````````````````` + +.. |FOLLOWS.Focal_summary| replace:: The |BIOGRAPHY_DATA|.\ + |BIOGRAPHY_DATA.AnimID| identifying the individual intended + to be the focal under observation for the follow. + +|FOLLOWS.Focal_summary| |notnull| + + +.. _FOLLOWS.Community: + +Community +````````` + +.. |FOLLOWS.Community_summary| replace:: + + A code for the community the observers are associated with and + intended to follow; the |COMM_IDS|.\ |COMM_IDS.CommID| of the + community. + This is not necessarily the community the focal is a member of, + although it usually is. + +|FOLLOWS.Community_summary| |cannot_change| |notnull| + + +.. _FOLLOWS.Notes: + +Notes +````` + +.. |FOLLOWS.Notes_summary| replace:: + + Free form textual notes on the follow. + +|FOLLOWS.Notes_summary| |notonlyspaces| |notnull| + + +.. _FOLLOWS.Date: + +Date +```` + +.. |FOLLOWS.Date_summary| replace:: + The date the follow was conducted. + +|FOLLOWS.Date_summary| |notnull| diff --git a/include/global_constants.m4 b/include/global_constants.m4 index 6974946..ea5d82d 100644 --- a/include/global_constants.m4 +++ b/include/global_constants.m4 @@ -74,6 +74,10 @@ define(`sdb_male', `M') define(`sdb_female', `F') define(`sdb_unk_sex', `U') +dnl Ages of adolescents +define(`sdb_min_adolescent_age', `6 years') +define(`sdb_max_adolescent_age', `9 years') + dnl dnl DEPART_TYPES dnl @@ -86,5 +90,18 @@ dnl dnl The unknown community define(`sdb_unknown_comm', `Unknown') +dnl +dnl FOLLOW_ARRIVALS +dnl +dnl The NestStart and NestEnd values +define(`sdb_in_nest', `1') +define(`sdb_out_of_nest', `0') + +dnl +dnl The Cycles value for non-females +define(`sdb_male_swelling', `n/a') +dnl The Cycles value for adolescent females +define(`sdb_adolescent_swelling', `U') + divert(`0')dnl Output with m4 again ]}])dnl End of ifdef over the whole file. -- 2.34.1