Beispiel #1
0
    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
        ]
Beispiel #2
0
 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)
Beispiel #4
0
 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"))
     ]
Beispiel #5
0
 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")),
     ]
Beispiel #6
0
 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')
         ]),
     ]
Beispiel #7
0
    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")])
            ]),
        ]
Beispiel #8
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)
        ]
Beispiel #9
0
 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)
     ]
Beispiel #10
0
    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
Beispiel #11
0
 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")),
     ]
Beispiel #12
0
    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')])
        ]
Beispiel #13
0
 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"))
     ]
Beispiel #14
0
 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
Beispiel #15
0
    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'))
        ]
Beispiel #16
0
 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")),
     ]
Beispiel #17
0
 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
Beispiel #18
0
    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
Beispiel #19
0
 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
Beispiel #20
0
 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'))
     ]
Beispiel #21
0
 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
Beispiel #22
0
 def columns(self):
     return [DatabaseColumn('date', SimpleColumn("date"))] +\
            [DatabaseColumn("", SumColumn(prop)) for prop in VHND_PROPERTIES]
Beispiel #23
0
 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")),
     ]
Beispiel #24
0
 def columns(self):
     return [
         DatabaseColumn("User ID", SimpleColumn("user_id")),
         DatabaseColumn("Women registered", SumColumn("women_registered_total")),
         DatabaseColumn("Children registered", SumColumn("children_registered_total"))
     ]
Beispiel #25
0
 def columns(self):
     return [
         DatabaseColumn("Method", SimpleColumn('fp_method')),
         DatabaseColumn("Number", CountUniqueColumn('doc_id'))
     ]
Beispiel #26
0
 def columns(self):
     return [
         DatabaseColumn("Reason", SimpleColumn('cause_of_death_maternal')),
         DatabaseColumn("Number", CountUniqueColumn('doc_id'))
     ]
Beispiel #27
0
 def columns(self):
     return [DatabaseColumn("Mother ID", SimpleColumn('doc_id'))]
Beispiel #28
0
 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')
     ]
Beispiel #30
0
 def columns(self):
     return [
         DatabaseColumn("Month", SimpleColumn('month_of_death')),
         DatabaseColumn("Year", SimpleColumn('year_of_death')),
         DatabaseColumn("Number", CountUniqueColumn('doc_id'))
     ]