Visit Schedule and Window Calculator.
Turn a protocol’s schedule of assessments into dated visits with allowed windows for each participant.
Enter the reference date and each visit’s timing and window to get target, earliest and latest dates with study days and weekend flags, then export to CSV or a calendar. Everything runs in your browser and nothing is stored.
Visit schedule
Your visit dates
Dates appear here as soon as the reference date and the visits are filled in.
| Visit | Study day | Target date | Earliest | Latest | Window | Flags |
|---|
Timeline
Dots are target dates, bars are the allowed windows.
- Window
- Target
- Actual date
- Planned target
- Reference date
For research planning. Check every date against the approved protocol. Nothing you enter is stored or sent anywhere.
How to Use the Visit Window Calculator
- Set the reference date and the event it marks: consent, randomisation, baseline or first dose. Every timing counts from this date, which starts as today.
- Choose how your protocol numbers days. With Day 1 numbering the reference date is Day 1 and there is no Day 0. With Day 0 numbering it is Day 0.
- Enter each visit as the protocol states it: a study day, or a number of days, weeks or months after the reference date or the previous visit. Add the days allowed before and after the target. Tick Range only for periods such as screening that have allowed dates but no target.
- Or start from an example and replace every visit with your own. The examples are written for this tool, except the SPIRIT 2013 one, whose timings are quoted from the SPIRIT explanation paper[1].
- Add actual dates as visits happen, to see whether each one fell inside its window and how visits counted from it move.
- Export a CSV for a tracker or spreadsheet, a calendar file, or the schedule as text. Add a participant study code if you want it in the files.
The calculator plans dates for one participant at a time and stores nothing. For running visits across a whole study, see WeGuide’s clinical trial solutions.
Study Day Numbering: Day 1 or Day 0
Every visit has two numbers that are easy to mix up: the days elapsed since the reference date, and its study day label. In the CDISC SDTM standard the reference start date is Study Day 1, the day before is Day −1 and there is no Day 0[2]:
On or after the reference date: study day = days elapsed + 1
Before the reference date: study day = minus the days before
That is why Week 4 is Day 29. A visit 28 days after the reference date is labelled 28 + 1, so Day 29. The mRNA-1273 phase 3 trial gave two injections 28 days apart, on days 1 and 29[3]. Other trials call the reference date Day 0. The ChAdOx1 nCoV-19 report defines Day 0 as the day of vaccination[4], so labels equal elapsed days and Week 4 is Day 28.
The trap is typing a study day where the protocol means elapsed days. With Day 1 numbering, a visit entered as Day 28 lands one day before Week 4. The calculator shows the study day and the elapsed days side by side. Switching the numbering relabels visits entered in days, weeks or months without moving them, while visits entered as study days keep their numbers and move by one day. A window that crosses the reference date skips Day 0: three days before Day 1 runs Day −3, −2, −1 and 1.
Calendar Months and the Month End Rule
“Month 6” can mean six calendar months or a fixed number of days. Six calendar months span 181 to 184 days depending on the start date, against 180 days for six 30 day months. By default the calculator counts calendar months from the anchor date and keeps the day of the month. When that day does not exist, it uses the last day of the month:
31 Jan 2027 + 1 month = 28 Feb 2027
31 Jan 2028 + 1 month = 29 Feb 2028
31 Jan 2027 + 3 months = 30 Apr 2027
Each month is counted from the anchor, never by adding one month at a time, so Month 2 after 31 January is 31 March, not 28 March. Python dateutil and SAS INTNX with the same alignment use this rule, so a statistician can reproduce the dates[5][6].
If your protocol defines a month as a fixed number of days, choose 28 or 30 days. The SPIRIT 2013 explanation paper quotes a protocol whose 2, 4 and 6 month follow ups were 56, 112 and 168 days after randomisation, which are 28 day months[1]. When the protocol gives day or week numbers, enter those instead.
What the Flags Mean
Flags point to dates worth a second look. None of them moves a date. The protocol defines the target and the window, and the calculator only shows where they land.
Weekend dates
A target on a weekend day, or a window that opens or closes on one, is flagged. For a weekend target the nearest weekday inside the window is shown, because the window is what lets you book another day.
Early, late or in window
An actual date before the earliest or after the latest allowed date shows how many days early or late the visit was. Whether that is an important deviation is set by the sponsor for each trial[7].
Moved by its anchor
A visit counted from the previous visit moves when that visit gets an actual date, and the shift is shown. Until then its date is projected from the previous target and flagged as such.
Order and overlap
A target earlier than the previous visit, or a window that starts on or before the previous window ends, is flagged so you can check the timings in the protocol. Calendar months that land past a month end are marked as clamped.
Why Visit Windows Exist
A visit window is the range of dates around a target when the visit is allowed to happen. ICH E6(R3) notes that acceptable ranges for protocol provisions “can reduce the number of deviations or in some instances the requirement for a protocol amendment”, provided they do not affect participant safety or scientific validity[7]. FDA draft guidance says intentional departures should be rare because the protocol should include appropriate flexibility, naming “reasonable visit windows” as an example, and asks sponsors to assess which elements, visit windows included, can be made more flexible[8]. ICH M11, the structured protocol template, states: “Allowable windows should be stated for all visits and procedures”[9].
What happens when a visit is out of window
A protocol deviation is any change, divergence or departure from the study design or procedures defined in the protocol[10]. Under ICH E6(R3) the investigator should document all protocol deviations, and the sponsor sets trial specific criteria for which ones are important[7]. FDA’s draft guidance lists small deviations from protocol specified visit windows among its examples of deviations that are not important, and lists failure to collect data for primary or secondary endpoints as important[8]. Deviations are common: a benchmark of 187 protocols found a mean of 75 deviations in phase II and 119 in phase III protocols, involving nearly one third of the patients in those trials[11].
The Schedule of Assessments in SPIRIT
SPIRIT, the reporting guideline for trial protocols, asks for a time schedule of enrolment, interventions, assessments and visits, with a schematic diagram “highly recommended”[12]. The 2025 update asks protocols to list target time points and acceptable time windows in that diagram, for example 30±3 days[12]. A concise timeline helps guide the conduct of a trial and lets reviewers judge participant burden and feasibility[13]. ICH E6(R3) also expects the protocol to describe the schedule of events[7].
Counting From the Reference Date or the Previous Visit
Most protocols time every visit from one reference date, so a late visit does not push later visits back. Some time a visit from another visit, such as a follow up 28 days after the end of treatment visit. The CDISC Unified Study Definitions Model supports both: timings can be defined between consecutive visits or related to a fixed anchor[14].
A visit counted from the previous visit uses that visit’s actual date once you enter it, otherwise its target. A delay then carries forward. If Week 2 happens three days late, a visit set 14 days after it moves from Day 29 to Day 32. Counted from the reference date, the same visit stays on Day 29.
Weekends and Public Holidays
The calculator flags weekend dates and never moves a date. Moving a target would replace the protocol’s date with the tool’s, and would also move every visit counted from it. Weekends are not the same everywhere. Unicode locale data lists Friday and Saturday weekends for several countries[15], so you can choose the weekend days or turn the flags off.
There is no public holiday data. Holidays differ by country, state and site, and the Australian Government’s national machine readable holiday dataset is no longer maintained[16]. Check holidays and site closures against your local calendar.
Visit Burden and Remote Visits
A synthesis of 45 qualitative studies with 1,732 trial participants found that follow up caused psychological, physical and financial burdens, with poorly organised and too demanding follow up among the reasons[17]. Across 9,737 protocols, the number of visits and procedures per visit rose between 2001 to 2005 and 2011 to 2015[18]. ICH E6(R3) says the sponsor should not place unnecessary burden on participants and investigators[7]. Our guide to reducing patient burden in clinical trials covers practical steps.
Remote visits still need windows. FDA guidance on trials with decentralised elements asks protocols to say which visits are remote, which are on site and which participants can choose, and asks records to capture each visit’s type, location and date[19]. It warns that letting participants choose may bias results, for example if sicker participants prefer remote visits[19]. A systematic review found too little evidence to say which decentralised methods work best for recruitment or retention[20]. See how hybrid clinical trials mix site and remote visits, and how a decentralised clinical trial runs on WeGuide.
Reminders help people turn up. In routine healthcare, not trials, a Cochrane review found text message reminders improved attendance compared with no reminder[21]. More on keeping people in a study is in our guide to patient retention in clinical trials.
Exporting the Schedule to a Calendar
The calendar file follows the iCalendar standard, RFC 5545[22]. Each visit is an all day event on its target date, with the window, study days and flags in the description. You can export one multi day event per visit covering the whole window instead. All day events carry no time zone, so each one sits on the same calendar date for everyone[22]. Events are marked as free time so they do not block your calendar. Each event has a random ID that stays the same while the page is open. Whether a calendar app updates or duplicates events when you import a file again depends on the app.
The CSV follows RFC 4180[23], uses ISO dates such as 2026-11-30 so day and month cannot be swapped, and starts with a byte order mark so Excel reads it as UTF-8[24]. Text you type that starts with an equals, plus, minus or at sign gets a leading apostrophe so a spreadsheet does not run it as a formula[25]. Use a participant study code, never a name, because calendar files are often synced to cloud services.
Limitations to Keep in Mind
- Dates only, no times. Windows such as sampling within 10 minutes of a dose need date and time arithmetic, which this tool does not do.
- Fixed schedules only. Cycles that depend on events, such as dose delays or treatment until progression, are not modelled. Fixed cycles can be entered in days.
- No holidays or site closures. Weekend flags are the only calendar check.
- One participant at a time. Nothing is saved, so export the schedule before you leave the page. To run schedules for every participant, see the WeGuide Program Builder.
- Not a system of record. The approved protocol defines the schedule. Check every date against it.
Running a schedule for every participant?
WeGuide imports your protocol and turns its schedule into scheduled forms, messages, reminders and appointments for each participant, on their own phone.
Frequently Asked Questions
Answers about visit windows, study day numbering and turning a protocol schedule into dates.
Have another question?What is a visit window in a clinical trial?
A visit window is the range of dates around a visit’s target date when the visit is allowed to happen, for example Week 4 plus or minus 3 days. ICH E6(R3) notes that acceptable ranges in a protocol can reduce the number of deviations, and ICH M11 asks that allowable windows be stated for all visits and procedures.
Is baseline Day 0 or Day 1?
Both are used, so follow your protocol. In CDISC SDTM the reference date is Day 1, the day before is Day −1 and there is no Day 0. Some trials call the reference date Day 0. The calculator lets you choose and shows the elapsed days next to every study day so the two cannot be confused.
Why does the Week 4 visit show as Day 29?
Because the reference date is Day 1, a visit 28 days later is Day 29. With Day 0 numbering the same date is Day 28. The date does not change, only its label does. Typing Day 28 under Day 1 numbering gives a date one day earlier than Week 4. The calculator shows the elapsed days next to each label to catch this.
How does the calculator count months?
By default a month is a calendar month counted from the anchor date, so Month 6 falls on the same day of the month six months later. If that day does not exist, the last day of the month is used, so 31 January plus one month is 28 February, or 29 February in a leap year. If your protocol defines a month as 28 or 30 days, choose that option or enter the visit in days.
What happens if a visit falls on a weekend or a public holiday?
The calculator flags weekend targets and window edges, and shows the nearest weekday inside the window, but it never moves a date. The window in your protocol is what allows the visit to be booked on another day. Public holidays are not flagged because they differ by country, state and site, so check them against your local calendar.
Is a visit outside its window a protocol deviation?
Yes. A protocol deviation is any departure from the procedures defined in the protocol, and ICH E6(R3) says investigators should document all deviations. Each sponsor decides which deviations count as important for its trial. FDA draft guidance lists small departures from visit windows among its examples of deviations that are not important.
Should later visits be scheduled from baseline or from the previous visit?
Usually from the reference date, so a late visit does not push every later visit back. Some protocols time a visit from another visit, such as a follow up 28 days after the end of treatment visit. The calculator supports both, uses the actual date of the earlier visit once you enter it and shows how far later visits moved.
Can I add the schedule to my calendar?
Yes. The calendar file follows the iCalendar standard (RFC 5545). Each visit becomes an all day event on its target date, with the window dates in the description, or you can export each whole window as a multi day event instead. Use a participant study code, not a name, because calendars are often synced to cloud services.
Will the dates change if I or my sponsor work in another time zone?
No. The calculator works with calendar dates only, never times, so a date stays the same in every time zone and across daylight saving changes. Calendar events are exported as all day dates for the same reason, and the CSV uses ISO dates such as 2026-11-30 that cannot be misread.
Do remote or decentralised visits need windows too?
Yes. Remote and home visits still happen on a date. FDA guidance on trials with decentralised elements asks protocols to say which visits are remote and asks study records to capture each visit’s type, location and date, so a remote visit can fall inside or outside its window like any other.
Related Research Tools
Free tools for planning and running clinical research, built on published methods.
References
- Chan AW, Tetzlaff JM, Gøtzsche PC, et al. SPIRIT 2013 explanation and elaboration: guidance for protocols of clinical trials. BMJ. 2013;346:e7586. PubMed 23303884
- pharmaverse. admiral package, derive_vars_dy() documentation: relative study day as used in CDISC SDTM and ADaM, with no Day 0. GitHub
- Baden LR, El Sahly HM, Essink B, et al. Efficacy and Safety of the mRNA-1273 SARS-CoV-2 Vaccine. N Engl J Med. 2021;384(5):403-416. PubMed 33378609
- Folegatti PM, Ewer KJ, Aley PK, et al. Safety and immunogenicity of the ChAdOx1 nCoV-19 vaccine against SARS-CoV-2: a preliminary report of a phase 1/2, single-blind, randomised controlled trial. Lancet. 2020;396(10249):467-478. PubMed 32702298
- dateutil 2.9 documentation. relativedelta. dateutil documentation
- SAS Institute. SAS 9.3 Functions and CALL Routines: Reference. INTNX function. SAS documentation
- ICH. E6(R3) Guideline for Good Clinical Practice. Final version adopted 6 January 2025. ICH (PDF)
- US Food and Drug Administration. Protocol Deviations for Clinical Investigations of Drugs, Biological Products, and Devices. Draft guidance, December 2024. FDA (PDF)
- ICH. M11 Clinical Electronic Structured Harmonised Protocol (CeSHarP) Technical Specification. Final version adopted 19 November 2025, section 1.3. PMDA copy (PDF)
- ICH. E3 Questions and Answers (R1). 6 July 2012, question 7. ICH (PDF)
- Getz K, Smith Z, Jain A, Krauss R. Benchmarking Protocol Deviations and Their Variation by Major Disease Categories. Ther Innov Regul Sci. 2022;56(4):632-636. PubMed 35378712
- Chan AW, Boutron I, Hopewell S, et al. SPIRIT 2025 statement: updated guideline for protocols of randomised trials. BMJ. 2025;389:e081477. PubMed 40294953
- Hróbjartsson A, Boutron I, Hopewell S, et al. SPIRIT 2025 explanation and elaboration: updated guideline for protocols of randomised trials. BMJ. 2025;389:e081660. PubMed 40294956
- CDISC. Unified Study Definitions Model Implementation Guide (USDM-IG) v4.0, final, 3 June 2025. Timing and visit windows. GitHub (PDF)
- Unicode Consortium. Common Locale Data Repository (CLDR), supplemental data, week data by territory. GitHub
- Department of the Prime Minister and Cabinet. Australian Public Holidays Dates Machine Readable Dataset [INACTIVE]. data.gov.au, accessed 20 October 2026. data.gov.au
- Naidoo N, Nguyen VT, Ravaud P, et al. The research burden of randomized controlled trial participation: a systematic thematic synthesis of qualitative evidence. BMC Med. 2020;18(1):6. PubMed 31955710
- Getz KA, Campo RA. New Benchmarks Characterizing Growth in Protocol Design Complexity. Ther Innov Regul Sci. 2018;52(1):22-28. PubMed 29714620
- US Food and Drug Administration. Conducting Clinical Trials With Decentralized Elements. Final guidance, September 2024. FDA (PDF)
- Rogers A, De Paoli G, Subbarayan S, et al. A systematic review of methods used to conduct decentralised clinical trials. Br J Clin Pharmacol. 2022;88(6):2843-2862. PubMed 34961991
- Gurol-Urganci I, de Jongh T, Vodopivec-Jamsek V, et al. Mobile phone messaging reminders for attendance at healthcare appointments. Cochrane Database Syst Rev. 2013;(12):CD007458. PubMed 24310741
- IETF. RFC 5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar). September 2009. RFC Editor
- IETF. RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files. October 2005. RFC Editor
- Microsoft Support. Opening CSV UTF-8 files correctly in Excel. Microsoft Support
- OWASP Foundation. CSV Injection. OWASP
Date rules checked against CDISC study day conventions, RFC 5545, RFC 4180 and 52 test schedules on 20 October 2026 by the WeGuide editorial team. This tool is for research planning. It is not a clinical system of record and does not give medical advice.

