I want to do survival analysis with a big data set.

The data collection started on 1997-01-01 and is still continuing yet.

However, episodes that started before 1997-01-01 (and had an end date after 1997-01-01 or no end date yet) are also in the database.

Therefore, although the official start of the data collection is 1997-01-01 there is some data with a start date < 1997-01-01 in the database.

Episodes that started after 1997-01-01 are also recorded. So what I know is the following:

  1. If start date is > 1997-01-01 and end date is < today, there is no censoring and no truncation
  2. If end date is = today most likely censoring is the reason for this end date
  3. If start date is < 1997-01-01 the observation is only inside my data set because end date is >= 1997-01-01

What would be the propper way to handle these observations?

Would these observations cause a bias (then it would probably be better to remove them)?

Or should I simple leave these observations in my data set?

[EDIT 2]
To be more specific about the problem: As the data collection started on 1997-01-01 one would expect the maximum survival time of observations in the database would be (approximately) 15 years (we have December 2012 at the time of writing).

However, if episodes started before 1997-01-01 and the event didn't take place yet, they would be longer than 15 years. This somehow "feels" strange - if one observation is 1995-01-01 - today it is included, if another observation is 1995-01-01 - 1996-12-31 it is excluded.

  • $\begingroup$ R can handle different starting dates, you just need to use the Surv(time, time2) specification. $\endgroup$ – wcampbell Dec 12 '12 at 15:15
  • $\begingroup$ thank you! In fact I use R but at the moment I calculate the number of days before defining a Surv object and then I use Surv(numOfDays, status) $\endgroup$ – Marcel Dec 12 '12 at 15:28

There's nothing wrong with these observations if you handle them correctly. Don't get rid of them!

If you are using R, you just have to create your survival object correctly. See http://www.stat.ubc.ca/lib/FCKuserfiles/file/pdfslide-Lucy.pdf for more information. You need to use the Surv function from the survival package.

Use the Surv(time, time2) format to create your survival object.

  • $\begingroup$ I thought left truncation takes place if some observation needs to be longer than a predifened range (say x days), otherwise it wouldn't be in my data set. Here that's not the case: if an episode starts on 1996-12-31and ends at 1997-01-01 episode length is 2 days but I have it included in my data set. However, if an episode starts at 1996-01-01 and ends at 1996-12-31 episode length (theoretically) is 366 days but it's not in my data set. What I want to say: is it really left truncation that takes place here? $\endgroup$ – Marcel Dec 12 '12 at 15:23
  • $\begingroup$ Thank you! But I am quite convinced I have no left censoring in my data. As far as I know left censoring occurs if some observation is in fact shorter than it appears in the data. This is not the case here. Observations that start before 1997-01-01 in fact are reflected completely accurate (unless if their end date is > today, but then it's right censoring that takes place). Only if an observation ends before 1997-01-01 it's not reflected at all. $\endgroup$ – Marcel Dec 12 '12 at 15:39
  • $\begingroup$ Ok, I was not aware that you knew the start date of observations before 1997-01-01. I modified my answer, but the same code still applies. $\endgroup$ – wcampbell Dec 12 '12 at 15:42
  • $\begingroup$ ok, so you expect no bias from start dates before 1997-01-01, I could simply handle them as all the other observations.... thank you! $\endgroup$ – Marcel Dec 12 '12 at 15:49
  • 1
    $\begingroup$ Yes, you just have different start times for some of the observations. That's not a problem at all. $\endgroup$ – wcampbell Dec 12 '12 at 15:58

You need to be careful about immortal time bias cases where some subjects are necessarily immune to experiencing the event until a certain time, but others are not.

From Rothmand and Greenland (1998):

Occasionally, a cohort is defined in a way that ensures that everyone in it will survive for a specified period. Typically, this period of immortality comes about because one of the entry criteria into the cohort is dependent on survival. For example, an occupational cohort might be defined as all workers who have been employed at a specific plant for at least 5 years. There are certain problems with such an entry criterion, among them that it will guarantee that the study will miss effects among short-term workers who may be assigned more highly exposed jobs than regular long-term employees, may include persons more susceptible to exposure effects, and may quit early because of those effects. Let us assume, however, that only long-term workers are of interest for the study and that all relevant exposures (including those during the initial 5 years of employment) are taken into account in the analysis.

The 5-year entry criterion will guarantee that none of the workers in the study cohort died during their first 5 years of employment, since those that died would never meet the entry criterion and so would be excluded. It follows that mortality analysis of such workers should exclude the first 5 years of employment for each worker. This period of time is referred to as immortal person time. The workers were not immortal during this time, of course, since they could have died, but the cohort members have been identified after the fact as those who have survived this period.


  1. Rothman, K. J. and Greenland, S. (1998). Modern Epidemiology, chapter Cohort Studies_Immortal Person Time. Lippincott-Raven, 2nd edition.
  2. Suissa, S. (2008). Immortal time bias in pharmacoepidemiology. American Journal of Epidemiology, 167:492–499.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.