def columns(self): columns = [ DatabaseColumn( "Total children with with birthweight known", CountUniqueColumn('doc_id', alias="total_birthweight_known", filters=self.filters + [NOTEQ('weight_birth', 'empty')])), ] columns.extend([ DatabaseColumn( "Birthweight < 2.5 kg", CountUniqueColumn( 'doc_id', alias="total_birthweight_lt_25", filters=self.filters + [ AND([ LT('weight_birth', 'weight_birth_25'), NOTEQ('weight_birth', 'empty') ]) ])), DatabaseColumn( "Birthweight >= 2.5 kg", CountUniqueColumn( 'doc_id', alias="total_birthweight_gte_25", filters=self.filters + [ AND([ GTE('weight_birth', 'weight_birth_25'), NOTEQ('weight_birth', 'empty') ]) ])) ]) return columns
def filters(self): filters = [ EQ("domain", "domain"), EQ("ppt_year", "ppt_year"), AND([ NOTEQ("case_status", "duplicate"), NOTEQ("case_status", "test") ]) ] for k, v in self.geography_config.items(): if k in self.config and self.config[k]: filters.append( IN(k, get_INFilter_bindparams(k, self.config[k]))) if 'value_chain' in self.config and self.config['value_chain']: filters.append(EQ("value_chain", "value_chain")) if 'group_leadership' in self.config and self.config[ 'group_leadership']: filters.append(EQ('group_leadership', 'group_leadership')) if 'cbt_name' in self.config and self.config['cbt_name']: filters.append( IN( 'owner_id', get_INFilter_bindparams('cbt_name', self.config['cbt_name']))) if 'real_or_test' in self.config and self.config['real_or_test']: filters.append(IEQ('real_or_test', 'real_or_test')) for column_name in ['domains', 'practices', 'schedule']: if column_name in self.config and self.config[ column_name] and self.config[column_name] != ('0', ): filters.append( IN( column_name, get_INFilter_bindparams(column_name, self.config[column_name]))) return filters
def columns(self): self.config['mother_ids'] = tuple( DeliveryMothersIds(config=self.config).data.keys()) + ('', ) columns = [ DatabaseColumn( "Total children with with birthweight known", CountUniqueColumn('doc_id', alias="total_birthweight_known", filters=self.filters + [NOTEQ('weight_birth', 'empty')])), DatabaseColumn( "Total births", CountUniqueColumn( 'doc_id', filters=[ AND([ IN( 'mother_id', get_INFilter_bindparams( 'mother_ids', self.config['mother_ids'])), OR([EQ('gender', 'female'), EQ('gender', 'male')]) ]) ], alias='total_births')) ] columns.extend([ DatabaseColumn( "Birthweight < 2.5 kg", CountUniqueColumn( 'doc_id', alias="total_birthweight_lt_25", filters=self.filters + [ AND([ LT('weight_birth', 'weight_birth_25'), NOTEQ('weight_birth', 'empty') ]) ])), DatabaseColumn( "Birthweight >= 2.5 kg", CountUniqueColumn( 'doc_id', alias="total_birthweight_gte_25", filters=self.filters + [ AND([ GTE('weight_birth', 'weight_birth_25'), NOTEQ('weight_birth', 'empty') ]) ])) ]) return columns
def columns(self): return [ DatabaseColumn("Early initiation of breastfeeding", CountUniqueColumn('doc_id', alias="colostrum_feeding", filters=self.filters + [EQ('breastfeed_1_hour', 'yes')])), DatabaseColumn("Early initiation of breastfeeding Total Eligible", CountUniqueColumn('doc_id', alias="colostrum_feeding_total_eligible", filters=self.filters + [NOTEQ('breastfeed_1_hour', 'empty')])), DatabaseColumn("Exclusive breastfeeding", CountUniqueColumn('doc_id', alias="exclusive_breastfeeding", filters=self.filters + [AND([EQ('exclusive_breastfeeding', "yes"), GTE('dob', "today_minus_183")])])), DatabaseColumn("Exclusive Breastfeeding (EBF) Total Eligible", CountUniqueColumn('doc_id', alias="exclusive_breastfeeding_total_eligible", filters=self.filters + [GTE('dob', 'today_minus_183')])), DatabaseColumn("Supplementary feeding", CountUniqueColumn('doc_id', alias="supplementary_feeding", filters=self.filters + [AND([EQ('supplementary_feeding_baby', 'yes'), GTE('dob', 'today_minus_182')])])), DatabaseColumn("Supplementary feeding Total Eligible", CountUniqueColumn('doc_id', alias="supplementary_feeding_total_eligible", filters=self.filters + [GTE('dob', 'today_minus_182')])), DatabaseColumn("Complementary feeding", CountUniqueColumn('doc_id', alias="complementary_feeding", filters=self.filters + [AND([EQ('comp_breastfeeding', 'yes'), LTE('dob', 'today_minus_183'), GTE('dob', 'today_minus_730')])])), DatabaseColumn("Complementary feeding Total Eligible", CountUniqueColumn('doc_id', alias="complementary_feeding_total_eligible", filters=self.filters + [AND([LTE('dob', 'today_minus_183'), GTE('dob', 'today_minus_730')])])) ]
def filters(self): filter = super(ChildrenDeathDetails, self).filters filter.extend([ EQ('reason_for_child_closure', 'death'), NOTEQ('cause_of_death_child', 'empty') ]) return filter
def filters(self): filters = [BETWEEN('date', 'startdate', 'enddate'), NOTEQ('hf', 'empty')] if 'district' in self.config and self.config['district']: filters.append(EQ('district', 'district')) elif 'hf' in self.config and self.config['hf']: filters.append(EQ('hf', 'hf')) return filters
def filters(self): filter = super(ClosedChildCasesBreakdown, self).filters[1:] if 'strsd' in self.config: filter.append(GTE('closed_on', 'strsd')) if 'stred' in self.config: filter.append(LTE('closed_on', 'stred')) filter.append(NOTEQ('reason_for_child_closure', 'empty')) return filter
def filters(self): filters = super(NumberOfPNCVisits, self).filters[1:] filters.append( AND([ NOTEQ('delivery_date', 'empty'), LTE('delivery_date', 'today_minus_42') ])) return filters
def columns(self): columns = [ DatabaseColumn("Total child registered ever", CountUniqueColumn('doc_id', alias="total")) ] if 'startdate' not in self.config and 'enddate' not in self.config or 'startdate' not in self.config \ and 'enddate' in self.config: columns.extend([ DatabaseColumn( "Total open children cases", CountUniqueColumn( 'doc_id', alias="no_date_opened", filters=self.filters + [EQ('closed_on', 'empty')] ) ), DatabaseColumn( "Total closed children cases", CountUniqueColumn( 'doc_id', alias="no_date_closed", filters=self.filters + [NOTEQ('closed_on', 'empty')] ) ), DatabaseColumn( "New registrations during last 30 days", CountUniqueColumn( 'doc_id', alias="no_date_new_registrations", filters=self.filters + [AND([GTE('opened_on', "last_month"), LTE('opened_on', "today")])] ) ) ]) else: columns.extend([ DatabaseColumn( "Children cases open at end period", CountUniqueColumn( 'doc_id', alias="opened", filters=self.filters + [AND([LTE('opened_on', "stred"), OR([EQ('closed_on', 'empty'), GT('closed_on', "stred")])])] ) ), DatabaseColumn( "Children cases closed during period", CountUniqueColumn( 'doc_id', alias="closed", filters=self.filters + [AND([GTE('closed_on', "strsd"), LTE('closed_on', "stred")])] ) ), DatabaseColumn( "Total children followed during period", CountUniqueColumn( 'doc_id', alias="followed", filters=self.filters + [AND([LTE('opened_on', "stred"), OR([EQ('closed_on', 'empty'), GTE('closed_on', "strsd")])])] ) ), DatabaseColumn( "New registrations during period", CountUniqueColumn( 'doc_id', alias="new_registrations", filters=self.filters + [AND([LTE('opened_on', "stred"), GTE('opened_on', "strsd")])] ) ) ]) return columns
def columns(self): return [ DatabaseColumn( "Trimester 1", CountUniqueColumn( 'doc_id', alias="trimester_1", filters=self.filters + [ AND([ LTE('lmp', "today"), GT('lmp', "first_trimester_start_date"), NOTEQ('lmp', 'empty') ]) ])), DatabaseColumn( "Trimester 2", CountUniqueColumn( 'doc_id', alias="trimester_2", filters=self.filters + [ AND([ LTE('lmp', "second_trimester_start_date"), GT('lmp', "second_trimester_end_date"), NOTEQ('lmp', 'empty') ]) ])), DatabaseColumn( "Trimester 3", CountUniqueColumn( 'doc_id', alias="trimester_3", filters=self.filters + [ AND([ LTE('lmp', 'third_trimester_start_date'), NOTEQ('lmp', 'empty') ]) ])) ]
def columns(self): return [ DatabaseColumn( "PNC in 48 hours", CountUniqueColumn('doc_id', alias="pnc_1", filters=self.filters + [EQ('pp_1_done', 'yes')]), ), DatabaseColumn( "PNC in 2-4 days", CountUniqueColumn('doc_id', alias="pnc_2", filters=self.filters + [EQ('pp_2_done', 'yes')]), ), DatabaseColumn( "PNC in 5-7", CountUniqueColumn('doc_id', alias="pnc_3", filters=self.filters + [EQ('pp_3_done', 'yes')]), ), DatabaseColumn( "PNC in 21-42 days", CountUniqueColumn('doc_id', alias="pnc_4", filters=self.filters + [EQ('pp_4_done', 'yes')]), ), DatabaseColumn( "PNC 1 visits Total Eligible", CountUniqueColumn('doc_id', alias="pnc_1_eligible", filters=self.filters + [AND([NOTEQ('delivery_date', 'empty'), LTE('delivery_date', 'today')])]), ), DatabaseColumn("PNC 2 visits Total Eligible", CountUniqueColumn('doc_id', alias="pnc_2_eligible", filters=self.filters + [AND([NOTEQ('delivery_date', 'empty'), LTE('delivery_date', 'today_minus_2')])]), ), DatabaseColumn("PNC 3 visits Total Eligible", CountUniqueColumn('doc_id', alias="pnc_3_eligible", filters=self.filters + [AND([NOTEQ('delivery_date', 'empty'), LTE('delivery_date', 'today_minus_25')])]), ), DatabaseColumn("PNC 4 visits Total Eligible", CountUniqueColumn('doc_id', alias="pnc_4_eligible", filters=self.filters + [AND([NOTEQ('delivery_date', 'empty'), LTE('delivery_date', 'today_minus_21')])]), ) ]
def filters(self): filters = super(NutritionMeanMedianBirthWeightDetails, self).filters filters.append(NOTEQ('weight_birth', 'empty')) return filters
def filters(self): filters = super(ChildrenDeathsByMonth, self).filters filters.extend([NOTEQ('month_of_death', 'empty')]) return filters
def filters(self): filters = super(EBFStoppingDetails, self).filters filters.append(EQ('exclusive_breastfeeding', 'no')) filters.append(LTE('dob', 'today_minus_183')) filters.append(NOTEQ('ebf_stop_age_month', 'empty')) return filters
def filters(self): return super(DeliveryPlaceDetails, self).filters + [NOTEQ('delivery_date', 'empty')]
def filters(self): return [EQ('domain', 'domain'), NOTEQ('lvl_1', 'empty')]
def columns(self): return [ DatabaseColumn("Total pregnant", CountUniqueColumn('doc_id', alias="total_pregnant")), DatabaseColumn( "No ANC", CountUniqueColumn('doc_id', alias="no_anc", filters=self.filters + [NOTEQ('anc_1', 'yes')])), DatabaseColumn( "ANC1", CountUniqueColumn('doc_id', alias="anc_1", filters=self.filters + [EQ('anc_1', 'yes')])), DatabaseColumn( "ANC2", CountUniqueColumn('doc_id', alias="anc_2", filters=self.filters + [EQ('anc_2', 'yes')])), DatabaseColumn( "ANC3", CountUniqueColumn('doc_id', alias="anc_3", filters=self.filters + [EQ('anc_3', 'yes')])), DatabaseColumn( "ANC4", CountUniqueColumn('doc_id', alias="anc_4", filters=self.filters + [EQ('anc_4', 'yes')])), DatabaseColumn( "TT1", CountUniqueColumn('doc_id', alias="tt_1", filters=self.filters + [EQ('tt_1', 'yes')])), DatabaseColumn( "TT2", CountUniqueColumn('doc_id', alias="tt_2", filters=self.filters + [EQ('tt_2', 'yes')])), DatabaseColumn( "TT Booster", CountUniqueColumn('doc_id', alias="tt_booster", filters=self.filters + [EQ('tt_booster', 'yes')])), DatabaseColumn( "TT Complete", CountUniqueColumn( 'doc_id', alias="tt_completed", filters=self.filters + [OR([EQ('tt_2', 'yes'), EQ('tt_booster', 'yes')])])), DatabaseColumn( "IFA received", CountUniqueColumn('doc_id', alias="ifa_tablets", filters=self.filters + [EQ('iron_folic', 'yes')])), DatabaseColumn( "100 IFA consumed", CountUniqueColumn('doc_id', alias="100_tablets", filters=self.filters[1:-1] + [ AND([ EQ('completed_100_ifa', 'yes'), GTE('delivery_date', 'strsd'), LTE('delivery_date', 'stred') ]) ])), DatabaseColumn( "Clinically anemic mothers", CountUniqueColumn('doc_id', alias="clinically_anemic", filters=self.filters + [EQ('anemia_signs', 'yes')])), DatabaseColumn( "Number of pregnant mother referrals due to danger signs", CountUniqueColumn('doc_id', alias="danger_signs", filters=self.filters + [EQ('currently_referred', 'yes')])), DatabaseColumn( "Knows closest health facility", CountUniqueColumn('doc_id', alias="knows_closest_facility", filters=self.filters + [EQ('knows_closest_facility', 'yes')])), DatabaseColumn( "No ANC Total Eligible", CountUniqueColumn('doc_id', alias="no_anc_eligible", filters=self.filters + [LTE('edd', 'today_plus_196')])), DatabaseColumn( "ANC1 Total Eligible", CountUniqueColumn('doc_id', alias="anc_1_eligible", filters=self.filters + [LTE('edd', 'today_plus_196')])), DatabaseColumn( "ANC2 Total Eligible", CountUniqueColumn( 'doc_id', alias="anc_2_eligible", filters=self.filters + [AND([EQ('anc_1', 'yes'), LTE('edd', 'today_plus_112')])])), DatabaseColumn( "ANC3 Total Eligible", CountUniqueColumn( 'doc_id', alias="anc_3_eligible", filters=self.filters + [AND([EQ('anc_2', 'yes'), LTE('edd', 'today_plus_56')])])), DatabaseColumn( "ANC4 Total Eligible", CountUniqueColumn( 'doc_id', alias="anc_4_eligible", filters=self.filters + [AND([EQ('anc_3', 'yes'), LTE('edd', 'today_plus_35')])])), DatabaseColumn( "TT1 Total Eligible", CountUniqueColumn('doc_id', alias="tt_1_eligible", filters=self.filters + [NOTEQ('previous_tetanus', 'yes')])), DatabaseColumn( "TT2 Total Eligible", CountUniqueColumn('doc_id', alias="tt_2_eligible", filters=self.filters + [EQ('tt_1', 'yes')])), DatabaseColumn( "TT Booster Total Eligible", CountUniqueColumn('doc_id', alias="tt_booster_eligible", filters=self.filters + [EQ('previous_tetanus', 'yes')])), DatabaseColumn( "TT Completed (TT2 or Booster) Total Eligible", CountUniqueColumn( 'doc_id', alias="tt_completed_eligible", filters=self.filters + [OR([EQ('tt_1', 'yes'), EQ('previous_tetanus', 'yes')])])), DatabaseColumn( "Taking IFA tablets Total Eligible", CountUniqueColumn('doc_id', alias="ifa_tablets_eligible")), DatabaseColumn( "Completed 100 IFA tablets Total Eligible", CountUniqueColumn('doc_id', alias="100_tablets_eligible", filters=self.filters[1:-1] + [ AND([ GTE('delivery_date', 'strsd'), LTE('delivery_date', 'stred') ]) ])), DatabaseColumn( "Clinically anemic mothers Total Eligible", CountUniqueColumn('doc_id', alias="clinically_anemic_eligible")), DatabaseColumn( "Number of mother referrals due to danger signs Total Eligible", CountUniqueColumn('doc_id', alias="danger_signs_eligible")), DatabaseColumn( "Know closest health facility Total Eligible", CountUniqueColumn('doc_id', alias="knows_closest_facility_eligible")) ]
def filters(self): filter = super(ClosedMotherCasesBreakdown, self).filters filter.append(NOTEQ('reason_for_mother_closure', 'empty')) return filter
def filters(self): filter = super(PregnantMotherBreakdownByTrimester, self).filters filter.append(EQ('mother_state', 'pregnant_mother_type')) filter.append(NOTEQ('edd', 'empty')) return filter
def columns(self): return [ self.first_column, DatabaseColumn( _('home_visits_pregnant'), CountColumn('home_visit', alias="home_visits_pregnant", filters=self.filters + [EQ('home_visit', 'one')])), DatabaseColumn( _('home_visits_postpartem'), CountColumn('post_partem', alias="home_visits_postpartem", filters=self.filters + [EQ('post_partem', 'one')])), DatabaseColumn( _('home_visits_newborn'), CountColumn('doc_id', alias="home_visits_newborn", filters=self.filters + [ OR([ EQ('newborn_reg', 'one'), EQ('newborn_followup', 'one') ]) ])), DatabaseColumn( _('home_visits_children'), CountColumn('doc_id', alias="home_visits_children", filters=self.filters + [ OR([ EQ('child_reg', 'one'), EQ('child_followup', 'one') ]) ])), DatabaseColumn( _('home_visits_other'), CountColumn('doc_id', alias="home_visits_other", filters=self.filters + [ OR([ AND([ EQ('home_visit', 'zero'), EQ('post_partem', 'zero') ]), EQ('sex', 'one'), EQ('adult_followup', 'one') ]) ])), AggregateColumn(_("home_visits_total"), add_all, [ AliasColumn("home_visits_pregnant"), AliasColumn("home_visits_postpartem"), AliasColumn("home_visits_newborn"), AliasColumn("home_visits_children"), AliasColumn("home_visits_other"), ], slug='home_visits_total'), DatabaseColumn( _('rdt_positive_children'), CountColumn('doc_id', alias='rdt_positive_children', filters=self.filters + [EQ('rdt_children', 'one')])), DatabaseColumn( _('rdt_positive_adults'), CountColumn('doc_id', alias='rdt_positive_adults', filters=self.filters + [EQ('rdt_adult', 'one')])), DatabaseColumn( _('rdt_others'), CountColumn('doc_id', alias='rdt_others', filters=self.filters + [ OR([ EQ('rdt_adult', 'zero'), EQ('rdt_children', 'zero') ]) ])), AggregateColumn(_('rdt_total'), add_all, [ AliasColumn('rdt_positive_children'), AliasColumn('rdt_positive_adults'), AliasColumn('rdt_others') ], slug='rdt_total'), DatabaseColumn( _('diagnosed_malaria_child'), CountColumn('malaria_child', alias='diagnosed_malaria_child', filters=self.filters + [EQ('malaria_child', 'one')])), DatabaseColumn( _('diagnosed_malaria_adult'), CountColumn('malaria_adult', alias='diagnosed_malaria_adult', filters=self.filters + [EQ('malaria_adult', 'one')])), DatabaseColumn( _('diagnosed_diarrhea'), CountColumn('doc_id', alias='diagnosed_diarrhea', filters=self.filters + [ OR([ EQ('diarrhea_child', 'one'), EQ('diarrhea_adult', 'one') ]) ])), DatabaseColumn( _('diagnosed_ari'), CountColumn( 'doc_id', alias='diagnosed_ari', filters=self.filters + [OR([EQ('ari_child', 'one'), EQ('ari_adult', 'one')])])), AggregateColumn(_('diagnosed_total'), add_all, [ AliasColumn('diagnosed_malaria_child'), AliasColumn('diagnosed_malaria_adult'), AliasColumn('diagnosed_diarrhea'), AliasColumn('diagnosed_ari') ], slug='diagnosed_total'), DatabaseColumn( _('treated_malaria'), CountColumn('doc_id', alias='treated_malaria', filters=self.filters + [ OR([ AND([ EQ('it_malaria_child', 'one'), EQ('malaria_child', 'one') ]), AND([ EQ('it_malaria_adult', 'one'), EQ('malaria_adult', 'one') ]) ]) ])), DatabaseColumn( _('treated_diarrhea'), CountColumn('doc_id', alias='treated_diarrhea', filters=self.filters + [ OR([ AND([ EQ('diarrhea_child', 'one'), EQ('it_diarrhea_child', 'one') ]), AND([ EQ('diarrhea_adult', 'one'), EQ('it_diarrhea_adult', 'one') ]) ]) ])), DatabaseColumn( _('treated_ari'), CountColumn('doc_id', alias='treated_ari', filters=self.filters + [ OR([ AND([ EQ('ari_child', 'one'), EQ('it_ari_child', 'one') ]), AND([ EQ('ari_adult', 'one'), EQ('it_ari_adult', 'one') ]) ]) ])), AggregateColumn(_('treated_total'), add_all, [ AliasColumn('treated_malaria'), AliasColumn('treated_diarrhea'), AliasColumn('treated_ari') ], slug='treated_total'), DatabaseColumn( _('transfer_malnutrition'), CountColumn('doc_id', alias='transfer_malnutrition', filters=self.filters + [ OR([ EQ('malnutrition_child', 'one'), EQ('malnutrition_adult', 'one') ]) ])), DatabaseColumn( _('transfer_incomplete_vaccination'), CountColumn('doc_id', alias='transfer_incomplete_vaccination', filters=self.filters + [ OR([ EQ('vaccination_child', 'one'), EQ('vaccination_adult', 'one'), EQ('vaccination_newborn', 'one') ]) ])), DatabaseColumn( _('transfer_danger_signs'), CountColumn('doc_id', alias='transfer_danger_signs', filters=self.filters + [ OR([ EQ('danger_sign_child', 'one'), EQ('danger_sign_adult', 'one'), EQ('danger_sign_newborn', 'one') ]) ])), DatabaseColumn( _('transfer_prenatal_consult'), CountColumn('doc_id', alias='transfer_prenatal_consult', filters=self.filters + [EQ('prenatal_consult', 'one')])), DatabaseColumn( _('transfer_missing_malaria_meds'), CountColumn('doc_id', alias='transfer_missing_malaria_meds', filters=self.filters + [ OR([ EQ('missing_malaria_meds_child', 'one'), EQ('missing_malaria_meds_adult', 'one') ]) ])), DatabaseColumn( _('transfer_other'), CountColumn('doc_id', alias='transfer_other', filters=self.filters + [ OR([ EQ('other_child', 'one'), EQ('other_adult', 'one'), EQ('other_newborn', 'one') ]) ])), AggregateColumn(_('transfer_total'), add_all, [ AliasColumn('transfer_malnutrition'), AliasColumn('transfer_incomplete_vaccination'), AliasColumn('transfer_danger_signs'), AliasColumn('transfer_prenatal_consult'), AliasColumn('transfer_missing_malaria_meds'), AliasColumn('transfer_other'), ], slug='transfer_total'), DatabaseColumn( _('deaths_newborn'), CountColumn('doc_id', alias='deaths_newborn', filters=self.filters + [EQ('deaths_newborn', 'one')])), DatabaseColumn( _('deaths_children'), CountColumn('doc_id', alias='deaths_children', filters=self.filters + [EQ('deaths_children', 'one')])), DatabaseColumn( _('deaths_mothers'), CountColumn('doc_id', alias='deaths_mothers', filters=self.filters + [EQ('deaths_mothers', 'one')])), DatabaseColumn( _('deaths_others'), SumColumn('deaths_others', alias='deaths_other', filters=self.filters + [NOTEQ('deaths_others', 'zero')])), AggregateColumn(_('deaths_total'), add_all, [ AliasColumn('deaths_newborn'), AliasColumn('deaths_children'), AliasColumn('deaths_mothers'), AliasColumn('deaths_other'), ], slug='deaths_total'), DatabaseColumn( _('heath_ed_talks'), SumColumn('heath_ed_talks', alias='heath_ed_talks', filters=self.filters + [NOTEQ('heath_ed_talks', 'zero')])), DatabaseColumn( _('heath_ed_participants'), SumColumn('heath_ed_participants', alias='heath_ed_participants', filters=self.filters + [NOTEQ('heath_ed_participants', 'zero')])) ]
def filters(self): filter = super(FamilyPlanningMethods, self).filters filter.append(NOTEQ('fp_method', 'empty')) return filter
def columns(self): return [ self.first_column, DatabaseColumn( _('home_visits_newborn'), CountColumn('doc_id', alias="home_visits_newborn", filters=self.filters + [ OR([ EQ('newborn_reg', 'one'), EQ('newborn_followup', 'one') ]) ])), DatabaseColumn( _('home_visits_children'), CountColumn('doc_id', alias="home_visits_children", filters=self.filters + [ OR([ EQ('child_reg', 'one'), EQ('child_followup', 'one') ]) ])), DatabaseColumn( _('home_visits_adult'), CountColumn('doc_id', alias="home_visits_adult", filters=self.filters + [NOTEQ('home_visit', 'not')])), AggregateColumn(_("home_visits_total"), add_all, [ AliasColumn("home_visits_newborn"), AliasColumn("home_visits_children"), AliasColumn("home_visits_adult"), ], slug='home_visits_total'), DatabaseColumn( _('cases_transferred'), CountColumn('doc_id', alias='cases_transferred', filters=self.filters + [ OR([ EQ('referral_reported_newborn', 'one'), EQ('referral_given_child', 'one'), EQ('referral_given_adult', 'one'), ]) ])), DatabaseColumn( _('home_visits_followup'), CountColumn('doc_id', alias="home_visits_followup", filters=self.filters + [ OR([ EQ('newborn_followup', 'one'), EQ('child_followup', 'one'), EQ('adult_followup', 'one') ]) ])), DatabaseColumn( _('patients_given_pneumonia_meds_num'), CountColumn('doc_id', alias='patients_given_pneumonia_meds_num', filters=self.filters + [ OR([ AND([ EQ('has_pneumonia', 'one'), EQ('it_ari_child', 'one') ]), AND([ EQ('pneumonia_ds', 'one'), EQ('it_ari_child', 'one') ]), AND([ EQ('ari_adult', 'one'), EQ('it_ari_adult', 'one') ]) ]) ])), DatabaseColumn( _('patients_given_pneumonia_meds_denom'), CountColumn('doc_id', alias='patients_given_pneumonia_meds_denom', filters=self.filters + [ OR([ EQ('has_pneumonia', 'one'), EQ('pneumonia_ds', 'one'), EQ('ari_adult', 'one') ]) ])), AggregateColumn( _('patients_given_pneumonia_meds'), percent_format, [ AliasColumn('patients_given_pneumonia_meds_num'), AliasColumn('patients_given_pneumonia_meds_denom') ], slug='patients_given_pneumonia_meds'), DatabaseColumn( _('patients_given_diarrhoea_meds_num'), CountColumn('doc_id', alias='patients_given_diarrhoea_meds_num', filters=self.filters + [ OR([ AND([ OR([ EQ('diarrhoea_ds', 'one'), EQ('diarrhoea', 'one') ]), EQ('it_diarrhea_child', 'one') ]), AND([ EQ('diarrhea_adult', 'one'), EQ('it_diarrhea_adult', 'one') ]) ]) ])), DatabaseColumn( _('patients_given_diarrhoea_meds_denum'), CountColumn('doc_id', alias='patients_given_diarrhoea_meds_denum', filters=self.filters + [ OR([ EQ('diarrhoea_ds', 'one'), EQ('diarrhoea', 'one'), EQ('diarrhea_adult', 'one') ]) ])), AggregateColumn( _('patients_given_diarrhoea_meds'), percent_format, [ AliasColumn('patients_given_diarrhoea_meds_num'), AliasColumn('patients_given_diarrhoea_meds_denum') ], slug='patients_given_diarrhoea_meds'), DatabaseColumn( _('patients_given_malaria_meds'), CountColumn('doc_id', alias='patients_given_malaria_meds_num', filters=self.filters + [ OR([ AND([ EQ('malaria_child', 'one'), EQ('it_malaria_child', 'one') ]), AND([ EQ('malaria_adult', 'one'), EQ('it_malaria_adult', 'one') ]) ]) ])), DatabaseColumn( _('patients_given_malaria_meds_denum'), CountColumn('doc_id', alias='patients_given_malaria_meds_demum', filters=self.filters + [ OR([ EQ('has_malaria', 'one'), EQ('malaria_adult', 'one') ]) ])), AggregateColumn( _('patients_given_malaria_meds'), percent_format, [ AliasColumn('patients_given_malaria_meds_num'), AliasColumn('patients_given_malaria_meds_denum') ], slug='patients_given_malaria_meds'), DatabaseColumn( _('patients_correctly_referred_num'), CountColumn('doc_id', alias='patients_correctly_referred_num', filters=self.filters + [ OR([ AND([ EQ('referral_needed_newborn', 'one'), EQ('referral_given_newborn', 'one') ]), AND([ EQ('referral_needed_child', 'one'), EQ('referral_given_child', 'one') ]), AND([ EQ('treatment_preg_ds', 'one'), EQ('referral_given_adult', 'one') ]) ]) ])), DatabaseColumn( _('patients_correctly_referred_denum'), CountColumn('doc_id', alias='patients_correctly_referred_denum', filters=self.filters + [ OR([ EQ('referral_needed_newborn', 'one'), EQ('referral_needed_child', 'one'), EQ('treatment_preg_ds', 'one') ]) ])), AggregateColumn( _('patients_correctly_referred'), percent_format, [ AliasColumn('patients_correctly_referred_num'), AliasColumn('patients_correctly_referred_denum') ], slug='patients_correctly_referred'), DatabaseColumn( _('cases_rdt_not_done'), CountColumn('cases_rdt_not_done', filters=self.filters + [EQ('cases_rdt_not_done', 'one')])), ]