[Babase] RE: biograph question
Karl O. Pinc
kop at meme.com
Wed Dec 9 15:54:41 EST 2009
I've documented "alive" in the docs. You can take a look whenever
you feel like it.
On 12/03/2009 09:06:00 PM, Niki Learn wrote:
> Right, the purpose of censoring the males is so they won't be
> recognized as
> "alive" (i.e., cannot have data entered after their statdates).
> Since
> we
> need to have a nonzero dcause for all animals not "alive" (status =
> 0), we
> will definitely need to add a dcause to go with the censored status.
> Currently the dcauses go from 0 to 8 (0 being alive and all others
> some form
> of dead). Shall we use 9 for censored? Or would a more removed
> number
> (like 99?) be preferred to make it more obvious that the animal isn't
> necessarily dead, yet is not recognized as "alive"?
>
> I will look over the alive and dead documentation when I have a
> chance
> and
> see what may need to be changed. Thanks, Karl.
>
> Niki
>
> -----Original Message-----
> From: Karl O. Pinc [mailto:kop at meme.com]
> Sent: Wednesday, November 25, 2009 4:35 PM
> To: Niki Learn; babase at eeblistserv.Princeton.EDU
> Subject: Re: biograph question
>
> On 11/25/2009 02:17:51 PM, Niki Learn wrote:
> > Karl,
> >
> >
> >
> > So I was trying to implement this change to biograph where we
> censor
> > the old
> > animals and the males that have left the study groups and haven't
> > been
> > seen
> > for at least one update period.and I hit a snag. I added the new
> > status
> > code to the statuses table - 2 for Censored. But then if I try to
> > change an
> > individual to censored, I get this error message:
> >
> >
> >
> > SQL error:
> >
> > ERROR: new row for relation "biograph" violates check constraint
> > "Dcause
> > for live animal, or no dcause for dead animal"
> >
> > In statement:
> > UPDATE "biograph" SET "bioid"='1386', "sname"='BAK',
> "name"='BAKARI',
> > "pid"=NULL, "birth"='1999-10-01', "bstatus"='1', "sex"='M',
> > "matgrp"='9.00',
> > "statdate"='2007-11-23', "status"='2', "dcause"='0' WHERE
> > "bioid"='1386'
> >
> >
> >
> > It looks like there is a check in biograph that says you can't have
> a
> > dcause
> > for an animal with status 1 and you can't have an animal that is
> not
> > "live"
> > (where live is only status 1) that does not have a dcause and since
> > the new
> > status of 2 does not have a dcause associated with it, babase
> doesn't
> > like
> > it. Even the one appearance of code 4 has a dcause of 7 (unknown)
> > even
> > though that individual isn't necessarily dead.
>
> Yes, Babase requires that a BIOGRAPH.Status of 0 (0 not 1) be the
> only status where the individual is alive. (See the "Special Values"
> section in the docs on the STATUSES table:
> https://papio.biology.duke.edu/babase_system_html/ch06s02.html
> )
>
> Anybody who's not alive needs a dcause.
>
> >
> >
> >
> > So I guess that means either I should invent a dcause that's not
> > really a
> > dcause but a "censor cause" to go with the censored status or we
> need
> > to
> > revise the checks somehow. What do you advise? Can we make status
> 2
> > count
> > as live for the purposes of this check so it won't be violated or
> > would that
> > muck up other things?
>
> I don't think we want a status of 2 to be alive -- in other words I
> think we need to refine the definition of what "alive", Status code
> 0, means. IIRC what Status 0 means to the system is that you can
> put in data after the Statdate and the Statdate will then
> automatically
> update to the newer date. We probably don't want this behavior
> for censored individuals and so don't want to classify them as
> "alive" in this sense. Do we? IIRC anybody that's dead has
> a "Statdate that sticks", one that does not change and one
> that does not allow anything to happen to the individual
> after the Statdate. It seems right to have this sort of behavior
> for censored individuals but I want to hear what everybody
> else says.
>
> "Alive" isn't really "alive in real life", it's "an individual
> on which new data is continuing to be collected".
>
> So I'd go for adding a censored "cause of death" and using that
> along with the censored status value.
>
> We also need to update the Babase system documentation to make
> all of this more clear; to document exactly what 'alive' means.
> It's in the documentation now but spread out in various places
> where it says what alive or dead individuals can or can't do.
>
> We may want to search the documentation for the words 'alive'
> and 'dead' and see what comes up. (Via the "everything on
> one page version" would be easiest.) If you guys want me
> to do the work I can search the validation code for everyplace
> the status is tested for aliveness and come up with a list
> that way. This will give us a precise idea of exactly what
> alive means.
>
> What does everybody else think and what should the above
> referenced documentation say about what it means to babase
> for an individual to be alive? What about the DCAUSES
> documentation. Should it say more?
>
>
> Karl <kop at meme.com>
> Free Software: "You don't pay back, you pay forward."
> -- Robert A. Heinlein
>
>
> _______________________________________________
> Babase mailing list
> Babase at www.eco.princeton.edu
> http://www.eco.princeton.edu/mailman/listinfo/babase
>
>
>
>
Karl <kop at meme.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
More information about the Babase
mailing list