def columns(self): return [ DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + convert_to_raw_filters_list( "patient_type = 'new'" ), alias='cat1_patients' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + convert_to_raw_filters_list( "patient_type in ('', 'recurrent', 'treatment_after_failure', 'treatment_after_lfu'," " 'other_previously_treated')" ), alias='cat2_patients' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=convert_to_raw_filters_list( "patient_type IS NOT NULL" ), alias='total_patients' ) ), ]
def columns(self): return [ DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + convert_to_raw_filters_list( "current_episode_type = 'confirmed_tb'", "previous_tb_treatment = 'no'" ), alias='cat1_patients' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + convert_to_raw_filters_list( "current_episode_type = 'confirmed_tb'", "previous_tb_treatment = 'yes'" ), alias='cat2_patients' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=convert_to_raw_filters_list( "current_episode_type = 'confirmed_tb'" ), alias='total_patients' ) ), ]
def columns(self): test_type_filter = [ RawFilter("bacteriological_examination = 1") ] filters_without_episode_type = self.filters[:-1] return ( generate_for_all_patient_types( 'pulmonary_microbiologically', self.filters + diagnosis_filter('microbiological', 'pulmonary') ) + generate_for_all_patient_types( 'pulmonary_clinical', self.filters + diagnosis_filter('clinical', 'pulmonary') ) + generate_for_all_patient_types( 'extra_pulmonary', self.filters + [ RawFilter('patient_type IS NOT NULL'), RawFilter("disease_classification = 'extra_pulmonary'") ] ) + generate_for_all_patient_types( 'total', self.filters + [RawFilter("patient_type IS NOT NULL")] ) + generate_for_all_ranges('male', self.filters + [RawFilter("sex = 'male'")]) + generate_for_all_ranges('female', self.filters + [RawFilter("sex = 'female'")]) + generate_for_all_ranges('transgender', self.filters + [RawFilter("sex = 'transgender'")]) + generate_for_all_ranges('all', self.filters) + [ DatabaseColumn( '', CountColumn( 'doc_id', filters=filters_without_episode_type + test_type_filter + [ RawFilter("bacteriological_test_episode_type = 'presumptive_tb'") ], alias='patients_with_presumptive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( filters_without_episode_type + test_type_filter + [ RawFilter("result_of_bacteriological_test = 'tb_detected'"), RawFilter("bacteriological_test_episode_type = 'presumptive_tb'") ] ), alias='patients_with_positive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + [RawFilter("hiv_status IN ('reactive', 'non_reactive')")], alias='all_hiv_tested' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + [RawFilter("hiv_status = 'reactive'")], alias='hiv_reactive' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + [ RawFilter("hiv_status = 'reactive'"), RawFilter("cpt_initiated = 'yes'") ], alias='hiv_reactive_cpt' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + [RawFilter("hiv_status = 'reactive'")] + [RawFilter("initiated_on_art = 'yes'")] ), alias='hiv_reactive_art' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'new'", "disease_classification = 'pulmonary'", "diagnostic_result = 'tb_detected'" ) ), alias='new_positive_tb_pulmonary' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'new'", "disease_classification = 'pulmonary'", "diagnostic_result = 'tb_not_detected'" ) ), alias='new_negative_tb_pulmonary' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'new'", "disease_classification = 'extrapulmonary'", "diagnostic_result = 'tb_detected'" ) ), alias='new_positive_tb_extrapulmonary' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'recurrent'", "diagnostic_result = 'tb_detected'" ) ), alias='recurrent_positive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'treatment_after_failure'", "diagnostic_result = 'tb_detected'" ) ), alias='failure_positive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'treatment_after_lfu'", "diagnostic_result = 'tb_detected'" ) ), alias='lfu_positive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'other_previously_treated'", "diagnostic_result = 'tb_detected'" ) ), alias='other_positive_tb' ) ) ] )
def columns(self): test_type_filter = [ RawFilter("bacteriological_examination = 1") ] return ( generate_for_all_patient_types( 'pulmonary_microbiologically', self.filters + diagnosis_filter('microbiological', 'pulmonary') ) + generate_for_all_patient_types( 'pulmonary_clinical', self.filters + diagnosis_filter('clinical', 'pulmonary') ) + generate_for_all_patient_types( 'extra_pulmonary', self.filters + [ RawFilter('patient_type IS NOT NULL'), RawFilter("disease_classification = 'extra_pulmonary'") ] ) + generate_for_all_patient_types( 'total', self.filters + [RawFilter("patient_type IS NOT NULL")] ) + generate_for_all_ranges('male', self.filters + [RawFilter("sex = 'male'")]) + generate_for_all_ranges('female', self.filters + [RawFilter("sex = 'female'")]) + generate_for_all_ranges('transgender', self.filters + [RawFilter("sex = 'transgender'")]) + generate_for_all_ranges('all', self.filters) + [ DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + test_type_filter + [RawFilter("episode_type = 'presumptive_tb'")], alias='patients_with_presumptive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + test_type_filter + [ RawFilter("result_of_test = 'tb_detected'"), RawFilter("episode_type = 'presumptive_tb'") ] ), alias='patients_with_positive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + [RawFilter("hiv_status IN ('reactive', 'non_reactive')")], alias='all_hiv_tested' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + [RawFilter("hiv_status = 'reactive'")], alias='hiv_reactive' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=self.filters + [ RawFilter("hiv_status = 'reactive'"), RawFilter("cpt_initiated = 'yes'") ], alias='hiv_reactive_cpt' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + [RawFilter("hiv_status = 'reactive'")] + [RawFilter("initiated_on_art = 'yes'")] ), alias='hiv_reactive_art' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'new'", "disease_classification = 'pulmonary'", "diagnostic_result = 'tb_detected'" ) ), alias='new_positive_tb_pulmonary' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'new'", "disease_classification = 'pulmonary'", "diagnostic_result = 'tb_not_detected'" ) ), alias='new_negative_tb_pulmonary' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'new'", "disease_classification = 'extrapulmonary'", "diagnostic_result = 'tb_detected'" ) ), alias='new_positive_tb_extrapulmonary' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'recurrent'", "diagnostic_result = 'tb_detected'" ) ), alias='recurrent_positive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'treatment_after_failure'", "diagnostic_result = 'tb_detected'" ) ), alias='failure_positive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'treatment_after_lfu'", "diagnostic_result = 'tb_detected'" ) ), alias='lfu_positive_tb' ) ), DatabaseColumn( '', CountColumn( 'doc_id', filters=( self.filters + convert_to_raw_filters_list( "patient_type = 'other_previously_treated'", "diagnostic_result = 'tb_detected'" ) ), alias='other_positive_tb' ) ) ] )