Skip to main content

2023 New Features

Master Data Management

5SpaNifqzf6Zndtw-drawing-7-1700574203.png

User Interactions

Add / Edit Administration Attribute

  • Step 1: Click the "Add Attribute" button.
  • Step 2: Fill in the attribute name and select the type (e.g., "Value","Option", "Multiple Option", "Aggregate").
  • Step 3: If the attribute type is "Option,Multiple Option or Aggregate" click the "+" button to add more options.
  • Step 4: Click "Submit" to save.
  • Step 5: Confirmation message appears.
  • Step 6: Options to return to the attributes list, add another attribute, or manage existing attributes.

API: administration-attribute-crud

Add / Edit Administration

  • Step 1: Click "Add New Administration" or select an administrative area to edit.
  • Step 2: Select Level Name.
  • Step 3: Select the parent administration using a cascading drop-down.
  • Step 4: Fill in administration details (name, parent, and code).
  • Step 5: Fill in attributes and their values.
    • For Value type: Input Number
    • For Option and Multiple Option type: Drop-down option
    • For Aggregate: It will shows table with 2 columns, the columns are: name, value
      • Name: the dissagregation name
      • Value: Input Number
  • Step 6: Click "Submit" to save.
  • Step 7: Confirmation message appears.
  • Step 8: Options to return to administration list.

API: administration-crud

Attribute Types

Option & Multiple Option Values

Use Case

We have a dataset that contains categorical information about the types of land use for various regions. This data will be utilized to classify and analyze land use patterns at the county level.

Feature

To achieve this, we will need to define option values for an attribute. In this scenario, the workflow is as follows:

Define Attribute

    Attribute Name: Land Use Type Attribute Code: <Unique Identifier>Land_Use_Type Type: Categorical (Option Values) Administration Level: County

    Define Option Values

      Option Name: Residential
        Option Code: Residential Option Name: Commercial
          Option Code: Commercial Option Name: Agricultural
            Option Code: Agricultural

            Upload Data for Counties

            County Attribute Code Value County A Land_Use_Type Residential County B Land_Use_Type Commercial County C Land_Use_Type Agricultural

            In this case, we define the "Option Values" for the "Land Use Type" attribute, allowing us to categorize land use patterns at the county level. The actual data for individual counties is then uploaded using the defined options.

            Single Numeric Values

            Use Case

            We possess household counts from the 2019 census that correspond to the RTMIS administrative list at the sub-county level. This data can be employed to compute the household coverage per county, which is calculated as (# of households in that sub-county in RTMIS / # from the census).

            Feature

            To achieve this, we need to store the population value for individual sub-counties as part of their attributes. In this scenario, the workflow is as follows:

            Define Attribute

              Attribute Name: Census HH Count Attribute Code: <Unique Identifier>Census_HH_Count Type: Single Numeric Value Administration Level: Sub-County

              Upload Data for Individual Sub-Counties

              Sub-County Attribute Code Value CHANGAMWE Census_HH_Count 46,614 JOMVU Census_HH_Count 53,472

              In this case, the values for the county level will be automatically aggregated.

              Disaggregated Numeric Values

              Use Case

              We aim to import data from the CLTS platform or the census regarding the count of different types of toilets, and we have a match at the sub-county level. This data will serve as baseline values for visualization.

              Feature

              For this use case, we need to store disaggregated values for an attribute. To do so, we will:

              Define the Attribute

                Attribute Name: Census HH Toilet Count Attribute Code: <Unique Identifier>Census_HH_Toilet_Count Type: Disaggregated Numeric Values Disaggregation: “Improved”, “Unimproved” Administration Level: Sub-County

                Upload Data for Individual Sub-Counties

                Sub-County Attribute Code Disaggregation Value CHANGAMWE Census_HH_Toilet_Count Improved 305,927 CHANGAMWE Census_HH_Toilet_Count Unimproved 70,367

                Database Overview

                Entities Table

                pos table column null dtype len default
                1 Entities id   Integer    
                2 Entities name   Text    

                Entity Data Table

                pos table column null dtype len default
                1 Entity Data id   Integer    
                2 Entity Data entity_id   Integer    
                3 Entity Data name   Text    
                4 Entity Data administration_id   Integer    

                Entity Attributes

                pos table column null dtype len default
                1 Entity Attributes id   Integer    
                2 Entity Attributes entity_id   Integer    
                3 Entity Attributes name   Text    

                Entity Attributes Options

                pos table column null dtype len default
                1 Entity Attributes Options id   Integer    
                2 Entity Attributes Options entity_attribute_id   Integer    
                3 Entity Attributes Options name   Text    

                Entity Values

                pos table column null dtype len default
                1 Entity Values id   Integer    
                2 Entity Values entity_data_id   Integer    
                3 Entity Values entity_attribute_id   Integer    
                4 Entity Values value   Text    

                Administration Table

                pos table column null dtype len default
                1 administrator id NO bigint   administrator_id_seq
                2 administrator code YES character varying 255  
                3 administrator name NO text    
                4 administrator level_id NO bigint    
                5 administrator parent_id YES bigint    
                6 administrator path YES text    

                Administration Attributes

                pos table column null dtype len default
                1 Administration Attributes id   Integer    
                2 Administration Attributes level_id   Integer    
                3
                Administration Attribute
                code

                Text

                Unique (Auto-Generated)
                4 Administration Attributes Type   Enum (Number, Option, Aggregate)
                   
                5 Administration Attributes name   Text    

                Administration Attributes Options

                pos table column null dtype len default
                1 Administration Attributes Options id   Integer    
                2 Administration Attributes Options administration_attributes_id   Integer    
                3 Administration Attributes Options name   Text    

                Administration Values

                pos table column null dtype len default
                1 Administration Values id   Integer    
                2 Administration Values administration_id   Integer    
                3 Administration Values administration_attributes_id Integer      
                4 Administration Values value   Integer    
                5
                Administrative Values
                option

                Text


                Rules:

                • Attribute Type: Numeric
                  • value: NOT NULL
                  • option: NULL
                • Attribute Type: Option
                  • value: NULL
                  • option: NOT NULL
                • Attribute Type: Aggregate
                  • value: NOT NULL
                  • option: NOT NULL

                Validation for Option Type

                • If parent has a value for a particular administration_attributes_id, then invalidate the children input.
                • If children have a value for a particular administration_attributes_id, then override the children value.

                Materialized View for Aggregation

                Visualization Query

                id type name attribute option value
                1 administration Bantul Water Points Type Dugwell 1
                2 entity Bantul School Type of school Highschool 1

                API Endpoints

                Administration Endpoints

                Administration CRUD (POST & PUT)
                {
                  "parent_id": 1,
                  "name": "Village A",
                  "code": "VA",
                  "attributes": [{
                      "attribute":1,
                      "value": 200,
                    },{
                      "attribute":2,
                      "value": "Rural",
                    },{
                      "attribute":3,
                      "value": ["School","Health Facilities"],
                    },{
                      "attribute":4,
                      "value": {"Improved": 100,"Unimproved": 200},
                    }
                  ]
                }
                Administration Detail (GET)
                {
                  "id": 2,
                  "name": "Tiati",
                  "code": "BT",
                  "parent": {
                    "id": 1,
                    "name": "Baringo",
                    "code": "B"
                  },
                  "level": {
                    "id": 1,
                    "name": "Sub-county"
                  },
                  "childrens": [{
                    "id": 2,
                    "name": "Tiati",
                    "code": "BT"
                  }],
                  "attributes": [{
                      "attribute":1,
                      "type": "value",
                      "value": 200,
                    },{
                      "attribute":2,
                      "type": "option",
                      "value": "Rural",
                    },{
                      "attribute":3,
                      "type": "multiple_option",
                      "value": ["School","Health Facilities"],
                    },{
                      "attribute":4,
                      "type": "aggregate",
                      "value": {"Improved": 100,"Unimproved": 200},
                    }
                  ]
                }
                Administration List (GET)
                {
                  "current": "self.page.number",
                  "total": "self.page.paginator.count",
                  "total_page": "self.page.paginator.num_pages",
                  "data":[
                    {
                      "id": 2,
                      "name": "Tiati",
                      "code": "BT",
                      "parent": {
                        "id": 1,
                        "name": "Baringo",
                      },
                      "level": {
                        "id": 1,
                        "name": "Sub-county"
                      }
                    }
                ]}
                Administration Attributes CRUD (POST & PUT)
                {
                  "name": "Population",
                  "type": "value",
                  "options": []
                }
                Administration Attributes (GET)
                [{
                  "id": 1,
                  "name": "Population",
                  "type": "value",
                  "options": []
                },{
                  "id": 2,
                  "name": "Wheter Urban or Rural",
                  "type": "option",
                  "options": ["Rural","Urban"]
                },{
                  "id": 3,
                  "name": "HCF and School Availability",
                  "type": "multiple_option",
                  "options": ["School","Health Care Facilities"]
                },{
                  "id": 4,
                  "name": "JMP Status",
                  "type": "aggregate",
                  "options": ["Improved","Unimproved"]
                }]

                Attribute Types

                Option & Multiple Option Values

                Use Case

                We have a dataset that contains categorical information about the types of land use for various regions. This data will be utilized to classify and analyze land use patterns at the county level.

                Feature

                To achieve this, we will need to define option values for an attribute. In this scenario, the workflow is as follows:

                Define Attribute

                  Attribute Name: Land Use Type Attribute Code: <Unique Identifier>Land_Use_Type Type: Categorical (Option Values) Administration Level: County

                  Define Option Values

                    Option Name: Residential
                      Option Code: Residential Option Name: Commercial
                        Option Code: Commercial Option Name: Agricultural
                          Option Code: Agricultural

                          Upload Data for Counties

                          County Attribute Code Value County A Land_Use_Type Residential County B Land_Use_Type Commercial County C Land_Use_Type Agricultural

                          In this case, we define the "Option Values" for the "Land Use Type" attribute, allowing us to categorize land use patterns at the county level. The actual data for individual counties is then uploaded using the defined options.

                          Single Numeric Values

                          Use Case

                          We possess household counts from the 2019 census that correspond to the RTMIS administrative list at the sub-county level. This data can be employed to compute the household coverage per county, which is calculated as (# of households in that sub-county in RTMIS / # from the census).

                          Feature

                          To achieve this, we need to store the population value for individual sub-counties as part of their attributes. In this scenario, the workflow is as follows:

                          Define Attribute

                            Attribute Name: Census HH Count Attribute Code: <Unique Identifier>Census_HH_Count Type: Single Numeric Value Administration Level: Sub-County

                            Upload Data for Individual Sub-Counties

                            Sub-County Attribute Code Value CHANGAMWE Census_HH_Count 46,614 JOMVU Census_HH_Count 53,472

                            In this case, the values for the county level will be automatically aggregated.

                            Disaggregated Numeric Values

                            Use Case

                            We aim to import data from the CLTS platform or the census regarding the count of different types of toilets, and we have a match at the sub-county level. This data will serve as baseline values for visualization.

                            Feature

                            For this use case, we need to store disaggregated values for an attribute. To do so, we will:

                            Define the Attribute

                              Attribute Name: Census HH Toilet Count Attribute Code: <Unique Identifier>Census_HH_Toilet_Count Type: Disaggregated Numeric Values Disaggregation: “Improved”, “Unimproved” Administration Level: Sub-County

                              Upload Data for Individual Sub-Counties

                              Sub-County Attribute Code Disaggregation Value CHANGAMWE Census_HH_Toilet_Count Improved 305,927 CHANGAMWE Census_HH_Toilet_Count Unimproved 70,367