Examples
Examples
Try the starting example
- JSON Participants [ID,enrollment day index]
- [["A",0],["B",10]]
- Required follow-up offsets (days)
- 30,60
- Allowed early tolerance (days)
- 3
- Allowed late tolerance (days)
- 5
- Current day index
- 40
- Visit windows [participant,target,start,end]
- [["A",30,27,35],["A",60,57,65],["B",40,37,45],["B",70,67,75]]
- Windows currently due
- [["B",30]]
- Windows ended without entered completion
- [["A",30]]
Try another scenario
- JSON Participants [ID,enrollment day index]
- [["A",0],["B",10]]
- Required follow-up offsets (days)
- 30,60
- Allowed early tolerance (days)
- 3
- Allowed late tolerance (days)
- 5
- Current day index
- 70
- Visit windows [participant,target,start,end]
- [["A",30,27,35],["A",60,57,65],["B",40,37,45],["B",70,67,75]]
- Windows currently due
- [["B",60]]
- Windows ended without entered completion
- [["A",30],["A",60],["B",30]]
Calculation method
Calculation method
Visit windows [participant,target,start,end]
J([[r[0],r[1]+v,r[1]+v-c,r[1]+v+d] for r in a for v in b])
Windows currently due
J([[r[0],v] for r in a for v in b if r[1]+v-c<=e<=r[1]+v+d])
Windows ended without entered completion
J([[r[0],v] for r in a for v in b if e>r[1]+v+d])
Symbols and units
- a
- JSON Participants [ID,enrollment day index]
- b
- Required follow-up offsets (days)
- c
- Allowed early tolerance (days)
- d
- Allowed late tolerance (days)
- e
- Current day index
Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.
Assumptions & limits
Assumptions & limits
- Uncompleted follow-ups only; remove completed participant-visit pairs before a per-visit run. Enrollment/visit units are civil days, user supplied protocol windows. Supported limits: All numeric inputs must be finite. Only the explicitly described mathematical scenario is supported.
Are these inputs private?
These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.