To expand a bit on BruceET's answer, you must have some idea as to how the relapses are distributed. The exponential is a one-parameter distribution: once you know its mean, you know its variance and how all the quantiles are distributed. Anything more complex, such as a gamma or a Weibull—which are also right-tailed, left-moded distributions—will harder to solve, but if you restrict yourself to a two-parameter distribution, you may be able get an estimate.
Clearly, you have to set an assumed percentile as your seen maximum. You cannot have the entire distribution as most of these are defined for the entire real non-negative number line. While the minimum may well be the 0th percentile, that will not help us. Since 0 is the minimum for every such distribution. But if we can say it is the 1st or second, we now have two "pieces" of information: the min and the max serving as our estimates of the 2% and 98%, so we can reverse engineer the quantile functions for a given distribution to get two parameters, and thus the mean.
For example. Let's use the Pareto parameterized with shape $\alpha$ and scale. $\theta$. The CDF of the Pareto is:
$$
F(x) = p = 1 - \left(\frac{\theta}{x+\theta}\right)^\alpha
$$
Which means:
$$
x = \frac{\theta}{\left(1-p\right)^\frac{1}{\alpha}} - \theta
$$
If you have fixed your minimum as $p_1 = 0.02$ and your maximum as $p_2 = 0.98$ you can solve for $\alpha$ and $\theta$ and then use those parameters to estimate the mean.
Some distributions don't have closed forms without the use of special functions (gamma, beta, etc.) and so a brute force technique can be used. Forgive my use of R; I don't know stata. The following function returns the sum of the squared error between the min and the quantile representing $p_1$ and the max and the quantile representing $p_2$.
RangeErrGam <- function(par, min, max, p1, p2) {
shp <- par[[1]]
scl <- par[[2]]
(min - qgamma(p1, shp, scale = scl)) ^ 2 +
(max - qgamma(p2, shp, scale = scl)) ^ 2
}
Minimizing this error will result in parameters which can be used for estimating the mean. Let's say your minimum was 5 weeks and your maximum was 35 weeks.
fit <- optim(c(3, 10), RangeErrGam, min = 5, max = 35, p1 = 0.02, p2 = 0.98,
method = 'Nelder-Mead', control = list(maxit = 1e4))
This results in:
> fit
$par
[1] 4.947039 3.332601
$value
[1] 6.43681e-06
$counts
function gradient
147 NA
$convergence
[1] 0
$message
NULL
So the mean relapse time would be shape * scale or about 16.5 weeks.
Plotting this distribution shows the characteristics you wanted (left-mode, right-tail):
curve(dgamma(x, shape = fit$par[1], scale = fit$par[2]), from = 0, to = 50)
abline(v = fit$par[1] * fit$par[2])
This method can be extended to any two-parameter distribution.