External Public Page

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 7 Next »

RDQA Metadata Transfer

Program Metadata Tansfer

The metadata from a DHIS2 program contains items necessary for rendering within the enabled DHIS2 server. The DHIS2 server includes an Import/Export tool to generate a JSON or CSV file with all configurations in the server. However, certain attributes may need cleaning to prevent errors during import to the target server. These attributes typically involve references to users that don’t exist in the target server. To streamline the process and avoid manual deletion of each attribute, we can use the Program Configuration App (PCA). You can read more about the PCA here.

The PCA offers the same options as the Import/Export tool available within DHIS2 but automates the process to eliminate any references to organization units, users, or user groups that may cause errors in the target server.

To export the program using the PCA:

  1. Open Program Configuration App within DHIS2.

  2. Search for 'RDQA' using the filters.

  3. Click on the three dots in the upper-right corner of the RDQA Program.

  4. Select 'Backup/Restore'.

  5. Choose 'Export JSON Metadata'.

  6. Select ‘Another Server’ in the target server

  7. Click on the ‘Download’ file

image-20240426-192313.png
  1. Log in into the target server

  2. Open the Import/Export tool

image-20240426-192540.png
  1. Select the ‘Metadata Import’ Section

  2. Upload the file and select the JSON generated in the previous steps

  3. Click on the ‘Start dry run’ button

image-20240426-192816.png
  1. Check the Summary Table to ensure that there are no issues.

  2. Once the process has been completed without any problems, click on the ‘Start Import’ button.

  3. Verify that the RDQA already exists on the server using the Maintenance App.

image-20240426-193124.png

Dashboards Transfer

RDQA Program has some Dashboard used to review the Program and review the data over time, those Objects are not included in the RDQA Metadata, so we need to use the Import/Export tool in the source server.

  1. Log in into the source server

  2. Open the Import/Export tool

  3. Select Metadata Dependency Export

  4. Select ‘Dashboard’ in the Object Type field

  5. Type ‘RDQA’ on the object field

  6. Check the followings options

    1. JSON

    2. Uncompressed

    3. Skip sharing and access settings

  7. Click on the ‘Export Metadata Dependencies’ button

image-20240426-194609.png
  1. we need to open the JSON file using any tool to modify code, we recommend use VSCode , once the file has been opened, we need to eliminate the following attributes:

    1. lastUpdatedBy

    2. createdBy

image-20240426-195734.png
  1. Once the JSON file has been cleaned, we import the JSON in the target File

  2. Verify the Summary Report to ensure there are no issues

  3. Verify the Dashboard has been created properly

image-20240426-200150.png

Organisation Units Tranfer

The metadata or data may include some organizational units that don’t exist on the target server. In the case of events with different organizational units, issues may arise when attempting to import them.

To export the organization, we need to use an API request. You can use either Postman or the browser, but make sure to have an extension to change the text to JSON format.

https://{serverSource}/api/organisationUnits.json

https://{serverSource}/api/organisationUnits.json?filter=id:in:[organisationUnit1,organisationUnit2]

https://{serverSource}/api/organisationUnits.json?filter=level:in:[5,6]

Parameters

Description

serverSource

Server where the Organisation Units will be retrieved

Example: https://play.im.dhis2.org/

id

Organisation Units ID

level

Organisation Unit level, this retrieves a more than one Organisation Units

Searching for Organisation Unit IDs


https://play.im.dhis2.org/dev/api/organisationUnits.json?filter=id:in:[Rp268JB6Ne4,cDw53Ej8rju]&fields=*&paging=false

Reponse

{
    "organisationUnits": [
        {
            "code": "OU_651071",
            "name": "Adonkia CHP",
            "created": "2012-02-17T15:54:39.987",
            "lastUpdated": "2017-05-22T15:21:48.515",
            "translations": [],
            "favorites": [],
            "sharing": {
                "external": false,
                "users": {},
                "userGroups": {}
            },
            "shortName": "Adonkia CHP",
            "dimensionItemType": "ORGANISATION_UNIT",
            "legendSets": [],
            "parent": {
                "id": "qtr8GGlm4gg"
            },
            "children": [],
            "path": "/ImspTQPwCqd/at6UHUQatSo/qtr8GGlm4gg/Rp268JB6Ne4",
            "openingDate": "2010-01-01T00:00:00.000",
            "dataSets": [
            
            ],
            "programs": [
     
            ],
            "users": [],
            "leaf": true,
            "dimensionItem": "Rp268JB6Ne4",
            "displayShortName": "Adonkia CHP",
            "displayName": "Adonkia CHP",
            "access": {
                "manage": true,
                "externalize": false,
                "write": true,
                "read": true,
                "update": true,
                "delete": true
            },
            "favorite": false,
            "href": "https://play.im.dhis2.org/dev/api/organisationUnits/Rp268JB6Ne4",
            "displayFormName": "Adonkia CHP",
            "id": "Rp268JB6Ne4",
            "attributeValues": [],
            "organisationUnitGroups": [
                {
                    "id": "f25dqv3Y7Z0"
                }
            ],
            "level": 4,
            "ancestors": [
                {
                    "id": "ImspTQPwCqd"
                },
                {
                    "id": "at6UHUQatSo"
                },
                {
                    "id": "qtr8GGlm4gg"
                }
            ]
        },
        {
            "code": "OU_278371",
            "name": "Afro Arab Clinic",
            "created": "2012-02-17T15:54:39.987",
            "lastUpdated": "2017-05-22T15:21:48.518",
            "translations": [
                {
                    "locale": "en_GB",
                    "property": "SHORT_NAME",
                    "value": "Afro Arab Clinic"
                },
                {
                    "locale": "en_GB",
                    "property": "NAME",
                    "value": "Afro Arab Clinic"
                }
            ],
            "favorites": [],
            "sharing": {
                "external": false,
                "users": {},
                "userGroups": {}
            },
            "shortName": "Afro Arab Clinic",
            "dimensionItemType": "ORGANISATION_UNIT",
            "legendSets": [],
            "parent": {
                "id": "qtr8GGlm4gg"
            },
            "children": [],
            "path": "/ImspTQPwCqd/at6UHUQatSo/qtr8GGlm4gg/cDw53Ej8rju",
            "openingDate": "2008-01-01T00:00:00.000",
            "dataSets": [
         
            ],
            "programs": [
    
            ],
            "users": [],
            "leaf": true,
            "dimensionItem": "cDw53Ej8rju",
            "displayShortName": "Afro Arab Clinic",
            "displayName": "Afro Arab Clinic",
            "access": {
                "manage": true,
                "externalize": false,
                "write": true,
                "read": true,
                "update": true,
                "delete": true
            },
            "favorite": false,
            "href": "https://play.im.dhis2.org/dev/api/organisationUnits/cDw53Ej8rju",
            "displayFormName": "Afro Arab Clinic",
            "id": "cDw53Ej8rju",
            "attributeValues": [],
            "organisationUnitGroups": [
                {
                    "id": "f25dqv3Y7Z0"
                },
                {
                    "id": "RXL3lPSK8oG"
                }
            ],
            "level": 4,
            "ancestors": [
              
            ]
        }
    ]
}

Import the Organisation Units on the target server



Preparing Organisation Units [Both OU match UIDs, OU do not match]

Exporting data

Preparing data

GET API data

Send data

POST API data

  • No labels