def columns(self): # This explicitly only includes columns that resolve to database queries. # The name is a bit confusing but is hard to change due to its dependency in SqlData db_columns = [ c for c in self.inner_columns if not isinstance(c, CalculatedColumn) ] fields = {c.slug for c in db_columns} return db_columns + [ DatabaseColumn('', SimpleColumn(deferred_filter.field)) for deferred_filter in self._deferred_filters.values() if deferred_filter.field not in fields ]
def get_columns_by_loc_level(self): columns = [DatabaseColumn('State', SimpleColumn('state_name'))] if self.loc_level > 1: columns.append( DatabaseColumn('District', SimpleColumn('district_name'), slug='district_name')) if self.loc_level > 2: columns.append( DatabaseColumn('Block', SimpleColumn('block_name'), slug='block_name')) if self.loc_level > 3: columns.append( DatabaseColumn('Supervisor', SimpleColumn('supervisor_name'), slug='supervisor_name')) if self.loc_level > 4: columns.append( DatabaseColumn('AWC', SimpleColumn('awc_name'), slug='awc_name')) return columns
def headers(self): blocks = self.get_blocks_for_district() headers = [DataTablesColumnGroup('')] headers.extend([ DataTablesColumnGroup(block) for block in self.get_blocks_for_district() ]) columns = [ DatabaseColumn(_( "Percentage of ASHAs functional on " "(Number of functional ASHAs/total number of ASHAs) x 100"), SimpleColumn(''), header_group=headers[0]) ] for i, block in enumerate(blocks): columns.append( DatabaseColumn(_('%s of ASHAs') % '%', SimpleColumn(block), header_group=headers[i + 1])) columns.append( DatabaseColumn(_('Grade of Block'), SimpleColumn(block), header_group=headers[i + 1])) return DataTablesHeader(*headers)
def columns(self): return [ DatabaseColumn(_("Location ID"), SimpleColumn("location_id")), DatabaseColumn(_("Eligible beneficiaries due to registration"), SumColumn("status_eligible_due_to_registration")), DatabaseColumn(_("Eligible beneficiaries due to 4th visit"), SumColumn("status_eligible_due_to_4th_visit")), DatabaseColumn(_("Eligible beneficiaries due to delivery"), SumColumn("status_eligible_due_to_delivery")), DatabaseColumn( _("Eligible beneficiaries due to immunization or PNC visit"), SumColumn("status_eligible_due_to_immun_or_pnc_visit")), DatabaseColumn(_("Reviewed beneficiaries due to registration"), SumColumn("status_reviewed_due_to_registration")), DatabaseColumn(_("Reviewed beneficiaries due to 4th visit"), SumColumn("status_reviewed_due_to_4th_visit")), DatabaseColumn(_("Reviewed beneficiaries due to delivery"), SumColumn("status_reviewed_due_to_delivery")), DatabaseColumn( _("Reviewed beneficiaries due to immunization or PNC visit"), SumColumn("status_reviewed_due_to_immun_or_pnc_visit")), DatabaseColumn(_("Approved beneficiaries due to registration"), SumColumn("status_approved_due_to_registration")), DatabaseColumn(_("Approved beneficiaries due to 4th visit"), SumColumn("status_approved_due_to_4th_visit")), DatabaseColumn(_("Approved beneficiaries due to delivery"), SumColumn("status_approved_due_to_delivery")), DatabaseColumn( _("Approved beneficiaries due to immunization or PNC visit"), SumColumn("status_approved_due_to_immun_or_pnc_visit")), DatabaseColumn(_("Paid beneficiaries due to registration"), SumColumn("status_paid_due_to_registration")), DatabaseColumn(_("Paid beneficiaries due to 4th visit"), SumColumn("status_paid_due_to_4th_visit")), DatabaseColumn(_("Paid beneficiaries due to delivery"), SumColumn("status_paid_due_to_delivery")), DatabaseColumn( _("Paid beneficiaries due to immunization or PNC visit"), SumColumn("status_paid_due_to_immun_or_pnc_visit")), DatabaseColumn( _("Rejected beneficiaries due to incorrect phone number"), SumColumn("status_rejected_due_to_incorrect_phone_number")), DatabaseColumn(_("Rejected beneficiaries due to double entry"), SumColumn("status_rejected_due_to_double_entry")), DatabaseColumn(_("Rejected beneficiaries due to other errors"), SumColumn("status_rejected_due_to_other_errors")) ]
def columns(self): return [ DatabaseColumn(_("Location ID"), SimpleColumn("location_id")), DatabaseColumn(_("Deliveries - Total"), SumColumn("deliveries_total")), DatabaseColumn(_("Deliveries - SVD"), SumColumn("deliveries_svd_total")), DatabaseColumn(_("Deliveries - Assisted"), SumColumn("deliveries_assisted_total")), DatabaseColumn(_("Deliveries caesarean section"), SumColumn("deliveries_caesarean_section_total")), DatabaseColumn(_("Deliveries - Complications"), SumColumn("deliveries_complications_total")), DatabaseColumn(_("Deliveries - Preterm"), SumColumn("deliveries_preterm_total")), DatabaseColumn(_("Deliveries - HIV positive women"), SumColumn("deliveries_hiv_positive_women_total")), DatabaseColumn(_("LiveBirth - HIV positive women"), SumColumn("live_birth_hiv_positive_women_total")), DatabaseColumn(_("Deliveries - HIV positive booked women"), SumColumn("deliveries_hiv_positive_booked_women_total")), DatabaseColumn(_("Deliveries - HIV positive unbooked women"), SumColumn("deliveries_hiv_positive_unbooked_women_total")), # DatabaseColumn(_("Deliveries - Monitored using Partograph"), SumColumn("deliveries_monitored_using_partograph_total")), # DatabaseColumn(_("Deliveries taken by skilled birth attendant"), SumColumn("deliveries_skilled_birth_attendant_total")), DatabaseColumn(_("TT1"), SumColumn("tt1_total")), DatabaseColumn(_("TT2"), SumColumn("tt2_total")), DatabaseColumn(_("Live Births(Male, Female, < 2.5kg, >= 2.5k g)"), SumColumn("live_births_male_female_total")), DatabaseColumn(_("Male, < 2.5kg"), SumColumn("male_lt_2_5kg_total")), DatabaseColumn(_("Male, >= 2.5kg"), SumColumn("male_gte_2_5kg_total")), DatabaseColumn(_("Female, < 2.5kg"), SumColumn("female_lt_2_5kg_total")), DatabaseColumn(_("Female, >= 2.5kg"), SumColumn("female_gte_2_5kg_total")), DatabaseColumn(_("Still Births total"), SumColumn("still_births_total")), DatabaseColumn(_("Fresh Still Births"), SumColumn("fresh_still_births_total")), DatabaseColumn(_("Other still Births"), SumColumn("other_still_births_total")), DatabaseColumn(_("Abortion Induced"), SumColumn("abortion_induced_total")), DatabaseColumn(_("Other Abortions"), SumColumn("other_abortions_total")), DatabaseColumn(_("Total Abortions"), SumColumn("total_abortions_total")), DatabaseColumn(_("Birth Asphyxia - Total"), SumColumn("birth_asphyxia_total")), DatabaseColumn(_("Birth Asphyxia - Male"), SumColumn("birth_asphyxia_male_total")), DatabaseColumn(_("Birth Asphyxia - Female"), SumColumn("birth_asphyxia_female_total")), DatabaseColumn(_("Neonatal Sepsis - Total"), SumColumn("neonatal_sepsis_total")), DatabaseColumn(_("Neonatal Sepsis - Male"), SumColumn("neonatal_sepsis_male_total")), DatabaseColumn(_("Neonatal Sepsis - Female"), SumColumn("neonatal_sepsis_female_total")), DatabaseColumn(_("Neonatal Tetanus - Total"), SumColumn("neonatal_tetanus_total")), DatabaseColumn(_("Neonatal Tetanus - Male"), SumColumn("neonatal_tetanus_male_total")), DatabaseColumn(_("Neonatal Tetanus - Female"), SumColumn("neonatal_tetanus_female_total")), DatabaseColumn(_("Neonatal Jaundice - Total"), SumColumn("neonatal_jaundice_total")), DatabaseColumn(_("Neonatal Jaundice - Male"), SumColumn("neonatal_jaundice_male_total")), DatabaseColumn(_("Neonatal Jaundice - Female"), SumColumn("neonatal_jaundice_female_total")), DatabaseColumn(_("Low birth weight babies placed in KMC - Total"), SumColumn("low_birth_weight_babies_in_kmc_total")), DatabaseColumn(_("Low birth weight babies placed in KMC - Male"), SumColumn("low_birth_weight_babies_in_kmc_male_total")), DatabaseColumn(_("Low birth weight babies placed in KMC - Female"), SumColumn("low_birth_weight_babies_in_kmc_female_total")), # DatabaseColumn(_("Newborns with low birth weight discharged - Total"), SumColumn("newborns_low_birth_weight_discharged_total")), # DatabaseColumn(_("Newborns with low birth weight discharged - Male"), SumColumn("newborns_low_birth_weight_discharged_male_total")), # DatabaseColumn(_("Newborns with low birth weight discharged - Female"), SumColumn("newborns_low_birth_weight_discharged_female_total")), ]
def columns(self): diff = lambda x, y: (x or 0) - (y or 0) return [ DatabaseColumn(_("LISTE des PPS"), SimpleColumn('PPS_name')), DatabaseColumn( _("Consommation Reelle"), SumColumn('actual_consumption_total', alias='actual_consumption')), DatabaseColumn( _("Consommation Facturable"), SumColumn('billed_consumption_total', alias='billed_consumption')), AggregateColumn(_("Consommation Non Facturable"), diff, [ AliasColumn('actual_consumption'), AliasColumn('billed_consumption') ]), ]
def columns(self): if self.config['table_card_group_by'] == 'group_name': first_column = 'group_name' else: first_column = 'gender' return [ DatabaseColumn('', SimpleColumn(first_column), format_fn=self.first_column_format), AggregateColumn('practice_count', self.format_cell_fn, [ CareCustomColumn( 'all', filters=self.filters + [RawFilter("maxmin = 2")]), CareCustomColumn( 'none', filters=self.filters + [RawFilter("maxmin = 0")]) ]), ]
def columns(self): def percent(x): return {'sort_key': x, 'html': '%.2f%%' % (x * 100)} return [ DatabaseColumn('site_id', SimpleColumn('site_id')), DatabaseColumn('cas_vus_5', SumColumn('cas_vus_5')), DatabaseColumn('cas_suspects_5', SumColumn('cas_suspects_5')), DatabaseColumn('tests_realises_5', SumColumn('tests_realises_5')), DatabaseColumn('cas_confirmes_5', SumColumn('cas_confirmes_5')), AggregateColumn( 'cas_vus_5_10', add, [SumColumn('cas_vus_5_10'), SumColumn('cas_vus_10')]), AggregateColumn( 'cas_suspects_5_10', add, [SumColumn('cas_suspects_5_10'), SumColumn('cas_suspects_10')]), AggregateColumn('tests_realises_5_10', add, [ SumColumn('tests_realises_5_10'), SumColumn('tests_realises_10') ]), AggregateColumn('cas_confirmes_5_10', add, [ SumColumn('cas_confirmes_5_10'), SumColumn('cas_confirmes_10') ]), DatabaseColumn('cas_vus_fe', SumColumn('cas_vus_fe')), DatabaseColumn('cas_suspects_fe', SumColumn('cas_suspects_fe')), DatabaseColumn('tests_realises_fe', SumColumn('tests_realises_fe')), DatabaseColumn('cas_confirmes_fe', SumColumn('cas_confirmes_fe')), DatabaseColumn('cas_vu_total', SumColumn('cas_vu_total')), DatabaseColumn('cas_suspect_total', SumColumn('cas_suspect_total')), DatabaseColumn('tests_realises_total', SumColumn('tests_realises_total')), DatabaseColumn('cas_confirmes_total', SumColumn('cas_confirmes_total')), AggregateColumn('div_teasts_cas', lambda x, y: (x or 0) / float(y or 1), [ AliasColumn('tests_realises_total'), AliasColumn('cas_suspect_total') ], format_fn=percent) ]
def columns(self): app_dict = get_cloudcare_app(SUCCEED_DOMAIN, SUCCEED_CM_APPNAME) latest_build = get_app_build(app_dict) return [ DatabaseColumn('Modify Schedule', SimpleColumn('doc_id', alias='case_id'), format_fn=lambda x: edit_link(x, app_dict, latest_build)), AggregateColumn('Name', aggregate_fn=case_link, columns=[SimpleColumn('name'), AliasColumn('case_id')], sort_type=''), DatabaseColumn('MRN', SimpleColumn('mrn')), DatabaseColumn('Randomization Date', SimpleColumn('date', alias='rand_date')), DatabaseColumn('Visit Name', SimpleColumn('visit_name', alias='vis_name')), AggregateColumn('Target Date', aggregate_fn=target_date, columns=[ AliasColumn('vis_name'), SimpleColumn('visit_days'), AliasColumn('rand_date') ], sort_type=DTSortType.NUMERIC), DatabaseColumn('Most Recent', SimpleColumn('bp_category')), DatabaseColumn('Last Interaction Date', SimpleColumn('last_interaction'), format_fn=date_format), DatabaseColumn('Tasks', AliasColumn('case_id'), format_fn=tasks), DatabaseColumn('Care Team', SimpleColumn('owner_id'), format_fn=group_name) ]
def columns(self): group = self.config['group'] first_columns = 'value_chain' if group == '' or group == 'value_chain': first_columns = 'value_chain' elif group == 'domain': first_columns = 'domains' elif group == 'practice': first_columns = 'practices' columns = [ DatabaseColumn('', SimpleColumn(first_columns), self.group_name_fn), AggregateColumn('Farmers who adopted All practices', self.percent_fn, [ CareCustomColumn('all', filters=self.filters + [RawFilter("maxmin = 2")]), AliasColumn('some'), AliasColumn('none') ]) ] if group != 'practice': columns.append( AggregateColumn( 'Farmers who adopted Some practices', self.percent_fn, [ CareCustomColumn( 'some', filters=self.filters + [RawFilter("maxmin = 1")]), AliasColumn('all'), AliasColumn('none') ])) columns.append( AggregateColumn('Farmers who adopted No practices', self.percent_fn, [ CareCustomColumn('none', filters=self.filters + [RawFilter("maxmin = 0")]), AliasColumn('all'), AliasColumn('some') ])) return columns
def columns(self): return [ DatabaseColumn(_("Location ID"), SimpleColumn("location_id")), DatabaseColumn( _("Number of pregnant women who registered for ANC (in CCT payment sites only) " ), SumColumn("women_registered_anc_total")), DatabaseColumn( _("Number of women who had 4 ANC visits (in CCT payment sites only)" ), SumColumn("women_having_4_anc_visits_total")), DatabaseColumn( _("Number of women who delivered at the facility (in CCT payment sites only)" ), SumColumn("women_delivering_at_facility_cct_total")), DatabaseColumn( _("Number of women who attended PNC within 6 weeks of delivery" ), SumColumn( "women_delivering_within_6_weeks_attending_pnc_total")), ]
def columns(self): group = self.config['group'] first_columns = 'value_chain' if group == '' or group == 'value_chain': first_columns = 'value_chain' elif group == 'domain': first_columns = 'domains' elif group == 'practice': first_columns = 'practices' return [ DatabaseColumn('', SimpleColumn(first_columns), self.group_name_fn), AggregateColumn('All', self.percent_fn, [CareCustomColumn('all', filters=self.filters + [EQ("maxmin", 'all'),]), AliasColumn('some'), AliasColumn('none')]), AggregateColumn('Some', self.percent_fn, [CareCustomColumn('some', filters=self.filters + [EQ("maxmin", 'some'),]), AliasColumn('all'), AliasColumn('none')]), AggregateColumn('None', self.percent_fn, [CareCustomColumn('none', filters=self.filters + [EQ("maxmin", 'none'),]), AliasColumn('all'), AliasColumn('some')]) ]
def columns(self): return [ DatabaseColumn(_("Location ID"), SimpleColumn("location_id")), DatabaseColumn(_("Antenatal Attendance - Total"), SumColumn("attendance_total")), DatabaseColumn(_("Antenatal first Visit before 20wks"), SumColumn("attendance_before_20_weeks_total")), DatabaseColumn(_("Antenatal first Visit after 20wks"), SumColumn("attendance_after_20_weeks_total")), DatabaseColumn(_("Pregnant Women that attend antenatal clinic for 4th visit during the month"), SumColumn("attendance_gte_4_visits_total")), DatabaseColumn(_("ANC syphilis test done"), SumColumn("anc_syphilis_test_done_total")), DatabaseColumn(_("ANC syphilis test positive"), SumColumn("anc_syphilis_test_positive_total")), DatabaseColumn(_("ANC syphilis case treated"), SumColumn("anc_syphilis_case_treated_total")), DatabaseColumn(_("Pregnant women who receive malaria IPT1"), SumColumn("pregnant_mothers_receiving_ipt1_total")), DatabaseColumn(_("Pregnant women who receive malaria IPT2"), SumColumn("pregnant_mothers_receiving_ipt2_total")), DatabaseColumn(_("Pregnant women who receive malaria LLIN"), SumColumn("pregnant_mothers_receiving_llin_total")), DatabaseColumn(_("Pregnant women who receive malaria Haematinics"), SumColumn("pregnant_mothers_receiving_ifa_total")), DatabaseColumn(_("Postanatal Attendance - Total"), SumColumn("postnatal_attendance_total")), DatabaseColumn(_("Postnatal clinic visit within 1 day of delivery"), SumColumn("postnatal_clinic_visit_lte_1_day_total")), DatabaseColumn(_("Postnatal clinic visit within 3 days of delivery"), SumColumn("postnatal_clinic_visit_lte_3_days_total")), DatabaseColumn(_("Postnatal clinic visit >= 7 days of delivery"), SumColumn("postnatal_clinic_visit_gte_7_days_total")) ]
def columns(self): columns = [ DatabaseColumn(_("District"), SimpleColumn('district_name')) ] columns.append( DatabaseColumn(_(u"Montant dû"), SumColumn('payments_amount_to_pay'))) columns.append( DatabaseColumn(_(u"Montant payé"), SumColumn('payments_amount_paid'))) columns.append( DatabaseColumn(_(u"Payé dans le 30 jours"), SumColumn('payments_in_30_days'))) columns.append( DatabaseColumn(_(u"Payé dans le 3 mois"), SumColumn('payments_in_3_months'))) columns.append( DatabaseColumn(_(u"Payé dans l`annèe"), SumColumn('payments_in_year'))) return columns
def columns(self): diff = lambda x, y: (x or 0) - (y or 0) def get_prd_name(id): try: return SQLProduct.objects.get(product_id=id, domain=self.config['domain'], is_archived=False).name except SQLProduct.DoesNotExist: pass return [ DatabaseColumn(_("Designations"), SimpleColumn('product_id'), format_fn=lambda id: get_prd_name(id)), DatabaseColumn(_("Stock apres derniere livraison"), SumColumn('product_old_stock_total')), DatabaseColumn(_("Stock disponible et utilisable a la livraison"), SumColumn('product_total_stock')), DatabaseColumn(_("Livraison"), SumColumn('product_livraison')), DatabaseColumn( _("Stock Total"), SumColumn('product_display_total_stock', alias='stock_total')), DatabaseColumn(_("Precedent"), SumColumn('product_old_stock_pps')), DatabaseColumn(_("Recu hors entrepots mobiles"), SumColumn('product_outside_receipts_amount')), AggregateColumn( _("Non Facturable"), diff, [AliasColumn('aconsumption'), AliasColumn("bconsumption")]), DatabaseColumn( _("Facturable"), SumColumn('product_billed_consumption', alias='bconsumption')), DatabaseColumn( _("Reelle"), SumColumn('product_actual_consumption', alias='aconsumption')), DatabaseColumn("Stock Total", AliasColumn('stock_total')), DatabaseColumn("PPS Restant", SumColumn('product_pps_restant')), DatabaseColumn("Pertes et Adjustement", SumColumn('product_loss_amt')) ]
def columns(self): return [ DatabaseColumn(_("Location ID"), SimpleColumn("location_id")), DatabaseColumn(_("Number of pregnant women who registered for ANC (in CCT payment sites only) "), SumColumn("women_registered_anc_total")), DatabaseColumn(_("Number of women who had 4 ANC visits (in CCT payment sites only)"), SumColumn("women_having_4_anc_visits_total")), DatabaseColumn(_("Number of women who delivered at the facility (in CCT payment sites only)"), SumColumn("women_delivering_at_facility_cct_total")), DatabaseColumn(_("Number of women who attended PNC within 6 weeks of delivery"), SumColumn("women_delivering_within_6_weeks_attending_pnc_total")), DatabaseColumn(_("Number of free sim cards given"), SumColumn("number_of_free_sims_given_total")), DatabaseColumn(_("Number of MTN MNO"), SumColumn("mno_mtn_total")), DatabaseColumn(_("Number of Etisalat MNO"), SumColumn("mno_etisalat_total")), DatabaseColumn(_("Number of GLO MNO"), SumColumn("mno_glo_total")), DatabaseColumn(_("Number of Airtel MNO"), SumColumn("mno_airtel_total")), ]
def columns(self): registered_column = "registered_total_for_region" if 'district_id' in self.config: registered_column = 'registered_total_for_district' columns = [ DatabaseColumn("No de PPS (number of PPS registered in that region)", MaxColumn(registered_column, alias='registered')), DatabaseColumn("No de PPS planifie (number of PPS planned)", MaxColumn('planned_total')), DatabaseColumn("No de PPS avec livrasion cet mois (number of PPS visited this month)", CountUniqueColumn('location_id', alias="visited") ), AggregateColumn("Taux de couverture (coverage ratio)", self.percent_fn, [AliasColumn('registered'), AliasColumn("visited")]), DatabaseColumn("No de PPS avec donnees soumises (number of PPS which submitted data)", CountUniqueColumn('location_id', alias="submitted") ), AggregateColumn("Exhaustivite des donnees", self.percent_fn, [AliasColumn('visited'), AliasColumn('submitted')]), ] if self.config['startdate'].month != self.config['enddate'].month: columns.insert(0, DatabaseColumn('Mois', SimpleColumn('month'))) self.show_total = True return columns
def columns(self): user = DatabaseColumn("Username", SimpleColumn("user"), format_fn=self.username) i_a = DatabaseColumn("Indicator A", SumColumn("indicator_a"), format_fn=unity) i_b = DatabaseColumn("Indicator B", SumColumn("indicator_b"), format_fn=unity) agg_c_d = AggregateColumn( "C/D", combine_indicator, [SumColumn("indicator_c"), SumColumn("indicator_d")], format_fn=unity) aggregate_cols = [i_a, i_b, agg_c_d] if self.group_by: return [user] + aggregate_cols else: return aggregate_cols
def get_columns_by_loc_level(self): columns = [ DatabaseColumn('State', SimpleColumn('state_name')) ] if self.loc_level > 1: columns.append(DatabaseColumn('District', SimpleColumn('district_name'), slug='district_name')) if self.loc_level > 2: columns.append(DatabaseColumn('Block', SimpleColumn('block_name'), slug='block_name')) if self.loc_level > 3: columns.append(DatabaseColumn('Supervisor', SimpleColumn('supervisor_name'), slug='supervisor_name')) if self.loc_level > 4: columns.append(DatabaseColumn('AWC', SimpleColumn('awc_name'), slug='awc_name')) columns.append(DatabaseColumn( 'AWW Phone Number', SimpleColumn('contact_phone_number'), format_fn=phone_number_function, slug='contact_phone_number') ) return columns
def columns(self): return [ DatabaseColumn('doc_id', SimpleColumn('doc_id')), DatabaseColumn('name', SimpleColumn('name')), DatabaseColumn('awc', SimpleColumn('awc')), DatabaseColumn('awc_code', SimpleColumn('awc_code')), DatabaseColumn('bank_name', SimpleColumn('bank_name')), DatabaseColumn('ifs_code', SimpleColumn('ifs_code')), DatabaseColumn('account_number', SimpleColumn('account_number')), DatabaseColumn('gp', SimpleColumn('gp')), DatabaseColumn('block', SimpleColumn('block')), DatabaseColumn('village', SimpleColumn('village')), DatabaseColumn('gps', SimpleColumn('gps')) ]
def columns(self): levels = [k for k in self.geography_config.keys()] columns = [] for k in levels: columns.append(DatabaseColumn(k, SimpleColumn(k))) return columns
def columns(self): return [DatabaseColumn('date', SimpleColumn("date"))] +\ [DatabaseColumn("", SumColumn(prop)) for prop in VHND_PROPERTIES]
def columns(self): return [ DatabaseColumn("User ID", SimpleColumn("user_id")), DatabaseColumn("Growth Monitoring Total", SumColumn("growth_monitoring_total")), DatabaseColumn("Service Forms Total", SumColumn("service_forms_total")), ]
def columns(self): return [ DatabaseColumn("User ID", SimpleColumn("user_id")), DatabaseColumn("Women registered", SumColumn("women_registered_total")), DatabaseColumn("Children registered", SumColumn("children_registered_total")) ]
def columns(self): return [ DatabaseColumn("Method", SimpleColumn('fp_method')), DatabaseColumn("Number", CountUniqueColumn('doc_id')) ]
def columns(self): return [ DatabaseColumn("Reason", SimpleColumn('cause_of_death_maternal')), DatabaseColumn("Number", CountUniqueColumn('doc_id')) ]
def columns(self): return [DatabaseColumn("Mother ID", SimpleColumn('doc_id'))]
def columns(self): return [ DatabaseColumn("Reason for closure", SimpleColumn('reason_for_mother_closure')), DatabaseColumn("Number", CountUniqueColumn('doc_id')) ]
def get_columns(self, filters): return [ DatabaseColumn('month', SimpleColumn('month')), AggregateColumn( '% Weighing efficiency (Children <5 weighed)', percent_num, [ SumColumn( 'nutrition_status_weighed', filters=filters + [NOT(EQ('age_tranche', 'age_72'))]), SumColumn( 'wer_eligible', alias='wer_eligible', filters=filters + [NOT(EQ('age_tranche', 'age_72'))]) ], slug='status_weighed'), AggregateColumn( '% Height measurement efficiency (Children <5 measured)', percent_num, [ SumColumn( 'height_measured_in_month', alias='height_measured_in_month_less_5', filters=filters + [NOT(EQ('age_tranche', 'age_72'))]), SumColumn( 'height_eligible', alias='height_eligible', filters=filters + [NOT(EQ('age_tranche', 'age_72'))]) ], slug='status_height_efficiency'), DatabaseColumn( 'Total number Unweighed', SumColumn('nutrition_status_unweighed', filters=filters + [NOT(EQ('age_tranche', 'age_72'))])), AggregateColumn( 'Percent Children severely underweight (weight for age)', percent_num, [ SumColumn( 'nutrition_status_severely_underweight', filters=filters + [NOT(EQ('age_tranche', 'age_72'))]), AliasColumn('nutrition_status_weighed') ], slug='severely_underweight'), AggregateColumn( 'Percent Children moderately underweight (weight for age)', percent_num, [ SumColumn( 'nutrition_status_moderately_underweight', filters=filters + [NOT(EQ('age_tranche', 'age_72'))]), AliasColumn('nutrition_status_weighed') ], slug='moderately_underweight'), AggregateColumn('Percent Children normal (weight for age)', percent_num, [ SumColumn('nutrition_status_normal', filters=filters + [NOT(EQ('age_tranche', 'age_72'))]), AliasColumn('nutrition_status_weighed') ], slug='status_normal'), AggregateColumn( 'Percent children with severe acute malnutrition (weight-for-height)', percent_num, [ SumColumn(wasting_severe_column(self.beta), filters=filters + get_age_filters(self.beta)), SumColumn(wfh_recorded_in_month_column(self.beta), alias='weighed_and_height_measured_in_month', filters=filters + get_age_filters(self.beta)) ], slug='wasting_severe'), AggregateColumn( 'Percent children with moderate acute malnutrition (weight-for-height)', percent_num, [ SumColumn(wasting_moderate_column(self.beta), filters=filters + get_age_filters(self.beta)), AliasColumn('weighed_and_height_measured_in_month') ], slug='wasting_moderate'), AggregateColumn( 'Percent children normal (weight-for-height)', percent_num, [ SumColumn(wasting_normal_column(self.beta), filters=filters + get_age_filters(self.beta)), AliasColumn('weighed_and_height_measured_in_month') ], slug='wasting_normal'), AggregateColumn( 'Percent children with severe stunting (height for age)', percent_num, [ SumColumn(stunting_severe_column(self.beta), filters=filters + get_age_filters(self.beta)), SumColumn(hfa_recorded_in_month_column(self.beta), alias='height_measured_in_month', filters=filters + get_age_filters(self.beta)) ], slug='stunting_severe'), AggregateColumn( 'Percent children with moderate stunting (height for age)', percent_num, [ SumColumn(stunting_moderate_column(self.beta), filters=filters + get_age_filters(self.beta)), AliasColumn('height_measured_in_month') ], slug='stunting_moderate'), AggregateColumn( 'Percent children with normal (height for age)', percent_num, [ SumColumn(stunting_normal_column(self.beta), filters=filters + get_age_filters(self.beta)), AliasColumn('height_measured_in_month') ], slug='stunting_normal'), AggregateColumn( 'Percent children immunized with 1st year immunizations', lambda x, y, z: ((x or 0) + (y or 0)) * 100 / float(z or 1), [ SumColumn('fully_immunized_on_time'), SumColumn('fully_immunized_late'), SumColumn('fully_immunized_eligible') ], slug='fully_immunized'), AggregateColumn( 'Percent Children breastfed at birth', percent_num, [SumColumn('bf_at_birth'), SumColumn('born_in_month')], slug='breastfed_at_birth'), AggregateColumn( 'Percent Children exclusively breastfed', percent_num, [SumColumn('ebf_in_month'), SumColumn('ebf_eligible')], slug='exclusively_breastfed'), AggregateColumn( 'Percent Children initiated appropriate complementary feeding', percent_num, [ SumColumn('cf_initiation_in_month'), SumColumn('cf_initiation_eligible') ], slug='cf_initiation'), AggregateColumn( 'Perecent children complementary feeding', percent_num, [SumColumn('cf_in_month'), SumColumn('cf_eligible')], slug='complementary_feeding'), AggregateColumn( 'Percentage of children consuming atleast 4 food groups', percent_num, [SumColumn('cf_diet_diversity'), AliasColumn('cf_eligible')], slug='diet_diversity'), AggregateColumn( 'Percentage of children consuming adequate food', percent_num, [SumColumn('cf_diet_quantity'), AliasColumn('cf_eligible')], slug='diet_quantity'), AggregateColumn( 'Percentage of children whose mothers handwash before feeding', percent_num, [SumColumn('cf_handwashing'), AliasColumn('cf_eligible')], slug='handwashing'), DatabaseColumn('Children (0 - 28 Days) Seeking Services', SumColumn('valid_in_month', filters=filters + [EQ('age_tranche', 'age_0')], alias='zero'), slug='zero'), DatabaseColumn('Children (28 Days - 6 mo) Seeking Services', SumColumn('valid_in_month', filters=filters + [EQ('age_tranche', 'age_6')], alias='one'), slug='one'), DatabaseColumn('Children (6 mo - 1 year) Seeking Services', SumColumn('valid_in_month', filters=filters + [EQ('age_tranche', 'age_12')], alias='two'), slug='two'), DatabaseColumn('Children (1 year - 3 years) Seeking Services', SumColumn('valid_in_month', filters=filters + [ OR([ EQ('age_tranche', 'age_24'), EQ('age_tranche', 'age_36') ]) ], alias='three'), slug='three'), DatabaseColumn('Children (3 years - 6 years) Seeking Services', SumColumn('valid_in_month', filters=filters + [ OR([ EQ('age_tranche', 'age_48'), EQ('age_tranche', 'age_60'), EQ('age_tranche', 'age_72') ]) ], alias='four'), slug='four'), AggregateColumn( 'Percent of children born in month with low birth weight', percent_num, [ SumColumn('low_birth_weight_in_month'), SumColumn('weighed_and_born_in_month') ], slug='low_birth_weight') ]
def columns(self): return [ DatabaseColumn("Month", SimpleColumn('month_of_death')), DatabaseColumn("Year", SimpleColumn('year_of_death')), DatabaseColumn("Number", CountUniqueColumn('doc_id')) ]