Ejemplo n.º 1
0
    def columns(self):
        columns = [
            ColumnDef(name="domain",
                      data_type="string",
                      value_source="key",
                      value_index=2),
            ColumnDef(name="state",
                      data_type="string",
                      value_source="key",
                      value_index=3),
            ColumnDef(name="district",
                      data_type="string",
                      value_source="key",
                      value_index=4),
            ColumnDef(name="date",
                      data_type="date",
                      value_source="key",
                      value_index=1),
        ]
        for c in [
                'events', 'males', 'females', 'attendees', 'leaflets', 'gifts'
        ]:
            columns.append(
                ColumnDef(name=c,
                          data_type="integer",
                          value_source="value",
                          value_attribute='sum',
                          match_keys=[KeyMatcher(index=5, value=c)]))

        return columns
Ejemplo n.º 2
0
def get_case_ownership_mapping(domain):
    mapping = get_or_create_mapping(domain,
                                    MAPPING_NAME_CASE_OWNERSHIP,
                                    date_range=None)

    mapping.couch_view = 'case/by_date_modified_owner'
    mapping.couch_key_prefix = [domain]
    mapping.couch_group_level = 4
    mapping.columns = [
        ColumnDef(name="user_id",
                  data_type="string",
                  value_source="key",
                  value_index=3),
        ColumnDef(name="case_type",
                  data_type="string",
                  value_source="key",
                  value_index=2),
        ColumnDef(name="open_cases",
                  data_type="integer",
                  value_source="value",
                  match_keys=[
                      KeyMatcher(index=1, value='open'),
                      KeyMatcher(index=2, value='{}', operator=NOT_EQUAL)
                  ]),
        ColumnDef(name="closed_cases",
                  data_type="integer",
                  value_source="value",
                  match_keys=[
                      KeyMatcher(index=1, value='closed'),
                      KeyMatcher(index=2, value='{}', operator=NOT_EQUAL)
                  ]),
    ]
    return mapping
Ejemplo n.º 3
0
def create_form_mapping(domain):
    mapping = get_or_create_mapping(domain, MAPPING_NAME_FORMS)

    mapping.couch_view = 'reports_forms/all_forms'
    mapping.couch_key_prefix = ['submission', domain.name]
    mapping.columns = [
        ColumnDef(name="date",
                  data_type="date",
                  value_source="key",
                  value_index=2,
                  date_format="%Y-%m-%dT%H:%M:%SZ"),
        ColumnDef(name="user_id",
                  data_type="string",
                  value_source="value",
                  value_attribute="user_id"),
        ColumnDef(name="xmlns",
                  data_type="string",
                  value_source="value",
                  value_attribute="xmlns"),
        ColumnDef(name="duration",
                  data_type="integer",
                  value_source="value",
                  value_attribute="duration"),
    ]
    mapping.couch_view_params = {
        'reduce': False,
    }
    mapping.save()
Ejemplo n.º 4
0
    def columns(self):
        columns = [
            ColumnDef(name="domain",
                      data_type="string",
                      value_source="key",
                      value_index=0),
            ColumnDef(name="state",
                      data_type="string",
                      value_source="key",
                      value_index=1),
            ColumnDef(name="district",
                      data_type="string",
                      value_source="key",
                      value_index=2),
            ColumnDef(name="date",
                      data_type="datetime",
                      value_source="key",
                      value_index=4),
        ]
        types = [
            'priv_trained',
            'priv_ayush_trained',
            'priv_allo_trained',
            'priv_avg_diff',
            'priv_gt80',
            'pub_trained',
            'pub_ayush_trained',
            'pub_allo_trained',
            'pub_avg_diff',
            'pub_gt80',
            'dep_trained',
            'dep_pers_trained',
            'dep_avg_diff',
            'dep_gt80',
            'flw_trained',
            'flw_pers_trained',
            'flw_avg_diff',
            'flw_gt80',
        ]
        for c in types:
            columns.append(
                ColumnDef(name=c,
                          data_type="integer",
                          value_source="value",
                          value_attribute='sum',
                          match_keys=[KeyMatcher(index=3, value=c)]))

        return columns
Ejemplo n.º 5
0
    def columns(self):
        columns = [
            ColumnDef(name="domain",
                      data_type="string",
                      value_source="key",
                      value_index=0),
            ColumnDef(name="state",
                      data_type="string",
                      value_source="key",
                      value_index=1),
            ColumnDef(name="district",
                      data_type="string",
                      value_source="key",
                      value_index=2),
            ColumnDef(name="block",
                      data_type="string",
                      value_source="key",
                      value_index=3),
            ColumnDef(name="date",
                      data_type="datetime",
                      value_source="key",
                      value_index=5),
        ]
        for c in [
                'sessions', 'ayush_doctors', 'mbbs_doctors',
                'asha_supervisors', 'ashas', 'awws', 'other', 'attendees'
        ]:
            columns.append(
                ColumnDef(name=c,
                          data_type="integer",
                          value_source="value",
                          value_attribute='sum',
                          match_keys=[KeyMatcher(index=4, value=c)]))

        return columns
Ejemplo n.º 6
0
def get_case_mapping(domain):
    mapping = get_or_create_mapping(domain, MAPPING_NAME_CASES)

    mapping.couch_view = 'callcenter/case_actions_by_user'
    mapping.couch_key_prefix = [domain]
    mapping.columns = [
        ColumnDef(name="date",
                  data_type="date",
                  value_source="key",
                  value_index=1,
                  date_format="%Y-%m-%dT%H:%M:%SZ"),
        ColumnDef(name="user_id",
                  data_type="string",
                  value_source="key",
                  value_index=2),
        ColumnDef(name="case_type",
                  data_type="string",
                  value_source="key",
                  value_index=3),
        ColumnDef(name="action_type",
                  data_type="string",
                  value_source="key",
                  value_index=4),
        ColumnDef(name="case_id",
                  data_type="string",
                  value_source="key",
                  value_index=5),
        ColumnDef(name="action_count",
                  data_type="integer",
                  value_source="value"),
    ]
    return mapping
Ejemplo n.º 7
0
    def columns(self):
        columns = [
            ColumnDef(name="domain",
                      data_type="string",
                      value_source="key",
                      value_index=0),
            ColumnDef(name="state",
                      data_type="string",
                      value_source="key",
                      value_index=1),
            ColumnDef(name="district",
                      data_type="string",
                      value_source="key",
                      value_index=2),
            ColumnDef(name="block",
                      data_type="string",
                      value_source="key",
                      value_index=3),
            ColumnDef(name="village_code",
                      data_type="integer",
                      value_source="key",
                      value_index=4),
            ColumnDef(name="demo_type",
                      data_type="string",
                      value_source="key",
                      value_index=5),
            ColumnDef(name="date",
                      data_type="datetime",
                      value_source="key",
                      value_index=7),
        ]
        for c in ['children', 'demonstrations', 'kits', 'leaflets']:
            columns.append(
                ColumnDef(name=c,
                          data_type="integer",
                          value_source="value",
                          value_attribute='sum',
                          match_keys=[KeyMatcher(index=6, value=c)]))

        return columns
Ejemplo n.º 8
0
    def columns(self):
        columns = [
            ColumnDef(name="domain", data_type="string", value_source="key", value_index=0),
            ColumnDef(name="disease_name", data_type="string", value_source="key", value_index=1),
            ColumnDef(name="test_version", data_type="string", value_source="key", value_index=2),
            ColumnDef(name="country", data_type="string", value_source="key", value_index=3),
            ColumnDef(name="province", data_type="string", value_source="key", value_index=4),
            ColumnDef(name="district", data_type="string", value_source="key", value_index=5),
            ColumnDef(name="clinic", data_type="string", value_source="key", value_index=6),
            ColumnDef(name="gender", data_type="string", value_source="key", value_index=7),
            ColumnDef(name="date", data_type="date", value_source="key", value_index=8, date_format="%Y-%m-%d"),
            ColumnDef(name="diagnosis", data_type="string", value_source="key", value_index=9),
            ColumnDef(name="lot_number", data_type="string", value_source="key", value_index=10),
            ColumnDef(name="gps", data_type="string", value_source="key", value_index=11),
            ColumnDef(name="gps_country", data_type="string", value_source="key", value_index=12),
            ColumnDef(name="gps_province", data_type="string", value_source="key", value_index=13),
            ColumnDef(name="gps_district", data_type="string", value_source="key", value_index=14),
            ColumnDef(name="age", data_type="integer", value_source="key", value_index=15),
            ColumnDef(name="cases", data_type="integer", value_source="value", value_attribute="sum"),
        ]

        return columns