def get_report_data(cls, config): validate_report_parameters(["domain", "location_id", "datespan"], config) domain = config["domain"] location_id = config["location_id"] datespan = config["datespan"] sql_data = [ AncHmisCaseSqlData(domain=domain, datespan=datespan).data, LdHmisCaseSqlData(domain=domain, datespan=datespan).data, ImmunizationHmisCaseSqlData(domain=domain, datespan=datespan).data, AllHmisCaseSqlData(domain=domain, datespan=datespan).data ] locations = get_location_hierarchy_by_id(location_id, domain) row_data = AllHmisReport.get_initial_row_data() for data in sql_data: for location_id in locations: key = (domain, location_id) if key in data: report_rows = _get_rows(row_data, data, key) for key in report_rows: row_data.get(key)["value"] += report_rows.get(key) return sorted([(key, row_data[key]) for key in row_data], key=lambda t: t[1].get("hmis_code"))
def get_report_data(cls, config): validate_report_parameters(["domain", "location_id", "datespan"], config) domain = config["domain"] location_id = config["location_id"] user = config["user"] sql_data = ProjectIndicatorsCaseSqlData( domain=domain, datespan=config["datespan"]).data locations = get_location_hierarchy_by_id(location_id, domain, user, CCT_only=True) row_data = ProjectIndicatorsReport.get_initial_row_data() for key in sql_data: if key[2] not in locations: continue data = sql_data.get(key, {}) for row_key in row_data: value = data.get(row_key, 0) if value is None: value = 0 if row_key == "women_delivering_within_6_weeks_attending_pnc_total" and value > 1: value = 1 row_data.get(row_key, {})["value"] += value return sorted([(key, row_data[key]) for key in row_data], key=lambda t: t[1].get("s/n"))
def get_report_data(cls, config): validate_report_parameters(["domain", "location_id", "datespan"], config) domain = config["domain"] location_id = config["location_id"] datespan = config["datespan"] user = config["user"] sql_data = McctMonthlyAggregateFormSqlData(domain=domain, datespan=datespan).data locations = get_location_hierarchy_by_id(location_id, domain, user, CCT_only=True) row_data = McctMonthlyAggregateReport.get_initial_row_data() for location_id in locations: key = (domain, location_id) if key in sql_data: report_rows = _get_rows(row_data, sql_data, key) for key in report_rows: row_data.get(key)["value"] += report_rows.get(key) _add_eligible_9months(row_data, datespan.startdate_utc, datespan.enddate_utc, domain) return sorted([(key, row_data[key]) for key in row_data], key=lambda t: t[1].get("s/n"))
def get_report_data(cls, config): validate_report_parameters(["domain", "location_id", "datespan"], config) domain = config["domain"] location_id = config["location_id"] sql_data = ImmunizationHmisCaseSqlData(domain=domain, datespan=config["datespan"]).data locations = get_location_hierarchy_by_id(location_id, domain) row_data = ImmunizationHmisReport.get_initial_row_data() for location_id in locations: key = (domain, location_id) if key in sql_data: report_rows = _get_row(row_data, sql_data, key) for key in report_rows: row_data.get(key)["value"] += report_rows.get(key) return sorted([(key, row_data[key]) for key in row_data], key=lambda t: t[1].get("hmis_code"))
def get_report_data(cls, config): validate_report_parameters(["domain", "location_id", "datespan"], config) domain = config["domain"] location_id = config["location_id"] sql_data = LdHmisCaseSqlData(domain=domain, datespan=config["datespan"]).data top_location = Location.get(location_id) locations = [location_id] + [descendant.get_id for descendant in top_location.descendants] row_data = LdHmisReport.get_initial_row_data() for location_id in locations: key = (domain, location_id) if key in sql_data: report_rows = _get_row(row_data, sql_data, key) for key in report_rows: row_data.get(key)["value"] += report_rows.get(key) return row_data
def get_report_data(cls, config): validate_report_parameters(["domain", "location_id", "datespan"], config) domain = config["domain"] location_id = config["location_id"] datespan = config["datespan"] sql_data = McctMonthlyAggregateFormSqlData(domain=domain, datespan=datespan).data locations = get_location_hierarchy_by_id(location_id, domain, CCT_only=True) row_data = McctMonthlyAggregateReport.get_initial_row_data() for location_id in locations: key = (domain, location_id) if key in sql_data: report_rows = _get_rows(row_data, sql_data, key) for key in report_rows: row_data.get(key)["value"] += report_rows.get(key) _add_eligible_9months(row_data, datespan.startdate_utc, datespan.enddate_utc, domain) return sorted([(key, row_data[key]) for key in row_data], key=lambda t: t[1].get("s/n"))
def get_report_data(cls, config): validate_report_parameters(["domain", "location_id", "datespan"], config) domain = config["domain"] location_id = config["location_id"] sql_data = ProjectIndicatorsCaseSqlData(domain=domain, datespan=config["datespan"]).data locations = get_location_hierarchy_by_id(location_id, domain, CCT_only=True) row_data = ProjectIndicatorsReport.get_initial_row_data() for key in sql_data: if key[2] not in locations: continue data = sql_data.get(key, {}) for row_key in row_data: value = data.get(row_key, 0) if value is None: value = 0 if row_key == "women_delivering_within_6_weeks_attending_pnc_total" and value > 1: value = 1 row_data.get(row_key, {})["value"] += value return sorted([(key, row_data[key]) for key in row_data], key=lambda t: t[1].get("s/n"))
def get_report_data(cls, config): validate_report_parameters(["domain", "location_id", "datespan"], config) domain = config["domain"] location_id = config["location_id"] sql_data = ProjectIndicatorsCaseSqlData(domain=domain, datespan=config["datespan"]).data top_location = Location.get(location_id) locations = [location_id] + [descendant.get_id for descendant in top_location.descendants] row_data = ProjectIndicatorsReport.get_initial_row_data() for key in sql_data: if key[2] not in locations: continue data = sql_data.get(key, {}) for row_key in row_data: value = data.get(row_key, 0) if value is None: value = 0 if row_key == "women_delivering_within_6_weeks_attending_pnc_total" and value > 1: value = 1 row_data.get(row_key, {})["value"] += value return row_data