Field notes
Day 0 or Day 1? Why your Week 4 visit lands on Day 29
Two day-numbering conventions, the same calendar day, and the one-line fix that keeps a tracker from drifting.
Week 4 is Day 28 in a protocol that calls the anchor day Day 0, and Day 29 in a protocol that calls the anchor day Day 1 and has no Day 0. Both mean the same thing: the visit is 28 days after first dose (or randomization, or whatever your protocol anchors on). If Subject 012 took the first dose on Tuesday, March 10, 2026, Week 4 targets Tuesday, April 7 under either convention. The number changes; the calendar day does not.
The trouble starts when a tracker built for one convention meets a protocol written in the other. Type "29" into a sheet that adds the day number to the anchor date and Week 4 lands on April 8. Every window downstream moves with it. On a ±3-day window you lose a day of slack. On a ±2-day PK visit you can book a subject on a day the sheet calls "in window" and the protocol calls a deviation.
Two conventions, one calendar
Here is the same schedule of assessments written both ways, with the anchor on March 10, 2026.
| Visit | Day-0 protocol | Day-1 protocol (no Day 0) | Days after anchor | Date |
|---|---|---|---|---|
| Screening | Day −14 | Day −14 | −14 | Feb 24 |
| Day before dosing | Day −1 | Day −1 | −1 | Mar 9 |
| First Dose | Day 0 | Day 1 | 0 | Mar 10 |
| Week 2 | Day 14 | Day 15 | 14 | Mar 24 |
| Week 4 | Day 28 | Day 29 | 28 | Apr 7 |
| Week 8 | Day 56 | Day 57 | 56 | May 5 |
| Week 12 | Day 84 | Day 85 | 84 | Jun 2 |
Days before the anchor are identical under both conventions: Day −1 is the day before dosing either way. From the anchor onward, the Day-1 convention runs one higher than the number of days that have actually passed. Day 15 is 14 days after first dose. Day 29 is 28 days after.
So the rule for a Day-1 protocol is calendar date = anchor date + (study day − 1) on or after the anchor, and anchor date + study day before it. For a Day-0 protocol it is anchor date + study day, full stop.
Why anyone would count with no Day 0
The Day-1 convention comes from how the data get submitted, not from how a clinic runs. CDISC's Study Data Tabulation Model Implementation Guide (the SDTMIG, which sponsors follow when they tabulate data for FDA) defines study day so that the subject's reference start date is Study Day 1, each following date adds one, and the date before the reference date is Study Day −1. There is no Study Day 0. A programmer's walkthrough of the study-day variables quotes the rule from SDTMIG v3.1.2 and gives the two-branch formula above.
The reasoning is that it matches how people talk: the day you start is the first day, not the zeroth. The cost is that the number is no longer a plain difference you can subtract, which the SDTMIG itself concedes by warning that study day is not suited to computing durations. Statisticians have been grumbling about the mismatch for years, because protocols are free to say Day 0 while the submission datasets cannot.
That is why protocols vary. Many sponsors write the schedule of assessments in SDTM numbering so the protocol and the datasets agree: Day 1, Day 8, Day 15, Day 29. Others, especially older templates and investigator-initiated studies, write Day 0, Day 7, Day 14, Day 28 because the arithmetic is easier. Neither is wrong. Your tracker follows the one in your protocol, not the one in the data standard.
The off-by-one, with real dates
Say the protocol is Day-1 numbered and has a PK visit at Day 29 with a ±2-day window. Subject 012's first dose is Tuesday, March 10, 2026.
Done right: Day 29 is 28 days after dosing. Target April 7. Window April 5 through April 9.
Done with a Day-0 sheet: the sheet adds 29 days. Target April 8. Window April 6 through April 10.
The subject cannot come Tuesday or Wednesday and offers Friday, April 10. The sheet says in window. The protocol says Day 32, a day late, and the PK draw is a deviation the monitor finds on the next visit. The four days the two windows share hide the error; the one day they do not is where it bites.
Run it the other way and the same thing happens a day early. A Day-0 protocol says Week 4 is Day 28. A tool that assumes Day-1 numbering subtracts one, puts the target on April 6, and opens the window on April 4. Book the subject on the 4th and you have drawn PK on Day 25.
I lost PK data to an out-of-window visit when I was coordinating, on a sheet I had built myself. It was not a dramatic mistake. It was a day.
The anchor is not Day 0. It is First Dose.
Half of these errors come from the words "Day 0" doing double duty. Your protocol anchors its schedule on an event: Randomization, First Dose, Baseline, Enrollment, sometimes Consent in an observational study. That event has a name, and the schedule of assessments uses the name in its column header. Your tracker should too.
When a sheet asks for a "Day 0 date," the coordinator has to translate, and translation is where the off-by-one sneaks in. Is Day 0 the randomization visit or the first-dose visit? In many studies they are the same afternoon. In a study with a run-in, a titration, or a dispensing delay, they can be a week apart, and windows anchored to the wrong one are all wrong together. Ask for the "First Dose date" and there is nothing to translate.
The same goes for the numbers. If the SoA says Day 29, the sheet says Day 29 and the arithmetic underneath handles the minus one. A sheet that silently renumbers the protocol's visits will disagree with the monitor's copy.
Screening counts from screening, not from the anchor
Pre-anchor visits are the other place a Day-0 assumption breaks. A screening window written as Day −28 to Day −1 means "within 28 days before the anchor," and you cannot compute that from an anchor date you do not have yet. Subject 012 signed consent on February 24; she has no first-dose date, and may never get one if she screen-fails.
So for the screening phase, the date you count from is the screening date, forward. Consent on February 24 means first dose has to happen by March 24 to stay inside a 28-day screening window, and the Day −1 visit falls the day before whichever date first dose lands on. The moment first dose happens, that date becomes the anchor and everything after it computes from there. Two dates, two jobs.
A tracker that demands an anchor date before it will accept a subject forces a guess (and false "overdue" flags when the guess is wrong) or keeps the subject off the sheet until dosing, which is exactly when screening labs are easiest to lose. Put the subject on the sheet at consent and let the anchor stay blank until it is real.
What to check in the schedule of assessments footnotes
The convention is almost never stated in the body of the protocol. It is in the header row and the footnotes. Before you build a tracker for a new study, find these:
- The anchor column. Its header usually says "Randomization/Day 1" or "Baseline (Day 0)." If it says Day 1, assume no Day 0 unless a footnote says otherwise.
- Whether a Day 0 exists anywhere. Scan the header row and the window footnotes for "Day 0." If it appears at all, the protocol is Day-0 numbered.
- How the window is written. "±3 days" is relative to the target study day; "Day 26–30" is a range in study days. Convert the range with the same rule you used for the target.
- What the window is measured from. Most count from the anchor. Some later visits count "from the previous visit," which is a chained schedule and a different post.
- Amendments. An amendment that renumbers visits or moves the anchor (randomization to first dose, say) is the most common way a tracker that used to be right becomes wrong.
If any of these is unclear, ask the CRA or medical monitor and file the answer, rather than guessing. Your site's SOP probably says the same.
The one line at the top of any tracker
Write the convention down where the next person will see it. One line, above the header row:
Anchor = First Dose = Day 1. No Day 0. Date = anchor + (day − 1) on or after the anchor; anchor + day before it.
Or, for the other convention:
Anchor = Randomization = Day 0. Date = anchor + day.
That line tells a covering coordinator how to read the sheet, tells the monitor why your Day 29 is April 7, and forces you to have actually looked it up, which is the part that prevents the error. The free visit-window tracker spreadsheet carries the convention as a setting the formulas read, so it is not a comment you have to remember.
Getting the day right is the when. It is the door into the visit; the visit itself is on the other side. Subject 012's Week 4 on April 7 still needs the PK draw at a set time after dosing, vitals before the draw, the ECG the sponsor wants before the blood, a kit that has not expired, and the person delegated on the DOA log to do each of those. The sheet that computed April 7 should be the same sheet that carries that list, so whoever preps the night before opens one thing. That is the idea behind a per-visit run sheet, and it is why I built one after keeping five spreadsheets that never agreed with each other about which day it was.
One more thing the day convention decides: after a missed visit, the next window still counts from the anchor, not from the miss, unless the protocol says the schedule chains. Which date to count from after a miss is its own question, and the answer lives in the same footnotes you just read.