def get_hosp_given_case_effect(ve_hospitalisation: float, ve_case: float) -> float:
    """
    Calculate the effect of vaccination on hospitalisation in cases.
    Allowable values restricted to effect on hospitalisation being greater than or equal to the effect on developing
    symptomatic Covid (because otherwise hospitalisation would be commoner in breakthrough cases than in unvaccinated
    cases).

    Args:
        ve_hospitalisation: Vaccine effectiveness against hospitalisation (given exposure only)
        ve_case: Vaccine effectiveness against symptomatic Covid (also given exposure)

    Returns:
        VE for hospitalisation in breakthrough symptomatic cases

    """

    msg = "Hospitalisation effect less than the effect on becoming a case"
    assert ve_hospitalisation >= ve_case, msg
    ve_hosp_given_case = 1.0 - (1.0 - ve_hospitalisation) / (1.0 - ve_case)

    # Should be impossible for the following assertion to fail, but anyway
    msg = f"Effect of vaccination on hospitalisation given case: {ve_hosp_given_case}"
    assert 0.0 <= ve_hosp_given_case <= 1.0, msg

    return ve_hosp_given_case