Ejemplo n.º 1
0
def get_data((sex, age, sline)):
    result = []
    for row in all_data:
        admit_date = row[2]
        agef = fp.split_age(int(row[9]))
        sexf = int(row[10])
        slinef = row[14]
        soif = row[8]
        rlos = row[5]

        if slinef is None:
            continue
        if len(admit_date) == 0:
            continue
        if len(rlos) == 0:
            continue
        if len(soif) == 0:
            continue

        if (sex, age, sline) != (sexf, agef, slinef):
            continue

        if int(soif) > 2:
            continue
        datetime = fp.parse_datetime(admit_date)

        result.append(int(rlos))
    return result
Ejemplo n.º 2
0
        agef = fp.split_age(agef_in_years)
        sexf = int(row[10])
        slinef = row[14]
        rlos = row[5]

        if slinef is None:
            continue
        if len(admit_date) == 0:
            continue

        if len(rlos) == 0:
            continue

        if (sex, age, sline) != (sexf, agef, slinef):
            continue
        datetime = fp.parse_datetime(admit_date)

        start_date = datetime if start_date is None or datetime < start_date else start_date
        end_date = datetime if end_date is None or datetime > end_date else end_date
        hist_data.setdefault(datetime, [])
        hist_data[datetime].append((admit_date, sex, agef_in_years, sline, int(rlos)))

    start_day = random.randint(0, (end_date - start_date).days)
    end_day = start_day + days
    result = []
    for day in range(start_day, end_day + 1):
        day_dt = start_date + timedelta(day)
        if day_dt in hist_data:
            result.extend(hist_data[day_dt])

    return result, start_date + timedelta(start_day), start_date + timedelta(end_day)