Пример #1
0
    def summarize_by_icd9_code(klass, icd9_code):
        """ For a given icd9 code, return the number of admissions and patients
        diagnosed with this code """

        num_patients = session.query(klass.subject_id).filter(
            klass.icd9_code == icd9_code).distinct().count()
        num_admissions = session.query(klass.hadm_id).filter(
            klass.icd9_code == icd9_code).distinct().count()

        return num_patients, num_admissions
Пример #2
0
 def get_from_subject_ids(klass, subject_ids):
     if isinstance(subject_ids, int):
         subject_ids = [subject_ids]
     return session.query(klass).filter(klass.subject_id.in_(subject_ids)).all()
import pandas as pd
from mimicry_db.base import session
from mimicry_db.patient import Patient
from mimicry_db.file_path_utils import matched_waveform_summary_filepath 

patient = Patient()
assert hasattr(patient, 'has_matched_waveform')

matched_records_df = pd.read_csv(matched_waveform_summary_filepath)
patients = matched_records_df.Patient.values

def process_patient_list(patient_list):   
    removed_p = [s.strip("p") for s in patient_list]
    removed_leading_zeros = [s.lstrip("0") for s in removed_p]
    return [int(patient_id) for patient_id in removed_leading_zeros]

subject_ids_with_waveform = process_patient_list(patients)

all_subject_ids_query = session.query(Patient.subject_id).all()
all_subject_ids = []
for result in all_subject_ids_query:
    all_subject_ids.append(result.subject_id)

# Update each patient that has an associated waveform 
patients = Patient.get_from_subject_ids(subject_ids_with_waveform)
for patient in patients:
    patient.has_matched_waveform = True
    session.commit()
 def find_by_long_title(klass, pattern):
     return session.query(klass).filter(klass.long_title.like(pattern)).all()
 def find_by_icd9(klass, icd9_code_pattern):
     return session.query(klass).filter(klass.icd9_code.like(icd9_code_pattern)).all()
 def get_by_icd9(klass, icd9_code):
     return session.query(klass).filter(klass.icd9_code==icd9_code).first()
 def find_diagnosed_diagnosis_descriptions(klass, limit=None):
     return session.query(klass).filter(klass.diagnoses != None).limit(limit).all()