예제 #1
0
def create_datasets(load_d: LoadData):
    """
    loads already created important files
    :param load_d: query processor in case of a missing file
    :return: loaded objects
    """
    try:
        wf_matching = pd.read_csv('matching.csv')
    except FileNotFoundError:
        create_matching('admissions.csv', "RECORDS-waveforms.csv")
        wf_matching = pd.read_csv('matching.csv')
    try:
        numeric_matching = pd.read_csv('matching_numerics.csv')
    except FileNotFoundError:
        create_matching('admissions.csv', "RECORDS-numerics.csv", numerics=True)
        numeric_matching = pd.read_csv('matching.csv')
    try:
        mortality = pd.read_csv("in_hospital_mortality.csv")
    except FileNotFoundError:
        mortality = load_d.query_db(queries.in_hospital_mortality())
        mortality.to_csv("in_hospital_mortality.csv")
    try:
        clinical_features = pd.read_csv("features_clinical.csv")
    except FileNotFoundError as e:
        print(str(e))
        print("please create clinical features file for all patients")
    return wf_matching, numeric_matching, mortality, clinical_features
예제 #2
0
def cardiac_patients(query_proccesor: LoadData, admissions: str, gender: str, path: str, cardiac=True):
    """
    Extract patients using a filtering scheme
    :param query_proccesor: sql handler
    :param admissions: relevant admissions
    :param gender: desired gender for the patients
    :param path: path to already created file
    :param cardiac: cardiac or non-cardiac patients
    :return: patient dataframe with demographics
    """
    try:
        patients = pd.read_csv(path)
    except FileNotFoundError:
        patients = query_proccesor.query_db(queries.patient_selection(admissions, gender, cardiac))
        patients.to_csv(path)
    return patients
예제 #3
0
# /usr/bin/python

from load_data import LoadData

if __name__ == '__main__':
    query_mimic = """
        select *
        from mimiciii.admissions as a
        join mimiciii.patients as p on a.subject_id = p.subject_id 
        join mimiciii.icustays as i on a.hadm_id = i.hadm_id
        """

    load_d = LoadData('config_template.ini', 'mimic')

    print(load_d.query_db(query_mimic))
    load_d.query_and_save(query_mimic)

    query_mimic = """
            select c.subject_id,c.hadm_id,c.itemid,c.value,c.charttime,p.label
            from mimiciii.chartevents as c
            join mimiciii.d_items as p on c.itemid = p.itemid 
            where c.itemid in (211,615,676,772,773,781,789,811,812,821,769,770,3837,3835,1321,227429,851,834,828,223830,1531,198,227010,227443,226760,229759,226766,226765,189,2981,226998,4948,225312,225309,225310) 

            """

    load_d = LoadData('config_template.ini', 'mimic')

    print(load_d.query_db(query_mimic))
    load_d.query_and_save(query_mimic, file_name='tests')
예제 #4
0
# /usr/bin/python

from load_data import LoadData

if __name__ == '__main__':
    query_mimic = """
        select distinct i.label
        from mimiciii.outputevents as o 
        join mimiciii.d_items as i on i.itemid = o.itemid 
        limit 5;
        """

    load_d = LoadData('config_template.ini', 'mimic')

    print(load_d.query_db(query_mimic))
    load_d.query_and_save(query_mimic)

    query_eicu = """
    SELECT DISTINCT
        t.patientunitstayid AS pid
        ,t.treatmentid AS tid
        ,t.treatmentoffset AS toffset
    FROM
        eicu_crd.treatment t 
    WHERE 
        t.treatmentstring LIKE %(treat_string)s
    ORDER BY t.patientunitstayid limit 5;"""

    load_d2 = LoadData('config_template.ini', 'eicu')
    params = {
        'treat_string': 'pulmonary|ventilation and oxygenation|prone position'