Master Data Management Service (MDMS) & Configuration Updates

Feature
Service name
Changes (0.3)
Changes (consolidates)

Devops

project-factory values

Config

project-factory persister

For MDMS-V2 changes, refer to the file below for MDMS schema and data that needs to be added for health - HCM-ADMIN-CONSOLE service:

1) Add below schemas:

1.1) Add HCM-ADMIN-CONSOLE.allAttributes schema

{
    "type": "object",
    "title": "Generated schema for Root",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "required": [
      "key",
      "code",
      "i18nKey"
    ],
    "x-unique": [
      "code"
    ],
    "properties": {
      "key": {
        "type": "number"
      },
      "code": {
        "type": "string"
      },
      "i18nKey": {
        "type": "string"
      },
      "projectTypes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "valuesSchema": {
        "type": "string"
      },
      "allowedOperators": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  }

1.2) Add HCM-ADMIN-CONSOLE.targetConfigs schema

{
            "type": "object",
            "title": "Generated schema for Root",
            "$schema": "http://json-schema.org/draft-07/schema#",
            "required": [
                "campaignType",
                "role",
                "checklistType",
                "data"
            ],
            "x-unique": [
                "campaignType",
                "role",
                "checklistType"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "required": [
                            "id",
                            "level",
                            "key",
                            "title",
                            "type",
                            "value",
                            "isRequired",
                            "options"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "key": {
                                "type": "number"
                            },
                            "type": {
                                "type": "object",
                                "required": [
                                    "code"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    }
                                }
                            },
                            "level": {
                                "type": "number"
                            },
                            "title": {
                                "type": "string"
                            },
                            "value": {},
                            "options": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "required": [
                                        "id",
                                        "key",
                                        "parentQuestionId",
                                        "label",
                                        "optionDependency"
                                    ],
                                    "properties": {
                                        "id": {
                                            "type": "string"
                                        },
                                        "key": {
                                            "type": "number"
                                        },
                                        "label": {
                                            "type": "string"
                                        },
                                        "comment": {
                                            "type": "string"
                                        },
                                        "optionComment": {
                                            "type": "boolean"
                                        },
                                        "optionDependency": {
                                            "type": "boolean"
                                        },
                                        "parentQuestionId": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "parentId": {},
                            "isRequired": {
                                "type": "boolean"
                            }
                        }
                    }
                },
                "role": {
                    "type": "string"
                },
                "campaignType": {
                    "type": "string"
                },
                "checklistType": {
                    "type": "string"
                }
            }
        }
2) Add/Updated below data for the schemas:

2.1) Add data for HCM-ADMIN-CONSOLE.allAttributes data

{
        "key": 6,
        "code": "gender",
        "i18nKey": "CAMPAIGN_ATTRIBUTE_GENDER",
        "projectTypes": [
            "DEFAULT",
            "MR-DN"
        ],
        "valuesSchema": "common-masters.GenderType",
        "allowedOperators": [
            "EQUAL_TO"
        ]
    }
{
      "key": 5,
      "code": "weight",
      "i18nKey": "CAMPAIGN_ATTRIBUTE_WEIGHT",
      "projectTypes": [
        "DEFAULT",
        "MR-DN"
      ]
    }
{
      "key": 4,
      "code": "height",
      "i18nKey": "CAMPAIGN_ATTRIBUTE_HEIGHT",
      "projectTypes": [
        "DEFAULT",
        "MR-DN"
      ]
    },
{
      "key": 3,
      "code": "age",
      "i18nKey": "CAMPAIGN_ATTRIBUTE_AGE",
      "projectTypes": [
        "DEFAULT",
        "MR-DN"
      ]
    }
{
      "key": 2,
      "code": "type_of_structure",
      "i18nKey": "TYPE_OF_STRUCTURE",
      "projectTypes": [
        "DEFAULT",
        "IRS-mz"
      ],
      "valuesSchema": "HCM.HOUSE_STRUCTURE_TYPES",
      "allowedOperators": [
        "EQUAL_TO"
      ]
    }
{
      "key": 1,
      "code": "memberCount",
      "i18nKey": "CAMPAIGN_BEDNET_INDIVIDUAL_LABEL",
      "projectTypes": [
        "LLIN-mz",
        "DEFAULT"
      ]
    }

2.2) Add data for HCM-ADMIN-CONSOLE.targetConfigs

{
        "campaignType": "DEFAULT",
        "beneficiaries": [
            {
                "columns": [
                    "HCM_ADMIN_CONSOLE_TARGET_INDIVIDUAL"
                ],
                "beneficiaryType": "INDIVIDUAL"
            },
            {
                "columns": [
                    "HCM_ADMIN_CONSOLE_TARGET_HOUSEHOLD"
                ],
                "beneficiaryType": "HOUSEHOLD"
            }
        ]
    }
{
        "campaignType": "LLIN-mz",
        "beneficiaries": [
            {
                "columns": [
                    "HCM_ADMIN_CONSOLE_TARGET_LLIN_TARGET_POPULATION"
                ],
                "beneficiaryType": "INDIVIDUAL"
            },
            {
                "columns": [
                    "HCM_ADMIN_CONSOLE_TARGET"
                ],
                "beneficiaryType": "HOUSEHOLD"
            }
        ]
    }
 {
            "campaignType": "MR-DN",
            "beneficiaries": [
                {
                    "columns": [
                        "HCM_ADMIN_CONSOLE_TARGET_SMC_AGE_3_TO_11",
                        "HCM_ADMIN_CONSOLE_TARGET_SMC_AGE_12_TO_59"
                    ],
                    "beneficiaryType": "INDIVIDUAL"
                },
                {
                    "columns": [
                        "HCM_ADMIN_CONSOLE_TARGET_SMC_TOTAL_HOUSEHOLD"
                    ],
                    "beneficiaryType": "HOUSEHOLD"
                }
            ]
        }
{
            "campaignType": "IRS-mz",
            "beneficiaries": [
                {
                    "columns": [
                        "HCM_ADMIN_CONSOLE_TARGET_IRS_TOTAL_POPULATION"
                    ],
                    "beneficiaryType": "INDIVIDUAL"
                },
                {
                    "columns": [
                        "HCM_ADMIN_CONSOLE_TARGET_IRS_TOTAL_ROOM"
                    ],
                    "beneficiaryType": "HOUSEHOLD"
                }
            ]
        }

2.3) Add data for HCM-PROJECT-TYPES.projectTypes

{
            "id": "ea1bb2e7-06d8-4fe4-ba1e-f4a6363a23re",
            "code": "DEFAULT",
            "name": "configuration for Co-Delivery Campaign",
            "type": "multiround",
            "group": "MALARIA",
            "cycles": [],
            "resources": [],
            "beneficiaryType": "INDIVIDUAL",
            "dashboardUrls": {
                "DISTRICT_SUPERVISOR": "/health-ui/employee/dss/dashboard/district-health-dashboard",
                "NATIONAL_SUPERVISOR": "/health-ui/employee/dss/landing/national-health-dashboard",
                "PROVINCIAL_SUPERVISOR": "/health-ui/employee/dss/dashboard/provincial-health-dashboard"
            }
        }

2.4) Add data for HCM-ADMIN-CONSOLE.adminSchema

 {
        "title": "boundary",
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
            "numberProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_INDIVIDUAL",
                    "type": "number",
                    "isRequired": false,
                    "description": "Target Individual",
                    "orderNumber": 2
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_HOUSEHOLD",
                    "type": "number",
                    "isRequired": false,
                    "description": "Target Household",
                    "orderNumber": 3
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_PRODUCT",
                    "type": "number",
                    "isRequired": false,
                    "description": "Target Product",
                    "orderNumber": 4
                }
            ],
            "stringProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_BOUNDARY_CODE",
                    "type": "string",
                    "isRequired": true,
                    "description": "Boundary Code",
                    "orderNumber": 1,
                    "freezeColumn": true
                }
            ]
        },
        "campaignType": "DEFAULT"
    },
 {
        "title": "boundaryWithTarget",
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
            "numberProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_INDIVIDUAL",
                    "type": "number",
                    "isRequired": false,
                    "description": "Target Individual",
                    "orderNumber": 2
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_HOUSEHOLD",
                    "type": "number",
                    "isRequired": false,
                    "description": "Target Household",
                    "orderNumber": 3
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_PRODUCT",
                    "type": "number",
                    "isRequired": false,
                    "description": "Target Product",
                    "orderNumber": 4
                }
            ],
            "stringProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_BOUNDARY_CODE",
                    "type": "string",
                    "isRequired": true,
                    "description": "Boundary Code",
                    "orderNumber": 1,
                    "freezeColumn": true
                }
            ]
        },
        "campaignType": "DEFAULT"
    }

2.4) Updated data for HCM-ADMIN-CONSOLE.adminSchema

{
        "title": "boundary",
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
            "numberProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_IRS_TOTAL_ROOM",
                    "type": "number",
                    "isRequired": true,
                    "description": "Target at the Selected Boundary Level",
                    "orderNumber": 2
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_IRS_TOTAL_HOUSEHOLD",
                    "type": "number",
                    "isRequired": true,
                    "description": "Target at the Selected Boundary Level",
                    "orderNumber": 3
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_IRS_NUMBER_OF_BOTTLE",
                    "type": "number",
                    "isRequired": true,
                    "description": "Number of Spray Bottles (Mandatory)",
                    "orderNumber": 4
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_IRS_TOTAL_POPULATION",
                    "type": "number",
                    "isRequired": false,
                    "description": "Target Population",
                    "orderNumber": 5
                }
            ],
            "stringProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_BOUNDARY_CODE",
                    "type": "string",
                    "isRequired": true,
                    "description": "Boundary Code",
                    "orderNumber": 1,
                    "freezeColumn": true
                }
            ]
        },
        "campaignType": "IRS-mz"
    },
{
        "title": "boundaryWithTarget",
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
            "numberProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_IRS_TOTAL_ROOM",
                    "type": "number",
                    "isRequired": true,
                    "description": "Target at the Selected Boundary Level",
                    "orderNumber": 2
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_IRS_TOTAL_HOUSEHOLD",
                    "type": "number",
                    "isRequired": true,
                    "description": "Target at the Selected Boundary Level",
                    "orderNumber": 3
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_IRS_NUMBER_OF_BOTTLE",
                    "type": "number",
                    "isRequired": true,
                    "description": "Number of Spray Bottles (Mandatory)",
                    "orderNumber": 4
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_IRS_TOTAL_POPULATION",
                    "type": "number",
                    "isRequired": false,
                    "description": "Target Population",
                    "orderNumber": 5
                }
            ],
            "stringProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_BOUNDARY_CODE",
                    "type": "string",
                    "isRequired": true,
                    "description": "Boundary Code",
                    "orderNumber": 1,
                    "freezeColumn": true
                }
            ]
        },
        "campaignType": "IRS-mz"
    }
 {
        "title": "boundary",
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
            "numberProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_SMC_AGE_3_TO_11",
                    "type": "number",
                    "isRequired": true,
                    "description": "Target at village level - Age 3 to 11 Months (Mandatory and to be entered by the user)",
                    "orderNumber": 2
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_SMC_AGE_12_TO_59",
                    "type": "number",
                    "isRequired": true,
                    "description": "Target at village level - Age 12 to 59 Months (Mandatory and to be entered by the user)",
                    "orderNumber": 3
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_SMC_TOTAL_HOUSEHOLD",
                    "type": "number",
                    "isRequired": false,
                    "description": "Total Households",
                    "orderNumber": 4
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_SMC_NUMBER_OF_TABLETS",
                    "type": "number",
                    "isRequired": false,
                    "description": "Number of Tablets",
                    "orderNumber": 5
                }
            ],
            "stringProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_BOUNDARY_CODE",
                    "type": "string",
                    "isRequired": true,
                    "description": "Boundary Code",
                    "orderNumber": 1,
                    "freezeColumn": true
                }
            ]
        },
        "campaignType": "MR-DN"
    }
{
        "title": "boundaryWithTarget",
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
            "numberProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_SMC_AGE_3_TO_11",
                    "type": "number",
                    "maximum": 100000000,
                    "minimum": 0,
                    "isRequired": true,
                    "multipleOf": 1,
                    "description": "Target at village level - Age 3 to 11 Months (Mandatory and to be entered by the user)",
                    "orderNumber": 2
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_SMC_AGE_12_TO_59",
                    "type": "number",
                    "maximum": 100000000,
                    "minimum": 0,
                    "isRequired": true,
                    "multipleOf": 1,
                    "description": "Target at village level - Age 12 to 59 Months (Mandatory and to be entered by the user)",
                    "orderNumber": 3
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_SMC_TOTAL_HOUSEHOLD",
                    "type": "number",
                    "maximum": 100000000,
                    "minimum": 0,
                    "isRequired": false,
                    "multipleOf": 1,
                    "description": "Total Households",
                    "orderNumber": 4
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_SMC_NUMBER_OF_TABLETS",
                    "type": "number",
                    "maximum": 100000000,
                    "minimum": 0,
                    "isRequired": false,
                    "multipleOf": 1,
                    "description": "Number of Tablets",
                    "orderNumber": 5
                }
            ],
            "stringProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_BOUNDARY_CODE",
                    "type": "string",
                    "isRequired": true,
                    "description": "Boundary Code",
                    "orderNumber": 1,
                    "freezeColumn": true
                }
            ]
        },
        "campaignType": "MR-DN"
    }
{
        "title": "boundary",
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
            "numberProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_LLIN",
                    "type": "number",
                    "isRequired": true,
                    "description": "Target at the Selected Boundary Level",
                    "orderNumber": 2
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_LLIN_TARGET_POPULATION",
                    "type": "number",
                    "isRequired": false,
                    "description": "Target Population",
                    "orderNumber": 3
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_LLIN_BEDNET",
                    "type": "number",
                    "isRequired": false,
                    "description": "Number of Bednets to be Distributed",
                    "orderNumber": 4
                }
            ],
            "stringProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_BOUNDARY_CODE",
                    "type": "string",
                    "isRequired": true,
                    "description": "Boundary Code",
                    "orderNumber": 1,
                    "freezeColumn": true
                }
            ]
        },
        "campaignType": "LLIN-mz"
    },
{
        "title": "boundaryWithTarget",
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
            "numberProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET",
                    "type": "number",
                    "maximum": 100000000,
                    "minimum": 1,
                    "isRequired": true,
                    "multipleOf": 1,
                    "description": "Target at the Selected Boundary Level",
                    "orderNumber": 1
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_LLIN_TARGET_POPULATION",
                    "type": "number",
                    "maximum": 100000000,
                    "minimum": 1,
                    "isRequired": false,
                    "description": "Target Population",
                    "orderNumber": 2
                },
                {
                    "name": "HCM_ADMIN_CONSOLE_TARGET_LLIN_BEDNET",
                    "type": "number",
                    "maximum": 100000000,
                    "minimum": 1,
                    "isRequired": false,
                    "description": "Number of Bednets to be Distributed",
                    "orderNumber": 3
                }
            ],
            "stringProperties": [
                {
                    "name": "HCM_ADMIN_CONSOLE_BOUNDARY_CODE",
                    "type": "string",
                    "isRequired": true,
                    "description": "Boundary Code",
                    "orderNumber": 1,
                    "freezeColumn": true
                }
            ]
        },
        "campaignType": "LLIN-mz"
    }

2.4) Updated data HCM-PROJECT-TYPES.projectTypes for IRS-mz

"condition": "type_of_structure==CEMENTortype_of_structure==CLAYortype_of_structure==REEDS",

2.4.1) Updated data HCM-PROJECT-TYPES.projectTypes for IRS-mz

 "condition": "memberCount>=1"

2.5) Removed Schema/Data

HCM-ADMIN-CONSOLE.attributeConfig

API Postman Collection

Localisations:

Changes are being tracked in the Excel sheet:

HCM Campaign manager Localisation sheet V0.3

Last updated

Was this helpful?