It seems that you are in a discrete failure time setting. Time is measured by number of doses taken by a subject (time 1 = first dose; time 2 = second dose, and so on), and you are interesting in the distribution of 'time to tolerance'. Formally, let $X$ be the number of doses consumed, and I think you are interested in estimating the survival function $Pr(X > k)$, $k=1,2,\ldots$. For subject $i$ for whom you observe a tolerance, your likelihood contribution would be $\Pr(X = x_i)$.
As you observe, some observations are censored, and you only know that $x_i > n_i$, where $n_i$ is the subject's assigned maximum dose. If you are willing to assume that the censoring process is not informative, then you can just use their likelihood contribution in estimating the model, which would be $\Pr(X > n_i)$.
There are a few things I would be concerned about, however, when it comes time to estimating the model. First, it's not clear to me that the censoring mechanism is non-informative. Do subjects know in advance what the value of dose is and, if so, is there a chance they will 'persevere' to finish all of their assigned dose levels? Second, I would want to know more about why subjects appear in the data more than once. You would want to account for the presumed correlation between observations from the same subject, to be sure, but, beyond that, why do these subjects appear in the data multiple times in the first place? Does that offer information about their tolerance?
Here are some other relevant questions on SE and external links that might be helpful as you start to fit the model.
Prediction: Discrete-Time Event History (Survival) Model in R
https://data.princeton.edu/wws509/notes/c7s6
https://link.springer.com/content/pdf/10.1007%2F0-387-34232-X.pdf
https://www.rensvandeschoot.com/tutorials/discrete-time-survival/