Tutorials › Multiple Imputation by Chained Equations (MICE) › Representing Competing Events in Imputation Data

Survival and Time-Varying Data · Tutorial 407 of 497

Representing Competing Events in Imputation Data

Represent event-of-interest, competing-event, and administrative-censoring outcomes without losing the distinction between an event and the end of observation.

Advanced 10 min read

What You'll Learn

  • Define a first-event competing-risk outcome using observed follow-up time and event type
  • Distinguish an observed competing event from administrative right-censoring
  • Code mutually exclusive event categories and apply a consistent tie rule
  • Place event information correctly in split start-stop records
  • Diagnose ambiguous, duplicated, or incorrectly censored event records
  • Compare event-type coding with binary and cause-specific representations

Why Event Type Must Be Preserved

In a competing-risk setting, participants can experience one of several event types, and the first event prevents the others from occurring as the first observed event. For example, a study may follow participants until either a particular disease outcome, death from another cause, or the planned end of follow-up. These outcomes are not interchangeable: the disease outcome is the event of interest, another cause of death is an observed competing event, and reaching the study end without either event is administrative censoring.

For imputation data, the basic requirement is to preserve both how long the participant was observed and what ended that observation. A single event/no-event indicator loses information if it merges competing events with administrative censoring. Conversely, recording only event times without a clear event type makes it impossible to tell which outcome occurred.

Definition: For a first-event competing-risk record, let \(T\) be the time to the first observed event of any relevant type, \(C\) the administrative censoring time, and \(Y=\min(T,C)\) the observed follow-up time. Let \(J\) denote the observed event type: \(J=0\) means administrative censoring before an event, and \(J=k\) means that event type \(k\) occurred by the end of follow-up. One event type may be designated as the event of interest; the other event types are competing events.

This definition assumes that the data concern a first-event process with mutually exclusive causes, that the event time and event type are ascertained for an observed event, and that administrative censoring is not itself an event. If a participant experiences an event before the planned end of follow-up, that event ends observation for this first-event analysis. The record does not say that the participant remained event-free until the planned end date.

When there are \(K\) event types, a convenient categorical coding is \(J\in\{0,1,\ldots,K\}\), reserving 0 for censoring and assigning one distinct positive code to each event type. The numerical values are labels, not measurements: code 2 is not “twice” code 1. A data dictionary should name each code and identify the event of interest.

Constructing the Follow-Up Record

For participant \(i\), the observed time is the earlier of the first event time and the administrative end time. If the first event occurs before or at the censoring time, record its type. If the planned end of follow-up occurs first, record censoring. In the notation above, a compact rule is:

$$ Y_i=\min(T_i,C_i), \qquad J_i= \begin{cases} 0, & C_i<T_i,\\ k, & T_i\leq C_i \text{ and the first event is type } k. \end{cases} $$

This rule presumes that an event recorded at the same time as the administrative end is treated as an observed event. With data recorded only to whole days or months, ties can arise from rounding even when the underlying times differ. The study should therefore apply a prespecified rule based on event ascertainment and time recording, and use it consistently. If the event is documented to have occurred by the cutoff, code the event; do not let an arbitrary software ordering turn it into censoring.

The relevant comparison is between the first event and the end of observation, not between the event of interest and the end of observation alone. A competing event is a known outcome that occurred at a particular time. It is not missing information about whether the event of interest occurred later: after a competing event, that later first-event outcome is no longer observable in this setup.

Worked Example: Coding Three Mutually Exclusive Outcomes

Suppose a hypothetical study follows participants for at most 24 months. Event type 1 is the event of interest, and event type 2 is death from another cause. The table gives each participant’s first-event time, if any, and the planned administrative end time.

ParticipantFirst event observedEvent time (months)Administrative end (months)
AType 1824
BType 21124
CNone by study endNot applicable24

For A, \(Y_A=\min(8,24)=8\) months and \(J_A=1\). The event of interest occurred before administrative censoring.

For B, \(Y_B=\min(11,24)=11\) months and \(J_B=2\). This is an observed competing event, not an administrative censoring record.

For C, there is no event by the study end, so \(Y_C=24\) months and \(J_C=0\). This record says that C was observed event-free through 24 months; it does not claim that C could never experience an event later.

The coding relies on the stated first-event status being completely ascertained through each participant’s follow-up time. If the event type for B were unknown, coding \(J_B=0\) would be unjustified: unknown event type is a data problem, not evidence of administrative censoring.

Representing Events in Split Start-Stop Data

When follow-up is split into intervals to align with time-varying covariates, the event record must still identify one terminal outcome at one time. A participant can contribute several at-risk intervals, but a first-event outcome belongs at the endpoint of the interval in which it occurred. Intervals before that endpoint have no event at their end. If the participant is administratively censored, censoring belongs at the endpoint of the final observed interval.

A useful distinction is between a subject-level event-type variable and interval-level event indicators. A subject-level variable can describe the eventual observed outcome, but placing that future outcome as if it were known throughout earlier intervals risks making later information look available earlier than it was. For a start-stop representation, mark the event type on the terminal interval, and keep earlier interval endpoint indicators at zero.

Worked Example: Placing a Competing Event in Split Intervals

A hypothetical participant has follow-up from month 0 to month 12, split at month 5 because a time-varying covariate was updated then. The participant experiences event type 2 at month 9. The intervals use the convention \((\text{start},\text{stop}]\).

StartStopEndpoint outcomeEvent type at endpoint
05No event0
59Event observed2

The first interval ends at month 5 without an event, so its endpoint event indicator is zero. The second interval ends at month 9, the observed competing-event time, so it carries the event indicator and type 2. The participant contributes no interval after month 9 in this first-event record.

For a different participant with no event by month 12, the intervals could be \((0,5]\) and \((5,12]\), with no event at either endpoint and administrative censoring at month 12. The final observed time is 12 months, not a competing-event time. The interval split changes the covariate record, not the definition of the participant’s event type and follow-up time.

Why Censoring a Competing Event Changes the Data

One tempting representation is to define a binary outcome for the event of interest, set it to 1 for that event, and set it to 0 both for a competing event and for administrative censoring. That may be appropriate for a specifically defined binary summary at a fixed time under additional choices, but it is not a faithful encoding of the observed first-event outcome. It merges two distinct histories: a participant known to have experienced a competing event and a participant observed without an event until follow-up ended.

Another temptation is to call a competing event “censoring” because the event of interest can no longer occur as the first event afterwards. For a cause-specific analysis, a competing event can remove a participant from the risk set for that cause; that use of censoring language is an analysis-specific convention. In the imputation data, the observed competing event should still be retained as its own event type. Otherwise, information about what happened and when is discarded. Cause-specific hazards as imputation predictors are treated separately in the next topic.

Justification: The pair \((Y,J)\) preserves two pieces of observed information: the duration of observation and its endpoint status. Replacing \(J=2\) with \(J=0\) leaves \(Y\) unchanged but changes the stated endpoint from “type 2 event observed” to “no event observed by administrative end.” Those statements describe different observed data, so the replacement is not a harmless relabelling.

For imputation, event time and event type are often useful observed information about a participant’s follow-up. Their correct coding does not by itself specify an imputation model or guarantee that missing covariates are ignorable. It supplies an accurate representation on which a suitable model can be built. In particular, known event outcomes should not be “imputed” merely because an event-type variable is categorical; unknown or inconsistent event records require investigation or an explicit missing-data strategy.

Checks, Assumptions, and Common Failure Modes

Before using these records, verify that the analysis really concerns a first-event outcome. If participants can experience repeated events of the same or different types and those repetitions are part of the target, a single terminal event-type code is insufficient; use an appropriate recurrent-event representation instead. Also establish that event categories are mutually exclusive under the study’s event definition. If two events can occur at the same recorded time, define which event is primary or whether a combined category is needed.

  • Check status-time consistency. A positive event code should have an observed event time, and a censoring code should identify an administrative endpoint with no event observed by then.
  • Check the time boundary. Event time should not exceed the stated observation end. A same-time event and censoring tie should follow the prespecified rule.
  • Check interval uniqueness. In a first-event start-stop record, there should be no event before the terminal interval and no post-event risk interval.
  • Check the codebook. Confirm that 0 means censoring and each positive code maps to exactly one event category; do not treat category labels as ordered numeric values.
  • Separate unknown from none. A missing event type is not equivalent to no event, and absence of a recorded event is not enough to classify censoring unless follow-up to the recorded endpoint is known.
RepresentationWhat it recordsMain limitation for this purpose
Observed time plus categorical event typeFollow-up duration, event of interest, competing event, or censoringRequires clear event definitions and status coding
Binary event-of-interest indicator onlyWhether the target event is coded as presentCan merge competing events with administrative censoring and lose endpoint information
Separate cause-specific event indicatorsWhether each event type occurredMust be constrained so that a first-event record has no conflicting simultaneous causes

The categorical outcome representation is usually the clearest starting point for an imputation data set because it retains the observed distinctions. Separate indicators can be useful in a model design, but they should be derived from a consistent event-type variable, not assembled independently in ways that permit contradictory outcomes. No coding scheme corrects poorly ascertained event times, unrecorded causes, or an ill-defined endpoint.

Worked Example: Finding and Correcting a Miscode

In a hypothetical 18-month study, a participant’s records show that a competing event occurred at month 7. The data file gives follow-up time \(Y=18\) months and status \(J=0\), where 0 is documented as administrative censoring.

This combination conflicts with the event history: the observed first event occurred at month 7, before the administrative end at month 18. Therefore the observed follow-up time should be \(Y=\min(7,18)=7\) months, and if the competing event is type 2, the correct code is \(J=2\).

The incorrect record describes 18 event-free months, whereas the corrected record describes a type 2 event at 7 months. The correction follows directly from the verified event time and the definition of the status code. If the event report were uncertain or its date could not be verified, the record should be flagged for resolution rather than silently recoded as censoring.

Common Mistakes

  • Wrong reasoning: “The competing event prevents the event of interest, so I will code it as no event and censor at study end.” Correction: The competing event is an observed endpoint at its own time. Retain its event type and time; do not extend follow-up past it in a first-event record.
  • Wrong reasoning: “Status 0 means that nothing happened.” Correction: Status 0 means no relevant event was observed before the recorded administrative censoring time. It does not mean that the participant had no event ever.
  • Wrong reasoning: “The event type can be repeated on every split interval because it is a participant-level attribute.” Correction: Distinguish an eventual subject-level description from interval endpoint outcomes. In a start-stop outcome record, mark the event only on its terminal interval.
  • Wrong reasoning: “A missing event type can be coded as the event of interest being absent.” Correction: Unknown event type is missing or unresolved information, not evidence of a competing event, administrative censoring, or event-free follow-up.
Key takeaway: For a first-event competing-risk record, store observed follow-up time and a categorical endpoint code that distinguishes the event of interest, each competing event, and administrative censoring. In split records, place the observed endpoint only at the terminal interval.

Check Your Understanding

Answer each question, then compare with the solutions below.

  1. A participant is followed for at most 30 months and experiences event type 1 at month 13. What are \(Y\) and \(J\)?
  2. Another participant experiences a competing event type 3 at month 20, with an administrative end at month 30. Explain why \(J=0\) is incorrect.
  3. A participant has no event by an administrative end at month 16. What should be recorded for time and status?
  4. Follow-up is split into \((0,4]\), \((4,10]\), and \((10,15]\). A type 1 event occurs at month 10. Which interval carries the event code?
  5. State one assumption needed for a single event-type code to represent the endpoint, and give one diagnostic check for the resulting data.

Solutions. (1) \(Y=\min(13,30)=13\) months and \(J=1\), because type 1 occurred before the administrative end. (2) \(Y=\min(20,30)=20\) months and \(J=3\); the competing event is observed at month 20, so coding 0 would falsely describe administrative censoring without an event through month 30. (3) Record \(Y=16\) months and \(J=0\), meaning no event was observed by the administrative endpoint. (4) The interval \((4,10]\) carries the type 1 event code because it ends at the event time; the preceding interval has no event, and no interval follows the first event. (5) One needed assumption is that the defined first-event categories are mutually exclusive, with any simultaneous events handled by a prespecified rule. A diagnostic is to check that each positive event code has an event time no later than the recorded observation end and occurs only once at the terminal interval.

Clinical Biostats