Field notes

The visit was missed. Which date do you count from now?

Two anchoring models, one worked example with 2026 dates, and the three ways a spreadsheet gets it wrong.

Short answer: it depends on which of two models your protocol uses, and the protocol always says which. In most fixed-schedule protocols every visit is counted from the anchor date (randomization, first dose, baseline), so a missed or late Week 4 does not move Week 8 at all. In cycle-based and dosing-interval protocols each visit is counted from the actual date of the visit before it, so a late Week 4 slides everything after it. It is never "from whichever date is convenient," and it is never the coordinator's call.

The two ways a protocol anchors its visits

Model 1: every visit from the anchor. Week 2 is Day 14, Week 4 is Day 28, Week 8 is Day 56, all counted from one date: the day the subject was randomized, dosed, or enrolled, whatever the protocol names as the anchor. If Week 4 happens late, Week 8 is still Day 56. The actual Week 4 date gets written down, flagged if it was out of window, and then ignored for scheduling. Most fixed-visit Phase II and III protocols work this way.

Model 2: each visit from the visit before it. Oncology cycles are the clearest case. Cycle 2 Day 1 is not "study Day 22"; it is 21 days after the day Cycle 1 actually started, and if C1D1 slipped, C2D1 slips with it. Dosing-interval studies do the same off the last actual dose. Coordinators call this re-anchoring, and it is a feature of the protocol, not a mistake.

How to tell which model yours is

The protocol says so in two places: the footnotes under the schedule of assessments, and a short section headed "Visit windows," "Study visit schedule," or "Timing of assessments" in the study-design chapter.

Model 1 wording sounds like this (typical phrasings, not quotes from any one protocol):

  • "All visits are scheduled relative to Day 1 (the day of randomization)."
  • "Visit windows are not cumulative." This one is the giveaway: a late Week 4 does not push Week 8.

Model 2 wording sounds like this:

  • "Day 1 of each subsequent cycle is scheduled relative to the actual Day 1 of the preceding cycle."
  • "If a visit is delayed, subsequent visits should be scheduled relative to the date the visit was actually performed."

The NIH-FDA Phase 2 and 3 protocol template (NOT-OD-17-064) puts the instruction in section 1.3, the schedule of activities: "Allowable windows should be stated for all visits," with the note that PK time points may allow little or no variation while a six-month follow-up might have a window of several weeks. The anchoring rule is part of that same decision, which is why it lives in the protocol and not in a general rule. If you have read both places and still cannot tell, ask the CRA before the next visit and file the answer with the protocol.

A worked example: Week 4 done late, in both models

I will use the sample schedule that ships with CRC Run Sheet, a Day 0 study where Baseline / Randomization is Day 0:

VisitDayWindow
Screening−14−14 / +13
Baseline / Randomization0none
Week 214±3
Week 428±3
Week 856±5
Week 1284±5
Week 24168±7
End of Treatment182±7
Safety Follow-up210±7

Subject 012 is randomized Monday, March 2, 2026. Week 4 is Day 28: target March 30, window March 27 to April 2. She cancels twice and comes in Thursday, April 9. That is Day 38, seven days past the window close. The visit is out of window. What happens to Week 8?

Model 1 (anchor-fixed). Nothing. Week 8 is still Day 56, still April 27, window April 22 to May 2. Subject 012 was just in the chair on April 9, so her next visit is 18 days away instead of 28. That is uncomfortable, and it is correct: Day 56 means 56 days of exposure, not 56 days since she last showed up.

Model 2 (chained). Week 8 is 28 days after the actual Week 4: April 9 plus 28 is May 7, window May 2 to May 12. Everything after it moves by the same ten days:

VisitAnchor-fixed targetChained target after Week 4 on Apr 9
Week 8Apr 27 (Apr 22 to May 2)May 7 (May 2 to May 12)
Week 12May 25 (May 20 to May 30)Jun 4 (May 30 to Jun 9)
Week 24Aug 17 (Aug 10 to Aug 24)Aug 27 (Aug 20 to Sep 3)
End of TreatmentAug 31 (Aug 24 to Sep 7)Sep 10 (Sep 3 to Sep 17)
Safety Follow-upSep 28 (Sep 21 to Oct 5)Oct 8 (Oct 1 to Oct 15)

Now the harder case: Week 4 is missed outright.

In Model 1, again, nothing moves. Week 8 is April 27. Week 4 is recorded as not done and the next window on your list is the one you were already watching.

In Model 2 there is a hole in the chain. Most chained protocols schedule the next visit from the last visit that actually happened; the missed one is skipped, not made up. So Week 8 counts from Week 2's actual date. If Week 2 was on time (March 16), Week 8 lands where the arithmetic would have put it anyway, and the chain falls back to the planned dates until something else slips. That is how the app's calendar handles it too: each visit hangs off its anchor visit's actual date when there is one and off that visit's computed date when there is not, so a missed link neither breaks the chain nor silently re-anchors it.

Missed is not the same as out of window

These get logged as one thing and they are not.

Out of window means the visit happened, the procedures were done, and the date fell outside the allowed range. The data usually still count; the sponsor decides how the analysis treats them. It is a protocol deviation, and the EDC will typically raise a query on the visit date the moment you enter it.

Missed means the visit did not happen. The procedures were not done and, under most protocols, are not made up at the next visit. The EDC usually has a "visit not done" box with a reason, and the deviation is the missed assessment set, not a date.

The protocol sets a threshold between them, usually a sentence like "a visit performed more than N days outside its window is considered missed." Find it before you book a very late visit; sometimes the right call is to skip it and land the next one cleanly.

What usually has to happen next

All of this is "check your protocol and your site's SOP." Here is what they usually say, and why.

  1. Tell the CRA. The sponsor owns the classification. ICH E6(R3) section 3.9.3 puts it on the sponsor to set "trial-specific criteria for classifying protocol deviations as important," and whether a late Week 4 matters in this trial is their call, not yours.
  2. Document it the way your SOP says. E6(R3) section 2.5.3 says the investigator "should document all protocol deviations," and for the important ones "explain the deviation and implement appropriate measures to prevent a recurrence" (ICH E6(R3), adopted 6 January 2025). At most small sites that is the deviation log plus a note to file if the SOP asks for one. Whether and when it goes to the IRB depends on the IRB's own reporting policy and the sponsor's classification.
  3. Decide whether it is a reschedule or a miss. Window still open: book it inside the window and it is neither. Window closed but under the "considered missed" threshold: a late visit and a deviation. Past the threshold: missed, and you book the next visit on the schedule.
  4. Enter it the way the EDC expects. Late visits get the real date and a reason for the query. Missed visits get "not done" and a reason. Never type a target date as the actual date to make a query go away; that turns a scheduling problem into a data problem.
  5. Check what the late visit still collects. A Week 4 done at Day 38 may still be worth doing for safety labs and the dispensing count, while its PK draw is now meaningless because it was tied to the dose interval, not the calendar. The protocol usually says which assessments carry their own timing rules.

The FDA's December 2024 draft guidance on protocol deviations in clinical investigations of drugs, biologics, and devices says outright that FDA regulations do not define "protocol deviation," and proposes definitions and a classification system for reporting to sponsors and IRBs. It is a draft and binds nobody yet, but it is where the vocabulary on your deviation log is heading.

The three ways a spreadsheet gets this wrong

I kept five spreadsheets as a coordinator, and I have made every one of these mistakes.

Silent re-anchoring. The target column has a formula, =B2+28. The subject comes in late, and to keep the sheet honest you type the actual date over the target. Now every formula downstream counts from the actual date. You have converted a Model 1 protocol into a Model 2 protocol without anyone deciding to. The fix is two columns, target and actual, with formulas that only ever reference the target column or the anchor cell unless the protocol chains. The free visit-window tracker spreadsheet is built that way; the formulas are on that page.

The Day 0 / Day 1 shift. If the protocol has no Day 0, so Day 1 is the randomization day, then Day 15 is fourteen days after the anchor, not fifteen. =anchor+15 puts every visit a day late for the whole study. On a ±3 window you get away with it; on a ±1 PK window you do not. That is its own post: Day 0 vs Day 1. In a chained schedule the offsets between visits are plain day counts and the shift does not touch them; it only bites where a study-day number meets a real date.

Chained formulas that break on a skipped visit. In a Model 2 sheet the natural formula is =previous_actual+28. When the previous visit was missed, that cell is blank, and a blank date in Excel is January 0, 1900. Your Week 8 target is now in the nineteenth century. The fix is a formula that walks back to the last non-blank actual date, which is about where most coordinators go back to a paper calendar.

The window tells you when. The visit still needs who, what, and where.

Once you have re-derived the date, the late visit still has to be run, and it is often not the same visit it would have been on time. The PK draw may be off the schedule, the ECG may belong at the next visit instead, and drug that was meant to cover 28 days now needs to cover 18. That is what a per-visit run sheet is for: what gets done at this visit, in order, the way your site does it, with the person delegated for each step. I lost a PK series once to an out-of-window visit, not because the tracker had the wrong date but because nobody re-read what that visit was for once it moved.

If your protocol chains, set it up that way once and let the dates follow the actual visits. If it does not, keep the actual dates out of the arithmetic entirely. Either way, the protocol already decided. Your job on the day is to know which sentence it used.