def seirah_model(y: tuple,
                 t: int,
                 De: float,
                 Dh: float,
                 Di: float,
                 Dq: float,
                 N: int,
                 alpha: float,
                 b: float,
                 r: float):
    """
    SEIRAH epidemiological model from Population modeling of early COVID-19 epidemic dynamics in French
    regions and estimation of the lockdown impact on infection rate, Prague et al., 2020.
    Parameters
    ----------
    y: tuple
       Current states SEIRAH.
       y = [S, E, I, R, A, H]
       S: # susceptible individuals
       E: # individuals in latent state
       I: # symptomatic infected individuals
       R: # recovered & dead individuals (deaths represent 0.5 % of R).
       A: # asymptomatic infected individuals
       H: # hospitalized individuals
    t: int
       Timestep.
    De: float
        Latent period (days).
    Dh: float
        Average duration of hospitalizations (days).
    Di: float
        Infectious period (days).
    Dq: float
        Duration from illness onset to hospital (days).
    N: int
        Population size.
    alpha: float
        Ratio between transmission rates of reported vs not-reported, in [0, 1].
    b: float
       Transmission rate.
    r: float
       Verification rate

    Returns
    -------
    tuple
        Next states.
    """
    S, E, I, R, A, H = y
    dSdt = - b * S * (I + alpha * A) / N

    dEdt = b * S * (I + alpha * A) / N - E / De

    dIdt = r * E / De - I / Dq - I / Di

    dRdt = (I + A) / Di + H / Dh

    dAdt = (1 - r) * E / De - A / Di

    dHdt = I / Dq - H / Dh

    dydt = [dSdt, dEdt, dIdt, dRdt, dAdt, dHdt]

    return dydt