Пример #1
0
def get_sequela_data(with_survey):
    sequelae = gbd.get_sequela_id_mapping()
    if with_survey:
        data_survey = gbd.get_survey_summary('sequela', SURVEY_LOCATION_ID)
        assert len(sequelae) == len(data_survey)
        sequelae = sequelae.merge(data_survey, on='sequela_id')
    else:
        data_survey = make_empty_survey([
            'incidence_exists', 'prevalence_exists', 'birth_prevalence_exists',
            'incidence_in_range', 'prevalence_in_range',
            'birth_prevalence_in_range'
        ], sequelae.index)
        sequelae = sequelae.join(data_survey)

    dw = gbd.get_auxiliary_data('disability_weight', 'sequela', 'all', 1)
    sequelae['disability_weight_exists'] = sequelae['healthstate_id'].apply(
        lambda h: bool(h in set(dw.healthstate_id)))
    return list(
        zip(clean_entity_list(sequelae.sequela_name), sequelae.sequela_id,
            sequelae.modelable_entity_id,
            clean_entity_list(sequelae.healthstate_name),
            sequelae.healthstate_id, sequelae.disability_weight_exists,
            sequelae.incidence_exists, sequelae.prevalence_exists,
            sequelae.birth_prevalence_exists, sequelae.incidence_in_range,
            sequelae.prevalence_in_range, sequelae.birth_prevalence_in_range))
Пример #2
0
def get_sequelae():
    sequelae = gbd.get_sequela_id_mapping()
    sequelae = pd.DataFrame({
        "sequela_name":
        clean_entity_list(sequelae.sequela_name),
        "sequela_id":
        sequelae.sequela_id,
    })
    return sequelae.sort_values("sequela_id")
Пример #3
0
def get_sequelae():
    sequelae = gbd.get_sequela_id_mapping()
    sequelae = pd.DataFrame({
        'sequela_name':
        clean_entity_list(sequelae.sequela_name),
        'sequela_id':
        sequelae.sequela_id
    })
    return sequelae.sort_values('sequela_id')
Пример #4
0
def get_sequela_data() -> List:
    sequelae = gbd.get_sequela_id_mapping()

    return list(
        zip(
            clean_entity_list(sequelae.sequela_name),
            sequelae.sequela_id,
            sequelae.modelable_entity_id,
            clean_entity_list(sequelae.healthstate_name),
            sequelae.healthstate_id,
        ))
Пример #5
0
def get_cause_data():
    sequelae = gbd.get_sequela_id_mapping().sort_values("sequela_id")

    etiologies = gbd.get_rei_metadata(rei_set_id=ETIOLOGY_SET_ID)
    etiologies = etiologies[etiologies["most_detailed"] == 1].sort_values(
        "rei_id")

    cause_etiology_map = gbd.get_cause_etiology_mapping()
    cause_me_map = gbd.get_cause_me_id_mapping()
    cause_me_map["cause_name"] = clean_entity_list(
        cause_me_map["modelable_entity_name"])
    cause_me_map = cause_me_map[["modelable_entity_id",
                                 "cause_name"]].set_index("cause_name")

    causes = gbd.get_cause_metadata(cause_set_id=CAUSE_SET_ID)

    causes = pd.DataFrame({
        "cause_name":
        clean_entity_list(causes.cause_name),
        "cause_id":
        causes.cause_id,
        "parent_id":
        causes.parent_id,
        "most_detailed":
        causes.most_detailed,
        "level":
        causes.level,
        "male":
        causes.male.replace({
            np.NaN: False,
            1: True
        }),
        "female":
        causes.female.replace({
            np.NaN: False,
            1: True
        }),
        "yll_only":
        causes.yll_only.replace({
            np.NaN: False,
            1: True
        }),
        "yld_only":
        causes.yld_only.replace({
            np.NaN: False,
            1: True
        }),
        "yll_age_start":
        causes.yll_age_start.replace({np.NaN: 0}),
        "yll_age_end":
        causes.yll_age_end.replace({np.NaN: 95}),
        "yld_age_start":
        causes.yld_age_start.replace({np.NaN: 0}),
        "yld_age_end":
        causes.yld_age_end.replace({np.NaN: 95}),
    })

    causes = (causes.set_index("cause_name").join(cause_me_map).sort_values(
        "cause_id").reset_index())

    cause_data = []
    for _, cause in causes.iterrows():
        name = cause["cause_name"]
        cid = cause["cause_id"]
        parent = causes.set_index("cause_id").at[cause["parent_id"],
                                                 "cause_name"]
        dismod_id = cause["modelable_entity_id"]
        most_detailed = cause["most_detailed"]
        level = cause["level"]
        restrictions = make_cause_restrictions(cause)
        eti_ids = cause_etiology_map[cause_etiology_map.cause_id ==
                                     cid].rei_id.tolist()
        associated_etiologies = clean_entity_list(
            etiologies[etiologies.rei_id.isin(eti_ids)].rei_name)
        associated_sequelae = clean_entity_list(
            sequelae[sequelae.cause_id == cid].sequela_name)
        sub_causes = causes[causes.parent_id == cid].cause_name.tolist()

        cause_data.append((
            name,
            cid,
            dismod_id,
            most_detailed,
            level,
            parent,
            restrictions,
            associated_sequelae,
            associated_etiologies,
            sub_causes,
        ))

    return cause_data
Пример #6
0
def get_cause_data(with_survey):
    sequelae = gbd.get_sequela_id_mapping().sort_values('sequela_id')

    etiologies = gbd.get_rei_metadata(rei_set_id=ETIOLOGY_SET_ID)
    etiologies = etiologies[etiologies['most_detailed'] == 1].sort_values(
        'rei_id')

    cause_etiology_map = gbd.get_cause_etiology_mapping()
    cause_me_map = gbd.get_cause_me_id_mapping()
    cause_me_map['cause_name'] = clean_entity_list(
        cause_me_map['modelable_entity_name'])
    cause_me_map = cause_me_map[['modelable_entity_id',
                                 'cause_name']].set_index('cause_name')

    causes = gbd.get_cause_metadata(cause_set_id=CAUSE_SET_ID)

    causes = pd.DataFrame({
        'cause_name':
        clean_entity_list(causes.cause_name),
        'cause_id':
        causes.cause_id,
        'parent_id':
        causes.parent_id,
        'most_detailed':
        causes.most_detailed,
        'level':
        causes.level,
        'male':
        causes.male.replace({
            np.NaN: False,
            1: True
        }),
        'female':
        causes.female.replace({
            np.NaN: False,
            1: True
        }),
        'yll_only':
        causes.yll_only.replace({
            np.NaN: False,
            1: True
        }),
        'yld_only':
        causes.yld_only.replace({
            np.NaN: False,
            1: True
        }),
        'yll_age_start':
        causes.yll_age_start.replace({np.NaN: 0}),
        'yll_age_end':
        causes.yll_age_end,
        'yld_age_start':
        causes.yld_age_start.replace({np.NaN: 0}),
        'yld_age_end':
        causes.yld_age_end
    })

    if with_survey:
        data_survey = gbd.get_survey_summary('cause', SURVEY_LOCATION_ID)
        assert len(causes) == len(data_survey)
        causes = causes.merge(data_survey, on='cause_id')

    else:
        data_survey = make_empty_survey([
            'prevalence_exists', 'incidence_exists', 'remission_exists',
            'deaths_exists', 'birth_prevalence_exists', 'prevalence_in_range',
            'incidence_in_range', 'remission_in_range', 'deaths_in_range',
            'birth_prevalence_in_range', 'prevalence_consistent',
            'incidence_consistent', 'deaths_consistent',
            'birth_prevalence_consistent', 'prevalence_aggregates',
            'incidence_aggregates', 'deaths_aggregates',
            'birth_prevalence_aggregates', 'violated_restrictions'
        ],
                                        index=causes.index)
        causes = causes.join(data_survey)

    causes = causes.set_index('cause_name').join(cause_me_map).sort_values(
        'cause_id').reset_index()

    cause_data = []
    for _, cause in causes.iterrows():
        name = cause['cause_name']
        cid = cause['cause_id']
        parent = causes.set_index('cause_id').at[cause['parent_id'],
                                                 'cause_name']
        dismod_id = cause['modelable_entity_id']
        most_detailed = cause['most_detailed']
        level = cause['level']
        restrictions = make_cause_restrictions(cause)
        prev_exists = cause['prevalence_exists']
        inc_exists = cause['incidence_exists']
        remission_exists = cause['remission_exists']
        deaths_exists = cause['deaths_exists']
        birth_prevalence_exists = cause['birth_prevalence_exists']
        prev_in_range = cause['prevalence_in_range']
        inc_in_range = cause['incidence_in_range']
        remission_in_range = cause['remission_in_range']
        deaths_in_range = cause['deaths_in_range']
        birth_prev_in_range = cause['birth_prevalence_in_range']
        prev_consistent = cause['prevalence_consistent']
        inc_consistent = cause['incidence_consistent']
        deaths_consistent = cause['deaths_consistent']
        birth_prev_consistent = cause['birth_prevalence_consistent']
        prev_aggregates = cause['prevalence_aggregates']
        inc_aggregates = cause['incidence_aggregates']
        deaths_aggregates = cause['deaths_aggregates']
        birth_prev_aggregates = cause['birth_prevalence_aggregates']

        eti_ids = cause_etiology_map[cause_etiology_map.cause_id ==
                                     cid].rei_id.tolist()
        associated_etiologies = clean_entity_list(
            etiologies[etiologies.rei_id.isin(eti_ids)].rei_name)
        associated_sequelae = clean_entity_list(
            sequelae[sequelae.cause_id == cid].sequela_name)
        sub_causes = causes[causes.parent_id == cid].cause_name.tolist()

        cause_data.append(
            (name, cid, dismod_id, most_detailed, level, parent, restrictions,
             prev_exists, inc_exists, remission_exists, deaths_exists,
             birth_prevalence_exists, prev_in_range, inc_in_range,
             remission_in_range, deaths_in_range, birth_prev_in_range,
             prev_consistent, inc_consistent, deaths_consistent,
             birth_prev_consistent, prev_aggregates, inc_aggregates,
             deaths_aggregates, birth_prev_aggregates, associated_sequelae,
             associated_etiologies, sub_causes))

    return cause_data