def process_choropleth_data(all_sv_data):
    """ For each combination of geo dcid and stat var, gets the source series containing
    data from the most recent date

    Args:
        all_sv_data: value of the key 'placeData' in the object received from getStatsAll

    Returns:
        dictionary of dictionary of statvar: data for single source series, keyed by place dcid
    """
    result = {}
    for geo, data_for_geo in all_sv_data.items():
        result[geo] = dict()
        for sv, sv_data in data_for_geo.get('statVarData', {}).items():
            most_recent_date = None
            for source in sv_data.get('sourceSeries', []):
                source_values = source.get('val', {})
                if len(source_values.keys()) < 1:
                    continue
                sorted_dates = sorted(source_values.keys())
                if not most_recent_date or sorted_dates[-1] > most_recent_date:
                    most_recent_date = sorted_dates[-1]
                    result[geo][sv] = {
                        'data': source_values,
                        'provenanceUrl': source.get('provenanceUrl', '')
                    }
    return result