Exemple #1
0
 def columns(self):
     return [
         DatabaseColumn(
             "Trimester 1",
             CountUniqueColumn('doc_id',
                               alias="trimester_1",
                               filters=self.filters +
                               [GT('edd', "today_plus_196")])),
         DatabaseColumn(
             "Trimester 2",
             CountUniqueColumn('doc_id',
                               alias="trimester_2",
                               filters=self.filters + [
                                   AND([
                                       LTE('edd', "today_plus_196"),
                                       GT('edd', "today_plus_84")
                                   ])
                               ])),
         DatabaseColumn(
             "Trimester 3",
             CountUniqueColumn('doc_id',
                               alias="trimester_3",
                               filters=self.filters +
                               [LTE('edd', 'today_plus_84')]))
     ]
Exemple #2
0
 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
Exemple #3
0
 def columns(self):
     columns = super(DeliveryPlaceDetailsExtended, self).columns
     additional_columns = [
         DatabaseColumn(
             "Home deliveries",
             CountUniqueColumn('doc_id',
                               alias="home_deliveries",
                               filters=self.filters + [
                                   OR([
                                       EQ('place_of_birth', 'home'),
                                       EQ('place_of_birth', 'on_route')
                                   ])
                               ])),
         DatabaseColumn(
             "Other places",
             CountUniqueColumn('doc_id',
                               alias="other_places",
                               filters=self.filters + [
                                   OR([
                                       EQ('place_of_birth', 'empty'),
                                       EQ('place_of_birth', 'other')
                                   ])
                               ]))
     ]
     columns.extend(additional_columns)
     return columns
Exemple #4
0
 def columns(self):
     return [
         DatabaseColumn(
             "Total Deliveries (with/without outcome)",
             CountUniqueColumn('doc_id',
                               alias="total_delivery",
                               filters=self.filters),
         ),
         DatabaseColumn(
             "Normal deliveries",
             CountUniqueColumn(
                 'doc_id',
                 alias="normal_deliveries",
                 filters=self.filters +
                 [EQ('type_of_delivery', 'normal_delivery')])),
         DatabaseColumn(
             "Caesarean deliveries",
             CountUniqueColumn(
                 'doc_id',
                 alias="caesarean_deliveries",
                 filters=self.filters +
                 [EQ('type_of_delivery', 'cesarean_delivery')])),
         DatabaseColumn(
             "Delivery type unknown",
             CountUniqueColumn(
                 'doc_id',
                 alias="unknown",
                 filters=self.filters + [
                     OR([
                         EQ('type_of_delivery', 'empty'),
                         EQ('type_of_delivery', 'unknown_delivery')
                     ])
                 ]))
     ]
Exemple #5
0
    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
Exemple #6
0
 def columns(self):
     self.config['mother_ids'] = tuple(
         DeliveryMothersIds(config=self.config).data.keys()) + ('', )
     return [
         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')),
         DatabaseColumn(
             "Newborn deaths (< 1 m)",
             CountUniqueColumn(
                 'doc_id',
                 filters=self.filters + [
                     AND([
                         EQ('reason_for_child_closure', 'death'),
                         EQ('type_of_child_death', 'newborn_death')
                     ])
                 ],
                 alias='newborn_death')),
         DatabaseColumn(
             "Infant deaths (< 1 y)",
             CountUniqueColumn(
                 'doc_id',
                 filters=self.filters + [
                     AND([
                         EQ('reason_for_child_closure', 'death'),
                         EQ('type_of_child_death', 'infant_death')
                     ])
                 ],
                 alias='infant_death')),
         DatabaseColumn(
             "Child deaths (2-5y)",
             CountUniqueColumn(
                 'doc_id',
                 filters=self.filters + [
                     AND([
                         EQ('reason_for_child_closure', 'death'),
                         EQ('type_of_child_death', 'child_death')
                     ])
                 ],
                 alias='child_death')),
         DatabaseColumn(
             "Total deaths",
             CountUniqueColumn('doc_id',
                               filters=self.filters +
                               [EQ('reason_for_child_closure', 'death')],
                               alias='total_deaths'))
     ]
 def columns(self):
     return [
         DatabaseColumn("Live birth (Male)",
             CountUniqueColumn('doc_id', alias='girls', filters=self.filters + [EQ('gender', 'female')])
         ),
         DatabaseColumn("Live birth (Female)",
             CountUniqueColumn('doc_id', alias='boys', filters=self.filters + [EQ('gender', 'male')])
         )
     ]
Exemple #8
0
    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')])]))
        ]
Exemple #9
0
 def columns(self):
     return [
         DatabaseColumn(
             "Deworming dose in last 6 months",
             CountUniqueColumn('doc_id',
                               alias="deworming",
                               filters=self.filters +
                               [EQ('deworm', 'yes')])),
         DatabaseColumn(
             "Deworming Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="deworming_total_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_365')])),
     ]
Exemple #10
0
 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
Exemple #11
0
 def columns(self):
     return [
         DatabaseColumn("Still births",
             SumColumn('number_of_children_born_dead_total')
         ),
         DatabaseColumn("Abortions",
             CountUniqueColumn('doc_id', alias="abortions", filters=self.filters + [EQ('reason_for_mother_closure', 'abortion')]),
         ),
     ]
Exemple #12
0
 def columns(self):
     return [
         DatabaseColumn("EBF stopped between 0-1 month",
             CountUniqueColumn('doc_id', alias="stopped_0_1",
                               filters=self.filters + [LTE('ebf_stop_age_month', '1')])
         ),
         DatabaseColumn("EBF stopped between 1-3 month",
             CountUniqueColumn('doc_id', alias="stopped_1_3",
                               filters=self.filters + [AND([GT('ebf_stop_age_month', '1'), LTE('ebf_stop_age_month', '3')])])
         ),
         DatabaseColumn("EBF stopped between 3-5 month",
             CountUniqueColumn('doc_id', alias="stopped_3_5",
                               filters=self.filters + [AND([GT('ebf_stop_age_month', '3'), LTE('ebf_stop_age_month', '5')])])
         ),
         DatabaseColumn("EBF stopped between 5-6 month",
             CountUniqueColumn('doc_id', alias="stopped_5_6",
                               filters=self.filters + [AND([GT('ebf_stop_age_month', '5'), LTE('ebf_stop_age_month', '6')])])
         )
     ]
Exemple #13
0
 def columns(self):
     return [
         DatabaseColumn("Total child ill",
                        CountUniqueColumn(
                            'doc_id', alias="total_child_ill",
                            filters=self.filters + [OR([EQ('pneumonia_since_last_visit', 'yes'),
                                                        EQ('has_diarrhea_since_last_visit', 'yes')])])),
         DatabaseColumn("ARI (Pneumonia)",
                        CountUniqueColumn('doc_id', alias="ari_cases",
                                          filters=self.filters + [EQ('pneumonia_since_last_visit', 'yes')])),
         DatabaseColumn("Diarrhea",
                        CountUniqueColumn('doc_id', alias="diarrhea_cases",
                                          filters=self.filters + [EQ('has_diarrhea_since_last_visit', 'yes')])),
         DatabaseColumn("ORS given during diarrhea",
                        CountUniqueColumn('doc_id', alias="ors",
                                          filters=self.filters + [EQ('dairrhea_treated_with_ors', 'yes')])),
         DatabaseColumn("Zinc given during diarrhea",
                        CountUniqueColumn('doc_id', alias="zinc",
                                          filters=self.filters + [EQ('dairrhea_treated_with_zinc', 'yes')]))
     ]
Exemple #14
0
 def columns(self):
     return [
         DatabaseColumn(
             "Total Deliveries (with/without outcome)",
             CountUniqueColumn('doc_id',
                               alias="total_delivery",
                               filters=self.filters),
         ),
         DatabaseColumn(
             "Institutional deliveries",
             CountUniqueColumn(
                 'doc_id',
                 alias="institutional_deliveries",
                 filters=self.filters + [
                     OR([
                         EQ('place_of_birth', 'health_center'),
                         EQ('place_of_birth', "hospital")
                     ])
                 ]))
     ]
Exemple #15
0
 def columns(self):
     return [
         DatabaseColumn(
             "VitA1",
             CountUniqueColumn('doc_id',
                               alias="vita1",
                               filters=self.filters +
                               [EQ('vita1', 'yes')])),
         DatabaseColumn(
             "VitA2",
             CountUniqueColumn('doc_id',
                               alias="vita2",
                               filters=self.filters +
                               [EQ('vita2', 'yes')])),
         DatabaseColumn(
             "DPT-OPT Booster",
             CountUniqueColumn('doc_id',
                               alias="dpt_opv_booster",
                               filters=self.filters +
                               [EQ('dpt_opv_booster', 'yes')])),
         DatabaseColumn(
             "VitA3",
             CountUniqueColumn('doc_id',
                               alias="vita3",
                               filters=self.filters +
                               [EQ('vita3', 'yes')])),
         DatabaseColumn(
             "VitA1 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="vita1_eligible",
                               filters=self.filters +
                               [LTE('dob', 'days_273')])),
         DatabaseColumn(
             "VitA2 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="vita2_eligible",
                               filters=self.filters +
                               [LTE('dob', 'days_547')])),
         DatabaseColumn(
             "DPT-OPT Booster Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="dpt_opv_booster_eligible",
                               filters=self.filters +
                               [LTE('dob', 'days_548')])),
         DatabaseColumn(
             "VitA3 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="vita3_eligible",
                               filters=self.filters +
                               [LTE('dob', 'days_700')]))
     ]
Exemple #16
0
 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')
                     ])
                 ]))
     ]
Exemple #17
0
 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')])]),
         )
     ]
Exemple #18
0
 def columns(self):
     return [
         DatabaseColumn("Month", SimpleColumn('month_of_death')),
         DatabaseColumn("Year", SimpleColumn('year_of_death')),
         DatabaseColumn("Number", CountUniqueColumn('doc_id'))
     ]
Exemple #19
0
 def columns(self):
     return [
         DatabaseColumn("Reason", SimpleColumn('type_of_child_death')),
         DatabaseColumn("Number", CountUniqueColumn('doc_id'))
     ]
Exemple #20
0
 def columns(self):
     return [
         DatabaseColumn("Method", SimpleColumn('fp_method')),
         DatabaseColumn("Number", CountUniqueColumn('doc_id'))
     ]
Exemple #21
0
 def columns(self):
     return [
         DatabaseColumn("Reason", SimpleColumn('cause_of_death_maternal')),
         DatabaseColumn("Number", CountUniqueColumn('doc_id'))
     ]
Exemple #22
0
 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"))
     ]
Exemple #23
0
 def columns(self):
     return [
         DatabaseColumn("Reason for closure",
                        SimpleColumn('reason_for_mother_closure')),
         DatabaseColumn("Number", CountUniqueColumn('doc_id'))
     ]
Exemple #24
0
 def columns(self):
     return [
         DatabaseColumn(
             "BCG",
             CountUniqueColumn('doc_id',
                               alias="bcg",
                               filters=self.filters + [EQ('bcg', 'yes')])),
         DatabaseColumn(
             "OPV3",
             CountUniqueColumn('doc_id',
                               alias="opv3",
                               filters=self.filters + [EQ('opv3', 'yes')])),
         DatabaseColumn(
             "HEP3",
             CountUniqueColumn('doc_id',
                               alias="hep3",
                               filters=self.filters +
                               [EQ('hepb3', 'yes')])),
         DatabaseColumn(
             "DPT3",
             CountUniqueColumn('doc_id',
                               alias="dpt3",
                               filters=self.filters + [EQ('dpt3', 'yes')])),
         DatabaseColumn(
             "Measles",
             CountUniqueColumn('doc_id',
                               alias="measles",
                               filters=self.filters +
                               [EQ('measles', 'yes')])),
         DatabaseColumn(
             "Fully Immunized in 1st year",
             CountUniqueColumn('doc_id',
                               alias="fully_immunized",
                               filters=self.filters + [
                                   AND([
                                       EQ('bcg', 'yes'),
                                       EQ('opv0', 'yes'),
                                       EQ('hepb0', 'yes'),
                                       EQ('opv1', 'yes'),
                                       EQ('hepb1', 'yes'),
                                       EQ('dpt1', 'yes'),
                                       EQ('opv2', 'yes'),
                                       EQ('hepb2', 'yes'),
                                       EQ('dpt2', 'yes'),
                                       EQ('opv3', 'yes'),
                                       EQ('hepb3', 'yes'),
                                       EQ('dpt3', 'yes'),
                                       EQ('measles', 'yes')
                                   ])
                               ])),
         DatabaseColumn(
             "DPT-OPT Booster",
             CountUniqueColumn('doc_id',
                               alias="dpt_opv_booster",
                               filters=self.filters +
                               [EQ('dpt_opv_booster', 'yes')])),
         DatabaseColumn(
             "VitA3",
             CountUniqueColumn('doc_id',
                               alias="vita3",
                               filters=self.filters +
                               [EQ('vita3', 'yes')])),
         DatabaseColumn(
             "BCG Total Eligible",
             CountUniqueColumn('doc_id', alias="bcg_eligible"),
         ),
         DatabaseColumn(
             "OPV3 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="opv3_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_106')])),
         DatabaseColumn(
             "HEP3 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="hep3_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_106')])),
         DatabaseColumn(
             "DPT3 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="dpt3_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_106')])),
         DatabaseColumn(
             "Measles Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="measles_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_273')])),
         DatabaseColumn(
             "Fully Immunized Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="fully_immunized_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_273')])),
         DatabaseColumn(
             "DPT-OPT Booster Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="dpt_opv_booster_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_548')])),
         DatabaseColumn(
             "VitA3 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="vita3_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_700')]))
     ]
Exemple #25
0
 def columns(self):
     return [
         DatabaseColumn("Cause of death",
                        SimpleColumn('cause_of_death_child')),
         DatabaseColumn("Number", CountUniqueColumn('doc_id')),
     ]
Exemple #26
0
 def columns(self):
     return [
         DatabaseColumn(
             "Total pregnant",
             CountUniqueColumn('doc_id', alias="total_pregnant"),
         ),
         DatabaseColumn(
             "ANC3",
             CountUniqueColumn('doc_id',
                               alias="anc_3",
                               filters=self.filters + [EQ('anc_3', 'yes')]),
         ),
         DatabaseColumn(
             "TT Completed (TT2 or Booster)",
             CountUniqueColumn(
                 'doc_id',
                 alias="tt_completed",
                 filters=self.filters +
                 [OR([EQ('tt_2', 'yes'),
                      EQ('tt_booster', 'yes')])]),
         ),
         DatabaseColumn(
             "Taking IFA tablets",
             CountUniqueColumn('doc_id',
                               alias="ifa_tablets",
                               filters=self.filters +
                               [EQ('iron_folic', 'yes')]),
         ),
         DatabaseColumn(
             "Completed 100 IFA tablets",
             CountUniqueColumn('doc_id',
                               alias="100_tablets",
                               filters=self.filters +
                               [EQ('completed_100_ifa', 'yes')]),
         ),
         DatabaseColumn(
             "ANC3 Total Eligible",
             CountUniqueColumn(
                 'doc_id',
                 alias="anc_3_eligible",
                 filters=self.filters +
                 [AND([EQ('anc_2', 'yes'),
                       LTE('lmp', 'days_224')])]),
         ),
         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 +
                               [LTE('lmp', 'days_195')]),
         )
     ]
Exemple #27
0
 def columns(self):
     return [
         DatabaseColumn("Total pregnant",
                        CountUniqueColumn('doc_id',
                                          alias="total_pregnant")),
         DatabaseColumn(
             "ANC3",
             CountUniqueColumn('doc_id',
                               alias="anc_3",
                               filters=self.filters +
                               [EQ('anc_3', 'yes')])),
         DatabaseColumn(
             "TT Completed (TT2 or Booster)",
             CountUniqueColumn(
                 'doc_id',
                 alias="tt_completed",
                 filters=self.filters +
                 [OR([EQ('tt_2', 'yes'),
                      EQ('tt_booster', 'yes')])])),
         DatabaseColumn(
             "Taking IFA tablets",
             CountUniqueColumn('doc_id',
                               alias="ifa_tablets",
                               filters=self.filters +
                               [EQ('iron_folic', 'yes')])),
         DatabaseColumn(
             "Completed 100 IFA tablets",
             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(
             "ANC3 Total Eligible",
             CountUniqueColumn(
                 'doc_id',
                 alias="anc_3_eligible",
                 filters=self.filters +
                 [AND([EQ('anc_2', 'yes'),
                       LTE('edd', 'today_plus_56')])])),
         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')
                                   ])
                               ])),
     ]
Exemple #28
0
 def columns(self):
     columns = super(ImmunizationDetailsFirstYear, self).columns
     del columns[6:8]
     del columns[-2:]
     cols1 = [
         DatabaseColumn(
             "OPV0",
             CountUniqueColumn('doc_id',
                               alias="opv0",
                               filters=self.filters + [EQ('opv0', 'yes')])),
         DatabaseColumn(
             "HEP0",
             CountUniqueColumn('doc_id',
                               alias="hep0",
                               filters=self.filters +
                               [EQ('hepb0', 'yes')])),
         DatabaseColumn(
             "OPV1",
             CountUniqueColumn('doc_id',
                               alias="opv1",
                               filters=self.filters + [EQ('opv1', 'yes')])),
         DatabaseColumn(
             "HEP1",
             CountUniqueColumn('doc_id',
                               alias="hep1",
                               filters=self.filters +
                               [EQ('hepb1', 'yes')])),
         DatabaseColumn(
             "DPT1",
             CountUniqueColumn('doc_id',
                               alias="dpt1",
                               filters=self.filters + [EQ('dpt1', 'yes')])),
         DatabaseColumn(
             "OPV2",
             CountUniqueColumn('doc_id',
                               alias="opv2",
                               filters=self.filters + [EQ('opv2', 'yes')])),
         DatabaseColumn(
             "HEP2",
             CountUniqueColumn('doc_id',
                               alias="hep2",
                               filters=self.filters +
                               [EQ('hepb2', 'yes')])),
         DatabaseColumn(
             "DPT2",
             CountUniqueColumn('doc_id',
                               alias="dpt2",
                               filters=self.filters + [EQ('dpt2', 'yes')])),
     ]
     cols2 = [
         DatabaseColumn(
             "OPV0 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="opv0_eligible",
                               filters=self.filters)),
         DatabaseColumn(
             "HEP0 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="hep0_eligible",
                               filters=self.filters)),
         DatabaseColumn(
             "OPV1 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="opv1_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_40')])),
         DatabaseColumn(
             "HEP1 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="hep1_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_40')])),
         DatabaseColumn(
             "DPT1 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="dpt1_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_40')])),
         DatabaseColumn(
             "OPV2 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="opv2_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_75')])),
         DatabaseColumn(
             "HEP2 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="hep2_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_75')])),
         DatabaseColumn(
             "DPT2 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="dpt2_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_75')]))
     ]
     cols3 = [
         DatabaseColumn(
             "VitA1",
             CountUniqueColumn('doc_id',
                               alias="vita1",
                               filters=self.filters + [EQ('vita1', 'yes')]))
     ]
     cols4 = [
         DatabaseColumn(
             "VitA1 Total Eligible",
             CountUniqueColumn('doc_id',
                               alias="vita1_eligible",
                               filters=self.filters +
                               [LTE('dob', 'today_minus_273')]))
     ]
     return columns[:1] + cols1 + columns[1:5] + cols3 + columns[5:-5] \
         + cols2 + columns[-5:-1] + cols4 + columns[-1:]