def extract_global_label(label_list):
    """This function extracts the global label of the report from the input annotation list
    Args:
        label_list (list): it contains all the classification annotations
    Returns:
        global_label (int): value corresponding to the global class (0 = stable, 1 = response, 2 = progression, 3 = unknown)
    Raises:
        AssertionError: if more than one value is found for the global class
        ValueError: if the global label was not found
    """
    only_global = [x for x in label_list if "Global" in x]
    assert len(only_global) == 1, "Only one value should be retrieved"

    if only_global[0] == " Global_stable":
        global_label = 0
    elif only_global[0] == " Global_response":
        global_label = 1
    elif only_global[0] == " Global_progression":
        global_label = 2
    elif only_global[0] == " Global_unknown":
        global_label = 3
    else:
        raise ValueError("global label not found")

    return global_label