def flat_field(fn): def getter(item): return unicode(fn(item) or "") return fluff.FlatField(getter)
def flat_field(fn): def getter(item): return six.text_type(fn(item) or "") return fluff.FlatField(getter)
class AllHmisCaseFluff(BaseM4ChangeCaseFluff): group_by = ("domain", ) location_id = fluff.FlatField(_get_form_location_id) newborns_low_birth_weight_discharged = all_hmis_report_calcs.FormComparisonCalculator( [("birth_complication", operator.contains, "kmc"), ("low_birth_weight_action", operator.eq, "discharged")], BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) newborns_low_birth_weight_discharged_male = all_hmis_report_calcs.FormComparisonCalculator( [("birth_complication", operator.contains, "kmc"), ("low_birth_weight_action", operator.eq, "discharged"), ("baby_sex", operator.eq, "male")], BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) newborns_low_birth_weight_discharged_female = all_hmis_report_calcs.FormComparisonCalculator( [("birth_complication", operator.contains, "kmc"), ("low_birth_weight_action", operator.eq, "discharged"), ("baby_sex", operator.eq, "female")], BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) pregnant_mothers_referred_out = all_hmis_report_calcs.FormComparisonCalculator( [("client_status", operator.eq, "referred_out")], BOOKING_AND_FOLLOW_UP_FORMS) anc_anemia_test_done = all_hmis_report_calcs.FormComparisonCalculator( [("tests_conducted", operator.contains, "hb")], BOOKING_FOLLOW_UP_AND_LAB_RESULTS_FORMS) anc_anemia_test_positive = all_hmis_report_calcs.FormComparisonCalculator( [("hb_test_result", operator.eq, "positive")], BOOKING_FOLLOW_UP_AND_LAB_RESULTS_FORMS) anc_proteinuria_test_done = all_hmis_report_calcs.FormComparisonCalculator( [("tests_conducted", operator.contains, "proteinuria")], BOOKING_FOLLOW_UP_AND_LAB_RESULTS_FORMS) anc_proteinuria_test_positive = all_hmis_report_calcs.FormComparisonCalculator( [("protein_test_result", operator.eq, "positive")], BOOKING_FOLLOW_UP_AND_LAB_RESULTS_FORMS) hiv_rapid_antibody_test_done = all_hmis_report_calcs.FormComparisonCalculator( [("tests_conducted", operator.contains, "hiv")], BOOKED_AND_UNBOOKED_DELIVERY_FORMS) deaths_of_women_related_to_pregnancy = all_hmis_report_calcs.FormComparisonCalculator( [("pregnancy_outcome", operator.eq, "maternal_death")], BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) pregnant_mothers_tested_for_hiv = all_hmis_report_calcs.FormComparisonCalculator( [("hiv_test_result", operator.eq, "positive")], BOOKING_FOLLOW_UP_AND_LAB_RESULTS_FORMS) pregnant_mothers_with_confirmed_malaria = all_hmis_report_calcs.FormComparisonCalculator( [("malaria_test_result", operator.eq, "positive")], BOOKING_FOLLOW_UP_AND_LAB_RESULTS_FORMS) anc_women_previously_known_hiv_status = all_hmis_report_calcs.FormComparisonCalculator( [("tests_conducted", operator.contains, "known_hiv")], BOOKING_FOLLOW_UP_AND_LAB_RESULTS_FORMS) pregnant_women_received_hiv_counseling_and_result_anc = all_hmis_report_calcs.FormComparisonCalculator( [("tests_conducted", operator.contains, "hiv")], BOOKING_FOLLOW_UP_AND_LAB_RESULTS_FORMS) pregnant_women_received_hiv_counseling_and_result_ld = all_hmis_report_calcs.FormComparisonCalculator( [("tests_conducted", operator.contains, "hiv")], BOOKED_AND_UNBOOKED_DELIVERY_FORMS) partners_of_hiv_positive_women_tested_negative = all_hmis_report_calcs.FormComparisonCalculator( [("partner_hiv_status", operator.eq, "negative")], PMTCT_CLIENTS_FORM) partners_of_hiv_positive_women_tested_positive = all_hmis_report_calcs.FormComparisonCalculator( [("partner_hiv_status", operator.eq, "positive")], PMTCT_CLIENTS_FORM) assessed_for_clinical_stage_eligibility = all_hmis_report_calcs.FormComparisonCalculator( [("eligibility_assessment", operator.contains, "clinical_stage")], PMTCT_CLIENTS_FORM) assessed_for_clinical_cd4_eligibility = all_hmis_report_calcs.FormComparisonCalculator( [("eligibility_assessment", operator.contains, "cd4")], PMTCT_CLIENTS_FORM) pregnant_hiv_positive_women_received_art = all_hmis_report_calcs.FormComparisonCalculator( [("commenced_drugs", operator.contains, "3tc")], PMTCT_CLIENTS_FORM) pregnant_hiv_positive_women_received_arv = all_hmis_report_calcs.FormComparisonCalculator( [("commenced_drugs", operator.contains, ["3tc", "mother_sdnvp"])], PMTCT_CLIENTS_FORM) pregnant_hiv_positive_women_received_azt = all_hmis_report_calcs.FormComparisonCalculator( [("commenced_drugs", operator.contains, "azt")], PMTCT_CLIENTS_FORM) pregnant_hiv_positive_women_received_mother_sdnvp = all_hmis_report_calcs.FormComparisonCalculator( [("commenced_drugs", operator.contains, "mother_sdnvp")], PMTCT_CLIENTS_FORM) infants_hiv_women_cotrimoxazole_lt_2_months = \ all_hmis_report_calcs.InfantsBornToHivInfectedWomenCotrimoxazoleLt2Months() infants_hiv_women_cotrimoxazole_gte_2_months = \ all_hmis_report_calcs.InfantsBornToHivInfectedWomenCotrimoxazoleGte2Months() infants_hiv_women_received_hiv_test_lt_2_months = \ all_hmis_report_calcs.InfantsBornToHivInfectedWomenReceivedHivTestLt2Months() infants_hiv_women_received_hiv_test_gte_2_months = \ all_hmis_report_calcs.InfantsBornToHivInfectedWomenReceivedHivTestGte2Months() infants_hiv_women_received_hiv_test_lt_18_months = \ all_hmis_report_calcs.InfantsBornToHivInfectedWomenReceivedHivTestLt18Months() infants_hiv_women_received_hiv_test_gte_18_months = \ all_hmis_report_calcs.InfantsBornToHivInfectedWomenReceivedHivTestGte18Months() hiv_exposed_infants_breast_feeding_receiving_arv = all_hmis_report_calcs.FormComparisonCalculator( [("commenced_drugs", operator.contains, "infant_nvp")], PMTCT_CLIENTS_FORM)
class LdHmisCaseFluff(BaseM4ChangeCaseFluff): group_by = ("domain", ) location_id = fluff.FlatField(_get_form_location_id) deliveries = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"pregnancy_outcome": { "value": "live_birth", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) deliveries_svd = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"delivery_type": { "value": "svd", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) deliveries_assisted = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"delivery_type": { "value": "assisted", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) deliveries_caesarean_section = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"delivery_type": { "value": "cs", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) deliveries_complications = ld_hmis_report_calcs.DeliveriesComplicationsCalculator( ) deliveries_preterm = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"term_status": { "value": "pre_term", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) deliveries_hiv_positive_women = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"hiv_test_result": { "value": "positive", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) live_birth_hiv_positive_women = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "hiv_test_result": { "value": "positive", "comparator": eq }, "pregnancy_outcome": { "value": "live_birth", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) deliveries_hiv_positive_booked_women = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"hiv_test_result": { "value": "positive", "comparator": eq }}, BOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) deliveries_hiv_positive_unbooked_women = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"hiv_test_result": { "value": "positive", "comparator": eq }}, UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) # deliveries_monitored_using_partograph = ld_hmis_report_calcs.LdKeyValueDictCalculator( # {"": ""}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, _form_passes_filter_date_delivery # ) # deliveries_skilled_birth_attendant = ld_hmis_report_calcs.LdKeyValueDictCalculator( # {"": ""}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, _form_passes_filter_date_delivery # ) tt1 = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"tt1": { "value": "yes", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS) tt2 = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"tt2": { "value": "yes", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS) live_births_male_female = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"pregnancy_outcome": { "value": "live_birth", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) male_lt_2_5kg = ld_hmis_report_calcs.ChildSexWeightCalculator( {"baby_sex": "male"}, 2.5, '<', BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) male_gte_2_5kg = ld_hmis_report_calcs.ChildSexWeightCalculator( {"baby_sex": "male"}, 2.5, '>=', BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) female_lt_2_5kg = ld_hmis_report_calcs.ChildSexWeightCalculator( {"baby_sex": "female"}, 2.5, '<', BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) female_gte_2_5kg = ld_hmis_report_calcs.ChildSexWeightCalculator( {"baby_sex": "female"}, 2.5, '>=', BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) still_births = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"pregnancy_outcome": { "value": "still_birth", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) fresh_still_births = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"type_still_birth": { "value": "fresh_still_birth", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) other_still_births = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"type_still_birth": { "value": "other_still_birth", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) abortion_induced = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"abortion_type": { "value": "induced_abortion", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) other_abortions = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"abortion_type": { "value": "no_other_abortion", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) total_abortions = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"pregnancy_outcome": { "value": "abortion", "comparator": eq }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) birth_asphyxia = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_birth_asphyxia", "comparator": contains } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) birth_asphyxia_male = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_birth_asphyxia", "comparator": contains }, "baby_sex": { "value": "male", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) birth_asphyxia_female = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_birth_asphyxia", "comparator": contains }, "baby_sex": { "value": "female", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) neonatal_sepsis = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_sepsis", "comparator": contains } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) neonatal_sepsis_male = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_sepsis", "comparator": contains }, "baby_sex": { "value": "male", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) neonatal_sepsis_female = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_sepsis", "comparator": contains }, "baby_sex": { "value": "female", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) neonatal_tetanus = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_tetanus", "comparator": contains } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) neonatal_tetanus_male = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_tetanus", "comparator": contains }, "baby_sex": { "value": "male", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) neonatal_tetanus_female = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_tetanus", "comparator": contains }, "baby_sex": { "value": "female", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) neonatal_jaundice = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_jaundice", "comparator": contains } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) neonatal_jaundice_male = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_jaundice", "comparator": contains }, "baby_sex": { "value": "male", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) neonatal_jaundice_female = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "neonatal_jaundice", "comparator": contains }, "baby_sex": { "value": "female", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) low_birth_weight_babies_in_kmc = ld_hmis_report_calcs.LdKeyValueDictCalculator( {"birth_complication": { "value": "kmc", "comparator": contains }}, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) low_birth_weight_babies_in_kmc_male = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "kmc", "comparator": contains }, "baby_sex": { "value": "male", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery) low_birth_weight_babies_in_kmc_female = ld_hmis_report_calcs.LdKeyValueDictCalculator( { "birth_complication": { "value": "kmc", "comparator": contains }, "baby_sex": { "value": "female", "comparator": eq } }, BOOKED_AND_UNBOOKED_DELIVERY_FORMS, form_passes_filter_date_delivery)
class McctMonthlyAggregateFormFluff(BaseM4ChangeCaseFluff): group_by = ("domain", ) location_id = fluff.FlatField(_get_form_location_id) status = mcct_monthly_aggregate_report_calcs.StatusCalculator()