HPC Planning Bridge Tool API - UN-OCHA/hpc-api GitHub Wiki

The HPC Planning Bridge Tool API is an analytical tool designed to leverage HPC data and can be customized to suit various contexts. This new HPC "bridge tool" API is designed to support OCHA and cluster coordinators by bridging the cluster planning - hosted in RPM and in the Projects Module PM. It enables cluster coordinators to guide project development and prioritize activities by geographical area and target population.

Traditionally, coordinators plan activities based on Needs data, setting targets by area and population, and uploading them to RPM. However, they couldn’t track if project drafts met these targets accurately. For example, in food security, the coordinator might set a 1 million target, but couldn’t monitor if partner projects collectively reached or overshot this.

The planning bridge tool now provides a dashboard view, allowing coordinators to adjust projects proactively, balancing surpluses and deficits before finalization. It’s also helpful for countries using activity-based planning, showing funded and implemented project totals by area and activity.

The endpoint includes for each plan the following datasets:

  • organizations: Includes the organizations involved with the plan. Organizations can be the partners submitting projects, partners receiving funds and donors sending funds.

  • locations: Includes all updates CODs at all Admin levels of the plan.

  • projects: All projects that have been submitted against the plan, including project (ID, code, name, status, clusters, organizations, and all context specific Condition fields values. Condition fields are custom questions answered for each projects such as Gender mainstreaming, CASH, Risk analysis, NEXUS and others.

  • planClusters: Includes all field clusters activated which have caseloads and financial requirements.

  • planGlobalClusters: Global clusters associated with plan clusters which have caseloads and financial requirements.

  • planEntities: Includes both plan and cluster level objectives and activities such as Strategic Objectives, Cluster Objectives and Cluster Activities. This field also includes information about the alignment upper level entities

  • caseloads are metrics relating to populations, such as:

    • Total population
    • People affected
    • People in need
    • People targeted by plan

This caseloads attachment include information for both cluster target as well as the target for each project submitted against this cluster by all their partners. Disaggregated caseload data by locations and disaggregation categories such as sex, population type...etc. for the caseloads can also be obtained when the proper options are set true as describe below examples output.

  • indicators are the second type of cluster attachments, and are used to track progress. Data captured for indicators are the indicators descriptions, metrics such as cluster target for each Indicator as well as the target for each project submitted against this cluster by all their partners. Disaggregated caseload data by locations and disaggregation categories such as sex, population type...etc. for the indicators can also be obtained when the proper options are set true as describe below examples output.

  • comments: Retrieve a list of all comments and points raised by partners intended for communication with the cluster coordinator. in addition to the feedback provided by the cluster coordinator to partners. in addition to Illustrative details related to projects submitted for review or discussion.

  • fundingData: broken down by plan cluster, global cluster, and by donor, receiving organization and receiving project.

  • conditionFields: contains information such as name and question type about the custom questions to be responded by project owner during project submissions.

Getting Started using the HPC Planning Bridge Tool API

The bridge tool can be used in a number of different ways:

Usage of the API, Excel Workbook and Power BI are detailed in this document, but if you would like to use the dashboard, please contact [email protected] and we can help you set this tool up for you.

Using the API Directly

Request

API requests should be GET requests to the following URL.

https://api.hpc.tools/v2/planningBridgeTool

With the following query parameters:

Parameter Required / Default Value Details
planId Required The numeric ID of the plan you wish to get data for.
includeDisaggregatedData Optional (default: false) Set to true if disaggregated data should be included
disaggregationOnlyTotal Optional (default: false) Set to true if the totals by location should be included. This option is to set the mode of disaggregation and only meaningful when includeDisaggregatedData is set true
includeBudgetBreakdowns Optional (default: false) Set to true if per-project budget breakdowns should be included
includeConditionFields Optional (default: false) Set to true if condition fields answers should be included
includeFundingData Optional (default: false) Set to true if funding data should be included
includeProjectsComments Optional (default: false) Set to true if project comments should be included

For example, requests could look like the following:

  • GET https://api.hpc.tools/v2/planningBridgeTool?planId=1172
    
  • GET https://api.hpc.tools/v2/planningBridgeTool?planId=1172&includeDisaggregatedData=True&disaggregationOnlyTotal=true&includeBudgetBreakdowns=True&includeConditionFields=True
    

Response

Responses will look something like this, the exact shape of the data will depend on which parameters you have set to true above.

{
    "data": {
        "organizations": [
            {
                "id": 4399,
                "name": "Food and Agriculture Organization of the United Nations",
                "abbreviation": "FAO",
                "orgType": "Multilateral Organizations",
                "orgSubtype": "UN Agencies",
                "url": "https://www.fao.org/"
            },
            {
                "id": 3029,
                "name": "American Refugee Committee",
                "abbreviation": "ARC (Alight)",
                "orgType": "NGOs",
                "orgSubtype": "International NGOs",
                "url": "https://wearealight.org/"
            }
        ],
        "locations": [
            {
                "id": 67,
                "name": "El Salvador",
                "adminLevel": 0,
                "pcode": "SV",
                "latitude": 13.72764124904,
                "longitude": -88.863153241768,
                "parentLocationId": null
            },
            {
                "id": 25921448,
                "name": "Ahuachapán",
                "adminLevel": 1,
                "pcode": "SV01",
                "latitude": 13.85753791,
                "longitude": -89.90191115,
                "parentLocationId": 67
            }
        ],
        "projects": [
                        {
                "projectId": 208625,
                "projectName": "Fortaleciendo la Coordinación Humanitaria en El Salvador",
                "projectCode": "HSLV24-CSS-208625-1",
                "projectStatus": "accepted",
                "projectBudgetUSD": 339396,
                "projectOrganizations": [
                    4396
                ],
                "planClusters": [
                    {
                        "clusterId": 7553,
                        "clusterStatus": "accepted"
                    }
                ],
                "comments": [],
                "budgetBreakdown": [
                    {
                        "organizationId": 4396,
                        "clusterId": 7553,
                        "globalClusterId": 26480,
                        "budgetUSD": 339396
                    }
                ]
            },
            {
                "projectId": 208631,
                "projectName": "Protegiendo a las niñas, los niños y los adolescentes en El Salvador, a través de la promoción de sus derechos",
                "projectCode": "HSLV24-PRO-208631-1",
                "projectStatus": "accepted",
                "projectBudgetUSD": 500000,
                "projectOrganizations": [
                    3001
                ],
                "planClusters": [
                    {
                        "clusterId": 7547,
                        "clusterStatus": "accepted"
                    }
                ],
                "comments": [
                    {
                        "by": "Thiago Sothe, clusterLead \"Protección\"",
                        "date/time": "2024-01-22T23:57:59.026Z",
                        "comment": "Puntos positivos:\n-\tEl proyecto se enmarca en los objetivos orientados a responder a nivel comunitario.  \n-\tPropuesta sencilla y concreta dirigida al fortalecimiento y cohesión comunitaria.\n\nPuntos a revisar:\n-\tEl narrativo del proyecto indica que van a considerar los enfoques de edad y género, sin embargo, no se enuncian cuáles serán los procedimientos o actividades para lograrlo.\n-\tNo se pudo identificar los mecanismos de intercambio de información y no se identifican el mecanismo para responder a necesidades específicas de personas con perfiles de vulnerabilidad aumentados.\n-\tEl proyecto incluye el enfoque de edad y género, mecanismo de PSEA y mecanismo de AAP a través de un sistema propio. Sin embargo, menciona que está centrado en la protección, pero con algunos vacíos y elementos por mejorar. No incluye a personas con discapacidad.\n-\tAjustar el tiempo de implementación para finalizar el 31 diciembre 2024 (fecha límite para implementación de proyectos del HRP 2024). Se considera un valor un poco bajo, desde el análisis de intervención por persona para el rango de tiempo definido.\n-\tEn la población meta total del proyecto se estima alcanzar a 25,000 personas, todavía en los indicadores solo están indicados 15,000 personas. "
                    }
                ],
                "budgetBreakdown": [
                    {
                        "organizationId": 3001,
                        "clusterId": 7547,
                        "globalClusterId": 12,
                        "budgetUSD": 500000
                    }
                ]
            }
        ],
        "planClusters": [
            {
                "clusterId": 7546,
                "clusterName": "Agua, Saneamiento e Higiene",
                "clusterCustomRef": "CLWSH"
            },
            {
                "clusterId": 7547,
                "clusterName": "Protección",
                "clusterCustomRef": "CLPRO"
            }
        ],
        "planGlobalClusters": [
            {
                "planClusters": [
                    7547
                ],
                "globalClusterId": 13,
                "globalClusterCode": "PRO-GBV",
                "globalClusterName": "Protection - Gender-Based Violence",
                "globalClusterType": "aor"
            },
            {
                "planClusters": [
                    7547
                ],
                "globalClusterId": 12,
                "globalClusterCode": "PRO-CPN",
                "globalClusterName": "Protection - Child Protection",
                "globalClusterType": "aor"
            }
       ],
        "planEntities": [
            {
                "entityId": 25908,
                "type": "CO",
                "entityRef": "CLPRO/COVBG2",
                "entityDescription": "Implementar estrategias de prevención y mitigación de la VBG que promuevan la transformación positiva de las normas sociales de género, contribuyendo a que las mujeres en situación de riesgo y/o sobrevivientes tengan acceso a información y servicios de atención",
                "planCluster": 7547,
                "supports": [
                    25847
                ]
            },
            {
                "entityId": 25890,
                "type": "CO",
                "entityRef": "CLWSH/CO1",
                "entityDescription": "Contribuir a que las personas afectadas por emergencias, en particular personas que habitan en zonas de riesgo o se encuentran en situacion de movilidad, accedan a servicios seguros e insumos críticos de WASH mediante acciones multinivel acorde a estándares humanitarios y con enfoque de derechos, edad, género y diversidad.",
                "planCluster": 7546,
                "supports": [
                    25846
                ]
            }
        ],
        "caseloads": [
            {
                "caseloadId": 45893,
                "caseloadCustomRef": "CLPRO/BF4-PRO-GBV",
                "caseloadType": "caseLoad",
                "caseloadDescription": "Violencia de género (VDG)",
                "clusterId": 7547,
                "clusterTarget": 115000,
                "projectTargets": [
                    {
                        "projectId": 209029,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 209032,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 209039,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 209548,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 209086,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208813,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208819,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208847,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208647,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208802,
                        "projectTarget": 15000
                    },
                    {
                        "projectId": 209041,
                        "projectTarget": 5228
                    },
                    {
                        "projectId": 209430,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 209186,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208766,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 209480,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208810,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208846,
                        "projectTarget": 1040
                    },
                    {
                        "projectId": 209369,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208968,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208970,
                        "projectTarget": 3400
                    },
                    {
                        "projectId": 208922,
                        "projectTarget": 500
                    },
                    {
                        "projectId": 208798,
                        "projectTarget": 10000
                    },
                    {
                        "projectId": 208631,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208984,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208981,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208983,
                        "projectTarget": 13575
                    },
                    {
                        "projectId": 208985,
                        "projectTarget": 5000
                    },
                    {
                        "projectId": 208987,
                        "projectTarget": 9141
                    },
                    {
                        "projectId": 208903,
                        "projectTarget": 8000
                    },
                    {
                        "projectId": 208926,
                        "projectTarget": 0
                    },
                    {
                        "projectId": 208833,
                        "projectTarget": 41116
                    },
                    {
                        "projectId": 208924,
                        "projectTarget": 3000
                    }
                ],
                "projectTargetsByStatus": {
                    "accepted": {
                        "targetSum": 115000,
                        "projectCount": 32
                    }
                }
            },
            {
                "caseloadId": 45898,
                "caseloadCustomRef": "CLSHL/BF1-SHL",
                "caseloadType": "caseLoad",
                "caseloadDescription": "Albergue y artículos no alimentarios",
                "clusterId": 7549,
                "clusterTarget": 6200,
                "projectTargets": [
                    {
                        "projectId": 209093,
                        "projectTarget": 500
                    },
                    {
                        "projectId": 209104,
                        "projectTarget": 700
                    },
                    {
                        "projectId": 208803,
                        "projectTarget": 2000
                    },
                    {
                        "projectId": 208921,
                        "projectTarget": 3000
                    }
                ],
                "projectTargetsByStatus": {
                    "accepted": {
                        "targetSum": 6200,
                        "projectCount": 4
                    }
                }
            }
       ],
        "indicators": [
            {
                "indicatorId": 47521,
                "clusterId": 7552,
                "planEntityId": 26034,
                "indicatorCustomRef": "CLCCM/CO1/IN1",
                "indicatorDescription": "Número de procesos de coordinación realizados para facilitar la entrega de artículos no alimentarios en albergues temporales, centros de recepción, centros de tránsito y comunidades afectadas acorde a las necesidades de las personas afectadas.",
                "unit": "Activities",
                "calculationMethod": null,
                "clusterTarget": 40,
                "projectTargets": [
                    {
                        "projectId": 209045,
                        "projectTarget": 30
                    }
                ],
                "projectTargetsByStatus": {
                    "accepted": {
                        "targetSum": 30,
                        "projectCount": 1
                    }
                }
            },
            {
                "indicatorId": 47522,
                "clusterId": 7552,
                "planEntityId": 26034,
                "indicatorCustomRef": "CLCCM/CO1/IN2",
                "indicatorDescription": "úmero de personas que perciben una mejora en la atención de sus necesidades básicas. (50% con base a la población atendida)",
                "unit": "People",
                "calculationMethod": null,
                "clusterTarget": 7085,
                "projectTargets": [
                    {
                        "projectId": 209419,
                        "projectTarget": 4000
                    },
                    {
                        "projectId": 209227,
                        "projectTarget": 1600
                    },
                    {
                        "projectId": 209045,
                        "projectTarget": 4606
                    }
                ],
                "projectTargetsByStatus": {
                    "accepted": {
                        "targetSum": 10206,
                        "projectCount": 3
                    }
                }
            }
        ],
        "fundingData": {
            "breakdown": {
                "byCluster": [
                    {
                        "clusterId": 7313,
                        "funding": 10459383
                    },
                    {
                        "clusterId": 7546,
                        "funding": 1282549
                    }
                ],
                "byGlobalCluster": [
                    {
                        "globalClusterId": 10,
                        "funding": 3943025
                    },
                    {
                        "globalClusterId": 1,
                        "funding": 130000
                    }
                ],
                "byDonor": [
                    {
                        "organizationId": 14269,
                        "funding": 9792139
                    },
                    {
                        "organizationId": 2921,
                        "funding": 1707618
                    }
               ],
                "byOrganization": [
                    {
                        "organizationId": 2178,
                        "funding": 1447751
                    },
                    {
                        "organizationId": 2915,
                        "funding": 929999
                    }
               ],
                "byProject": [
                    {
                        "projectId": 208775,
                        "funding": 168549
                    },
                    {
                        "projectId": 208803,
                        "funding": 473378
                    }
               ]
            }
        },
        "meta": {
            "language": "en"
        }
    },
    "status": "ok"
}