diff --git a/.gitignore b/.gitignore
index 91369ecb0..b8e3847e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@
# PyCharm etc.
.idea/
.vscode/
+.devcontainer
# Python compiled
*.pyc
@@ -14,6 +15,7 @@
!django_api/django_api/keys/jwt/certificate.pem
.coverage
htmlcov
+.pytest_cache
# Frontend
node_modules/
@@ -22,4 +24,6 @@ package-lock.json
data/
# k8s secrets
-kubernetes/base/secrets.yml
\ No newline at end of file
+kubernetes/base/secrets.yml
+
+Pipfile
diff --git a/django_api/Makefile b/django_api/Makefile
new file mode 100644
index 000000000..ac44bf9b7
--- /dev/null
+++ b/django_api/Makefile
@@ -0,0 +1,31 @@
+ENV_VARS=SECRET_KEY=123 \
+ ENV=dev \
+ POSTGRES_DB=unicef_prp \
+ POSTGRES_USER=postgres \
+ POSTGRES_PASSWORD= \
+ POSTGRES_HOST=localhost \
+ DATA_VOLUME=/tmp \
+ REDIS_URL=redis://localhost:6379/0
+
+
+help:
+ @echo ' '
+ @echo 'Usage: '
+ @echo ' make test run tests '
+ @echo ' make migrate run local migrations '
+ @echo ' make loaddata load fixtures '
+ @echo ' make run run local instance '
+
+
+test:
+ ${ENV_VARS} python manage.py test --keepdb --failfast
+
+migrate:
+ ${ENV_VARS} python manage.py migrate
+
+loaddata:
+ ${ENV_VARS} python manage.py loaddata sites
+ ${ENV_VARS} python manage.py loaddata reporting_entities
+
+run:
+ ${ENV_VARS} python manage.py runserver
diff --git a/django_api/codefresh_django.yml b/django_api/codefresh_django.yml
index e8e791fc6..2ba0a83d3 100644
--- a/django_api/codefresh_django.yml
+++ b/django_api/codefresh_django.yml
@@ -20,16 +20,16 @@ steps:
depends_on:
- django_api
- db
- command: bash -c "/usr/local/bin/waitforit -host=db -port=5432 -timeout=120 && flake8 && coverage run --source="." ./manage.py test"
+ command: bash -c "/usr/local/bin/waitforit -host=db -port=5432 -timeout=120 && pip install -r requirements/dev.txt && flake8 && coverage run --source="." ./manage.py test"
environment:
- POSTGRES_DB=etools_prp
- POSTGRES_USER=etools_prp_user
- POSTGRES_PASSWORD=
- POSTGRES_HOST=db
- SECRET_KEY=asdfqwef124rf
- - ENV=staging
+ - ENV=dev
- DJANGO_ALLOWED_HOST="*"
- - DJANGO_SETTINGS_MODULE=django_api.settings.staging
+ - DJANGO_SETTINGS_MODULE=django_api.settings.dev
- C_FORCE_ROOT=1
- CELERY_LOG_LEVEL=info
@@ -39,9 +39,9 @@ steps:
- POSTGRES_PASSWORD=
- POSTGRES_HOST=db
- SECRET_KEY=asdfqwef124rf
- - ENV=staging
+ - ENV=dev
- DJANGO_ALLOWED_HOST="*"
- - DJANGO_SETTINGS_MODULE=django_api.settings.staging
+ - DJANGO_SETTINGS_MODULE=django_api.settings.dev
- C_FORCE_ROOT=1
- CELERY_LOG_LEVEL=info
diff --git a/django_api/django_api/apps/account/models.py b/django_api/django_api/apps/account/models.py
index 7967f084d..ed134f691 100644
--- a/django_api/django_api/apps/account/models.py
+++ b/django_api/django_api/apps/account/models.py
@@ -70,7 +70,11 @@ def user_type(self):
return USER_TYPES.imo
if {PRP_ROLE_TYPES.cluster_member,
PRP_ROLE_TYPES.cluster_viewer,
- PRP_ROLE_TYPES.cluster_coordinator} \
+ PRP_ROLE_TYPES.cluster_coordinator,
+ PRP_ROLE_TYPES.ip_viewer,
+ PRP_ROLE_TYPES.ip_editor,
+ PRP_ROLE_TYPES.ip_admin,
+ PRP_ROLE_TYPES.ip_authorized_officer} \
.intersection(user_prp_roles):
return USER_TYPES.partner
diff --git a/django_api/django_api/apps/cluster/export_indicators.py b/django_api/django_api/apps/cluster/export_indicators.py
index 8ee8b31b3..3907f10cf 100644
--- a/django_api/django_api/apps/cluster/export_indicators.py
+++ b/django_api/django_api/apps/cluster/export_indicators.py
@@ -143,7 +143,7 @@ def fill_sheet(self, disaggregation_types, indicators):
partner_activity.cluster_activity else partner_activity.cluster_objective.cluster
cluster_objective = partner_activity.cluster_activity.cluster_objective if \
partner_activity.cluster_activity else partner_activity.cluster_objective
- partner_project = partner_activity.project
+ partner_project = partner_activity.projects.first().project
elif partner_project:
cluster = partner_project.clusters.first()
cluster_objective = cluster.cluster_objectives.first()
diff --git a/django_api/django_api/apps/cluster/filters.py b/django_api/django_api/apps/cluster/filters.py
index 31f462305..22e758121 100644
--- a/django_api/django_api/apps/cluster/filters.py
+++ b/django_api/django_api/apps/cluster/filters.py
@@ -105,7 +105,7 @@ def get_cluster(self, queryset, name, value):
def get_partner(self, queryset, name, value):
return queryset.filter(
- Q(reportable__partner_activities__project__partner=value) |
+ Q(reportable__partner_activities__partner=value) |
Q(reportable__partner_projects__partner=value)
).distinct()
@@ -117,14 +117,15 @@ def get_indicator(self, queryset, name, value):
return queryset.filter(reportable=reportable)
def get_project(self, queryset, name, value):
+ value_list = value.split(',')
return queryset.filter(
- Q(reportable__cluster_objectives__cluster__partner_projects=value) |
- Q(reportable__cluster_objectives__cluster_activities__partner_activities__project=value) |
- Q(reportable__cluster_activities__cluster_objective__cluster__partner_projects=value) |
- Q(reportable__cluster_activities__partner_activities__project=value)
+ Q(reportable__cluster_objectives__cluster__partner_projects__in=value_list) |
+ Q(reportable__cluster_objectives__cluster_activities__partner_activities__projects__in=value_list) |
+ Q(reportable__cluster_activities__cluster_objective__cluster__partner_projects__in=value_list) |
+ Q(reportable__cluster_activities__partner_activities__projects__in=value_list)
|
- Q(reportable__partner_activities__project=value) |
- Q(reportable__partner_projects=value)
+ Q(reportable__partner_activities__projects__in=value_list) |
+ Q(reportable__partner_projects__in=value_list)
).distinct()
def get_location(self, queryset, name, value):
diff --git a/django_api/django_api/apps/cluster/migrations/0003_auto_20190522_1759.py b/django_api/django_api/apps/cluster/migrations/0003_auto_20190522_1759.py
new file mode 100644
index 000000000..36738ccf0
--- /dev/null
+++ b/django_api/django_api/apps/cluster/migrations/0003_auto_20190522_1759.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-05-22 17:59
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('cluster', '0002_auto_20180711_2325'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='cluster',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='clusteractivity',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='clusterobjective',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ ]
diff --git a/django_api/django_api/apps/cluster/tests/test_views.py b/django_api/django_api/apps/cluster/tests/test_views.py
index a64b39bb5..eb0d2263b 100644
--- a/django_api/django_api/apps/cluster/tests/test_views.py
+++ b/django_api/django_api/apps/cluster/tests/test_views.py
@@ -1,5 +1,6 @@
import datetime
from dateutil.relativedelta import relativedelta
+from unittest.mock import Mock, patch
from django.urls import reverse
@@ -27,6 +28,7 @@
LocationFactory,
ClusterActivityFactory,
PartnerProjectFactory,
+ PartnerActivityProjectContextFactory,
ClusterActivityPartnerActivityFactory,
QuantityTypeIndicatorBlueprintFactory,
QuantityReportableToClusterActivityFactory,
@@ -700,8 +702,12 @@ def test_cluster_indicator_reports_list_and_filtering_and_ordering(self):
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.blueprint = QuantityTypeIndicatorBlueprintFactory()
@@ -719,20 +725,21 @@ def test_cluster_indicator_reports_list_and_filtering_and_ordering(self):
)
# Create 4 indicator reports across generic relation
- self.clusteractivity_indicator_report = ClusterIndicatorReportFactory(
- reportable=self.clusteractivity_reportable,
- )
- self.partneractivity_indicator_report = ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
- self.clusterobjective_indicator_report = ClusterIndicatorReportFactory(
- reportable=self.clusterobjective_reportable,
- report_status=INDICATOR_REPORT_STATUS.overdue,
- )
- self.partnerproject_indicator_report = ClusterIndicatorReportFactory(
- reportable=self.partnerproject_reportable,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ self.clusteractivity_indicator_report = ClusterIndicatorReportFactory(
+ reportable=self.clusteractivity_reportable,
+ )
+ self.partneractivity_indicator_report = ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
+ self.clusterobjective_indicator_report = ClusterIndicatorReportFactory(
+ reportable=self.clusterobjective_reportable,
+ report_status=INDICATOR_REPORT_STATUS.overdue,
+ )
+ self.partnerproject_indicator_report = ClusterIndicatorReportFactory(
+ reportable=self.partnerproject_reportable,
+ )
self.loc_data = IndicatorLocationDataFactory(
indicator_report=self.partnerproject_indicator_report,
@@ -860,13 +867,21 @@ def setUp(self):
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.p_custom_activity = CustomPartnerActivityFactory(
cluster_objective=self.objective,
+ partner=self.partner,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.blueprint = QuantityTypeIndicatorBlueprintFactory()
@@ -887,24 +902,25 @@ def setUp(self):
)
# Create 4 indicator reports across generic relation
- self.clusteractivity_indicator_report = ClusterIndicatorReportFactory(
- reportable=self.clusteractivity_reportable,
- )
- self.partneractivity_indicator_report = ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
- self.custom_partneractivity_indicator_report = ClusterIndicatorReportFactory(
- reportable=self.custom_partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
- self.clusterobjective_indicator_report = ClusterIndicatorReportFactory(
- reportable=self.clusterobjective_reportable,
- report_status=INDICATOR_REPORT_STATUS.overdue,
- )
- self.partnerproject_indicator_report = ClusterIndicatorReportFactory(
- reportable=self.partnerproject_reportable,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ self.clusteractivity_indicator_report = ClusterIndicatorReportFactory(
+ reportable=self.clusteractivity_reportable,
+ )
+ self.partneractivity_indicator_report = ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
+ self.custom_partneractivity_indicator_report = ClusterIndicatorReportFactory(
+ reportable=self.custom_partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
+ self.clusterobjective_indicator_report = ClusterIndicatorReportFactory(
+ reportable=self.clusterobjective_reportable,
+ report_status=INDICATOR_REPORT_STATUS.overdue,
+ )
+ self.partnerproject_indicator_report = ClusterIndicatorReportFactory(
+ reportable=self.partnerproject_reportable,
+ )
self.clusteractivity_loc_data = IndicatorLocationDataFactory(
indicator_report=self.clusteractivity_indicator_report,
@@ -1052,7 +1068,11 @@ def setUp(self):
self.p_custom_activity = CustomPartnerActivityFactory(
cluster_objective=self.objective,
+ partner=self.partner,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_custom_activity,
)
self.blueprint = QuantityTypeIndicatorBlueprintFactory()
@@ -1188,12 +1208,21 @@ def test_response_details(self):
p_activity = ClusterActivityPartnerActivityFactory(
cluster_activity=self.activity,
+ partner=partner,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=project,
+ activity=p_activity,
)
p_custom_activity = CustomPartnerActivityFactory(
cluster_objective=self.objective,
+ partner=partner,
+ )
+
+ self.project_context = PartnerActivityProjectContextFactory(
project=project,
+ activity=p_custom_activity,
)
partneractivity_reportable = QuantityReportableToPartnerActivityFactory(
diff --git a/django_api/django_api/apps/cluster/views.py b/django_api/django_api/apps/cluster/views.py
index 5ea38f1cf..74aefa87a 100644
--- a/django_api/django_api/apps/cluster/views.py
+++ b/django_api/django_api/apps/cluster/views.py
@@ -392,7 +392,7 @@ class IndicatorReportsListAPIView(ListAPIView, RetrieveAPIView):
* cluster - Integer ID for cluster
* partner - Integer ID for partner
* indicator - Integer ID for IndicatorReport
- * project - Integer ID for project
+ * projects - A comma-seperated-list of Integer ID for projects
* location - Integer ID for location
* cluster_objective - Integer ID for cluster_objective
* cluster_activity - Integer ID for cluster_activity
@@ -1289,6 +1289,7 @@ def get_queryset(self):
'partner_types': self.request.GET.get('partner_types', None),
'loc_type': self.request.GET.get('loc_type', '1'),
'locs': self.request.GET.get('locs', None),
+ 'projects': self.request.GET.get('projects', None),
'narrow_loc_type': self.request.GET.get('narrow_loc_type', None),
'indicator_type': self.request.GET.get('indicator_type', 'all'),
}
@@ -1309,6 +1310,17 @@ def get_queryset(self):
id__in=map(lambda x: int(x), filter_parameters['cluster_objectives'].split(','))
)
+ if filter_parameters['projects']:
+ projects = PartnerProject.objects.filter(
+ id__in=map(lambda x: int(x), filter_parameters['projects'].split(','))
+ )
+
+ else:
+ # Defaulting partner projects from given clusters
+ projects = PartnerProject.objects.filter(
+ partner__clusters__in=clusters
+ ).distinct()
+
if filter_parameters['partner_types']:
partner_types = filter_parameters['partner_types'].split(',')
@@ -1328,12 +1340,14 @@ def get_queryset(self):
content_type__model="partneractivity",
partner_activities__partner__clusters__in=clusters,
partner_activities__partner__partner_type__in=partner_types,
+ partner_activities__projects__in=projects,
)
partner_project_q = Q(
content_type__model="partnerproject",
partner_projects__clusters__in=clusters,
partner_projects__partner__partner_type__in=partner_types,
+ partner_projects__in=projects,
)
else:
@@ -1350,11 +1364,13 @@ def get_queryset(self):
partner_activity_q = Q(
content_type__model="partneractivity",
partner_activities__partner__clusters__in=clusters,
+ partner_activities__projects__in=projects,
)
partner_project_q = Q(
content_type__model="partnerproject",
partner_projects__clusters__in=clusters,
+ partner_projects__in=projects,
)
if filter_parameters['indicator_type'] == 'all':
diff --git a/django_api/django_api/apps/core/common.py b/django_api/django_api/apps/core/common.py
index 2a478b9a8..87de5f260 100644
--- a/django_api/django_api/apps/core/common.py
+++ b/django_api/django_api/apps/core/common.py
@@ -97,8 +97,8 @@
INTERVENTION_TYPES = Choices(
('PD', 'PD', 'Programme Document'),
- ('SHP', 'SHPD', 'Simplified Humanitarian Programme Document'),
- ('SSF', 'SSFA', u'Small-Scale Funding Agreement'),
+ ('HPD', 'HPD', 'Humanitarian Programme Document'),
+ ('SSFA', 'SSFA', 'SSFA'),
)
INTERVENTION_STATUS = Choices(
@@ -147,7 +147,7 @@
PD_DOCUMENT_TYPE = Choices(
('PD', 'PD', 'Programme Document'),
('SHP', 'SHPD', 'Simplified Humanitarian Programme Document'),
- ('SSF', 'SSFA_TOR', u'SSFA TOR'),
+ ('SSFA', 'SSFA_TOR', 'SSFA TOR'),
)
PROGRESS_REPORT_STATUS = Choices(
@@ -174,6 +174,11 @@
("OTHER", "other", "Other"), # Flash Appeal
)
+PR_ATTACHMENT_TYPES = Choices(
+ ("FACE", "face", "FACE"),
+ ("Other", "other", "Other"),
+)
+
OVERALL_STATUS = Choices(
("Met", "met", "Met"),
("OnT", "on_track", "On Track"),
@@ -202,6 +207,7 @@
EXTERNAL_DATA_SOURCES = Choices(
("HPC", "HPC"),
("OPS", "OPS"),
+ ("UNICEF", "UNICEF"),
)
CURRENCIES = Choices(
diff --git a/django_api/django_api/apps/core/factories.py b/django_api/django_api/apps/core/factories.py
index 336072820..462c8317a 100644
--- a/django_api/django_api/apps/core/factories.py
+++ b/django_api/django_api/apps/core/factories.py
@@ -2,74 +2,43 @@
import json
import random
from collections import defaultdict
+
+import factory
from dateutil.relativedelta import relativedelta
from django.contrib.contenttypes.models import ContentType
+from django.core.files.base import ContentFile
from django.db.models import signals
-import factory
from factory import fuzzy
from faker import Faker
from account.models import User, UserProfile
-from cluster.models import Cluster, ClusterObjective, ClusterActivity
-from partner.models import (
- Partner,
- PartnerProject,
- PartnerActivity,
- PartnerProjectFunding,
-)
-from indicator.models import (
- IndicatorBlueprint,
- Reportable,
- IndicatorReport,
- IndicatorLocationData,
- Disaggregation,
- DisaggregationValue,
- ReportableLocationGoal,
- ReportingEntity,
-)
-from unicef.models import (
- Section,
- Person,
- ProgressReport,
- ProgrammeDocument,
- PDResultLink,
- LowerLevelOutput,
- ReportingPeriodDates,
-)
-from core.common import (
- REPORTING_TYPES,
- PRP_ROLE_TYPES,
- CLUSTER_TYPES,
- CSO_TYPES,
- PARTNER_TYPE,
- SHARED_PARTNER_TYPE,
- INDICATOR_REPORT_STATUS,
- FREQUENCY_LEVEL,
- PD_FREQUENCY_LEVEL,
- REPORTABLE_FREQUENCY_LEVEL,
- PD_DOCUMENT_TYPE,
- PROGRESS_REPORT_STATUS,
- PD_STATUS,
- RESPONSE_PLAN_TYPE,
- OVERALL_STATUS,
- PARTNER_PROJECT_STATUS,
- PARTNER_ACTIVITY_STATUS,
-)
-from core.models import (
- Country,
- Workspace,
- Location,
- ResponsePlan,
- GatewayType,
- CartoDBTable,
- PRPRole,
-)
+from cluster.models import Cluster, ClusterActivity, ClusterObjective
+from core.common import (CLUSTER_TYPES, CSO_TYPES, FREQUENCY_LEVEL,
+ INDICATOR_REPORT_STATUS, OVERALL_STATUS,
+ PARTNER_ACTIVITY_STATUS, PARTNER_PROJECT_STATUS,
+ PARTNER_TYPE, PD_DOCUMENT_TYPE, PD_FREQUENCY_LEVEL,
+ PD_STATUS, PR_ATTACHMENT_TYPES,
+ PROGRESS_REPORT_STATUS, PRP_ROLE_TYPES,
+ REPORTABLE_FREQUENCY_LEVEL, REPORTING_TYPES,
+ RESPONSE_PLAN_TYPE, SHARED_PARTNER_TYPE)
from core.countries import COUNTRIES_ALPHA2_CODE, COUNTRIES_ALPHA2_CODE_DICT
-
+from core.models import (CartoDBTable, Country, GatewayType, Location, PRPRole,
+ ResponsePlan, Workspace)
+from indicator.models import (Disaggregation, DisaggregationValue,
+ IndicatorBlueprint, IndicatorLocationData,
+ IndicatorReport, Reportable,
+ ReportableLocationGoal, ReportingEntity)
+from partner.models import (Partner, PartnerActivity, PartnerProject,
+ PartnerProjectFunding, PartnerActivityProjectContext)
+from unicef.models import (LowerLevelOutput, PDResultLink, Person,
+ ProgrammeDocument, ProgressReport,
+ ProgressReportAttachment, ReportingPeriodDates,
+ Section)
PRP_ROLE_TYPES_LIST = [x[0] for x in PRP_ROLE_TYPES]
+PR_ATTACHMENT_TYPES_LIST = [x[0] for x in PR_ATTACHMENT_TYPES]
IP_PRP_ROLE_TYPES_LIST = list(filter(lambda item: item.startswith('IP'), PRP_ROLE_TYPES_LIST))
CLUSTER_PRP_ROLE_TYPES_LIST = list(filter(lambda item: item.startswith('CLUSTER'), PRP_ROLE_TYPES_LIST))
PARTNER_PROJECT_STATUS_LIST = [x[0] for x in PARTNER_PROJECT_STATUS]
@@ -107,6 +76,9 @@
cs_date_2 = datetime.date(today.year, 3, 24)
cs_date_3 = datetime.date(today.year, 5, 15)
faker = Faker()
+fake_file = ContentFile(bytes(faker.text(), 'utf-8'))
+fake_file.name = faker.file_name()
+fake_file.url = faker.uri()
def create_fake_multipolygon():
@@ -184,7 +156,7 @@ class PartnerUserFactory(AbstractUserFactory):
"""
# We are going to let PartnerFactory create PartnerUser
- partner = factory.SubFactory('core.factories.PartnerFactory', user=None)
+ partner = factory.SubFactory('core.factories.PartnerFactory')
class Meta:
model = User
@@ -522,11 +494,7 @@ class Meta:
class AbstractPartnerActivityFactory(factory.django.DjangoModelFactory):
- project = factory.SubFactory('core.factories.PartnerProjectFactory', partner_activity=None)
- partner = factory.LazyAttribute(lambda o: o.project.partner)
- start_date = beginning_of_this_year
- end_date = beginning_of_this_year + datetime.timedelta(days=180)
- status = fuzzy.FuzzyChoice(PARTNER_ACTIVITY_STATUS_LIST)
+ partner = factory.SubFactory('core.factories.PartnerFactory', partner_activity=None)
@factory.post_generation
def locations(self, create, extracted, **kwargs):
@@ -537,6 +505,15 @@ def locations(self, create, extracted, **kwargs):
for location in extracted:
self.locations.add(location)
+ @factory.post_generation
+ def partneractivityprojectcontext_set(self, create, extracted, **kwargs):
+ if not create:
+ return
+
+ if extracted:
+ for partneractivityprojectcontext in extracted:
+ self.partneractivityprojectcontexts.add(partneractivityprojectcontext)
+
class Meta:
model = PartnerActivity
abstract = True
@@ -546,11 +523,9 @@ class ClusterActivityPartnerActivityFactory(AbstractPartnerActivityFactory):
"""
Arguments:
cluster_activity {ClusterActivity} -- Cluster Activity ORM object to bind
- project {PartnerProject} -- PartnerProject ORM object to bind
Ex) ClusterActivityPartnerActivityFactory(
cluster_activity=cluster_activity1,
- project=project1,
)
"""
@@ -566,15 +541,13 @@ class CustomPartnerActivityFactory(AbstractPartnerActivityFactory):
"""
Arguments:
cluster_objective {ClusterObjective} -- Cluster Objective ORM object to bind
- project {PartnerProject} -- PartnerProject ORM object to bind
Ex) ClusterActivityPartnerActivityFactory(
cluster_objective=cluster_objective1,
- project {PartnerProject} -- PartnerProject ORM object to bind
)
"""
- title = factory.LazyAttribute(lambda o: "{} -- Custom".format(o.project.title))
+ title = factory.LazyAttributeSequence(lambda o, n: "{} -- Custom".format(o.partner.title, n))
cluster_activity = None
cluster_objective = factory.SubFactory('core.factories.ClusterObjectiveFactory', partner_activity=None)
@@ -787,7 +760,8 @@ class QuantityReportableBaseFactory(AbstractReportableFactory):
numerator_label = None
denominator_label = None
blueprint = factory.SubFactory(
- 'core.factories.QuantityTypeIndicatorBlueprintFactory', reportable=None)
+ 'core.factories.QuantityTypeIndicatorBlueprintFactory',
+ )
class Meta:
model = Reportable
@@ -807,7 +781,8 @@ class RatioReportableBaseFactory(AbstractReportableFactory):
numerator_label = factory.LazyFunction(faker.word)
denominator_label = factory.LazyFunction(faker.word)
blueprint = factory.SubFactory(
- 'core.factories.RatioTypeIndicatorBlueprintFactory', reportable=None)
+ 'core.factories.RatioTypeIndicatorBlueprintFactory',
+ )
class Meta:
model = Reportable
@@ -825,7 +800,8 @@ class QuantityReportableToLowerLevelOutputFactory(QuantityReportableBaseFactory)
)
"""
content_object = factory.SubFactory(
- 'core.factories.LowerLevelOutputFactory', reportable=None)
+ 'core.factories.LowerLevelOutputFactory',
+ )
class Meta:
model = Reportable
@@ -842,7 +818,9 @@ class QuantityReportableToPartnerProjectFactory(QuantityReportableBaseFactory):
)
"""
- content_object = factory.SubFactory('core.factories.PartnerProjectFactory', reportable=None)
+ content_object = factory.SubFactory(
+ 'core.factories.PartnerProjectFactory',
+ )
class Meta:
model = Reportable
@@ -859,7 +837,8 @@ class QuantityReportableToClusterObjectiveFactory(QuantityReportableBaseFactory)
)
"""
content_object = factory.SubFactory(
- 'core.factories.ClusterObjectiveFactory', reportable=None)
+ 'core.factories.ClusterObjectiveFactory',
+ )
class Meta:
model = Reportable
@@ -876,7 +855,8 @@ class QuantityReportableToClusterActivityFactory(QuantityReportableBaseFactory):
)
"""
content_object = factory.SubFactory(
- 'core.factories.ClusterActivityFactory', reportable=None)
+ 'core.factories.ClusterActivityFactory',
+ )
class Meta:
model = Reportable
@@ -894,7 +874,8 @@ class QuantityReportableToPartnerActivityFactory(QuantityReportableBaseFactory):
"""
content_object = factory.SubFactory(
- 'core.factories.PartnerActivityFactory', reportable=None)
+ 'core.factories.PartnerActivityFactory',
+ )
class Meta:
model = Reportable
@@ -911,7 +892,8 @@ class RatioReportableToLowerLevelOutputFactory(RatioReportableBaseFactory):
)
"""
content_object = factory.SubFactory(
- 'core.factories.LowerLevelOutputFactory', reportable=None)
+ 'core.factories.LowerLevelOutputFactory',
+ )
class Meta:
model = Reportable
@@ -927,7 +909,9 @@ class RatioReportableToPartnerProjectFactory(RatioReportableBaseFactory):
content_object=project1, blueprint=blueprint1
)
"""
- content_object = factory.SubFactory('core.factories.PartnerProjectFactory', reportable=None)
+ content_object = factory.SubFactory(
+ 'core.factories.PartnerProjectFactory',
+ )
class Meta:
model = Reportable
@@ -945,7 +929,8 @@ class RatioReportableToClusterObjectiveFactory(RatioReportableBaseFactory):
"""
content_object = factory.SubFactory(
- 'core.factories.ClusterObjectiveFactory', reportable=None)
+ 'core.factories.ClusterObjectiveFactory',
+ )
class Meta:
model = Reportable
@@ -963,7 +948,8 @@ class RatioReportableToClusterActivityFactory(RatioReportableBaseFactory):
"""
content_object = factory.SubFactory(
- 'core.factories.ClusterActivityFactory', reportable=None)
+ 'core.factories.ClusterActivityFactory',
+ )
class Meta:
model = Reportable
@@ -981,7 +967,8 @@ class RatioReportableToPartnerActivityFactory(RatioReportableBaseFactory):
"""
content_object = factory.SubFactory(
- 'core.factories.PartnerActivityFactory', reportable=None)
+ 'core.factories.PartnerActivityFactory',
+ )
class Meta:
model = Reportable
@@ -1205,6 +1192,30 @@ class Meta:
django_get_or_create = ('location', 'reportable')
+class PartnerActivityProjectContextFactory(factory.django.DjangoModelFactory):
+ """
+ Arguments:
+ project {PartnerProject} -- PartnerProject ORM object to bind
+ activity {PartnerActivity} -- PartnerActivity ORM object to bind
+
+ Ex) PartnerActivityProjectContextFactory(
+ project=project1,
+ activity=activity1,
+ )
+ """
+
+ project = factory.SubFactory('core.factories.PartnerProjectFactory')
+ activity = factory.SubFactory('core.factories.PartnerActivityFactory')
+ status = fuzzy.FuzzyChoice(PARTNER_PROJECT_STATUS_LIST)
+ start_date = factory.LazyFunction(faker.date)
+ end_date = factory.LazyFunction(faker.date)
+
+ class Meta:
+ model = PartnerActivityProjectContext
+ django_get_or_create = ('project', 'activity')
+
+
+@factory.django.mute_signals(signals.post_save)
class ProgressReportFactory(factory.django.DjangoModelFactory):
"""
Arguments:
@@ -1239,8 +1250,8 @@ class ProgressReportFactory(factory.django.DjangoModelFactory):
review_date = due_date
submission_date = due_date
programme_document = factory.SubFactory('core.factories.ProgrammeDocument', progress_report=None)
- submitted_by = factory.SubFactory('core.factories.AbstractUserFactory', progress_report=None)
- submitting_user = factory.SubFactory('core.factories.AbstractUserFactory', progress_report=None)
+ submitted_by = factory.SubFactory('core.factories.PartnerUserFactory', profile=None)
+ submitting_user = factory.SubFactory('core.factories.PartnerUserFactory', profile=None)
reviewed_by_email = factory.LazyFunction(faker.ascii_safe_email)
reviewed_by_name = factory.LazyFunction(faker.name)
sent_back_feedback = factory.LazyFunction(faker.text)
@@ -1248,7 +1259,6 @@ class ProgressReportFactory(factory.django.DjangoModelFactory):
reviewed_by_external_id = factory.LazyFunction(lambda: faker.random_number(4, True))
status = fuzzy.FuzzyChoice(PROGRESS_REPORT_STATUS_LIST)
review_overall_status = fuzzy.FuzzyChoice(PROGRESS_REPORT_STATUS_LIST)
- attachment = None
class Meta:
django_get_or_create = (
@@ -1257,6 +1267,26 @@ class Meta:
model = ProgressReport
+class ProgressReportAttachmentFactory(factory.django.DjangoModelFactory):
+ """
+ Arguments:
+ type {str} -- Attachment type: FACE or Other
+ progress_report {ProgressReport} -- ProgressReport ORM object to bind
+
+ Ex) ProgressReportAttachmentFactory(
+ progress_report=progress_report1,
+ type=PR_ATTACHMENT_TYPES.face,
+ file=fake_file # ContentFile object with name attribute defined. Make sure file and ORM is deleted after usage.
+ )
+ """
+ progress_report = factory.SubFactory('core.factories.ProgressReportFactory', attachment=None)
+ type = fuzzy.FuzzyChoice(PR_ATTACHMENT_TYPES_LIST)
+ file = fake_file
+
+ class Meta:
+ model = ProgressReportAttachment
+
+
class AbstractIndicatorReportFactory(factory.django.DjangoModelFactory):
title = factory.LazyAttribute(lambda o: o.reportable.blueprint.title)
time_period_start = factory.LazyAttribute(lambda o: o.time_period[0])
diff --git a/django_api/django_api/apps/core/filters.py b/django_api/django_api/apps/core/filters.py
index eeff61fcd..3da352986 100644
--- a/django_api/django_api/apps/core/filters.py
+++ b/django_api/django_api/apps/core/filters.py
@@ -7,10 +7,11 @@
class LocationFilter(django_filters.FilterSet):
loc_type = NumberFilter(method='get_loc_type')
cluster_objectives = CharFilter(method='get_cluster_objectives')
+ title = CharFilter(method='get_title')
class Meta:
model = Location
- fields = ['loc_type', 'cluster_objectives']
+ fields = ['loc_type', 'cluster_objectives', 'title']
def get_loc_type(self, queryset, name, value):
return queryset.filter(gateway__admin_level=value)
@@ -18,3 +19,6 @@ def get_loc_type(self, queryset, name, value):
def get_cluster_objectives(self, queryset, name, value):
return queryset.filter(
gateway__country__workspaces__response_plans__clusters__cluster_objectives__in=value.split(','))
+
+ def get_title(self, queryset, name, value):
+ return queryset.filter(title__icontains=value)
diff --git a/django_api/django_api/apps/core/helpers.py b/django_api/django_api/apps/core/helpers.py
index ef59e6b9d..42a1047c7 100644
--- a/django_api/django_api/apps/core/helpers.py
+++ b/django_api/django_api/apps/core/helpers.py
@@ -1,5 +1,6 @@
import math
import random
+import logging
import sys
import os
from ast import literal_eval
@@ -7,12 +8,15 @@
from collections import OrderedDict
from contextlib import contextmanager
from datetime import date, timedelta
+from dateutil.relativedelta import relativedelta
from itertools import combinations, product
from core.common import (
PD_FREQUENCY_LEVEL,
)
+logger = logging.getLogger("django")
+
@contextmanager
def suppress_stdout():
@@ -223,10 +227,21 @@ def find_missing_frequency_period_dates_for_indicator_report(indicator, latest_i
indicator_start_date = indicator.content_object.cluster.response_plan.start
indicator_end_date = indicator.content_object.cluster.response_plan.end
- if indicator.content_type.model in ["partnerproject", "partneractivity", "lowerleveloutput"]:
+ if indicator.content_type.model in ["partnerproject", "lowerleveloutput"]:
indicator_start_date = indicator.content_object.start_date
indicator_end_date = indicator.content_object.end_date
+ if indicator.content_type.model == "partneractivity":
+ indicator_start_date = None
+ indicator_end_date = None
+
+ for context in indicator.content_object.partneractivityprojectcontext_set.all():
+ if not indicator_start_date or indicator_start_date > context.start_date:
+ indicator_start_date = context.start_date
+
+ if not indicator_end_date or indicator_end_date < context.end_date:
+ indicator_end_date = context.end_date
+
# Override start date if indicator has its own start date
if indicator.start_date_of_reporting_period:
indicator_start_date = indicator.start_date_of_reporting_period
@@ -234,6 +249,9 @@ def find_missing_frequency_period_dates_for_indicator_report(indicator, latest_i
date_to_compare = latest_indicator_report_date if latest_indicator_report_date else indicator_start_date
date_list = []
+ if not date_to_compare or not indicator_end_date:
+ return date_list
+
# Only add 1 day to date_to_compare if it came from latest_indicator_report_date
# in order to set next date period correctly
if latest_indicator_report_date:
@@ -338,3 +356,398 @@ def find_missing_frequency_period_dates_for_indicator_report(indicator, latest_i
date_list.append(missing_date)
return date_list
+
+
+def get_latest_pr_by_type(pd, report_type):
+ """
+ Return latest ProgressReport instance given report_type
+
+ Arguments:
+ report_type {str} -- A report type as string: [QPR, HR, SR]
+
+ Returns:
+ ProgressReport -- Latest ProgressReport instance for given report_type
+ """
+
+ if report_type == "QPR":
+ return pd.progress_reports \
+ .filter(report_type="QPR").order_by('start_date').last()
+
+ if report_type == "HR":
+ return pd.progress_reports \
+ .filter(report_type="HR").order_by('start_date').last()
+
+ if report_type == "SR":
+ return pd.progress_reports \
+ .filter(report_type="SR").order_by('due_date').last()
+
+
+def create_pr_for_report_type(pd, idx, reporting_period, generate_from_date):
+ """
+ Create ProgressReport instance by its ReportingPeriodDate instance's report type
+
+ Arguments:
+ pd {ProgrammeDocument} -- ProgrammeDocument instance for ProgressReport to generate
+ idx {int} -- Integer to denote report number
+ reporting_period {ReportingPeriodDates} -- ReportingPeriodDates instance for new ProgressReport
+ generate_from_date {datetime.datetime} -- datetime instance from latest ProgressReport on same report
+
+ Returns:
+ Tuple[ProgressReport, datetime.datetime, datetime.datetime, datetime.datetime]
+ - Newly generated ProgressReport & 3 datetime objects
+ """
+ from unicef.models import ProgressReport
+
+ end_date = reporting_period.end_date
+ due_date = reporting_period.due_date
+ start_date = reporting_period.start_date
+
+ # Create ProgressReport first
+ logger.info("Creating ProgressReport for {} - {}".format(start_date, end_date))
+
+ # Re-query latest ProgressReport by report type
+ latest_progress_report = get_latest_pr_by_type(pd, reporting_period.report_type)
+
+ if latest_progress_report:
+ report_type = latest_progress_report.report_type
+ report_number = latest_progress_report.report_number + 1
+ is_final = idx == pd.reporting_periods.filter(report_type=reporting_period.report_type).count() - 1
+
+ else:
+ report_number = 1
+ report_type = reporting_period.report_type
+ is_final = False
+
+ next_progress_report = ProgressReport.objects.create(
+ start_date=start_date,
+ end_date=end_date,
+ due_date=due_date,
+ programme_document=pd,
+ report_type=report_type,
+ report_number=report_number,
+ is_final=is_final,
+ )
+
+ return (next_progress_report, start_date, end_date, due_date)
+
+
+def create_pr_ir_for_reportable(pd, reportable, pai_ir_for_period, start_date, end_date, due_date):
+ """Create an IndicatorReport instance for ProgressReport instance later to attach.
+ If PartnerActivity IndicatorReport is present, the new IndicatorReport instance will associate
+ it as parent IndicatorReport instance, enabling dual-reporting feature.
+
+ Arguments:
+ pd {ProgrammeDocument} -- ProgrammeDocument instance for logger
+ reportable {Reportable} -- Reportable instance to associate with new IndicatorReport instance
+ pai_ir_for_period {IndicatorReport} -- An optional IndicatorReport instance from PartnerActivity Reportable
+ start_date {datetime.date} -- Date object as report start date
+ end_date {datetime.date} -- Date object as report end date
+ due_date {datetime.date} -- Date object as report due date
+
+ Returns:
+ IndicatorReport -- A newly created IndicatorReport instance
+ """
+
+ from indicator.models import (
+ IndicatorBlueprint,
+ IndicatorReport,
+ IndicatorLocationData,
+ ReportingEntity,
+ )
+
+ if reportable.blueprint.unit == IndicatorBlueprint.NUMBER:
+ logger.info("Creating Quantity IndicatorReport for {} - {}".format(start_date, end_date))
+ indicator_report = IndicatorReport.objects.create(
+ progress_report=None,
+ reportable=reportable,
+ parent=pai_ir_for_period,
+ time_period_start=start_date,
+ time_period_end=end_date,
+ due_date=due_date,
+ title=reportable.blueprint.title,
+ total={'c': 0, 'd': 0, 'v': 0},
+ overall_status="NoS",
+ report_status="Due",
+ submission_date=None,
+ reporting_entity=ReportingEntity.objects.get(title="UNICEF"),
+ )
+
+ for location_goal in reportable.reportablelocationgoal_set.filter(is_active=True):
+ logger.info("Creating IndicatorReport {} IndicatorLocationData for {} - {}".format(
+ indicator_report, start_date, end_date
+ ))
+ IndicatorLocationData.objects.create(
+ indicator_report=indicator_report,
+ location=location_goal.location,
+ num_disaggregation=indicator_report.disaggregations.count(),
+ level_reported=indicator_report.disaggregations.count(),
+ disaggregation_reported_on=list(indicator_report.disaggregations.values_list(
+ 'id', flat=True)),
+ disaggregation={
+ '()': {'c': 0, 'd': 0, 'v': 0}
+ },
+ )
+
+ else:
+ logger.info("Creating PD {} Ratio IndicatorReport for {} - {}".format(pd, start_date, end_date))
+ indicator_report = IndicatorReport.objects.create(
+ progress_report=None,
+ reportable=reportable,
+ parent=pai_ir_for_period,
+ time_period_start=start_date,
+ time_period_end=end_date,
+ due_date=due_date,
+ title=reportable.blueprint.title,
+ total={'c': 0, 'd': 0, 'v': 0},
+ overall_status="NoS",
+ report_status="Due",
+ submission_date=None,
+ reporting_entity=ReportingEntity.objects.get(title="UNICEF"),
+ )
+
+ for location_goal in reportable.reportablelocationgoal_set.filter(is_active=True):
+ logger.info("Creating IndicatorReport {} IndicatorLocationData {} - {}".format(
+ indicator_report, start_date, end_date
+ ))
+ IndicatorLocationData.objects.create(
+ indicator_report=indicator_report,
+ location=location_goal.location,
+ num_disaggregation=indicator_report.disaggregations.count(),
+ level_reported=indicator_report.disaggregations.count(),
+ disaggregation_reported_on=list(indicator_report.disaggregations.values_list(
+ 'id', flat=True)),
+ disaggregation={
+ '()': {'c': 0, 'd': 0, 'v': 0}
+ },
+ )
+
+ return indicator_report
+
+
+def create_ir_and_ilds_for_pr(pd, reportable_queryset, next_progress_report, start_date, end_date, due_date):
+ """
+ Create a set of new IndicatorReports and IndicatorLocationData instances per
+ IndicatorReport instance, with passed-in new dates and new ProgressReport instance
+
+ Arguments:
+ pd {ProgrammeDocument} -- ProgrammeDocument instnace
+ reportable_queryset {django.Queryset[Reportable]} -- Reportable queryset on LLO
+ next_progress_report {ProgressReport} -- Newly generated Progress Report instance
+ start_date {datetime.datetime} -- Start date for reporting
+ end_date {datetime.datetime} -- End date for reporting
+ due_date {datetime.datetime} -- due date for reporting
+ """
+ from indicator.models import (
+ IndicatorReport,
+ Reportable,
+ )
+
+ from unicef.models import ProgressReport
+
+ if next_progress_report.report_type != "SR":
+ if next_progress_report.report_type == "QPR":
+ queryset = reportable_queryset
+
+ else:
+ # Filter non-Cluster reportables first
+ queryset = reportable_queryset.filter(
+ ca_indicator_used_by_reporting_entity__isnull=True,
+ is_unicef_hf_indicator=True
+ )
+
+ ir_list = list()
+
+ for reportable in queryset:
+ indicator_report = create_pr_ir_for_reportable(
+ pd,
+ reportable,
+ None,
+ start_date,
+ end_date,
+ due_date,
+ )
+ indicator_report.progress_report = next_progress_report
+ indicator_report.save()
+ ir_list.append(indicator_report)
+
+ if next_progress_report.report_type == "HR":
+ hr_reports = list()
+
+ # If there are no UNICEF HF indicator reports then delete blank ProgressReport
+ if len(ir_list) == 0:
+ # Re-assign report_number to new HR
+ report_number = next_progress_report.report_number
+ next_progress_report.delete()
+
+ else:
+ # Pre-populate new HR report_number in case a new Progress Report needs to be generated
+ report_number = next_progress_report.report_number + 1
+ hr_reports.append(next_progress_report)
+
+ # Process cluster Reportables separately
+ for reportable in reportable_queryset.filter(ca_indicator_used_by_reporting_entity__isnull=False):
+ cai_indicator = reportable.ca_indicator_used_by_reporting_entity
+ pai_ir_for_period = None
+
+ # If LLO indicator has ClusterActivity Indicator ID reference,
+ # find the adopted PartnerActivity indicator from ClusterActivity Indicator
+ # with LLO's Partner ID
+ # and grab a corresponding IndicatorReport from ClusterActivity Indicator
+ # given the start & end date
+ if cai_indicator:
+ try:
+ # Grabbing first adopted partner activity in case
+ # multiple adopted partner activities happen, although this is illegal state!
+ pai_indicator = cai_indicator.children \
+ .filter(partner_activities__partner=pd.partner) \
+ .first()
+ pai_ir_for_period = pai_indicator.indicator_reports.get(
+ time_period_start=start_date,
+ time_period_end=end_date,
+ )
+
+ if pai_ir_for_period:
+ indicator_report = create_pr_ir_for_reportable(
+ pd,
+ reportable,
+ pai_ir_for_period,
+ pai_ir_for_period.time_period_start,
+ pai_ir_for_period.time_period_end,
+ pai_ir_for_period.due_date,
+ )
+
+ # Bundle this cluster LLO Indicator report to HR progress report generated so far
+ # for this iteration if the dates are matching
+ for hr_report in hr_reports:
+ if indicator_report.time_period_start == hr_report.start_date \
+ and indicator_report.time_period_end == hr_report.end_date \
+ and indicator_report.due_date == hr_report.due_date:
+ indicator_report.progress_report = hr_report
+ break
+
+ if not indicator_report.progress_report:
+ # Otherwise, create a brand new HR progress report
+ # for this cluster LLO Indicator report
+ new_cluster_hr_progress_report = ProgressReport.objects.create(
+ start_date=indicator_report.time_period_start,
+ end_date=indicator_report.time_period_end,
+ due_date=indicator_report.due_date,
+ programme_document=pd,
+ report_type="HR",
+ report_number=report_number,
+ is_final=False,
+ )
+ indicator_report.progress_report = new_cluster_hr_progress_report
+
+ # Increment report_number for next HR progress report to be created if needed
+ report_number += 1
+ hr_reports.append(new_cluster_hr_progress_report)
+
+ indicator_report.save()
+
+ except Reportable.DoesNotExist as e:
+ logger.exception(
+ "FAILURE: CANNOT FIND adopted PartnerActivity Reportable "
+ "from given ClusterActivity Reportable and PD Partner ID. "
+ "Skipping link!", e)
+ except IndicatorReport.DoesNotExist as e:
+ logger.exception(
+ "FAILURE: CANNOT FIND IndicatorReport from adopted PartnerActivity Reportable "
+ "linked with LLO Reportable. "
+ "Skipping link!", e)
+
+
+def create_ir_for_cluster(reportable, start_date, end_date, project):
+ """
+ Create a new IndicatorReport and its IndicatorLocationData instances,
+ with passed-in new dates
+
+ Arguments:
+ reportable {Reportable} -- Reportable instance to create report for
+ start_date {datetime.datetime} -- Start date for reporting
+ end_date {datetime.datetime} -- End date for reporting
+ project {PartnerProject} -- PartnerProject context to bind
+
+ Returns:
+ IndicatorReport -- Newly generated IndicatorReport instance
+ """
+ from indicator.models import (
+ IndicatorBlueprint,
+ IndicatorReport,
+ IndicatorLocationData,
+ ReportingEntity,
+ )
+
+ if reportable.blueprint.unit == IndicatorBlueprint.NUMBER:
+ logger.info("Creating Indicator {} Quantity IndicatorReport object for {} - {}".format(
+ reportable, start_date, end_date
+ ))
+
+ indicator_report = IndicatorReport.objects.create(
+ reportable=reportable,
+ project=project,
+ time_period_start=start_date,
+ time_period_end=end_date,
+ due_date=end_date + relativedelta(days=1),
+ title=reportable.blueprint.title,
+ total={'c': 0, 'd': 0, 'v': 0},
+ overall_status="NoS",
+ report_status="Due",
+ submission_date=None,
+ reporting_entity=ReportingEntity.objects.get(title="Cluster"),
+ )
+
+ for location_goal in reportable.reportablelocationgoal_set.filter(is_active=True):
+ logger.info("Creating IndicatorReport {} IndicatorLocationData object {} - {}".format(
+ indicator_report, start_date, end_date
+ ))
+
+ IndicatorLocationData.objects.create(
+ indicator_report=indicator_report,
+ location=location_goal.location,
+ num_disaggregation=indicator_report.disaggregations.count(),
+ level_reported=indicator_report.disaggregations.count(),
+ disaggregation_reported_on=list(indicator_report.disaggregations.values_list(
+ 'id', flat=True)),
+ disaggregation={
+ '()': {'c': 0, 'd': 0, 'v': 0}
+ },
+ )
+
+ else:
+ logger.info("Creating Indicator {} Ratio IndicatorReport object for {} - {}".format(
+ reportable, start_date, end_date
+ ))
+
+ indicator_report = IndicatorReport.objects.create(
+ reportable=reportable,
+ project=project,
+ time_period_start=start_date,
+ time_period_end=end_date,
+ due_date=end_date + relativedelta(days=1),
+ title=reportable.blueprint.title,
+ total={'c': 0, 'd': 0, 'v': 0},
+ overall_status="NoS",
+ report_status="Due",
+ submission_date=None,
+ reporting_entity=ReportingEntity.objects.get(title="Cluster"),
+ )
+
+ for location_goal in reportable.reportablelocationgoal_set.filter(is_active=True):
+ logger.info("Creating IndicatorReport {} IndicatorLocationData object {} - {}".format(
+ indicator_report, start_date, end_date
+ ))
+
+ IndicatorLocationData.objects.create(
+ indicator_report=indicator_report,
+ location=location_goal.location,
+ num_disaggregation=indicator_report.disaggregations.count(),
+ level_reported=indicator_report.disaggregations.count(),
+ disaggregation_reported_on=list(indicator_report.disaggregations.values_list(
+ 'id', flat=True)),
+ disaggregation={
+ '()': {'c': 0, 'd': 0, 'v': 0}
+ },
+ )
+
+ return indicator_report
diff --git a/django_api/django_api/apps/core/management/commands/_privates.py b/django_api/django_api/apps/core/management/commands/_privates.py
index ca21d35c4..c5c70fec6 100644
--- a/django_api/django_api/apps/core/management/commands/_privates.py
+++ b/django_api/django_api/apps/core/management/commands/_privates.py
@@ -64,16 +64,17 @@
RatioReportableToClusterObjectiveFactory,
QuantityReportableToPartnerActivityFactory,
QuantityReportableToClusterActivityFactory,
- QuantityIndicatorReportFactory,
+ ProgressReportIndicatorReportFactory,
+ # QuantityIndicatorReportFactory,
LocationWithReportableLocationGoalFactory,
- RatioIndicatorReportFactory,
+ # RatioIndicatorReportFactory,
# UserFactory,
ClusterFactory,
ClusterObjectiveFactory,
ClusterActivityFactory,
PartnerFactory,
PartnerProjectFactory,
- PartnerActivityFactory,
+ ClusterActivityPartnerActivityFactory,
SectionFactory,
ProgrammeDocumentFactory,
ProgressReportFactory,
@@ -83,8 +84,9 @@
GatewayTypeFactory,
CartoDBTableFactory,
CountryFactory,
- ReportingPeriodDatesFactory,
- PRPRoleFactory,
+ HRReportingPeriodDatesFactory,
+ QPRReportingPeriodDatesFactory,
+ ClusterPRPRoleFactory,
)
from core.common import (
INDICATOR_REPORT_STATUS,
@@ -96,10 +98,10 @@
)
from core.countries import COUNTRIES_ALPHA2_CODE
-from ._generate_disaggregation_fake_data import (
- generate_indicator_report_location_disaggregation_quantity_data,
- generate_indicator_report_location_disaggregation_ratio_data,
-)
+# from ._generate_disaggregation_fake_data import (
+# generate_indicator_report_location_disaggregation_quantity_data,
+# generate_indicator_report_location_disaggregation_ratio_data,
+# )
from core.tasks import process_workspaces, process_period_reports
from indicator.tasks import process_due_reports
@@ -186,7 +188,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
# Cluster admin creation
sys_admin, _ = User.objects.get_or_create(username='cluster_admin', defaults={
- 'email': 'cluster_admin@notanemail.com',
+ 'email': 'cluster_admin@example.com',
'is_superuser': True,
'is_staff': True,
'first_name': 'Cluster',
@@ -196,7 +198,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
sys_admin.save()
# Give Cluster admin role to cluster_admin User
- PRPRoleFactory(
+ ClusterPRPRoleFactory(
user=sys_admin,
role=PRP_ROLE_TYPES.cluster_system_admin,
workspace=None,
@@ -207,7 +209,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
print("{} Section objects created".format(workspace_quantity))
unicef_re = ReportingEntity.objects.get(title="UNICEF")
- cluster_re = ReportingEntity.objects.get(title="Cluster")
+ # cluster_re = ReportingEntity.objects.get(title="Cluster")
ws_list = list()
@@ -268,7 +270,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
# Cluster IMO creation
imo, _ = User.objects.get_or_create(username='cluster_imo', defaults={
- 'email': 'cluster_imo@notanemail.com',
+ 'email': 'cluster_imo@example.com',
'is_superuser': True,
'is_staff': True,
'first_name': 'Cluster',
@@ -292,7 +294,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
)
# Give Cluster IMO role in this cluster to cluster_admin User
- PRPRoleFactory(
+ ClusterPRPRoleFactory(
user=imo,
role=PRP_ROLE_TYPES.cluster_imo,
workspace=response_plan.workspace,
@@ -308,14 +310,14 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
if random.randint(0, 1) == 0:
reportable = RatioReportableToClusterObjectiveFactory(
content_object=co,
- indicator_report__progress_report=None,
- indicator_report__reporting_entity=cluster_re,
+ # indicator_report__progress_report=None,
+ # indicator_report__reporting_entity=cluster_re,
)
else:
reportable = QuantityReportableToClusterObjectiveFactory(
content_object=co,
- indicator_report__progress_report=None,
- indicator_report__reporting_entity=cluster_re,
+ # indicator_report__progress_report=None,
+ # indicator_report__reporting_entity=cluster_re,
)
for loc in locations[:2]:
@@ -332,9 +334,9 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
partner = PartnerFactory(
title="{} - {} Cluster Partner".format(
- cluster.response_plan.title, cluster.type.upper()),
- partner_activity=None,
- partner_project=None,
+ cluster.response_plan.title, cluster.type.upper())[:50],
+ # partner_activity=None,
+ # partner_project=None,
)
partner.clusters.add(cluster)
@@ -366,7 +368,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
# Partner AO creation
ao, _ = User.objects.get_or_create(username='partner_ao', defaults={
- 'email': 'partner_ao@notanemail.com',
+ 'email': 'partner_ao@example.com',
'is_superuser': True,
'is_staff': True,
'first_name': 'Partner',
@@ -378,7 +380,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
# Partner Editor creation
editor, _ = User.objects.get_or_create(username='partner_editor', defaults={
- 'email': 'partner_editor@notanemail.com',
+ 'email': 'partner_editor@example.com',
'is_superuser': True,
'is_staff': True,
'first_name': 'Partner',
@@ -390,7 +392,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
# Partner Viewer creation
viewer, _ = User.objects.get_or_create(username='partner_viewer', defaults={
- 'email': 'partner_viewer@notanemail.com',
+ 'email': 'partner_viewer@example.com',
'is_superuser': True,
'is_staff': True,
'first_name': 'Partner',
@@ -402,7 +404,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
# Partner Admin creation
admin, _ = User.objects.get_or_create(username='partner_admin', defaults={
- 'email': 'partner_admin@notanemail.com',
+ 'email': 'partner_admin@example.com',
'is_superuser': True,
'is_staff': True,
'first_name': 'Partner',
@@ -413,7 +415,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
partner_users.append(admin)
# Give Cluster IMO role in this cluster to cluster_admin User
- PRPRoleFactory(
+ ClusterPRPRoleFactory(
user=imo,
role=PRP_ROLE_TYPES.cluster_imo,
workspace=None,
@@ -439,7 +441,7 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
elif 'admin' in u.username:
role = PRP_ROLE_TYPES.ip_admin
- PRPRoleFactory(
+ ClusterPRPRoleFactory(
user=u,
role=role,
workspace=workspace,
@@ -455,8 +457,8 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
reportable = QuantityReportableToClusterActivityFactory(
content_object=ca,
- indicator_report__progress_report=None,
- indicator_report__reporting_entity=cluster_re,
+ # indicator_report__progress_report=None,
+ # indicator_report__reporting_entity=cluster_re,
)
for loc in locations[:2]:
@@ -486,8 +488,8 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
reportable = QuantityReportableToPartnerProjectFactory(
content_object=pp,
- indicator_report__progress_report=None,
- indicator_report__reporting_entity=cluster_re,
+ # indicator_report__progress_report=None,
+ # indicator_report__reporting_entity=cluster_re,
)
for loc in locations[:2]:
@@ -511,17 +513,17 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
partner = cluster_activity.cluster_objective.cluster.partners.first()
for project in partner.partner_projects.all():
- pa = PartnerActivityFactory(
+ pa = ClusterActivityPartnerActivityFactory(
partner=project.partner,
- project=project,
+ # project=project,
cluster_activity=cluster_activity,
title="{} Partner Activity from CA".format(project.title)
)
reportable_to_pa = QuantityReportableToPartnerActivityFactory(
content_object=pa,
- indicator_report__progress_report=None,
- indicator_report__reporting_entity=cluster_re,
+ # indicator_report__progress_report=None,
+ # indicator_report__reporting_entity=cluster_re,
)
reportable_to_pa.parent_indicator = cluster_activity.reportables.first()
reportable_to_pa.save()
@@ -538,9 +540,9 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
reportable=reportable_to_pa
)
- pa = PartnerActivityFactory(
+ pa = ClusterActivityPartnerActivityFactory(
partner=project.partner,
- project=project,
+ # project=project,
cluster_activity=None,
cluster_objective=cluster_activity.cluster_objective,
title="{} Partner Activity".format(project.title)
@@ -548,8 +550,8 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
reportable_to_pa = QuantityReportableToPartnerActivityFactory(
content_object=pa,
- indicator_report__progress_report=None,
- indicator_report__reporting_entity=cluster_re,
+ # indicator_report__progress_report=None,
+ # indicator_report__reporting_entity=cluster_re,
)
for loc in locations[:2]:
@@ -586,45 +588,40 @@ def generate_fake_data(workspace_quantity=10, generate_all_disagg=False):
for month in range(1, 13):
monthrange = calendar.monthrange(now.year, month)
- ReportingPeriodDatesFactory(
+ HRReportingPeriodDatesFactory(
programme_document=pd,
- report_type="HR",
start_date=datetime.datetime(now.year, month, 1),
end_date=datetime.datetime(now.year, month, monthrange[1]),
due_date=datetime.datetime(now.year, month, monthrange[1]),
)
# Q1
- ReportingPeriodDatesFactory(
+ QPRReportingPeriodDatesFactory(
programme_document=pd,
- report_type="QPR",
start_date=datetime.datetime(now.year, 1, 1),
end_date=datetime.datetime(now.year, 3, 31),
due_date=datetime.datetime(now.year, 3, 31),
)
# Q2
- ReportingPeriodDatesFactory(
+ QPRReportingPeriodDatesFactory(
programme_document=pd,
- report_type="QPR",
start_date=datetime.datetime(now.year, 4, 1),
end_date=datetime.datetime(now.year, 6, 30),
due_date=datetime.datetime(now.year, 6, 30),
)
# Q3
- ReportingPeriodDatesFactory(
+ QPRReportingPeriodDatesFactory(
programme_document=pd,
- report_type="QPR",
start_date=datetime.datetime(now.year, 7, 1),
end_date=datetime.datetime(now.year, 9, 30),
due_date=datetime.datetime(now.year, 9, 30),
)
# Q4
- ReportingPeriodDatesFactory(
+ QPRReportingPeriodDatesFactory(
programme_document=pd,
- report_type="QPR",
start_date=datetime.datetime(now.year, 10, 1),
end_date=datetime.datetime(now.year, 12, 31),
due_date=datetime.datetime(now.year, 12, 31),
@@ -736,7 +733,7 @@ def generate_initial_progress_reports(report_type):
for reportable in queryset:
if reportable.blueprint.unit == IndicatorBlueprint.NUMBER:
- QuantityIndicatorReportFactory(
+ ProgressReportIndicatorReportFactory(
reportable=reportable,
progress_report=progress_report,
overall_status=status,
@@ -746,7 +743,7 @@ def generate_initial_progress_reports(report_type):
reporting_entity=unicef_re,
)
elif reportable.blueprint.unit == IndicatorBlueprint.PERCENTAGE:
- RatioIndicatorReportFactory(
+ ProgressReportIndicatorReportFactory(
reportable=reportable,
progress_report=progress_report,
overall_status=status,
@@ -806,11 +803,11 @@ def generate_initial_progress_reports(report_type):
print("ProgrammeDocument <-> QuantityReportableToLowerLevelOutput <-> IndicatorReport objects linked")
- print("Generating IndicatorLocationData for Quantity type")
- generate_indicator_report_location_disaggregation_quantity_data(generate_all=generate_all_disagg)
+ # print("Generating IndicatorLocationData for Quantity type")
+ # generate_indicator_report_location_disaggregation_quantity_data(generate_all=generate_all_disagg)
- print("Generating IndicatorLocationData for Ratio type")
- generate_indicator_report_location_disaggregation_ratio_data(generate_all=generate_all_disagg)
+ # print("Generating IndicatorLocationData for Ratio type")
+ # generate_indicator_report_location_disaggregation_ratio_data(generate_all=generate_all_disagg)
# Disaggregation association fix for CAI LLO indicators
for indicator in cai_llo_queryset:
diff --git a/django_api/django_api/apps/core/migrations/0005_auto_20190522_1759.py b/django_api/django_api/apps/core/migrations/0005_auto_20190522_1759.py
new file mode 100644
index 000000000..e38514598
--- /dev/null
+++ b/django_api/django_api/apps/core/migrations/0005_auto_20190522_1759.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-05-22 17:59
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('core', '0004_auto_20181024_0034'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='location',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='prprole',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='responseplan',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='workspace',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ ]
diff --git a/django_api/django_api/apps/core/migrations/0006_gatewaytype_display_name.py b/django_api/django_api/apps/core/migrations/0006_gatewaytype_display_name.py
new file mode 100644
index 000000000..3e9f6fb51
--- /dev/null
+++ b/django_api/django_api/apps/core/migrations/0006_gatewaytype_display_name.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-08-05 21:30
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('core', '0005_auto_20190522_1759'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='gatewaytype',
+ name='display_name',
+ field=models.CharField(blank=True, max_length=64, null=True, verbose_name='Display Name'),
+ ),
+ ]
diff --git a/django_api/django_api/apps/core/mixins.py b/django_api/django_api/apps/core/mixins.py
index 2d32e5c6e..87a786e07 100644
--- a/django_api/django_api/apps/core/mixins.py
+++ b/django_api/django_api/apps/core/mixins.py
@@ -28,7 +28,7 @@ def social_details(backend, details, response, *args, **kwargs):
email = r['details'].get('email')
if isinstance(email, str):
- r['details']['email'] = email.lower()
+ r['details']['email'] = email.lower().strip()
return r
@@ -118,7 +118,7 @@ def get_redirect_uri(self, request, exception):
# TODO: In case of password reset the state can't be verified figure out a way to log the user in after reset
if error is None:
- return "/login"
+ return "/landing"
strategy = getattr(request, 'social_strategy', None)
return strategy.setting('LOGIN_ERROR_URL')
diff --git a/django_api/django_api/apps/core/models.py b/django_api/django_api/apps/core/models.py
index 16efb7027..f8e97a8c9 100644
--- a/django_api/django_api/apps/core/models.py
+++ b/django_api/django_api/apps/core/models.py
@@ -498,6 +498,7 @@ class GatewayType(TimeStampedModel):
"""
name = models.CharField(max_length=64, unique=True, verbose_name=_('Name'))
+ display_name = models.CharField(max_length=64, blank=True, null=True, verbose_name=_('Display Name'))
admin_level = models.PositiveSmallIntegerField(verbose_name=_('Admin Level'))
country = models.ForeignKey(Country, related_name="gateway_types")
diff --git a/django_api/django_api/apps/core/serializers.py b/django_api/django_api/apps/core/serializers.py
index 2fe3a7f22..8a2adc598 100644
--- a/django_api/django_api/apps/core/serializers.py
+++ b/django_api/django_api/apps/core/serializers.py
@@ -38,6 +38,14 @@ class Meta:
class LocationSerializer(serializers.ModelSerializer):
admin_level = serializers.CharField(source="gateway.admin_level")
+ title = serializers.SerializerMethodField()
+
+ def get_title(self, obj):
+ return "%s [%s - %s]" % (
+ obj.title,
+ obj.gateway.display_name if obj.gateway.display_name else obj.gateway.name,
+ obj.p_code if obj.p_code else "n/a"
+ )
class Meta:
model = Location
@@ -48,17 +56,25 @@ class ShortLocationSerializer(serializers.ModelSerializer):
id = serializers.SerializerMethodField()
title = serializers.SerializerMethodField()
+ admin_level = serializers.SerializerMethodField()
class Meta:
model = Location
- fields = ('id', 'title')
+ fields = ('id', 'title', 'admin_level')
def get_title(self, obj):
- return "%s [%s - %s]" % (obj.title, obj.gateway.name, obj.p_code if obj.p_code else "n/a")
+ return "%s [%s - %s]" % (
+ obj.title,
+ obj.gateway.display_name if obj.gateway.display_name else obj.gateway.name,
+ obj.p_code if obj.p_code else "n/a"
+ )
def get_id(self, obj):
return str(obj.id)
+ def get_admin_level(self, obj):
+ return obj.gateway.admin_level
+
class IdLocationSerializer(serializers.ModelSerializer):
diff --git a/django_api/django_api/apps/core/tasks.py b/django_api/django_api/apps/core/tasks.py
index f1ce2ffcd..7f5ea6e39 100644
--- a/django_api/django_api/apps/core/tasks.py
+++ b/django_api/django_api/apps/core/tasks.py
@@ -1,6 +1,5 @@
import logging
from datetime import datetime, timedelta
-from dateutil.relativedelta import relativedelta
from celery import shared_task
from django.db import transaction
@@ -16,10 +15,13 @@
from core.helpers import (
calculate_end_date_given_start_date,
find_missing_frequency_period_dates_for_indicator_report,
+ get_latest_pr_by_type,
+ create_pr_for_report_type,
+ create_ir_and_ilds_for_pr,
+ create_ir_for_cluster,
)
-from unicef.models import ProgrammeDocument, ProgressReport
-from indicator.models import Reportable, IndicatorBlueprint, IndicatorReport, ReportingEntity, IndicatorLocationData
-
+from unicef.models import ProgrammeDocument
+from indicator.models import Reportable
logger = logging.getLogger(__name__)
DUE_DATE_DAYS_TIMEDELTA = 15
@@ -69,10 +71,11 @@ def process_period_reports():
):
logger.info("Processing Reportable {}".format(reportable))
- if reportable.locations.count() == 0:
+ if reportable.reportablelocationgoal_set.count() == 0:
continue
frequency = reportable.frequency
+ reportable_type = reportable.content_type.model
latest_indicator_report = reportable.indicator_reports.order_by('time_period_end').last()
if frequency == PD_FREQUENCY_LEVEL.custom_specific_dates:
@@ -127,98 +130,17 @@ def process_period_reports():
else:
end_date = calculate_end_date_given_start_date(start_date, frequency)
- if reportable.blueprint.unit == IndicatorBlueprint.NUMBER:
- logger.info("Creating Indicator {} Quantity IndicatorReport object for {} - {}".format(
- reportable, start_date, end_date
- ))
-
- indicator_report = IndicatorReport.objects.create(
- reportable=reportable,
- time_period_start=start_date,
- time_period_end=end_date,
- due_date=end_date + relativedelta(days=1),
- title=reportable.blueprint.title,
- total={'c': 0, 'd': 0, 'v': 0},
- overall_status="NoS",
- report_status="Due",
- submission_date=None,
- reporting_entity=ReportingEntity.objects.get(title="Cluster"),
- )
-
- for location in reportable.locations.all():
- logger.info("Creating IndicatorReport {} IndicatorLocationData object {} - {}".format(
- indicator_report, start_date, end_date
- ))
-
- IndicatorLocationData.objects.create(
- indicator_report=indicator_report,
- location=location,
- num_disaggregation=indicator_report.disaggregations.count(),
- level_reported=indicator_report.disaggregations.count(),
- disaggregation_reported_on=list(indicator_report.disaggregations.values_list(
- 'id', flat=True)),
- disaggregation={
- '()': {'c': 0, 'd': 0, 'v': 0}
- },
- )
+ if reportable_type == 'partneractivity':
+ projects = reportable.content_object.projects.all()
+ for project in projects:
+ create_ir_for_cluster(reportable, start_date, end_date, project)
else:
- logger.info("Creating Indicator {} Ratio IndicatorReport object for {} - {}".format(
- reportable, start_date, end_date
- ))
-
- indicator_report = IndicatorReport.objects.create(
- reportable=reportable,
- time_period_start=start_date,
- time_period_end=end_date,
- due_date=end_date + relativedelta(days=1),
- title=reportable.blueprint.title,
- total={'c': 0, 'd': 0, 'v': 0},
- overall_status="NoS",
- report_status="Due",
- submission_date=None,
- reporting_entity=ReportingEntity.objects.get(title="Cluster"),
- )
-
- for location in reportable.locations.all():
- logger.info("Creating IndicatorReport {} IndicatorLocationData object {} - {}".format(
- indicator_report, start_date, end_date
- ))
-
- IndicatorLocationData.objects.create(
- indicator_report=indicator_report,
- location=location,
- num_disaggregation=indicator_report.disaggregations.count(),
- level_reported=indicator_report.disaggregations.count(),
- disaggregation_reported_on=list(indicator_report.disaggregations.values_list(
- 'id', flat=True)),
- disaggregation={
- '()': {'c': 0, 'd': 0, 'v': 0}
- },
- )
-
- def get_latest_pr_by_type(pd, report_type):
- """
- Return latest ProgressReport instance given report_type
-
- Arguments:
- report_type {str} -- A report type as string: [QPR, HR, SR]
-
- Returns:
- ProgressReport -- Latest ProgressReport instance for given report_type
- """
-
- if report_type == "QPR":
- return pd.progress_reports \
- .filter(report_type="QPR").order_by('start_date').last()
-
- if report_type == "HR":
- return pd.progress_reports \
- .filter(report_type="HR").order_by('start_date').last()
-
- if report_type == "SR":
- return pd.progress_reports \
- .filter(report_type="SR").order_by('due_date').last()
+ project = None
+ if reportable_type == 'partnerproject':
+ project = reportable.content_object
+
+ create_ir_for_cluster(reportable, start_date, end_date, project)
# PD report generation
for pd in ProgrammeDocument.objects.filter(status=PD_STATUS.active):
@@ -249,242 +171,6 @@ def get_latest_pr_by_type(pd, report_type):
logger.info("Last HR report: %s for PD %s" % (generate_from_date_hr, pd))
logger.info("Last SR report: %s for PD %s" % (generate_from_date_sr, pd))
- def create_pr_for_report_type(reporting_period, generate_from_date):
- """
- Create ProgressReport instance by its ReportingPeriodDate instance's report type
-
- Arguments:
- reporting_period {ReportingPeriodDates} -- ReportingPeriodDates instance for new ProgressReport
- generate_from_date {datetime.datetime} -- datetime instance from latest ProgressReport on same report
-
- Returns:
- Tuple[ProgressReport, datetime.datetime, datetime.datetime, datetime.datetime]
- - Newly generated ProgressReport & 3 datetime objects
- """
-
- end_date = reporting_period.end_date
- due_date = reporting_period.due_date
- start_date = reporting_period.start_date
-
- # Create ProgressReport first
- logger.info("Creating ProgressReport for {} - {}".format(start_date, end_date))
-
- # Re-query latest ProgressReport by report type
- latest_progress_report = get_latest_pr_by_type(pd, reporting_period.report_type)
-
- if latest_progress_report:
- report_type = latest_progress_report.report_type
- report_number = latest_progress_report.report_number + 1
- is_final = idx == pd.reporting_periods.filter(report_type=reporting_period.report_type).count() - 1
-
- else:
- report_number = 1
- report_type = reporting_period.report_type
- is_final = False
-
- next_progress_report = ProgressReport.objects.create(
- start_date=start_date,
- end_date=end_date,
- due_date=due_date,
- programme_document=pd,
- report_type=report_type,
- report_number=report_number,
- is_final=is_final,
- )
-
- return (next_progress_report, start_date, end_date, due_date)
-
- def create_pr_ir_for_reportable(reportable, pai_ir_for_period, start_date, end_date, due_date):
- if reportable.blueprint.unit == IndicatorBlueprint.NUMBER:
- logger.info("Creating Quantity IndicatorReport for {} - {}".format(start_date, end_date))
- indicator_report = IndicatorReport.objects.create(
- progress_report=None,
- reportable=reportable,
- parent=pai_ir_for_period,
- time_period_start=start_date,
- time_period_end=end_date,
- due_date=due_date,
- title=reportable.blueprint.title,
- total={'c': 0, 'd': 0, 'v': 0},
- overall_status="NoS",
- report_status="Due",
- submission_date=None,
- reporting_entity=ReportingEntity.objects.get(title="UNICEF"),
- )
-
- for location in reportable.locations.all():
- logger.info("Creating IndicatorReport {} IndicatorLocationData for {} - {}".format(
- indicator_report, start_date, end_date
- ))
- IndicatorLocationData.objects.create(
- indicator_report=indicator_report,
- location=location,
- num_disaggregation=indicator_report.disaggregations.count(),
- level_reported=indicator_report.disaggregations.count(),
- disaggregation_reported_on=list(indicator_report.disaggregations.values_list(
- 'id', flat=True)),
- disaggregation={
- '()': {'c': 0, 'd': 0, 'v': 0}
- },
- )
-
- else:
- logger.info("Creating PD {} Ratio IndicatorReport for {} - {}".format(pd, start_date, end_date))
- indicator_report = IndicatorReport.objects.create(
- progress_report=None,
- reportable=reportable,
- parent=pai_ir_for_period,
- time_period_start=start_date,
- time_period_end=end_date,
- due_date=due_date,
- title=reportable.blueprint.title,
- total={'c': 0, 'd': 0, 'v': 0},
- overall_status="NoS",
- report_status="Due",
- submission_date=None,
- reporting_entity=ReportingEntity.objects.get(title="UNICEF"),
- )
-
- for location in reportable.locations.all():
- logger.info("Creating IndicatorReport {} IndicatorLocationData {} - {}".format(
- indicator_report, start_date, end_date
- ))
- IndicatorLocationData.objects.create(
- indicator_report=indicator_report,
- location=location,
- num_disaggregation=indicator_report.disaggregations.count(),
- level_reported=indicator_report.disaggregations.count(),
- disaggregation_reported_on=list(indicator_report.disaggregations.values_list(
- 'id', flat=True)),
- disaggregation={
- '()': {'c': 0, 'd': 0, 'v': 0}
- },
- )
-
- return indicator_report
-
- def create_ir_and_ilds_for_pr(reportable_queryset, next_progress_report, start_date, end_date, due_date):
- """
- Create a set of new IndicatorReports and IndicatorLocationData instances per
- IndicatorReport instance, with passed-in new dates and new ProgressReport instance
- Arguments:
- reportable_queryset {django.Queryset[Reportable]} -- Reportable queryset on LLO
- next_progress_report {ProgressReport} -- Newly generated Progress Report instance
- start_date {datetime.datetime} -- Start date for reporting
- end_date {datetime.datetime} -- End date for reporting
- due_date {datetime.datetime} -- due date for reporting
- """
-
- if next_progress_report.report_type != "SR":
- if next_progress_report.report_type == "QPR":
- queryset = reportable_queryset
-
- else:
- # Filter non-Cluster reportables first
- queryset = reportable_queryset.filter(
- ca_indicator_used_by_reporting_entity__isnull=True,
- is_unicef_hf_indicator=True
- )
-
- ir_list = list()
-
- for reportable in queryset:
- indicator_report = create_pr_ir_for_reportable(
- reportable,
- None,
- start_date,
- end_date,
- due_date,
- )
- indicator_report.progress_report = next_progress_report
- indicator_report.save()
- ir_list.append(indicator_report)
-
- if next_progress_report.report_type == "HR":
- hr_reports = list()
-
- # If there are no UNICEF HF indicator reports then delete blank ProgressReport
- if len(ir_list) == 0:
- # Re-assign report_number to new HR
- report_number = next_progress_report.report_number
- next_progress_report.delete()
-
- else:
- # Pre-populate new HR report_number in case a new Progress Report needs to be generated
- report_number = next_progress_report.report_number + 1
- hr_reports.append(next_progress_report)
-
- # Process cluster Reportables separately
- for reportable in reportable_queryset.filter(ca_indicator_used_by_reporting_entity__isnull=False):
- cai_indicator = reportable.ca_indicator_used_by_reporting_entity
- pai_ir_for_period = None
-
- # If LLO indicator has ClusterActivity Indicator ID reference,
- # find the adopted PartnerActivity indicator from ClusterActivity Indicator
- # with LLO's Partner ID
- # and grab a corresponding IndicatorReport from ClusterActivity Indicator
- # given the start & end date
- if cai_indicator:
- try:
- # Grabbing first adopted partner activity in case
- # multiple adopted partner activities happen, although this is illegal state!
- pai_indicator = cai_indicator.children \
- .filter(partner_activities__partner=pd.partner) \
- .first()
- pai_ir_for_period = pai_indicator.indicator_reports.get(
- time_period_start=start_date,
- time_period_end=end_date,
- )
-
- if pai_ir_for_period:
- indicator_report = create_pr_ir_for_reportable(
- reportable,
- pai_ir_for_period,
- pai_ir_for_period.time_period_start,
- pai_ir_for_period.time_period_end,
- pai_ir_for_period.due_date,
- )
-
- # Bundle this cluster LLO Indicator report to HR progress report generated so far
- # for this iteration if the dates are matching
- for hr_report in hr_reports:
- if indicator_report.time_period_start == hr_report.start_date \
- and indicator_report.time_period_end == hr_report.end_date \
- and indicator_report.due_date == hr_report.due_date:
- indicator_report.progress_report = hr_report
- break
-
- if not indicator_report.progress_report:
- # Otherwise, create a brand new HR progress report
- # for this cluster LLO Indicator report
- new_cluster_hr_progress_report = ProgressReport.objects.create(
- start_date=indicator_report.time_period_start,
- end_date=indicator_report.time_period_end,
- due_date=indicator_report.due_date,
- programme_document=pd,
- report_type="HR",
- report_number=report_number,
- is_final=False,
- )
- indicator_report.progress_report = new_cluster_hr_progress_report
-
- # Increment report_number for next HR progress report to be created if needed
- report_number += 1
- hr_reports.append(new_cluster_hr_progress_report)
-
- indicator_report.save()
-
- except Reportable.DoesNotExist as e:
- logger.exception(
- "FAILURE: CANNOT FIND adopted PartnerActivity Reportable "
- "from given ClusterActivity Reportable and PD Partner ID. "
- "Skipping link!", e)
- except IndicatorReport.DoesNotExist as e:
- logger.exception(
- "FAILURE: CANNOT FIND IndicatorReport from adopted PartnerActivity Reportable "
- "linked with LLO Reportable. "
- "Skipping link!", e)
-
with transaction.atomic():
# Handling QPR reporting periods
for idx, reporting_period in enumerate(pd.reporting_periods.filter(report_type="QPR").order_by(
@@ -500,10 +186,11 @@ def create_ir_and_ilds_for_pr(reportable_queryset, next_progress_report, start_d
continue
next_progress_report, start_date, end_date, due_date = create_pr_for_report_type(
- reporting_period, generate_from_date_qpr
+ pd, idx, reporting_period, generate_from_date_qpr
)
create_ir_and_ilds_for_pr(
+ pd,
reportable_queryset,
next_progress_report,
start_date,
@@ -531,10 +218,11 @@ def create_ir_and_ilds_for_pr(reportable_queryset, next_progress_report, start_d
continue
next_progress_report, start_date, end_date, due_date = create_pr_for_report_type(
- reporting_period, generate_from_date_hr
+ pd, idx, reporting_period, generate_from_date_hr
)
create_ir_and_ilds_for_pr(
+ pd,
reportable_queryset,
next_progress_report,
start_date,
@@ -555,10 +243,11 @@ def create_ir_and_ilds_for_pr(reportable_queryset, next_progress_report, start_d
continue
next_progress_report, start_date, end_date, due_date = create_pr_for_report_type(
- reporting_period, generate_from_date_sr
+ pd, idx, reporting_period, generate_from_date_sr
)
create_ir_and_ilds_for_pr(
+ pd,
reportable_queryset,
next_progress_report,
start_date,
diff --git a/django_api/django_api/apps/core/tests/test_views.py b/django_api/django_api/apps/core/tests/test_views.py
index 2535628ee..6980c505e 100644
--- a/django_api/django_api/apps/core/tests/test_views.py
+++ b/django_api/django_api/apps/core/tests/test_views.py
@@ -159,7 +159,7 @@ def test_list_api(self):
expected = Location.objects.filter(pk__in=pks).count()
self.assertEquals(response.status_code, status.HTTP_200_OK)
- self.assertEquals(len(response.data), expected)
+ self.assertEquals(len(response.data['results']), expected)
def test_api_filtering(self):
url = reverse(
diff --git a/django_api/django_api/apps/core/views.py b/django_api/django_api/apps/core/views.py
index 2e2d1a90c..bed918752 100644
--- a/django_api/django_api/apps/core/views.py
+++ b/django_api/django_api/apps/core/views.py
@@ -12,6 +12,7 @@
from djcelery.models import PeriodicTask
+from core.paginations import SmallPagination
from core.common import DISPLAY_CLUSTER_TYPES, PARTNER_PROJECT_STATUS
from id_management.permissions import RoleGroupCreateUpdateDestroyPermission
from utils.serializers import serialize_choices
@@ -51,6 +52,7 @@ class LocationListAPIView(ListAPIView):
Endpoint for getting all Location objects belonging to the response plan.
"""
permission_classes = (IsAuthenticated, )
+ pagination_class = SmallPagination
serializer_class = ShortLocationSerializer
lookup_field = lookup_url_kwarg = 'response_plan_id'
filter_backends = (django_filters.rest_framework.DjangoFilterBackend, )
diff --git a/django_api/django_api/apps/id_management/permissions.py b/django_api/django_api/apps/id_management/permissions.py
index 1a3810dec..32b25c076 100644
--- a/django_api/django_api/apps/id_management/permissions.py
+++ b/django_api/django_api/apps/id_management/permissions.py
@@ -79,7 +79,7 @@ def has_object_permission(self, request, view, obj):
workspace_kwargs = {'workspace__isnull': False, 'workspace_id': obj.workspace_id}
if ((ROLES.ip_admin == role_in_payload or
- obj.role == ROLES.ip_admin and request.method == 'POST') and
+ obj.role == ROLES.ip_admin and (request.method == 'POST' or request.method == 'PATCH')) and
user.prp_roles.filter(role__in=(ROLES.ip_admin, ROLES.ip_authorized_officer), **workspace_kwargs)):
return True
@@ -89,7 +89,7 @@ def has_object_permission(self, request, view, obj):
return True
if (obj_roles_set.issubset({ROLES.ip_editor, ROLES.ip_viewer}) and
- user.prp_roles.filter(role=ROLES.ip_admin, **workspace_kwargs).exists()):
+ user.prp_roles.filter(role__in=(ROLES.ip_admin, ROLES.ip_authorized_officer), **workspace_kwargs).exists()):
return True
return False
diff --git a/django_api/django_api/apps/id_management/tests/test_permissions.py b/django_api/django_api/apps/id_management/tests/test_permissions.py
index 2aa92d4df..9ef86f4c3 100644
--- a/django_api/django_api/apps/id_management/tests/test_permissions.py
+++ b/django_api/django_api/apps/id_management/tests/test_permissions.py
@@ -686,7 +686,7 @@ class TestUpdateDestroyPermissionsForIPAdmin(APITestCase):
def setUp(self):
self.roles_without_permission = [PRP_ROLE_TYPES.cluster_system_admin, PRP_ROLE_TYPES.cluster_imo,
PRP_ROLE_TYPES.cluster_coordinator, PRP_ROLE_TYPES.cluster_viewer,
- PRP_ROLE_TYPES.ip_admin, PRP_ROLE_TYPES.ip_editor, PRP_ROLE_TYPES.ip_viewer]
+ PRP_ROLE_TYPES.ip_editor, PRP_ROLE_TYPES.ip_viewer]
self.perm = RoleGroupCreateUpdateDestroyPermission()
self.factory = APIRequestFactory()
@@ -785,10 +785,10 @@ def test_permission_as_ip_authorized_officer__partner_match__workspace_match(sel
(PRP_ROLE_TYPES.cluster_coordinator, False),
(PRP_ROLE_TYPES.cluster_member, False),
(PRP_ROLE_TYPES.cluster_viewer, False),
- (PRP_ROLE_TYPES.ip_authorized_officer, False),
+ (PRP_ROLE_TYPES.ip_authorized_officer, True),
(PRP_ROLE_TYPES.ip_admin, False),
- (PRP_ROLE_TYPES.ip_editor, False),
- (PRP_ROLE_TYPES.ip_viewer, False),
+ (PRP_ROLE_TYPES.ip_editor, True),
+ (PRP_ROLE_TYPES.ip_viewer, True),
]
for role_to_assign, return_value in roles_to_assign:
@@ -1001,7 +1001,7 @@ def test_permission_as_ip_authorized_officer__partner_match__workspace_match(sel
(PRP_ROLE_TYPES.ip_authorized_officer, False),
(PRP_ROLE_TYPES.ip_admin, True),
(PRP_ROLE_TYPES.ip_editor, False),
- (PRP_ROLE_TYPES.ip_viewer, False),
+ (PRP_ROLE_TYPES.ip_viewer, True),
]
for role_to_assign, return_value in roles_to_assign:
@@ -1012,7 +1012,7 @@ def test_permission_as_ip_authorized_officer__partner_match__workspace_match(sel
request = self.factory.delete(reverse('role-group-update-destroy', args=[self.role.id]))
request.user = request_user
request.data = {}
- self.assertFalse(self.perm.has_object_permission(request, None, self.role))
+ self.assertTrue(self.perm.has_object_permission(request, None, self.role))
def test_permission_as_ip_authorized_officer__partner_match__no_workspace_match(self):
request_user_role = PRP_ROLE_TYPES.ip_authorized_officer
@@ -1337,7 +1337,7 @@ def test_permission_as_ip_authorized_officer__partner_match__workspace_match(sel
(PRP_ROLE_TYPES.cluster_viewer, False),
(PRP_ROLE_TYPES.ip_authorized_officer, False),
(PRP_ROLE_TYPES.ip_admin, True),
- (PRP_ROLE_TYPES.ip_editor, False),
+ (PRP_ROLE_TYPES.ip_editor, True),
(PRP_ROLE_TYPES.ip_viewer, False),
]
@@ -1349,7 +1349,7 @@ def test_permission_as_ip_authorized_officer__partner_match__workspace_match(sel
request = self.factory.delete(reverse('role-group-update-destroy', args=[self.role.id]))
request.user = request_user
request.data = {}
- self.assertFalse(self.perm.has_object_permission(request, None, self.role))
+ self.assertTrue(self.perm.has_object_permission(request, None, self.role))
def test_permission_as_ip_authorized_officer__partner_match__no_workspace_match(self):
request_user_role = PRP_ROLE_TYPES.ip_authorized_officer
diff --git a/django_api/django_api/apps/indicator/migrations/0002_reportablelocationgoal_is_active.py b/django_api/django_api/apps/indicator/migrations/0002_reportablelocationgoal_is_active.py
new file mode 100644
index 000000000..76706bd49
--- /dev/null
+++ b/django_api/django_api/apps/indicator/migrations/0002_reportablelocationgoal_is_active.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-03-07 23:13
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('indicator', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='reportablelocationgoal',
+ name='is_active',
+ field=models.BooleanField(default=True),
+ ),
+ ]
diff --git a/django_api/django_api/apps/indicator/migrations/0003_auto_20190507_1908.py b/django_api/django_api/apps/indicator/migrations/0003_auto_20190507_1908.py
new file mode 100644
index 000000000..6e0f8c240
--- /dev/null
+++ b/django_api/django_api/apps/indicator/migrations/0003_auto_20190507_1908.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-05-07 19:08
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('indicator', '0002_reportablelocationgoal_is_active'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='indicatorreport',
+ name='narrative_assessment',
+ field=models.TextField(blank=True, null=True),
+ ),
+ ]
diff --git a/django_api/django_api/apps/indicator/migrations/0004_auto_20190522_1759.py b/django_api/django_api/apps/indicator/migrations/0004_auto_20190522_1759.py
new file mode 100644
index 000000000..c0ad2b0d8
--- /dev/null
+++ b/django_api/django_api/apps/indicator/migrations/0004_auto_20190522_1759.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-05-22 17:59
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('indicator', '0003_auto_20190507_1908'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='disaggregation',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='disaggregationvalue',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='indicatorblueprint',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='reportable',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ ]
diff --git a/django_api/django_api/apps/indicator/migrations/0005_indicatorreport_project.py b/django_api/django_api/apps/indicator/migrations/0005_indicatorreport_project.py
new file mode 100644
index 000000000..3687aee90
--- /dev/null
+++ b/django_api/django_api/apps/indicator/migrations/0005_indicatorreport_project.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-06-04 05:38
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('partner', '0004_auto_20190522_1759'),
+ ('indicator', '0004_auto_20190522_1759'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='indicatorreport',
+ name='project',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='indicator_reports', to='partner.PartnerProject'),
+ ),
+ ]
diff --git a/django_api/django_api/apps/indicator/models.py b/django_api/django_api/apps/indicator/models.py
index e320b2fc3..cb7c11c25 100644
--- a/django_api/django_api/apps/indicator/models.py
+++ b/django_api/django_api/apps/indicator/models.py
@@ -32,6 +32,7 @@
RatioIndicatorDisaggregator
)
from indicator.constants import ValueType
+from indicator.utilities import convert_string_number_to_float
from utils.emails import send_email_from_template
@@ -327,9 +328,9 @@ def calculated_target(self):
return 0.0
if self.blueprint.unit == IndicatorBlueprint.NUMBER:
- return float(self.target['v'])
+ return convert_string_number_to_float(self.target['v'])
else:
- return float(self.target['v']) / float(self.target['d'])
+ return convert_string_number_to_float(self.target['v']) / convert_string_number_to_float(self.target['d'])
@property
def calculated_baseline(self):
@@ -337,9 +338,9 @@ def calculated_baseline(self):
return 0.0
if self.blueprint.unit == IndicatorBlueprint.NUMBER:
- return float(self.baseline['v'])
+ return convert_string_number_to_float(self.baseline['v'])
else:
- return float(self.baseline['v']) / float(self.baseline['d'])
+ return convert_string_number_to_float(self.baseline['v']) / convert_string_number_to_float(self.baseline['d'])
@property
def calculated_in_need(self):
@@ -347,22 +348,22 @@ def calculated_in_need(self):
return None
if self.blueprint.unit == IndicatorBlueprint.NUMBER:
- return float(self.in_need['v'])
+ return convert_string_number_to_float(self.in_need['v'])
else:
- return float(self.in_need['v']) / float(self.in_need['d'])
+ return convert_string_number_to_float(self.in_need['v']) / convert_string_number_to_float(self.in_need['d'])
@property
def progress_percentage(self):
percentage = 0.0
if self.achieved and self.baseline['v'] is not None and self.target['v'] is not None:
- baseline = float(self.calculated_baseline)
- target = float(self.calculated_target)
+ baseline = convert_string_number_to_float(self.calculated_baseline)
+ target = convert_string_number_to_float(self.calculated_target)
dividend = 0 # default progress is 0
if self.achieved['c'] > baseline:
dividend = self.achieved['c'] - baseline
- divisor = float(target) - baseline
+ divisor = convert_string_number_to_float(target) - baseline
if divisor:
percentage = round(dividend / divisor, 2)
return percentage
@@ -439,6 +440,58 @@ def create_reportable_for_pa_from_ca_reportable(pa, ca_reportable):
pa_reportable.disaggregations.add(*ca_reportable.disaggregations.all())
+def create_reportable_for_pp_from_ca_reportable(pp, ca_reportable):
+ """
+ Copies one CA reportable instance to a partner activity.
+
+ Arguments:
+ pp {partner.models.PartnerProject} -- PartnerProject to copy to
+ reportable {indicator.models.Reportable} -- ClusterActivity Reportable
+
+ Raises:
+ ValidationError -- Django Exception
+ """
+
+ reportable_data_to_sync = get_reportable_data_to_clone(ca_reportable)
+ reportable_data_to_sync['total'] = dict([('c', 0), ('d', 1), ('v', 0)])
+ reportable_data_to_sync["content_object"] = pp
+ reportable_data_to_sync["blueprint"] = ca_reportable.blueprint
+ reportable_data_to_sync["parent_indicator"] = ca_reportable
+ pp_reportable = Reportable.objects.create(**reportable_data_to_sync)
+
+ pp_reportable.disaggregations.add(*ca_reportable.disaggregations.all())
+
+ return pp_reportable
+
+
+def create_reportable_for_pp_from_co_reportable(pp, co_reportable):
+ """
+ Copies one CO reportable instance to a partner project.
+
+ Arguments:
+ pp {partner.models.PartnerProject} -- PartnerProject to copy to
+ co_reportable {indicator.models.Reportable} -- ClusterObjective Reportable
+
+ Raises:
+ ValidationError -- Django Exception
+
+ Returns:
+ Reportable -- PartnerProject type Reportable ORM instance
+ """
+
+ # TODO: Add Cluster objective to have only one PartnerProject for a Partner
+ reportable_data_to_sync = get_reportable_data_to_clone(co_reportable)
+ reportable_data_to_sync['total'] = dict([('c', 0), ('d', 1), ('v', 0)])
+ reportable_data_to_sync["content_object"] = pp
+ reportable_data_to_sync["blueprint"] = co_reportable.blueprint
+ reportable_data_to_sync["parent_indicator"] = None
+ pp_reportable = Reportable.objects.create(**reportable_data_to_sync)
+
+ pp_reportable.disaggregations.add(*co_reportable.disaggregations.all())
+
+ return pp_reportable
+
+
def create_pa_reportables_from_ca(pa, ca):
"""
Creates a set of PartnerActivity Reportable instances from
@@ -517,6 +570,7 @@ class ReportableLocationGoal(TimeStampedModel):
target = JSONField(default=dict([('d', 1), ('v', 0)]))
baseline = JSONField(default=dict([('d', 1), ('v', 0)]))
in_need = JSONField(blank=True, null=True)
+ is_active = models.BooleanField(default=True)
class Meta:
unique_together = ('reportable', 'location')
@@ -571,9 +625,7 @@ class IndicatorReport(TimeStampedModel):
default=OVERALL_STATUS.no_status,
max_length=3
)
- narrative_assessment = models.CharField(max_length=255,
- null=True,
- blank=True)
+ narrative_assessment = models.TextField(null=True, blank=True)
review_date = models.DateField(verbose_name='Review Date',
blank=True,
@@ -590,6 +642,13 @@ class IndicatorReport(TimeStampedModel):
'indicator.ReportingEntity', related_name="indicator_reports"
)
+ project = models.ForeignKey(
+ 'partner.PartnerProject',
+ related_name="indicator_reports",
+ null=True,
+ blank=True
+ )
+
tracker = FieldTracker(fields=['report_status'])
objects = IndicatorReportManager()
diff --git a/django_api/django_api/apps/indicator/serializers.py b/django_api/django_api/apps/indicator/serializers.py
index 31421eace..7e7873cda 100644
--- a/django_api/django_api/apps/indicator/serializers.py
+++ b/django_api/django_api/apps/indicator/serializers.py
@@ -12,8 +12,8 @@
from ocha.imports.serializers import DiscardUniqueTogetherValidationMixin
from unicef.models import LowerLevelOutput, ProgressReport
-from partner.models import PartnerProject, PartnerActivity
-from cluster.models import ClusterObjective, ClusterActivity
+from partner.models import PartnerProject, PartnerActivity, Partner
+from cluster.models import ClusterObjective, ClusterActivity, Cluster
from core.common import OVERALL_STATUS, INDICATOR_REPORT_STATUS, FINAL_OVERALL_STATUS, REPORTABLE_FREQUENCY_LEVEL
from core.serializers import LocationSerializer, IdLocationSerializer
@@ -34,6 +34,7 @@
ReportingEntity,
create_pa_reportables_for_new_ca_reportable,
)
+from .utilities import convert_string_number_to_float
class DisaggregationValueListSerializer(serializers.ModelSerializer):
@@ -223,7 +224,7 @@ def validate(self, data):
if in_need['v'] == "":
data['in_need']['v'] = 0
- elif float(in_need['v']) < float(target['v']):
+ elif convert_string_number_to_float(in_need['v']) < convert_string_number_to_float(target['v']):
raise serializers.ValidationError({
"in_need": "Target cannot be greater than In Need",
})
@@ -270,10 +271,14 @@ class ReportableLocationGoalSerializer(serializers.ModelSerializer):
in_need = serializers.JSONField(required=False, allow_null=True)
target = serializers.JSONField()
loc_type = serializers.SerializerMethodField()
+ title = serializers.SerializerMethodField()
def get_loc_type(self, obj):
return obj.location.gateway.admin_level
+ def get_title(self, obj):
+ return obj.location.title
+
def validate_baseline(self, value):
if 'd' not in value:
value['d'] = 1
@@ -311,6 +316,7 @@ class Meta:
'target',
'location',
'loc_type',
+ 'title',
)
@@ -504,6 +510,11 @@ class ReportableReportingFrequencyIdSerializer(serializers.Serializer):
)
+class ReportRefreshSerializer(serializers.Serializer):
+ report_id = serializers.IntegerField(min_value=1)
+ report_type = serializers.ChoiceField(choices=['PR', 'IR'])
+
+
class SimpleIndicatorLocationDataListSerializer(serializers.ModelSerializer):
location = LocationSerializer(read_only=True)
@@ -767,7 +778,7 @@ def validate(self, data):
{"reporting_entity_percentage_map": {"Each dictionary should have 'title' and 'percentage' key"}}
)
- if any(map(lambda x: x["percentage"] > 1 or float(x["percentage"]) < 0, map_list)):
+ if any(map(lambda x: x["percentage"] > 1 or convert_string_number_to_float(x["percentage"]) < 0, map_list)):
raise serializers.ValidationError(
{"reporting_entity_percentage_map": {"Each dictionary should 'percentage' value between 0 to 1"}}
)
@@ -789,12 +800,12 @@ def validate(self, data):
split_data[entity['title']] = {}
if entity['title'] == "UNICEF":
- ild.percentage_allocated = float(entity['percentage'])
+ ild.percentage_allocated = convert_string_number_to_float(entity['percentage'])
for key, val in disagg_data_copy.items():
for val_key in val:
if val[val_key]:
- val[val_key] *= float(entity['percentage'])
+ val[val_key] *= convert_string_number_to_float(entity['percentage'])
split_data[entity['title']][key] = val
@@ -821,6 +832,7 @@ class IndicatorReportListSerializer(serializers.ModelSerializer):
parent_ir_id = serializers.SerializerMethodField()
child_ir_ids = serializers.SerializerMethodField()
has_high_frequency_reports = serializers.SerializerMethodField()
+ is_hf_indicator = serializers.SerializerMethodField()
class Meta:
model = IndicatorReport
@@ -845,6 +857,7 @@ class Meta:
'parent_ir_id',
'child_ir_ids',
'has_high_frequency_reports',
+ 'is_hf_indicator',
)
def get_has_high_frequency_reports(self, obj):
@@ -863,6 +876,9 @@ def get_has_high_frequency_reports(self, obj):
return True if pr.report_type == "QPR" and hf_reports.exists() else False
+ def get_is_hf_indicator(self, obj):
+ return obj.reportable.is_unicef_hf_indicator
+
def get_parent_ir_id(self, obj):
return obj.parent.id if obj.parent else None
@@ -1081,6 +1097,128 @@ class Meta:
)
+class ClusterObjectiveIndicatorAdoptSerializer(serializers.Serializer):
+ partner_id = serializers.IntegerField()
+ partner_project_id = serializers.IntegerField()
+ cluster_id = serializers.IntegerField()
+ cluster_objective_id = serializers.IntegerField()
+ reportable_id = serializers.IntegerField()
+ locations = ReportableLocationGoalSerializer(many=True, write_only=True)
+ target = serializers.JSONField()
+ baseline = serializers.JSONField()
+
+ def validate(self, data):
+ """
+ Make sure cluster objects exist by their IDs and basic validations on target and baseline.
+ """
+ if not isinstance(data['target'], dict):
+ raise serializers.ValidationError({
+ 'target': 'Target value needs to be a dictionary format'
+ })
+ else:
+ if 'd' not in data['target']:
+ data['target']['d'] = 1
+
+ if isinstance(data['target']['d'], str):
+ if data['target']['d'].isnumeric():
+ data['target']['d'] = int(data['target']['d'])
+ else:
+ raise serializers.ValidationError("key 'd' for target needs to be number")
+
+ if 'v' not in data['target']:
+ raise serializers.ValidationError("key 'v' must exist")
+
+ if isinstance(data['target']['v'], str):
+ if data['target']['v'].isnumeric():
+ data['target']['v'] = int(data['target']['v'])
+ else:
+ raise serializers.ValidationError("key 'v' for target needs to be number")
+
+ if data['target']['d'] == 0:
+ raise serializers.ValidationError("key 'd' cannot be zero")
+
+ if 'c' not in data['target']:
+ data['target']['c'] = convert_string_number_to_float(data['target']['v']) / data['target']['d']
+
+ if not isinstance(data['baseline'], dict):
+ raise serializers.ValidationError({
+ 'baseline': 'Baseline value needs to be a dictionary format'
+ })
+ else:
+ if 'd' not in data['baseline']:
+ data['baseline']['d'] = 1
+
+ if isinstance(data['baseline']['d'], str):
+ if data['baseline']['d'].isnumeric():
+ data['baseline']['d'] = int(data['baseline']['d'])
+ else:
+ raise serializers.ValidationError("key 'd' for baseline needs to be number")
+
+ if 'v' not in data['baseline']:
+ raise serializers.ValidationError("key 'v' must exist")
+
+ if isinstance(data['baseline']['v'], str):
+ if data['baseline']['v'].isnumeric():
+ data['baseline']['v'] = int(data['baseline']['v'])
+ else:
+ raise serializers.ValidationError("key 'v' for baseline needs to be number")
+
+ if data['baseline']['d'] == 0:
+ raise serializers.ValidationError("key 'd' cannot be zero")
+
+ if 'c' not in data['baseline']:
+ data['baseline']['c'] = convert_string_number_to_float(data['baseline']['v']) / data['baseline']['d']
+
+ if not Partner.objects.filter(id=data['partner_id']).exists():
+ raise serializers.ValidationError({
+ 'partner_id': 'Partner does not exist'
+ })
+
+ if not PartnerProject.objects.filter(id=data['partner_project_id']).exists():
+ raise serializers.ValidationError({
+ 'partner_project_id': 'PartnerProject does not exist'
+ })
+
+ if PartnerProject.objects.get(id=data['partner_project_id']).partner.id != data['partner_id']:
+ raise serializers.ValidationError({
+ 'partner_project_id': 'This partner project does not belong to the partner'
+ })
+
+ if not Cluster.objects.filter(id=data['cluster_id']).exists():
+ raise serializers.ValidationError({
+ 'cluster_id': 'Cluster does not exist'
+ })
+
+ if not ClusterObjective.objects.filter(id=data['cluster_objective_id']).exists():
+ raise serializers.ValidationError({
+ 'cluster_objective_id': 'ClusterObjective does not exist'
+ })
+
+ if ClusterObjective.objects.get(id=data['cluster_objective_id']).cluster.id != data['cluster_id']:
+ raise serializers.ValidationError({
+ 'cluster_objective_id': 'This objective does not belong to the cluster'
+ })
+
+ reportables = Reportable.objects.filter(id=data['reportable_id'])
+
+ if not reportables.exists():
+ raise serializers.ValidationError({
+ 'reportable_id': 'Reportable does not exist'
+ })
+
+ if not isinstance(reportables.first().content_object, ClusterObjective):
+ raise serializers.ValidationError({
+ 'reportable_id': 'Reportable type is not ClusterObjective'
+ })
+
+ if reportables.first().content_object.id != data['cluster_objective_id']:
+ raise serializers.ValidationError({
+ 'reportable_id': 'Reportable does not belong to this ClusterObjective'
+ })
+
+ return data
+
+
class ClusterIndicatorSerializer(serializers.ModelSerializer):
disaggregations = IdDisaggregationSerializer(many=True, read_only=True)
@@ -1164,8 +1302,9 @@ def check_progress_values(self, partner, reportable_object_content_model, valida
{"target": "cannot be empty"}
)
- target_value = float(validated_data['target']['v']) if float(validated_data['target']['d']) == 1 else \
- float(validated_data['target']['v']) / float(validated_data['target']['d'])
+ target_value = convert_string_number_to_float(validated_data['target']['v']) \
+ if convert_string_number_to_float(validated_data['target']['d']) == 1 else \
+ convert_string_number_to_float(validated_data['target']['v']) / convert_string_number_to_float(validated_data['target']['d'])
if 'in_need' in validated_data and validated_data['in_need'] and validated_data['in_need']['v'] != "":
if 'd' not in validated_data['in_need']:
@@ -1176,8 +1315,9 @@ def check_progress_values(self, partner, reportable_object_content_model, valida
{"in_need": "denominator for in_need cannot be zero"}
)
- in_need_value = float(validated_data['in_need']['v']) if float(validated_data['in_need']['d']) == 1 else \
- float(validated_data['in_need']['v']) / float(validated_data['in_need']['d'])
+ in_need_value = convert_string_number_to_float(validated_data['in_need']['v']) \
+ if convert_string_number_to_float(validated_data['in_need']['d']) == 1 else \
+ convert_string_number_to_float(validated_data['in_need']['v']) / convert_string_number_to_float(validated_data['in_need']['d'])
if target_value > in_need_value:
raise ValidationError(
@@ -1267,12 +1407,18 @@ def create(self, validated_data):
content_object = get_object_or_404(PartnerActivity, pk=validated_data['object_id'])
validated_data['is_cluster_indicator'] = False
- if validated_data['start_date_of_reporting_period'] < content_object.start_date:
- error_msg = "Start date of reporting period cannot come before the activity's start date"
-
+ if not content_object.partneractivityprojectcontext_set.exists():
raise ValidationError({
- "start_date_of_reporting_period": error_msg,
+ "start_date_of_reporting_period": "This PartnerActivity does not have start date",
})
+
+ for context in content_object.partneractivityprojectcontext_set.all():
+ if validated_data['start_date_of_reporting_period'] < context.start_date:
+ error_msg = "Start date of reporting period cannot come before the activity's start date"
+
+ raise ValidationError({
+ "start_date_of_reporting_period": error_msg,
+ })
else:
raise NotImplemented()
@@ -1631,10 +1777,11 @@ def get_project(self, obj):
if isinstance(obj.reportable.content_object, (PartnerProject, )):
return {"id": obj.reportable.content_object.id, "title": obj.reportable.content_object.title}
elif isinstance(obj.reportable.content_object, (PartnerActivity, )):
- if obj.reportable.content_object.project:
+ if obj.reportable.content_object.projects.exists():
+ project = obj.reportable.content_object.projects.first()
return {
- "id": obj.reportable.content_object.project.id,
- "title": obj.reportable.content_object.project.title
+ "id": project.id,
+ "title": project.title
}
else:
return None
@@ -1806,11 +1953,11 @@ def get_indicator_reports(self, obj):
return []
def get_project(self, obj):
- if isinstance(obj.content_object, PartnerActivity) \
- and obj.content_object.project:
- return obj.content_object.project.title
- else:
- return ""
+ if isinstance(obj.content_object, PartnerActivity):
+ if obj.content_object.projects.exists():
+ return obj.content_object.projects.first().title
+
+ return ""
def get_cluster_activity(self, obj):
if isinstance(obj.content_object, PartnerActivity) \
@@ -1906,6 +2053,7 @@ class ClusterAnalysisIndicatorDetailSerializer(serializers.ModelSerializer):
total_against_target = serializers.SerializerMethodField()
current_progress_by_partner = serializers.SerializerMethodField()
current_progress_by_location = serializers.SerializerMethodField()
+ current_progress_by_project = serializers.SerializerMethodField()
indicator_type = serializers.SerializerMethodField()
display_type = serializers.SerializerMethodField()
baseline = serializers.JSONField()
@@ -2000,7 +2148,18 @@ def get_partners_by_status(self, obj):
return num_of_partners
def get_progress_over_time(self, obj):
- return list(obj.indicator_reports.order_by('id').values_list('time_period_end', 'total'))
+ if obj.content_type.model == "partneractivity":
+ progress_dict = dict()
+
+ for ir in obj.indicator_reports.order_by('id'):
+ if ir.time_period_end not in progress_dict:
+ progress_dict[ir.time_period_end] = 0.0
+
+ progress_dict[ir.time_period_end] += int(ir.total['c'])
+
+ return list(progress_dict.items())
+ else:
+ return list(obj.indicator_reports.order_by('id').values_list('time_period_end', 'total'))
def _get_progress_by_partner(self, reportable, partner_progresses):
"""
@@ -2089,7 +2248,7 @@ def _get_progress_by_location(self, location_data, location_progresses):
partner_titles.add(partner_title)
data = {
- 'progress': ild.disaggregation['()']['c'],
+ 'progress': int(ild.disaggregation['()']['c']),
'partners': partner_titles,
}
@@ -2104,18 +2263,20 @@ def get_current_progress_by_location(self, obj):
try:
# Only if the indicator is cluster activity, the children (unicef indicators) will exist
if obj.children.exists():
- latest_indicator_reports = map(
- lambda x: x.indicator_reports.latest(
- 'time_period_start'), obj.children.all()
- )
+ latest_indicator_reports = list()
+
+ for reportable in obj.children.all():
+ latest_time_period = reportable.indicator_reports.latest('time_period_start').time_period_start
+ latest_indicator_reports.extend(reportable.indicator_reports.filter(time_period_start=latest_time_period))
for ir in latest_indicator_reports:
self._get_progress_by_location(ir.indicator_location_data.all(), location_progresses)
# If the indicator is UNICEF cluster which is linked as Partner, then show its progress only
else:
- indicator_location_data = obj.indicator_reports \
- .latest('time_period_start').indicator_location_data.all()
+ latest_time_period = obj.indicator_reports.latest('time_period_start').time_period_start
+ latest_irs = obj.indicator_reports.filter(time_period_start=latest_time_period)
+ indicator_location_data = IndicatorLocationData.objects.filter(indicator_report__in=latest_irs)
self._get_progress_by_location(indicator_location_data, location_progresses)
@@ -2139,6 +2300,23 @@ def get_current_progress_by_location(self, obj):
return location_progresses
+ def get_current_progress_by_project(self, obj):
+ project_progresses = defaultdict()
+
+ if obj.content_type.model != "partneractivity":
+ return project_progresses
+
+ # Consolidation for progress info
+ # project_progresses is Dict[Float] type
+ for ir in obj.indicator_reports.all():
+ if ir.project:
+ if ir.project.title not in project_progresses:
+ project_progresses[ir.project.title] = 0
+
+ project_progresses[ir.project.title] += int(ir.total['c'])
+
+ return project_progresses
+
class Meta:
model = Reportable
fields = (
@@ -2156,6 +2334,7 @@ class Meta:
'progress_over_time',
'current_progress_by_partner',
'current_progress_by_location',
+ 'current_progress_by_project',
'total_against_in_need',
'total_against_target',
)
diff --git a/django_api/django_api/apps/indicator/tasks.py b/django_api/django_api/apps/indicator/tasks.py
index b7d07030f..c888f7d57 100644
--- a/django_api/django_api/apps/indicator/tasks.py
+++ b/django_api/django_api/apps/indicator/tasks.py
@@ -1,11 +1,15 @@
+import logging
+from datetime import datetime, timedelta
+
from celery import shared_task
from indicator.models import IndicatorReport
from unicef.models import ProgressReport
from core.common import INDICATOR_REPORT_STATUS, PROGRESS_REPORT_STATUS
+from utils.emails import send_due_progress_report_email, send_overdue_progress_report_email
-from datetime import datetime, timedelta
+logger = logging.getLogger(__name__)
OVERDUE_DAYS = 15
@@ -13,12 +17,12 @@
def process_due_reports():
updates = list()
today = datetime.now().date()
- print("Create due/overdue indicator reports")
+ logger.info("Create due/overdue indicator reports")
# Get all open (without submission date) indicator reports
reports = IndicatorReport.objects.filter(submission_date__isnull=True)
# Iterate and set proper status
for report in reports:
- print("Indicator Report: %s" % report.id)
+ logger.info("Indicator Report: %s" % report.id)
due_date = report.due_date or report.time_period_end + timedelta(days=OVERDUE_DAYS)
if due_date < today and report.report_status != INDICATOR_REPORT_STATUS.overdue:
report.report_status = INDICATOR_REPORT_STATUS.overdue
@@ -32,7 +36,7 @@ def process_due_reports():
reports = ProgressReport.objects.filter(submission_date__isnull=True)
# Iterate and set proper status
for report in reports:
- print("Progress Report: %s" % report.id)
+ logger.info("Progress Report: %s" % report.id)
due_date = report.due_date or report.end_date + timedelta(days=OVERDUE_DAYS)
if due_date < today and report.status != PROGRESS_REPORT_STATUS.overdue:
report.status = PROGRESS_REPORT_STATUS.overdue
@@ -47,3 +51,13 @@ def process_due_reports():
return "Updated %s Reports: %s" % (len(updates), ", ".join(["(%s for ID %d)" % (
status, report.id) for status, report in updates])) if updates else "---"
+
+
+@shared_task
+def notify_ip_due_reports():
+ return send_due_progress_report_email()
+
+
+@shared_task
+def notify_ip_overdue_reports():
+ return send_overdue_progress_report_email()
diff --git a/django_api/django_api/apps/indicator/tests/test_disaggregators.py b/django_api/django_api/apps/indicator/tests/test_disaggregators.py
index 16a20a497..56ed0839c 100644
--- a/django_api/django_api/apps/indicator/tests/test_disaggregators.py
+++ b/django_api/django_api/apps/indicator/tests/test_disaggregators.py
@@ -8,6 +8,7 @@
)
from core.factories import (CartoDBTableFactory, ClusterActivityFactory,
ClusterActivityPartnerActivityFactory,
+ PartnerActivityProjectContextFactory,
ClusterFactory, ClusterIndicatorReportFactory,
ClusterObjectiveFactory, ClusterPRPRoleFactory,
CountryFactory, DisaggregationFactory,
@@ -69,8 +70,12 @@ def setUp(self):
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
@@ -426,8 +431,12 @@ def setUp(self):
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
diff --git a/django_api/django_api/apps/indicator/tests/test_views.py b/django_api/django_api/apps/indicator/tests/test_views.py
index f7bd793ef..84a908487 100644
--- a/django_api/django_api/apps/indicator/tests/test_views.py
+++ b/django_api/django_api/apps/indicator/tests/test_views.py
@@ -1,11 +1,13 @@
from ast import literal_eval as make_tuple
import copy
from datetime import date, timedelta
+from unittest.mock import Mock, patch
from django.urls import reverse
from django.conf import settings
from rest_framework import status
+from unicef_notification.models import Notification
from core.models import Location
from core.common import (
@@ -23,6 +25,7 @@
)
from core.factories import (CartoDBTableFactory,
ProgressReportIndicatorReportFactory,
+ PartnerActivityProjectContextFactory,
IPPRPRoleFactory,
CountryFactory, DisaggregationFactory,
DisaggregationValueFactory, GatewayTypeFactory,
@@ -31,6 +34,7 @@
PartnerUserFactory, PartnerFactory,
ProgressReportFactory,
QuantityReportableToLowerLevelOutputFactory,
+ QuantityReportableToClusterObjectiveFactory,
QuantityTypeIndicatorBlueprintFactory,
WorkspaceFactory,
SectionFactory,
@@ -266,8 +270,12 @@ def setUp(self):
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
@@ -325,7 +333,10 @@ def setUp(self):
super().setUp()
- def test_submit_indicator(self):
+ @patch("django_api.apps.utils.emails.EmailTemplate.objects.update_or_create")
+ @patch.object(Notification, "full_clean", return_value=None)
+ @patch.object(Notification, "send_notification", return_value=None)
+ def test_submit_indicator(self, mock_create, mock_clean, mock_send):
ir = IndicatorReport.objects.first()
ir.report_status = INDICATOR_REPORT_STATUS.sent_back
ir.overall_status = OVERALL_STATUS.met
@@ -380,8 +391,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -602,8 +617,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -811,8 +830,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -840,10 +863,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -1014,8 +1038,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -1043,10 +1071,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -1271,7 +1300,7 @@ def test_create_indicator_partner_project_reporting(self):
self.blueprint_count + 1)
def test_create_indicator_partner_activities_reporting(self):
- pa = PartnerActivity.objects.filter(project__isnull=False).first()
+ pa = PartnerActivity.objects.filter(projects__isnull=False).first()
self.data['object_id'] = pa.id
self.data['object_type'] = 'partner.partneractivity'
response = self.client.post(self.url, data=self.data, format='json')
@@ -1361,8 +1390,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -1473,10 +1506,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -1866,3 +1900,541 @@ def test_update_invalid_coordinate_space_value_format_validation(self):
+ "have correct value key structure: c, d, v",
response.data['non_field_errors'][0]
)
+
+
+class TestReportRefreshAPIView(BaseAPITestCase):
+
+ def setUp(self):
+ self.country = CountryFactory()
+ self.workspace = WorkspaceFactory(countries=[self.country, ])
+ self.response_plan = ResponsePlanFactory(workspace=self.workspace)
+ self.cluster = ClusterFactory(type='cccm', response_plan=self.response_plan)
+ self.loc_type = GatewayTypeFactory(country=self.country)
+ self.carto_table = CartoDBTableFactory(location_type=self.loc_type, country=self.country)
+ self.loc1 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.loc2 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.unicef_officer = PersonFactory()
+ self.unicef_focal_point = PersonFactory()
+ self.partner_focal_point = PersonFactory()
+ self.objective = ClusterObjectiveFactory(
+ cluster=self.cluster,
+ locations=[
+ self.loc1,
+ self.loc2,
+ ]
+ )
+ self.activity = ClusterActivityFactory(
+ cluster_objective=self.objective,
+ locations=[
+ self.loc1, self.loc2
+ ]
+ )
+ self.partner = PartnerFactory(country_code=self.country.country_short_code)
+ self.user = NonPartnerUserFactory()
+ self.partner_user = PartnerUserFactory(partner=self.partner)
+ ClusterPRPRoleFactory(user=self.user, workspace=self.workspace, cluster=self.cluster, role=PRP_ROLE_TYPES.cluster_imo)
+ IPPRPRoleFactory(user=self.partner_user, workspace=self.workspace, role=PRP_ROLE_TYPES.ip_authorized_officer)
+ IPPRPRoleFactory(user=self.partner_user, workspace=self.workspace, cluster=None, role=PRP_ROLE_TYPES.cluster_member)
+ self.project = PartnerProjectFactory(
+ partner=self.partner,
+ clusters=[self.cluster],
+ locations=[self.loc1, self.loc2],
+ )
+ self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
+ cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
+ project=self.project,
+ activity=self.p_activity,
+ )
+ self.sample_disaggregation_value_map = {
+ "height": ["tall", "medium", "short", "extrashort"],
+ "age": ["1-2m", "3-4m", "5-6m", '7-10m', '11-13m', '14-16m'],
+ "gender": ["male", "female", "other"],
+ }
+
+ blueprint = QuantityTypeIndicatorBlueprintFactory(
+ unit=IndicatorBlueprint.NUMBER,
+ calculation_formula_across_locations=IndicatorBlueprint.SUM,
+ calculation_formula_across_periods=IndicatorBlueprint.SUM,
+ )
+ self.partneractivity_reportable = QuantityReportableToPartnerActivityFactory(
+ content_object=self.p_activity, blueprint=blueprint
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc1,
+ reportable=self.partneractivity_reportable,
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc2,
+ reportable=self.partneractivity_reportable,
+ )
+
+ self.pd = ProgrammeDocumentFactory(
+ workspace=self.workspace,
+ partner=self.partner,
+ sections=[SectionFactory(), ],
+ unicef_officers=[self.unicef_officer, ],
+ unicef_focal_point=[self.unicef_focal_point, ],
+ partner_focal_point=[self.partner_focal_point, ]
+ )
+
+ for idx in range(2):
+ qpr_period = QPRReportingPeriodDatesFactory(programme_document=self.pd)
+ ProgressReportFactory(
+ start_date=qpr_period.start_date,
+ end_date=qpr_period.end_date,
+ due_date=qpr_period.due_date,
+ report_number=idx + 1,
+ report_type=qpr_period.report_type,
+ is_final=False,
+ programme_document=self.pd,
+ submitted_by=self.user,
+ submitting_user=self.user,
+ )
+
+ for idx in range(6):
+ hr_period = HRReportingPeriodDatesFactory(programme_document=self.pd)
+ ProgressReportFactory(
+ start_date=hr_period.start_date,
+ end_date=hr_period.end_date,
+ due_date=hr_period.due_date,
+ report_number=idx + 1,
+ report_type=hr_period.report_type,
+ is_final=False,
+ programme_document=self.pd,
+ submitted_by=self.user,
+ submitting_user=self.user,
+ )
+
+ self.cp_output = PDResultLinkFactory(
+ programme_document=self.pd,
+ )
+ self.llo = LowerLevelOutputFactory(
+ cp_output=self.cp_output,
+ )
+ self.llo_reportable = QuantityReportableToLowerLevelOutputFactory(
+ content_object=self.llo,
+ blueprint=QuantityTypeIndicatorBlueprintFactory(
+ unit=IndicatorBlueprint.NUMBER,
+ calculation_formula_across_locations=IndicatorBlueprint.SUM,
+ )
+ )
+
+ self.llo_reportable.disaggregations.clear()
+ self.partneractivity_reportable.disaggregations.clear()
+
+ # Create the disaggregations and values in the db for all response plans
+ # including one for no response plan as well
+ for disagg_name, values in self.sample_disaggregation_value_map.items():
+ disagg = IPDisaggregationFactory(name=disagg_name)
+ cluster_disagg = DisaggregationFactory(name=disagg_name, response_plan=self.response_plan)
+
+ self.llo_reportable.disaggregations.add(disagg)
+ self.partneractivity_reportable.disaggregations.add(cluster_disagg)
+
+ for value in values:
+ DisaggregationValueFactory(
+ disaggregation=cluster_disagg,
+ value=value
+ )
+ DisaggregationValueFactory(
+ disaggregation=disagg,
+ value=value
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc1,
+ reportable=self.llo_reportable,
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc2,
+ reportable=self.llo_reportable,
+ )
+
+ for _ in range(2):
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
+
+ # Creating Level-3 disaggregation location data for all locations
+ generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
+
+ for loc_data in IndicatorLocationData.objects.filter(indicator_report__reportable=self.partneractivity_reportable):
+ QuantityIndicatorDisaggregator.post_process(loc_data)
+
+ for pr in self.pd.progress_reports.all():
+ ProgressReportIndicatorReportFactory(
+ progress_report=pr,
+ reportable=self.llo_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ overall_status=OVERALL_STATUS.met,
+ )
+
+ # Creating Level-3 disaggregation location data for all locations
+ generate_3_num_disagg_data(self.llo_reportable, indicator_type="quantity")
+
+ for loc_data in IndicatorLocationData.objects.filter(indicator_report__reportable=self.llo_reportable):
+ QuantityIndicatorDisaggregator.post_process(loc_data)
+
+ super().setUp()
+
+ # Logging in as Partner AO
+ self.client.force_authenticate(self.partner_user)
+
+ self.progress_report = self.pd.progress_reports.first()
+
+ def test_invalid_serializer_values(self):
+ url = reverse('report-refresh-api')
+ data = {"report_type": "PR", "report_id": -100}
+
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ data['report_id'] = self.progress_report.id
+ data['report_type'] = 'AAAA'
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ data['report_id'] = self.progress_report.indicator_reports.first().id
+ data['report_type'] = 'IR'
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+ self.assertEquals(
+ "This indicator report is linked to a progress report. Use the progress report ID instead.",
+ response.data['non_field_errors'][0]
+ )
+
+ def test_progress_report_reset(self):
+ url = reverse('report-refresh-api')
+ data = {"report_type": "PR", "report_id": self.progress_report.id}
+
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_success(response.status_code))
+ self.assertEquals(response.data['response'], "OK")
+
+ # All indicator reports should be blank state
+ for ir in self.progress_report.indicator_reports.all():
+ self.assertEquals(ir.total['c'], 0)
+ self.assertEquals(ir.overall_status, "NoS")
+ self.assertEquals(ir.report_status, "Due")
+ self.assertEquals(ir.submission_date, None)
+
+ def test_cluster_indicator_report_reset(self):
+ ir = self.partneractivity_reportable.indicator_reports.first()
+ url = reverse('report-refresh-api')
+ data = {"report_type": "IR", "report_id": ir.id}
+
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_success(response.status_code))
+ self.assertEquals(response.data['response'], "OK")
+
+ ir = IndicatorReport.objects.get(id=ir.id)
+
+ # All indicator report information should be initial state
+ self.assertEquals(ir.submission_date, None)
+ self.assertEquals(ir.overall_status, "NoS")
+ self.assertEquals(ir.report_status, "Due")
+ self.assertEquals(ir.total['c'], 0)
+
+ for ild in ir.indicator_location_data.all():
+ self.assertEquals(ild.disaggregation['()']['c'], 0)
+ self.assertEquals(ild.disaggregation['()']['d'], 0)
+ self.assertEquals(ild.disaggregation['()']['v'], 0)
+
+
+class TestClusterObjectiveIndicatorAdoptAPIViewAPIView(BaseAPITestCase):
+
+ def setUp(self):
+ self.country = CountryFactory()
+ self.workspace = WorkspaceFactory(countries=[self.country, ])
+ self.response_plan = ResponsePlanFactory(workspace=self.workspace)
+ self.cluster = ClusterFactory(type='cccm', response_plan=self.response_plan)
+ self.cluster2 = ClusterFactory(type='education', response_plan=self.response_plan)
+ self.loc_type = GatewayTypeFactory(country=self.country)
+ self.carto_table = CartoDBTableFactory(location_type=self.loc_type, country=self.country)
+ self.loc1 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.loc2 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.unicef_officer = PersonFactory()
+ self.unicef_focal_point = PersonFactory()
+ self.partner_focal_point = PersonFactory()
+ self.objective = ClusterObjectiveFactory(
+ cluster=self.cluster,
+ locations=[
+ self.loc1,
+ self.loc2,
+ ]
+ )
+ self.objective2 = ClusterObjectiveFactory(
+ cluster=self.cluster2,
+ locations=[
+ self.loc1,
+ self.loc2,
+ ]
+ )
+ self.activity = ClusterActivityFactory(
+ cluster_objective=self.objective,
+ locations=[
+ self.loc1, self.loc2
+ ]
+ )
+ self.partner = PartnerFactory(country_code=self.country.country_short_code)
+ self.partner2 = PartnerFactory(country_code=self.country.country_short_code)
+ self.user = NonPartnerUserFactory()
+ self.partner_user = PartnerUserFactory(partner=self.partner)
+ ClusterPRPRoleFactory(user=self.user, workspace=self.workspace, cluster=self.cluster, role=PRP_ROLE_TYPES.cluster_imo)
+ IPPRPRoleFactory(user=self.partner_user, workspace=self.workspace, role=PRP_ROLE_TYPES.ip_authorized_officer)
+ IPPRPRoleFactory(user=self.partner_user, workspace=self.workspace, cluster=None, role=PRP_ROLE_TYPES.cluster_member)
+ self.project = PartnerProjectFactory(
+ partner=self.partner,
+ clusters=[self.cluster],
+ locations=[self.loc1, self.loc2],
+ )
+ self.project2 = PartnerProjectFactory(
+ partner=self.partner2,
+ clusters=[self.cluster],
+ locations=[self.loc1, self.loc2],
+ )
+ self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
+ cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
+ project=self.project,
+ activity=self.p_activity,
+ )
+ self.sample_disaggregation_value_map = {
+ "height": ["tall", "medium", "short", "extrashort"],
+ "age": ["1-2m", "3-4m", "5-6m", '7-10m', '11-13m', '14-16m'],
+ "gender": ["male", "female", "other"],
+ }
+
+ blueprint = QuantityTypeIndicatorBlueprintFactory(
+ unit=IndicatorBlueprint.NUMBER,
+ calculation_formula_across_locations=IndicatorBlueprint.SUM,
+ calculation_formula_across_periods=IndicatorBlueprint.SUM,
+ )
+
+ self.partneractivity_reportable = QuantityReportableToPartnerActivityFactory(
+ content_object=self.p_activity, blueprint=blueprint
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc1,
+ reportable=self.partneractivity_reportable,
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc2,
+ reportable=self.partneractivity_reportable,
+ )
+
+ self.clusterobjective_reportable = QuantityReportableToClusterObjectiveFactory(
+ content_object=self.objective, blueprint=blueprint
+ )
+
+ self.reportable_loc_1 = LocationWithReportableLocationGoalFactory(
+ location=self.loc1,
+ reportable=self.clusterobjective_reportable,
+ )
+
+ self.reportable_loc_2 = LocationWithReportableLocationGoalFactory(
+ location=self.loc2,
+ reportable=self.clusterobjective_reportable,
+ )
+
+ self.clusterobjective_reportable2 = QuantityReportableToClusterObjectiveFactory(
+ content_object=self.objective2, blueprint=blueprint
+ )
+
+ self.reportable_2_loc_1 = LocationWithReportableLocationGoalFactory(
+ location=self.loc1,
+ reportable=self.clusterobjective_reportable2,
+ )
+
+ self.reportable_2_loc_2 = LocationWithReportableLocationGoalFactory(
+ location=self.loc2,
+ reportable=self.clusterobjective_reportable2,
+ )
+
+ self.clusterobjective_reportable.disaggregations.clear()
+ self.clusterobjective_reportable2.disaggregations.clear()
+ self.partneractivity_reportable.disaggregations.clear()
+
+ # Create the disaggregations and values in the db for all response plans
+ # including one for no response plan as well
+ for disagg_name, values in self.sample_disaggregation_value_map.items():
+ cluster_disagg = DisaggregationFactory(name=disagg_name, response_plan=self.response_plan)
+
+ self.clusterobjective_reportable.disaggregations.add(cluster_disagg)
+ self.clusterobjective_reportable2.disaggregations.add(cluster_disagg)
+ self.partneractivity_reportable.disaggregations.add(cluster_disagg)
+
+ for value in values:
+ DisaggregationValueFactory(
+ disaggregation=cluster_disagg,
+ value=value
+ )
+
+ super().setUp()
+
+ # Logging in as Partner AO
+ self.client.force_authenticate(self.partner_user)
+
+ def test_invalid_serializer_values(self):
+ url = reverse('partner-project-indicator-adopt')
+
+ # Start with valid data payload
+ data = {
+ 'partner_id': self.partner.id,
+ 'partner_project_id': self.project.id,
+ 'cluster_id': self.cluster.id,
+ 'cluster_objective_id': self.objective.id,
+ 'reportable_id': self.clusterobjective_reportable.id,
+ 'locations': [
+ {
+ 'id': self.reportable_loc_1.id,
+ 'baseline': {'d': 1, 'v': 1, 'c': 1},
+ 'in_need': {'d': 1, 'v': 1, 'c': 1},
+ 'target': {'d': 1, 'v': 1, 'c': 1},
+ 'location': self.loc1.id,
+ },
+ {
+ 'id': self.reportable_loc_2.id,
+ 'baseline': {'d': 1, 'v': 1, 'c': 1},
+ 'in_need': {'d': 1, 'v': 1, 'c': 1},
+ 'target': {'d': 1, 'v': 1, 'c': 1},
+ 'location': self.loc2.id,
+ }
+ ],
+ 'target': {'d': 1, 'v': 1, 'c': 1},
+ 'baseline': {'d': 1, 'v': 1, 'c': 1},
+ }
+
+ # Target value type check
+ data['target'] = list()
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Baseline value type check
+ data['target'] = {'d': 1, 'v': 1, 'c': 1}
+ data['baseline'] = list()
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # zero d value in target
+ data['baseline'] = {'d': 1, 'v': 1, 'c': 1}
+ data['target'] = {'d': 0, 'v': 1, 'c': 1}
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # missing v value in target
+ data['target'] = {'d': 1, 'c': 1}
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # zero d value in baseline
+ data['target'] = {'d': 1, 'v': 1, 'c': 1}
+ data['baseline'] = {'d': 0, 'v': 1, 'c': 1}
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # missing v value in baseline
+ data['baseline'] = {'d': 1, 'c': 1}
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Reset
+ data['target'] = {'d': 1, 'v': 1, 'c': 1}
+ data['baseline'] = {'d': 1, 'v': 1, 'c': 1}
+
+ # Non-exist partner check
+ data['partner_id'] = 999999
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Non-exist partner project check
+ data['partner_id'] = self.partner.id
+ data['partner_project_id'] = 999999
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Invalid partner project membership check
+ data['partner_id'] = self.partner.id
+ data['partner_project_id'] = self.project2.id
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Non-exist cluster check
+ data['partner_project_id'] = self.project.id
+ data['cluster_id'] = 999999
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Non-exist cluster objective check
+ data['cluster_id'] = self.cluster.id
+ data['cluster_objective_id'] = 999999
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Invalid cluster objective membership check
+ data['cluster_id'] = self.cluster.id
+ data['cluster_objective_id'] = self.objective2.id
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Non-exist reportable_id check
+ data['cluster_objective_id'] = self.objective.id
+ data['reportable_id'] = 9999999
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Invalid reportable type check
+ data['reportable_id'] = self.partneractivity_reportable.id
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ # Invalid reportable membership check
+ data['reportable_id'] = self.clusterobjective_reportable2.id
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_client_error(response.status_code))
+
+ def test_valid_serializer_values(self):
+ url = reverse('partner-project-indicator-adopt')
+
+ # Start with valid data payload
+ data = {
+ 'partner_id': self.partner.id,
+ 'partner_project_id': self.project.id,
+ 'cluster_id': self.cluster.id,
+ 'cluster_objective_id': self.objective.id,
+ 'reportable_id': self.clusterobjective_reportable.id,
+ 'locations': [
+ {
+ 'id': self.reportable_loc_1.id,
+ 'baseline': {'d': 1, 'v': 1, 'c': 1},
+ 'in_need': {'d': 1, 'v': 1, 'c': 1},
+ 'target': {'d': 1, 'v': 1, 'c': 1},
+ 'location': self.loc1.id,
+ },
+ {
+ 'id': self.reportable_loc_2.id,
+ 'baseline': {'d': 1, 'v': 1, 'c': 1},
+ 'in_need': {'d': 1, 'v': 1, 'c': 1},
+ 'target': {'d': 1, 'v': 1, 'c': 1},
+ 'location': self.loc2.id,
+ }
+ ],
+ 'target': {'d': 1, 'v': 1, 'c': 1},
+ 'baseline': {'d': 1, 'v': 1, 'c': 1},
+ }
+
+ response = self.client.post(url, data=data, format='json')
+ self.assertTrue(status.is_success(response.status_code))
+ self.assertTrue(Reportable.objects.filter(id=response.data['id']).exists())
diff --git a/django_api/django_api/apps/indicator/urls.py b/django_api/django_api/apps/indicator/urls.py
index 94b9afd16..0a3e97bdc 100644
--- a/django_api/django_api/apps/indicator/urls.py
+++ b/django_api/django_api/apps/indicator/urls.py
@@ -16,6 +16,8 @@
ReportableLocationGoalBaselineInNeedAPIView,
ClusterIndicatorSendIMOMessageAPIView,
ReportableReportingFrequencyListAPIView,
+ ReportRefreshAPIView,
+ ClusterObjectiveIndicatorAdoptAPIView,
)
@@ -61,6 +63,8 @@
IndicatorReportReviewAPIView.as_view(),
name='indicator-report-review'),
+ url(r'^partner-project-indicator-adopt/$', ClusterObjectiveIndicatorAdoptAPIView.as_view(), name='partner-project-indicator-adopt'),
+
url(r'^cluster-indicator/$', ClusterIndicatorAPIView.as_view(), name='cluster-indicator'),
url(r'^cluster-indicator-imo-message/$',
@@ -74,4 +78,8 @@
url(r'^reporting-frequencies/$',
ReportableReportingFrequencyListAPIView.as_view(),
name='reportable-reporting-frequency-list-api'),
+
+ url(r'^report-refresh/$',
+ ReportRefreshAPIView.as_view(),
+ name='report-refresh-api'),
]
diff --git a/django_api/django_api/apps/indicator/utilities.py b/django_api/django_api/apps/indicator/utilities.py
index 6967de039..ce0f361d4 100644
--- a/django_api/django_api/apps/indicator/utilities.py
+++ b/django_api/django_api/apps/indicator/utilities.py
@@ -1,9 +1,19 @@
from babel.numbers import format_number, format_percent
+
from django.utils.translation import to_locale, get_language
+from django.db import transaction
+
+from core.helpers import (
+ create_ir_and_ilds_for_pr,
+)
from indicator.constants import ValueType
+def convert_string_number_to_float(num):
+ return float(num.replace(',', '')) if type(num) == str else float(num)
+
+
def format_total_value_to_string(total, is_percentage=False):
if is_percentage:
value = total.get(ValueType.CALCULATED, 0)
@@ -14,3 +24,63 @@ def format_total_value_to_string(total, is_percentage=False):
locale = to_locale(get_language())
return formatter(value, locale=locale)
+
+
+def reset_indicator_report_data(indicator_report):
+ """Delete all IndicatorLocationData instances and generate blank IndicatorLoationData instances for given IndicatorReport instance.
+
+ Arguments:
+ indicator_report {IndicatorReport} -- IndicatorReport instance to delete its location data from
+ """
+ from indicator.models import (
+ IndicatorLocationData,
+ )
+
+ # Reset submission and status attributes
+ indicator_report.total = {'c': 0, 'd': 0, 'v': 0}
+ indicator_report.overall_status = "NoS"
+ indicator_report.report_status = "Due"
+ indicator_report.submission_date = None
+ indicator_report.save()
+
+ indicator_report.indicator_location_data.all().delete()
+ reportable = indicator_report.reportable
+
+ for location_goal in reportable.reportablelocationgoal_set.filter(is_active=True):
+ IndicatorLocationData.objects.create(
+ indicator_report=indicator_report,
+ location=location_goal.location,
+ num_disaggregation=indicator_report.disaggregations.count(),
+ level_reported=indicator_report.disaggregations.count(),
+ disaggregation_reported_on=list(indicator_report.disaggregations.values_list(
+ 'id', flat=True)),
+ disaggregation={
+ '()': {'c': 0, 'd': 0, 'v': 0}
+ },
+ )
+
+
+def reset_progress_report_data(progress_report):
+ """Reset all IndicatorReport instances for given ProgressReport instance by deletion and regenerating instances.
+
+ Arguments:
+ progress_report {ProgressReport} -- ProgressReport instance to delete its indicator reports from
+ """
+
+ # Delete all current indicator reports and their indicator location data will be deleted in cascade
+ progress_report.indicator_reports.all().delete()
+
+ pd = progress_report.programme_document
+
+ # Get Active LLO indicators only
+ reportable_queryset = pd.reportable_queryset.filter(active=True)
+
+ with transaction.atomic():
+ create_ir_and_ilds_for_pr(
+ pd,
+ reportable_queryset,
+ progress_report,
+ progress_report.start_date,
+ progress_report.end_date,
+ progress_report.due_date
+ )
diff --git a/django_api/django_api/apps/indicator/views.py b/django_api/django_api/apps/indicator/views.py
index d8984ac64..75430ea7a 100644
--- a/django_api/django_api/apps/indicator/views.py
+++ b/django_api/django_api/apps/indicator/views.py
@@ -36,6 +36,7 @@
PRP_ROLE_TYPES,
)
from core.serializers import ShortLocationSerializer
+from partner.models import PartnerProject
from unicef.models import ProgressReport
from unicef.permissions import UnicefPartnershipManagerOrRead
from utils.emails import send_email_from_template
@@ -54,6 +55,8 @@
DisaggregationListSerializer,
IndicatorReportReviewSerializer,
IndicatorReportSimpleSerializer,
+ ReportRefreshSerializer,
+ ClusterObjectiveIndicatorAdoptSerializer,
ReportableLocationGoalBaselineInNeedSerializer,
ClusterIndicatorIMOMessageSerializer,
ReportableReportingFrequencyIdSerializer,
@@ -65,8 +68,10 @@
Reportable,
IndicatorLocationData,
Disaggregation,
- ReportableLocationGoal
+ ReportableLocationGoal,
+ create_reportable_for_pp_from_co_reportable,
)
+from .utilities import reset_indicator_report_data, reset_progress_report_data
from functools import reduce
logger = logging.getLogger(__name__)
@@ -131,7 +136,11 @@ class PDReportsDetailAPIView(RetrieveAPIView):
def check_permissions(self, request):
super().check_permissions(request)
- pd_id = self.kwargs['pd_id']
+ pd_id = self.kwargs.get('pd_id', None)
+
+ if not pd_id:
+ self.permission_denied(request)
+
if not request.user.partner.programmedocument_set.filter(id=pd_id).exists():
self.permission_denied(request)
@@ -463,7 +472,11 @@ def check_permissions(self, request):
super().check_permissions(request)
pd_progress_report_id = self.kwargs.get('pd_progress_report_id')
if not request.user.prp_roles.filter(
- role__in=[PRP_ROLE_TYPES.ip_authorized_officer, PRP_ROLE_TYPES.ip_editor],
+ role__in=[
+ PRP_ROLE_TYPES.ip_authorized_officer,
+ PRP_ROLE_TYPES.ip_editor,
+ PRP_ROLE_TYPES.ip_admin,
+ ],
workspace__partner_focal_programme_documents__progress_reports__id=pd_progress_report_id
).exists():
self.permission_denied(request)
@@ -630,6 +643,7 @@ class IndicatorLocationDataUpdateAPIView(APIView):
HasAnyRole(
PRP_ROLE_TYPES.ip_authorized_officer,
PRP_ROLE_TYPES.ip_editor,
+ PRP_ROLE_TYPES.ip_admin,
PRP_ROLE_TYPES.cluster_system_admin,
PRP_ROLE_TYPES.cluster_imo,
PRP_ROLE_TYPES.cluster_member,
@@ -765,7 +779,7 @@ def post(self, request, *args, **kwargs):
)
try:
- project_name = reportable.content_object.project.title
+ project_name = reportable.content_object.projects.first().title
except Exception:
project_name = ''
@@ -828,3 +842,85 @@ def post(self, request, *args, **kwargs):
response.append({'frequency': freq, 'cs_dates': cs_dates})
return Response(response, status=status.HTTP_200_OK)
+
+
+class ReportRefreshAPIView(APIView):
+
+ permission_classes = (
+ IsAuthenticated,
+ HasAnyRole(
+ PRP_ROLE_TYPES.cluster_system_admin,
+ PRP_ROLE_TYPES.cluster_imo,
+ PRP_ROLE_TYPES.cluster_member,
+ PRP_ROLE_TYPES.ip_authorized_officer,
+ PRP_ROLE_TYPES.ip_editor,
+ ),
+ )
+
+ @transaction.atomic
+ def post(self, request, *args, **kwargs):
+ """
+ Removes all IndicatorReport instances for given ProgressReport, including underlying IndicatorLocationData instances
+ """
+ serializer = ReportRefreshSerializer(data=request.data)
+ serializer.is_valid(raise_exception=True)
+
+ if serializer.validated_data['report_type'] == 'PR':
+ report = get_object_or_404(ProgressReport, id=serializer.validated_data['report_id'])
+ target_prs = ProgressReport.objects.filter(
+ programme_document=report.programme_document,
+ report_type=report.report_type,
+ report_number__gte=report.report_number
+ )
+
+ for pr in target_prs:
+ reset_progress_report_data(pr)
+ else:
+ report = get_object_or_404(IndicatorReport, id=serializer.validated_data['report_id'])
+
+ if report.progress_report:
+ raise ValidationError("This indicator report is linked to a progress report. Use the progress report ID instead.")
+
+ reset_indicator_report_data(report)
+
+ return Response({"response": "OK"}, status=status.HTTP_200_OK)
+
+
+class ClusterObjectiveIndicatorAdoptAPIView(APIView):
+ """
+ Create a PartnerProject Reportable from ClusterObjective Reportable.
+
+ Only a IMO should be allowed to do this action.
+ """
+ permission_classes = (
+ IsAuthenticated,
+ HasAnyRole(
+ PRP_ROLE_TYPES.cluster_system_admin,
+ PRP_ROLE_TYPES.cluster_imo,
+ PRP_ROLE_TYPES.cluster_member,
+ )
+ )
+
+ @transaction.atomic
+ def post(self, request, *args, **kwargs):
+ serializer = ClusterObjectiveIndicatorAdoptSerializer(data=request.data)
+ serializer.is_valid(raise_exception=True)
+
+ co_reportable = Reportable.objects.get(id=serializer.validated_data['reportable_id'])
+ pp = PartnerProject.objects.get(id=serializer.validated_data['partner_project_id'])
+ pp_reportable = create_reportable_for_pp_from_co_reportable(pp, co_reportable)
+ pp_reportable.target = serializer.validated_data['target']
+ pp_reportable.baseline = serializer.validated_data['baseline']
+ pp_reportable.save()
+
+ for item in serializer.validated_data['locations']:
+ ReportableLocationGoal.objects.create(
+ reportable=pp_reportable,
+ location=item['location'],
+ target=item['target'],
+ baseline=item['baseline'],
+ )
+
+ result_serializer = ClusterIndicatorSerializer(instance=pp_reportable)
+
+ return Response(result_serializer.data, status=status.HTTP_200_OK)
diff --git a/django_api/django_api/apps/ocha/imports/project.py b/django_api/django_api/apps/ocha/imports/project.py
index 8558923da..46a29c5ff 100644
--- a/django_api/django_api/apps/ocha/imports/project.py
+++ b/django_api/django_api/apps/ocha/imports/project.py
@@ -5,13 +5,17 @@
from ocha.imports.serializers import V2PartnerProjectImportSerializer
from ocha.imports.utilities import get_json_from_url, save_location_list, logger, save_disaggregations
from ocha.utilities import get_dict_from_list_by_key, convert_to_json_ratio_value
-from partner.models import PartnerActivity
+from partner.models import PartnerActivity, PartnerActivityProjectContext
-def import_project_details(project, current_version_id):
- source_url = HPC_V2_ROOT_URL + 'project-version/{}/attachments'.format(current_version_id)
+def import_project_details(project, external_project_id):
+ source_url = HPC_V2_ROOT_URL + 'project/{}/attachments'.format(external_project_id)
attachments = get_json_from_url(source_url)['data']
+ if not attachments:
+ logger.warning('No project attachment V2 data found for project_id: {}. Skipping reportables and location data'.format(external_project_id))
+ return
+
reportables = []
for attachment in attachments:
@@ -25,11 +29,11 @@ def import_project_details(project, current_version_id):
external_source=EXTERNAL_DATA_SOURCES.HPC,
external_id=attachment['attachment']['id'],
defaults={
- 'title': attachment['attachment']['value']['description'],
+ 'title': attachment['attachment']['attachmentVersion']['value']['description'],
}
)
- totals = attachment['attachment']['value']['metrics']['values']['totals']
+ totals = attachment['attachment']['attachmentVersion']['value']['metrics']['values']['totals']
target = get_dict_from_list_by_key(totals, 'Target', key='name.en')['value']
in_need = get_dict_from_list_by_key(totals, 'In Need', key='name.en')['value']
@@ -50,7 +54,7 @@ def import_project_details(project, current_version_id):
)
try:
- disaggregated = attachment['attachment']['value']['metrics']['values']['disaggregated']
+ disaggregated = attachment['attachment']['attachmentVersion']['value']['metrics']['values']['disaggregated']
for disaggregation in save_disaggregations(
disaggregated.get('categories', []), response_plan=project.response_plan
):
@@ -59,26 +63,38 @@ def import_project_details(project, current_version_id):
disaggregation_id=disaggregation.id
)
- locations = save_location_list(disaggregated['locations'])
+ locations = save_location_list(disaggregated['locations'], "indicator")
for location in locations:
ReportableLocationGoal.objects.get_or_create(reportable=reportable, location=location)
except (KeyError, TypeError, AttributeError):
locations = []
if cluster_activity:
+ from indicator.models import create_pa_reportables_from_ca
partner_activity, _ = PartnerActivity.objects.update_or_create(
- project=project,
cluster_activity=cluster_activity,
defaults={
'title': cluster_activity.title,
- 'start_date': project.start_date,
- 'end_date': project.end_date,
'partner': project.partner,
}
)
- partner_activity.reportables.add(reportable)
partner_activity.locations.add(*locations)
+ project_context, created = PartnerActivityProjectContext.objects.update_or_create(
+ start_date=project.start_date,
+ end_date=project.end_date,
+ defaults={
+ 'activity': partner_activity,
+ 'project': project,
+ },
+ )
+
+ if created:
+ create_pa_reportables_from_ca(partner_activity, cluster_activity)
+
+ project.reportables.add(reportable)
+ project.locations.add(*locations)
+
reportables.append(reportable)
logger.debug('Saved {} reportables for {}'.format(
@@ -86,7 +102,7 @@ def import_project_details(project, current_version_id):
))
-def import_project(external_project_id, partner_id, response_plan=None, async=True):
+def import_project(external_project_id, partner_id, response_plan=None, asynch=True):
source_url = HPC_V2_ROOT_URL + 'project/{}'.format(external_project_id)
project_data = get_json_from_url(source_url)['data']
# Grab project details from projectVersion array of dict
@@ -111,21 +127,15 @@ def import_project(external_project_id, partner_id, response_plan=None, async=Tr
current_project_data['cluster_ids'] = list()
if 'governingEntities' in current_project_data:
for cluster in current_project_data['governingEntities']:
- if 'clusterNumber' in cluster:
- if not cluster['clusterNumber'].isdigit():
- cluster_number = int(cluster['clusterNumber'][1:])
- else:
- cluster_number = int(cluster['clusterNumber'])
-
- current_project_data['cluster'] = current_project_data['cluster_ids'].append(cluster_number)
+ current_project_data['cluster_ids'].append(cluster['id'])
serializer = V2PartnerProjectImportSerializer(data=current_project_data)
serializer.is_valid(raise_exception=True)
project = serializer.save()
from ocha.tasks import finish_partner_project_import
- (finish_partner_project_import.delay if async else finish_partner_project_import)(
- project.pk, response_plan_id=getattr(response_plan, 'id', None)
+ (finish_partner_project_import.delay if asynch else finish_partner_project_import)(
+ project.pk, external_project_id, response_plan_id=getattr(response_plan, 'id', None)
)
return project
diff --git a/django_api/django_api/apps/ocha/imports/response_plan.py b/django_api/django_api/apps/ocha/imports/response_plan.py
index 476ed04de..c74e5c477 100644
--- a/django_api/django_api/apps/ocha/imports/response_plan.py
+++ b/django_api/django_api/apps/ocha/imports/response_plan.py
@@ -8,24 +8,31 @@
save_reportables_for_cluster_objective_or_activity
-def import_response_plan(external_plan_id, workspace=None, async=True):
+def import_response_plan(external_plan_id, workspace=None, asynch=True):
logger.debug('Importing Response Plan #{}'.format(external_plan_id))
source_url = HPC_V1_ROOT_URL + 'rpm/plan/id/{}?format=json&content=entities'.format(external_plan_id)
plan_data = get_json_from_url(source_url)['data']
if workspace:
plan_data['workspace_id'] = workspace.id
+
+ plan_data['name'] = plan_data['planVersion']['name']
+ plan_data['startDate'] = plan_data['planVersion']['startDate']
+ plan_data['endDate'] = plan_data['planVersion']['endDate']
+
plan_serializer = V1ResponsePlanImportSerializer(data=plan_data)
plan_serializer.is_valid(raise_exception=True)
response_plan = plan_serializer.save()
# Do most of the work in background, otherwise it times out the request a lot
from ocha.tasks import finish_response_plan_import
- (finish_response_plan_import.delay if async else finish_response_plan_import)(external_plan_id)
+ (finish_response_plan_import.delay if asynch else finish_response_plan_import)(external_plan_id)
return response_plan
def save_activities_and_objectives_for_response_plan(entities_response={}, measurements_response={}):
+ logger.debug('Importing Activities and Objectives for Response Plan')
+
activities = []
objectives = {}
@@ -41,7 +48,7 @@ def save_activities_and_objectives_for_response_plan(entities_response={}, measu
for activity in activities:
try:
- activity_data = activity['value']['support']
+ activity_data = activity['planEntityVersion']['value']['support']
# Cameroon data is different format
# 'support': {'0': {'planEntityIds': []}}
@@ -59,8 +66,8 @@ def save_activities_and_objectives_for_response_plan(entities_response={}, measu
if len(parent_objective_ids) > 1:
logger.warning(
'Activity \n`{}` supports \n{} \nobjectives. Only 1st one will be saved.'.format(
- activity['value']['description'],
- [objectives[obj_id]['value']['description'] for obj_id in parent_objective_ids]
+ activity['planEntityVersion']['value']['description'],
+ [objectives[obj_id]['planEntityVersion']['value']['description'] for obj_id in parent_objective_ids]
)
)
parent_objective = objectives[parent_objective_ids[0]]
@@ -75,7 +82,7 @@ def save_activities_and_objectives_for_response_plan(entities_response={}, measu
external_source=EXTERNAL_DATA_SOURCES.HPC,
defaults={
'cluster_objective': cluster_objective,
- 'title': activity['value']['description'][:2048]
+ 'title': activity['planEntityVersion']['value']['description'][:2048]
}
)
diff --git a/django_api/django_api/apps/ocha/imports/serializers.py b/django_api/django_api/apps/ocha/imports/serializers.py
index 27120cbe2..3c95e3e87 100644
--- a/django_api/django_api/apps/ocha/imports/serializers.py
+++ b/django_api/django_api/apps/ocha/imports/serializers.py
@@ -72,7 +72,7 @@ class V2PartnerProjectImportSerializer(DiscardUniqueTogetherValidationMixin, ser
currentRequestedFunds = serializers.FloatField(source='total_budget', allow_null=True)
startDate = serializers.DateTimeField(source='start_date')
endDate = serializers.DateTimeField(source='end_date')
- code = serializers.CharField()
+ code = serializers.CharField(allow_null=True, allow_blank=True)
additional_information = serializers.CharField(allow_null=True, allow_blank=True)
locations = V2PartnerProjectLocationImportSerializer(many=True)
cluster_ids = serializers.ListField(child=serializers.IntegerField(), allow_null=True)
@@ -109,13 +109,16 @@ def create(self, validated_data):
validated_data['additional_information'] = ''
location_data_list = validated_data.pop('locations')
cluster_ids = validated_data.pop('cluster_ids', None)
- partner_project = PartnerProject.objects.filter(code=validated_data['code']).first()
+ partner_project = PartnerProject.objects.filter(
+ external_source=EXTERNAL_DATA_SOURCES.HPC,
+ external_id=validated_data['external_id']
+ ).first()
if partner_project:
partner_project = super(V2PartnerProjectImportSerializer, self).update(partner_project, validated_data)
else:
partner_project = super(V2PartnerProjectImportSerializer, self).create(validated_data)
- locations = save_location_list(location_data_list)
+ locations = save_location_list(location_data_list, "project")
# Add clusters
if cluster_ids:
@@ -271,7 +274,7 @@ def save_clusters(self, response_plan, clusters_data):
Cluster.objects.update_or_create(
type=CLUSTER_TYPES.imported,
- imported_type=cluster_data['name'],
+ imported_type=cluster_data['governingEntityVersion']['name'],
response_plan=response_plan,
defaults={
'external_id': cluster_data['id'],
diff --git a/django_api/django_api/apps/ocha/imports/utilities.py b/django_api/django_api/apps/ocha/imports/utilities.py
index e368e70b1..4b4209714 100644
--- a/django_api/django_api/apps/ocha/imports/utilities.py
+++ b/django_api/django_api/apps/ocha/imports/utilities.py
@@ -75,71 +75,114 @@ def retry():
return response_json
-def save_location_list(location_list, parent=None, save_children=False):
- location_ids = [l['id'] for l in location_list if 'id' in l and type(l['id']) == int]
+def save_location_list(location_list, source_type):
+ if not location_list:
+ logger.info('No locations for {}'.format(source_type))
+ return
- location_country_map = {}
- locations = []
+ if source_type == "response_plan":
+ logger.info('Saving response plan locations...')
+ id_key = 'id'
- for location_id in sorted(location_ids):
- location = Location.objects.filter(
- external_source=EXTERNAL_DATA_SOURCES.HPC,
- external_id=location_id
- ).first()
+ elif source_type == "project":
+ logger.info('Saving project locations...')
+ id_key = 'external_id'
- if not location or save_children:
- location_data = get_json_from_url(HPC_V2_ROOT_URL + 'location/{}'.format(location_id))
- if 'data' not in location_data:
- continue
+ elif source_type == "indicator":
+ logger.info('Saving indicator locations...')
+ id_key = 'name'
+
+ locations = []
+
+ for location_data in location_list:
+ if id_key == 'external_id' or id_key == 'id':
+ location = Location.objects.filter(
+ external_source=EXTERNAL_DATA_SOURCES.HPC,
+ external_id=location_data[id_key]
+ ).first()
+ else:
+ location = Location.objects.filter(
+ external_source=EXTERNAL_DATA_SOURCES.HPC,
+ title=location_data[id_key]
+ ).first()
if not location:
- country = None
- if parent:
- country = parent.gateway.country
- elif location_data['data']['adminLevel'] == 0:
+ parent_loc = None
+
+ if source_type == "indicator" and 'parent' in location_data:
+ parent_loc = Location.objects.filter(
+ external_source=EXTERNAL_DATA_SOURCES.HPC,
+ title=location_data['parent']['name']
+ ).first()
+
+ if not parent_loc:
+ logger.warning('Couldn\'t find parent location for {}, skipping: {}'.format(
+ source_type, location_data
+ ))
+ continue
+
+ elif source_type == "project" and 'parentId' in location_data:
+ parent_loc = Location.objects.filter(
+ external_source=EXTERNAL_DATA_SOURCES.HPC,
+ external_id=location_data['parentId']
+ ).first()
+
+ if not parent_loc:
+ logger.warning('Couldn\'t find parent location for {}, skipping: {}'.format(
+ source_type, location_data
+ ))
+ continue
+
+ if parent_loc:
+ country = parent_loc.gateway.country
+
+ elif 'adminLevel' in location_data \
+ and location_data['adminLevel'] == 0:
country, _ = Country.objects.update_or_create(
- country_short_code=location_data['data']['iso3'],
+ country_short_code=location_data['iso3'],
defaults={
- 'name': location_data['data']['name']
+ 'name': location_data['name']
}
)
- for child in location_data['data']['children']:
- location_country_map[child['id']] = country
- elif location_data['data']['id'] in location_country_map:
- country = location_country_map[location_data['data']['id']]
- for child in location_data['data']['children']:
- location_country_map[child['id']] = country
- elif not country:
- logger.warning('Couldn\'t find country for {}, skipping'.format(
- HPC_V2_ROOT_URL + 'location/{}'.format(location_data['data']['id'])
+
+ if not country:
+ logger.warning('Couldn\'t find country for {}, skipping: {}'.format(
+ source_type, location_data
+ ))
+ continue
+
+ if 'adminLevel' not in location_data:
+ logger.warning('Couldn\'t find gateway for {}, skipping: {}'.format(
+ source_type, location_data
))
continue
- gateway_name = '{}-Admin Level {}'.format(country.country_short_code, location_data['data']['adminLevel'])
+ gateway_name = '{}-Admin Level {}'.format(country.country_short_code, location_data['adminLevel'])
logger.debug('Saving gateway type with name {}'.format(gateway_name))
gateway, _ = GatewayType.objects.get_or_create(
country=country,
- admin_level=location_data['data']['adminLevel'],
+ admin_level=location_data['adminLevel'],
+ name=gateway_name,
)
+ loc_id = location_data['id'] if 'id' in location_data else location_data['external_id']
+ loc_name = location_data['name'] if 'name' in location_data else location_data['title']
+
location, _ = Location.objects.update_or_create(
gateway=gateway,
- title=location_data['data']['name'],
+ title=loc_name,
defaults={
'external_source': EXTERNAL_DATA_SOURCES.HPC,
- 'external_id': location_data['data']['id'],
- 'latitude': location_data['data'].get('latitude'),
- 'longitude': location_data['data'].get('longitude'),
- 'parent': parent,
+ 'external_id': loc_id,
+ 'latitude': location_data.get('latitude', None),
+ 'longitude': location_data.get('longitude', None),
+ 'parent': parent_loc,
}
)
- logger.debug('Saved location {} as {}'.format(location_data['data']['id'], location))
+ logger.debug('Saved location {} as {}'.format(loc_name, location))
locations.append(location)
- if save_children:
- save_location_list(location_data['data'].get('children', []), parent=location)
-
return locations
@@ -189,7 +232,7 @@ def save_cluster_objective(objective, child_activity=None):
external_source=EXTERNAL_DATA_SOURCES.HPC,
defaults={
'cluster': cluster,
- 'title': objective['value']['description'][:2048]
+ 'title': objective['planEntityVersion']['value']['description'][:2048]
}
)
logger.debug('Saved Cluster Objective: {}'.format(cluster_objective))
@@ -204,14 +247,14 @@ def save_reportables_for_cluster_objective_or_activity(objective_or_activity, at
if not attachment['type'] == 'indicator':
continue
- values = attachment['value']['metrics']['values']['totals']
- disaggregated = attachment['value']['metrics']['values'].get('disaggregated', {})
+ values = attachment['attachmentVersion']['value']['metrics']['values']['totals']
+ disaggregated = attachment['attachmentVersion']['value']['metrics']['values'].get('disaggregated', {})
blueprint, _ = IndicatorBlueprint.objects.update_or_create(
external_id=attachment['id'],
external_source=EXTERNAL_DATA_SOURCES.HPC,
defaults={
- 'title': attachment['value']['description'],
+ 'title': attachment['attachmentVersion']['value']['description'],
'disaggregatable': bool(disaggregated),
}
)
@@ -236,7 +279,8 @@ def save_reportables_for_cluster_objective_or_activity(objective_or_activity, at
try:
locations = save_location_list(
- attachment['value']['metrics']['values']['disaggregated']['locations']
+ attachment['attachmentVersion']['value']['metrics']['values']['disaggregated']['locations'],
+ "indicator"
)
logger.debug('Saving {} locations for {}'.format(
len(locations), reportable
diff --git a/django_api/django_api/apps/ocha/management/commands/import_projects.py b/django_api/django_api/apps/ocha/management/commands/import_projects.py
index 229967dfd..7a1559e7d 100644
--- a/django_api/django_api/apps/ocha/management/commands/import_projects.py
+++ b/django_api/django_api/apps/ocha/management/commands/import_projects.py
@@ -44,12 +44,12 @@ def handle(self, *args, **options):
response_plan = ResponsePlan.objects.filter(id=rp_id).first()
if _id:
- import_project(_id, Partner.objects.first().id, response_plan=response_plan, async=False)
+ import_project(_id, Partner.objects.first().id, response_plan=response_plan, asynch=False)
elif response_plan:
project_list = get_project_list_for_plan(response_plan.external_id)
for project in project_list:
try:
- import_project(project['id'], Partner.objects.first().id, response_plan=response_plan, async=False)
+ import_project(project['id'], Partner.objects.first().id, response_plan=response_plan, asynch=False)
except OCHAImportException:
continue
elif bulk:
@@ -60,7 +60,7 @@ def handle(self, *args, **options):
return
for project_id in range(start_id, end_id + 1):
try:
- import_project(project_id, Partner.objects.first().id, response_plan=response_plan, async=False)
+ import_project(project_id, Partner.objects.first().id, response_plan=response_plan, asynch=False)
except Exception as e:
self.stderr.write('Error getting {}: {}'.format(project_id, e))
else:
diff --git a/django_api/django_api/apps/ocha/management/commands/import_response_plans.py b/django_api/django_api/apps/ocha/management/commands/import_response_plans.py
index 4128bf88e..0e2a6309d 100644
--- a/django_api/django_api/apps/ocha/management/commands/import_response_plans.py
+++ b/django_api/django_api/apps/ocha/management/commands/import_response_plans.py
@@ -34,6 +34,6 @@ def handle(self, *args, **options):
if country:
import_plans_for_country(country)
elif _id:
- import_response_plan(_id, async=False)
+ import_response_plan(_id, asynch=False)
else:
self.stderr.write('Either country or id needs to be provided')
diff --git a/django_api/django_api/apps/ocha/samples/V1_cash_flow.json b/django_api/django_api/apps/ocha/samples/V1_cash_flow.json
index 3571efc17..8cdc55c32 100644
--- a/django_api/django_api/apps/ocha/samples/V1_cash_flow.json
+++ b/django_api/django_api/apps/ocha/samples/V1_cash_flow.json
@@ -1,136 +1,153 @@
{
- "status":"ok",
- "data":{
- "incoming":{
- "flowCount":1,
- "fundingTotal":663790,
- "pledgeTotal":0
+ "status": "ok",
+ "data": {
+ "incoming": {
+ "flowCount": 1,
+ "fundingTotal": 2614016,
+ "pledgeTotal": 0
},
- "outgoing":{
- "flowCount":0,
- "fundingTotal":0,
- "pledgeTotal":0
+ "outgoing": {
+ "flowCount": 0,
+ "fundingTotal": 0,
+ "pledgeTotal": 0
},
- "internal":{
- "flowCount":0
+ "internal": {
+ "flowCount": 0
},
- "flows":[
+ "flows": [
{
- "id":"155628",
- "versionId":1,
- "description":"Humanitarian Support",
- "status":"commitment",
- "date":"2017-03-13T00:00:00Z",
- "amountUSD":663790,
- "originalAmount":6000000,
- "originalCurrency":"SEK",
- "exchangeRate":9.039,
- "firstReportedDate":"2017-03-24T00:00:00Z",
- "budgetYear":"2017",
- "decisionDate":"2017-03-13T00:00:00Z",
- "flowType":"Standard",
- "contributionType":"financial",
- "keywords":[
- "Humanitarian aid"
+ "id": "193821",
+ "amountUSD": 2614016,
+ "budgetYear": "2019",
+ "childFlowIds": null,
+ "contributionType": "financial",
+ "createdAt": "2019-07-30T04:25:29.775Z",
+ "date": "2019-06-19T00:00:00Z",
+ "decisionDate": "2019-06-19T00:00:00Z",
+ "description": "Appui à la prise en charge médico-nutritionnelle des enfants de moins de 5 ans et des femmes enceintes et allaitantes dans la région sanitaire de N'Djamena et dans deux districts sanitaires de la région du Lac (Ngouri et Isseirom) (ECHO/-AF/BUD/2019/92036)",
+ "grandBargainEarmarkingType": [
+ "unearmarked"
],
- "method":null,
- "parentFlowId":null,
- "childFlowIds":null,
- "newMoney":true,
- "createdAt":"2017-03-24T02:25:53.872Z",
- "updatedAt":"2017-04-11T15:04:29.201Z",
- "sourceObjects":[
+ "exchangeRate": 0.899,
+ "firstReportedDate": "2019-06-19T00:00:00Z",
+ "flowType": "Standard",
+ "keywords": null,
+ "newMoney": true,
+ "originalAmount": 2350000,
+ "originalCurrency": "EUR",
+ "method": "Traditional aid",
+ "parentFlowId": 184341,
+ "status": "commitment",
+ "updatedAt": "2019-07-30T07:43:31.102Z",
+ "versionId": 2,
+ "sourceObjects": [
{
- "type":"Organization",
- "id":"2921",
- "name":"Sweden, Government of",
- "behavior":"single",
- "organizationTypes":[
- "Government"
- ],
- "organizationSubTypes":[
- "National government"
+ "type": "Organization",
+ "id": "8523",
+ "name": "European Commission's Humanitarian Aid and Civil Protection Department",
+ "behavior": "single",
+ "organizationTypes": [
+ "Inter-governmental"
]
},
{
- "type":"Location",
- "id":"216",
- "name":"Sweden",
- "behavior":"single"
- },
- {
- "type":"UsageYear",
- "id":"38",
- "name":"2017",
- "behavior":"single"
+ "type": "UsageYear",
+ "id": "40",
+ "name": "2019",
+ "behavior": "single"
}
],
- "destinationObjects":[
+ "destinationObjects": [
{
- "type":"Plan",
- "id":"532",
- "name":"Chad 2017",
- "behavior":"single"
+ "type": "Plan",
+ "id": "668",
+ "name": "Chad 2019",
+ "behavior": "single"
},
{
- "type":"Organization",
- "id":"8501",
- "name":"ACF - France",
- "behavior":"single",
- "organizationTypes":[
+ "type": "Organization",
+ "id": "1937",
+ "name": "Alliance for International Medical Action",
+ "behavior": "single",
+ "organizationTypes": [
"NGO"
],
- "organizationSubTypes":[
+ "organizationSubTypes": [
"International"
]
},
{
- "type":"Cluster",
- "id":"3347",
- "name":"Sécurité Alimentaire",
- "behavior":"single"
+ "type": "Cluster",
+ "id": "4330",
+ "name": "Eau, hygiène et assainissement",
+ "behavior": "shared"
+ },
+ {
+ "type": "Cluster",
+ "id": "4332",
+ "name": "Nutrition",
+ "behavior": "shared"
+ },
+ {
+ "type": "Cluster",
+ "id": "4334",
+ "name": "Santé",
+ "behavior": "shared"
+ },
+ {
+ "type": "GlobalCluster",
+ "id": "11",
+ "name": "Water Sanitation Hygiene",
+ "behavior": "shared"
},
{
- "type":"GlobalCluster",
- "id":"7",
- "name":"Health",
- "behavior":"single"
+ "type": "GlobalCluster",
+ "id": "9",
+ "name": "Nutrition",
+ "behavior": "shared"
},
{
- "type":"Location",
- "id":"44",
- "name":"Chad",
- "behavior":"single"
+ "type": "GlobalCluster",
+ "id": "7",
+ "name": "Health",
+ "behavior": "shared"
},
{
- "type":"Project",
- "id":"47561",
- "name":"",
- "behavior":"single",
- "code":"CHD-17/H/102256/5271"
+ "type": "Location",
+ "id": "44",
+ "name": "Chad",
+ "behavior": "single"
},
{
- "type":"UsageYear",
- "id":"38",
- "name":"2017",
- "behavior":"single"
+ "type": "Project",
+ "id": "154060",
+ "name": "Appui à la prise en charge médico-nutritionnelle des enfants de moins de 5 ans, des femmes enceintes et femmes allaitantes dans la région sanitaire de N'Djamena.",
+ "behavior": "single",
+ "code": "HTCD19-HEA;NUT;WSH-154060-1"
+ },
+ {
+ "type": "UsageYear",
+ "id": "40",
+ "name": "2019",
+ "behavior": "single"
}
],
- "boundary":"incoming",
- "onBoundary":"single",
- "reportDetails":[
+ "boundary": "incoming",
+ "onBoundary": "single",
+ "reportDetails": [
{
- "sourceType":"Primary",
- "organization":"Sweden, Government of",
- "reportChannel":"From EDRIS",
- "date":"2017-03-24T00:00:00.000Z"
+ "sourceType": "Primary",
+ "organization": "European Commission's Humanitarian Aid and Civil Protection Department",
+ "reportChannel": "From EDRIS",
+ "date": "2019-07-29T00:00:00.000Z"
}
- ]
+ ],
+ "refCode": "ECHO/-AF/BUD/2019/92036"
}
]
},
- "meta":{
- "language":"en",
- "count":1
+ "meta": {
+ "language": "en",
+ "count": 1
}
-}
+}
\ No newline at end of file
diff --git a/django_api/django_api/apps/ocha/samples/V1_response_plan.json b/django_api/django_api/apps/ocha/samples/V1_response_plan.json
index ebfa7d964..b5769dfbc 100644
--- a/django_api/django_api/apps/ocha/samples/V1_response_plan.json
+++ b/django_api/django_api/apps/ocha/samples/V1_response_plan.json
@@ -1,122 +1,881 @@
{
- "data":{
- "id":514,
- "name":"Syria regional refugee and resilience plan (3RP) 2016",
- "code":"RXSYRREG16",
- "startDate":"2016-01-01T00:00:00.000Z",
- "endDate":"2016-12-31T00:00:00.000Z",
- "attachments":[
-
- ],
- "emergencies":[
+ "data": {
+ "id": 474,
+ "revisionState": null,
+ "createdAt": "2017-01-14T00:52:55.852Z",
+ "updatedAt": "2017-02-22T17:18:25.262Z",
+ "years": [
{
- "id":600,
- "name":"Syrian Arab Republic - Civil Unrest (from 2012)"
+ "id": 37,
+ "year": "2015",
+ "createdAt": "2016-02-23T15:03:30.883Z",
+ "updatedAt": "2016-02-23T15:03:30.883Z",
+ "planYear": {
+ "id": 336,
+ "planId": 474,
+ "usageYearId": 37,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.484Z",
+ "updatedAt": "2017-01-14T00:53:19.484Z",
+ "deletedAt": null
+ }
}
],
- "years":[
+ "locations": [
{
- "id":36,
- "year":"2016"
- }
- ],
- "locations":[
+ "id": 137,
+ "externalId": "317",
+ "name": "Mali",
+ "adminLevel": 0,
+ "latitude": 17.346406269504,
+ "longitude": -3.52505158123,
+ "iso3": "MLI",
+ "pcode": "ML",
+ "validOn": "1428451200000",
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:10.695Z",
+ "updatedAt": "2018-10-28T00:17:50.158Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 166,
+ "planId": 474,
+ "locationId": 137,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.483Z",
+ "updatedAt": "2017-01-14T00:53:19.483Z",
+ "deletedAt": null
+ }
+ },
+ {
+ "id": 162,
+ "externalId": "342",
+ "name": "Niger",
+ "adminLevel": 0,
+ "latitude": 17.424635582047,
+ "longitude": 9.397470038441,
+ "iso3": "NER",
+ "pcode": "NE",
+ "validOn": "1438214400000",
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:10.850Z",
+ "updatedAt": "2018-10-28T00:18:52.361Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 167,
+ "planId": 474,
+ "locationId": 162,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.483Z",
+ "updatedAt": "2017-01-14T00:53:19.483Z",
+ "deletedAt": null
+ }
+ },
+ {
+ "id": 163,
+ "externalId": "343",
+ "name": "Nigeria",
+ "adminLevel": 0,
+ "latitude": 9.58605,
+ "longitude": 8.09237,
+ "iso3": "NGA",
+ "pcode": "NG",
+ "validOn": "1481760000000",
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:10.859Z",
+ "updatedAt": "2018-10-28T00:38:29.883Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 168,
+ "planId": 474,
+ "locationId": 163,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.483Z",
+ "updatedAt": "2017-01-14T00:53:19.483Z",
+ "deletedAt": null
+ }
+ },
+ {
+ "id": 197,
+ "externalId": "377",
+ "name": "Senegal",
+ "adminLevel": 0,
+ "latitude": 14.357105415817,
+ "longitude": -14.478016900236,
+ "iso3": "SEN",
+ "pcode": "SN",
+ "validOn": "1450396800000",
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:11.063Z",
+ "updatedAt": "2018-08-12T00:07:36.228Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 169,
+ "planId": 474,
+ "locationId": 197,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.483Z",
+ "updatedAt": "2017-01-14T00:53:19.483Z",
+ "deletedAt": null
+ }
+ },
{
- "id":114,
- "iso3":"JOR",
- "name":"Jordan",
- "adminLevel":0
+ "id": 36,
+ "externalId": "216",
+ "name": "Burkina Faso",
+ "adminLevel": 0,
+ "latitude": 12.277901441039,
+ "longitude": -1.738649342928,
+ "iso3": "BFA",
+ "pcode": "BF",
+ "validOn": "1422921600000",
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:09.601Z",
+ "updatedAt": "2018-08-12T00:11:43.969Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 170,
+ "planId": 474,
+ "locationId": 36,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.483Z",
+ "updatedAt": "2017-01-14T00:53:19.483Z",
+ "deletedAt": null
+ }
},
{
- "id":106,
- "iso3":"IRQ",
- "name":"Iraq",
- "adminLevel":0
+ "id": 44,
+ "externalId": "224",
+ "name": "Chad",
+ "adminLevel": 0,
+ "latitude": 15.357404949384,
+ "longitude": 18.663995559345,
+ "iso3": "TCD",
+ "pcode": "TD",
+ "validOn": "1462752000000",
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:09.701Z",
+ "updatedAt": "2018-10-28T00:06:37.398Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 171,
+ "planId": 474,
+ "locationId": 44,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.483Z",
+ "updatedAt": "2017-01-14T00:53:19.483Z",
+ "deletedAt": null
+ }
},
{
- "id":229,
- "iso3":"TUR",
- "name":"Turkey",
- "adminLevel":0
+ "id": 81,
+ "externalId": "261",
+ "name": "Gambia",
+ "adminLevel": 0,
+ "latitude": 13.444703278968,
+ "longitude": -15.447184015638,
+ "iso3": "GMB",
+ "pcode": null,
+ "validOn": null,
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:10.058Z",
+ "updatedAt": "2017-06-21T00:22:37.029Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 172,
+ "planId": 474,
+ "locationId": 81,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.483Z",
+ "updatedAt": "2017-01-14T00:53:19.483Z",
+ "deletedAt": null
+ }
},
{
- "id":66,
- "iso3":"EGY",
- "name":"Egypt",
- "adminLevel":0
+ "id": 141,
+ "externalId": "321",
+ "name": "Mauritania",
+ "adminLevel": 0,
+ "latitude": 20.257804287776,
+ "longitude": -10.330102746255,
+ "iso3": "MRT",
+ "pcode": "MR",
+ "validOn": "1434585600000",
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:10.728Z",
+ "updatedAt": "2018-08-12T00:10:58.579Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 173,
+ "planId": 474,
+ "locationId": 141,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.483Z",
+ "updatedAt": "2017-01-14T00:53:19.483Z",
+ "deletedAt": null
+ }
},
{
- "id":124,
- "iso3":"LBN",
- "name":"Lebanon",
- "adminLevel":0
+ "id": 39,
+ "externalId": "1",
+ "name": "Cameroon",
+ "adminLevel": 0,
+ "latitude": 5.6803683098,
+ "longitude": 12.740688366243,
+ "iso3": "CMR",
+ "pcode": "CM",
+ "validOn": "1546560000000",
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:09.655Z",
+ "updatedAt": "2019-02-13T17:09:42.129Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 174,
+ "planId": 474,
+ "locationId": 39,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:19.483Z",
+ "updatedAt": "2017-01-14T00:53:19.483Z",
+ "deletedAt": null
+ }
}
],
- "categories":[
+ "emergencies": [
{
- "id":111,
- "name":"Regional response plan",
- "group":"planType",
- "code":null
+ "id": 615,
+ "name": "Sahel 2014-2016",
+ "description": "",
+ "date": "2014-01-01T00:00:00.000Z",
+ "glideId": null,
+ "levelThree": false,
+ "active": true,
+ "restricted": false,
+ "createdAt": "2017-01-14T00:52:10.284Z",
+ "updatedAt": "2017-01-14T00:52:10.284Z",
+ "planEmergency": {
+ "createdAt": "2017-01-14T00:53:19.482Z",
+ "updatedAt": "2017-01-14T00:53:19.482Z",
+ "planId": 474,
+ "emergencyId": 615
+ }
}
],
- "planEntities":[
-
+ "categories": [
+ {
+ "id": 4,
+ "name": "Humanitarian response plan",
+ "description": null,
+ "parentID": null,
+ "code": null,
+ "group": "planType",
+ "includeTotals": true,
+ "createdAt": "2015-11-12T23:03:39.934Z",
+ "updatedAt": "2017-01-17T09:41:11.055Z",
+ "categoryRef": {
+ "objectID": 474,
+ "versionID": 1,
+ "objectType": "plan",
+ "categoryID": 4,
+ "createdAt": "2017-01-17T10:19:09.677Z",
+ "updatedAt": "2017-01-17T10:19:09.677Z"
+ }
+ }
],
- "governingEntities":[
- {
- "id":3471,
- "name":"Multi-sector refugees",
- "customReference":"3471",
- "value":{
- "description":null,
- "icon":null,
- "categories":[
-
- ]
- },
- "planId":514,
- "entityPrototype":{
- "id":1897,
- "refCode":"CL",
- "type":"GVE",
- "value":{
- "name":{
- "en":{
- "singular":"Cluster",
- "plural":"Clusters"
+ "planVersion": {
+ "id": 1049,
+ "planId": 474,
+ "name": "Sahel Regional 2015",
+ "startDate": "2015-01-01T00:00:00.000Z",
+ "endDate": "2015-12-31T00:00:00.000Z",
+ "comments": null,
+ "isForHPCProjects": false,
+ "code": "HXSHL15",
+ "customLocationCode": null,
+ "currentReportingPeriodId": null,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:52:55.852Z",
+ "updatedAt": "2017-02-22T17:18:25.262Z"
+ },
+ "monitoringPeriods": [],
+ "attachments": [],
+ "planEntities": [],
+ "governingEntities": [
+ {
+ "id": 2974,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 7573,
+ "name": "HEALTH",
+ "customReference": "2974",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2974"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2974"
+ },
+ {
+ "id": 2982,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 7555,
+ "name": "MULTI-SECTOR FOR REFUGEES",
+ "customReference": "2982",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2982"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2982"
+ },
+ {
+ "id": 2977,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 7554,
+ "name": "EARLY RECOVERY",
+ "customReference": "2977",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2977"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2977"
+ },
+ {
+ "id": 2972,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 7553,
+ "name": "EDUCATION",
+ "customReference": "2972",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2972"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2972"
+ },
+ {
+ "id": 2980,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 7529,
+ "name": "LOGISTICS",
+ "customReference": "2980",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2980"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2980"
+ },
+ {
+ "id": 2976,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 7503,
+ "name": "PROTECTION",
+ "customReference": "2976",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2976"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
}
},
- "possibleChildren":[
+ "possibleChildren": [
{
- "refCode":"CO",
- "cardinality":"0-N",
- "id":1899
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
},
{
- "refCode":"CA",
- "cardinality":"0-N",
- "id":1900
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
}
]
},
- "orderNumber":1
+ "orderNumber": 1
},
- "attachments":[
-
- ],
- "clusterNumber":"3471",
- "composedReference":"CL3471"
+ "attachments": [],
+ "composedReference": "CL2976"
+ },
+ {
+ "id": 2983,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 7484,
+ "name": "WATER AND SANITATION",
+ "customReference": "2983",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2983"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2983"
+ },
+ {
+ "id": 2978,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 7483,
+ "name": "COORDINATION AND SUPPORT SERVICES",
+ "customReference": "2978",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2978"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2978"
+ },
+ {
+ "id": 2979,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 3528,
+ "name": "FOOD SECURITY",
+ "customReference": "2979",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2979"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2979"
+ },
+ {
+ "id": 2975,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 3482,
+ "name": "NUTRITION",
+ "customReference": "2975",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2975"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2975"
+ },
+ {
+ "id": 2981,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 3458,
+ "name": "EMERGENCY TELECOMMUNICATION",
+ "customReference": "2981",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2981"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2981"
+ },
+ {
+ "id": 2973,
+ "planId": 474,
+ "governingEntityVersion": {
+ "id": 3436,
+ "name": "EMERGENCY SHELTER AND NFI",
+ "customReference": "2973",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "2973"
+ },
+ "entityPrototype": {
+ "id": 1841,
+ "refCode": "CL",
+ "type": "GVE",
+ "value": {
+ "name": {
+ "en": {
+ "singular": "Cluster",
+ "plural": "Clusters"
+ }
+ },
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1843
+ },
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1844
+ }
+ ]
+ },
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL2973"
}
],
- "monitoringPeriods":[
-
- ],
- "origRequirements":4552032036,
- "revisedRequirements":4539342335,
- "meta":{
- "language":"en"
+ "origRequirements": 10336405,
+ "revisedRequirements": 10336405,
+ "meta": {
+ "language": "en"
}
},
- "status":"ok"
-}
+ "status": "ok"
+}
\ No newline at end of file
diff --git a/django_api/django_api/apps/ocha/samples/V1_response_plan_single_country.json b/django_api/django_api/apps/ocha/samples/V1_response_plan_single_country.json
index 39e73980f..01906d4ff 100644
--- a/django_api/django_api/apps/ocha/samples/V1_response_plan_single_country.json
+++ b/django_api/django_api/apps/ocha/samples/V1_response_plan_single_country.json
@@ -1,47 +1,124 @@
{
"data": {
- "id": 504,
- "name": "occupied Palestinian territory 2016",
- "code": "HPSE16",
- "startDate": "2016-01-01T00:00:00.000Z",
- "endDate": "2016-12-31T00:00:00.000Z",
- "attachments": [],
- "emergencies": [],
+ "id": 402,
+ "revisionState": null,
+ "createdAt": "2017-01-14T00:52:55.645Z",
+ "updatedAt": "2017-02-22T17:18:23.635Z",
"years": [
{
- "id": 36,
- "year": "2016"
+ "id": 35,
+ "year": "2013",
+ "createdAt": "2016-02-23T15:03:30.875Z",
+ "updatedAt": "2016-02-23T15:03:30.875Z",
+ "planYear": {
+ "id": 319,
+ "planId": 402,
+ "usageYearId": 35,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:18.806Z",
+ "updatedAt": "2017-01-14T00:53:18.806Z",
+ "deletedAt": null
+ }
}
],
"locations": [
{
- "id": 171,
- "iso3": "PSE",
- "name": "occupied Palestinian territory",
- "adminLevel": 0
+ "id": 44,
+ "externalId": "224",
+ "name": "Chad",
+ "adminLevel": 0,
+ "latitude": 15.357404949384,
+ "longitude": 18.663995559345,
+ "iso3": "TCD",
+ "pcode": "TD",
+ "validOn": "1462752000000",
+ "status": "active",
+ "createdAt": "2015-09-10T20:25:09.701Z",
+ "updatedAt": "2018-10-28T00:06:37.398Z",
+ "parentId": null,
+ "planLocation": {
+ "id": 142,
+ "planId": 402,
+ "locationId": 44,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:53:18.794Z",
+ "updatedAt": "2017-01-14T00:53:18.794Z",
+ "deletedAt": null
+ }
}
],
+ "emergencies": [],
"categories": [
{
- "id": 4,
- "name": "Humanitarian response plan",
+ "id": 110,
+ "name": "CAP",
+ "description": null,
+ "parentID": null,
+ "code": null,
"group": "planType",
- "code": null
+ "includeTotals": true,
+ "createdAt": "2017-01-13T22:18:01.773Z",
+ "updatedAt": "2017-01-17T09:41:10.839Z",
+ "categoryRef": {
+ "objectID": 402,
+ "versionID": 1,
+ "objectType": "plan",
+ "categoryID": 110,
+ "createdAt": "2017-01-14T00:53:18.811Z",
+ "updatedAt": "2017-01-14T00:53:18.811Z"
+ }
}
],
+ "planVersion": {
+ "id": 434,
+ "planId": 402,
+ "name": "Chad 2013",
+ "startDate": "2013-01-01T00:00:00.000Z",
+ "endDate": "2013-12-31T00:00:00.000Z",
+ "comments": null,
+ "isForHPCProjects": false,
+ "code": "CTCD13",
+ "customLocationCode": null,
+ "currentReportingPeriodId": null,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2017-01-14T00:52:55.645Z",
+ "updatedAt": "2017-02-22T17:18:23.635Z"
+ },
+ "monitoringPeriods": [],
+ "attachments": [],
+ "planEntities": [],
"governingEntities": [
{
- "id": 3226,
- "name": "Cluster not yet specified",
- "customReference": "3226",
- "value": {
- "description": null,
- "icon": null,
- "categories": []
+ "id": 1296,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 5585,
+ "name": "EARLY RECOVERY",
+ "customReference": "1296",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "1296"
},
- "planId": 504,
"entityPrototype": {
- "id": 9,
+ "id": 1777,
"refCode": "CL",
"type": "GVE",
"value": {
@@ -55,33 +132,36 @@
{
"refCode": "CO",
"cardinality": "0-N",
- "id": 11
+ "id": 1779
},
{
"refCode": "CA",
"cardinality": "0-N",
- "id": 12
+ "id": 1780
}
]
},
"orderNumber": 1
},
"attachments": [],
- "clusterNumber": "3226",
- "composedReference": "CL3226"
+ "composedReference": "CL1296"
},
{
- "id": 3223,
- "name": "Protection",
- "customReference": "PRO",
- "value": {
- "description": null,
- "icon": "clusters_protection_icon",
- "categories": []
+ "id": 1297,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 5563,
+ "name": "CLUSTER NOT YET SPECIFIED",
+ "customReference": "1297",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "1297"
},
- "planId": 504,
"entityPrototype": {
- "id": 9,
+ "id": 1777,
"refCode": "CL",
"type": "GVE",
"value": {
@@ -95,87 +175,36 @@
{
"refCode": "CO",
"cardinality": "0-N",
- "id": 11
+ "id": 1779
},
{
"refCode": "CA",
"cardinality": "0-N",
- "id": 12
+ "id": 1780
}
]
},
"orderNumber": 1
},
- "attachments": [
- {
- "id": 147,
- "customReference": "3223",
- "type": "contact",
- "value": {
- "leadAgency": "OHCHR",
- "contactName": "Natalie Grove",
- "contactEmail": "ngrove@ohchr.org"
- },
- "attachmentPrototype": {
- "id": 2,
- "refCode": "CT",
- "type": "contact",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 3,
- "name": {
- "en": "Contact"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLPRO/CT3223"
- },
- {
- "id": 146,
- "customReference": "6",
- "type": "cost",
- "value": {
- "cost": 46000000,
- "customId": null
- },
- "attachmentPrototype": {
- "id": 3,
- "refCode": "CS",
- "type": "cost",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 1,
- "name": {
- "en": "Cost"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLPRO/CS6"
- }
- ],
- "clusterNumber": "PRO",
- "composedReference": "CLPRO"
+ "attachments": [],
+ "composedReference": "CL1297"
},
{
- "id": 3225,
- "name": "WASH",
- "customReference": "WSH",
- "value": {
- "description": null,
- "icon": "clusters_water_sanitation_and_hygiene_icon",
- "categories": []
+ "id": 1287,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 5561,
+ "name": "FOOD SECURITY",
+ "customReference": "1287",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "1287"
},
- "planId": 504,
"entityPrototype": {
- "id": 9,
+ "id": 1777,
"refCode": "CL",
"type": "GVE",
"value": {
@@ -189,87 +218,36 @@
{
"refCode": "CO",
"cardinality": "0-N",
- "id": 11
+ "id": 1779
},
{
"refCode": "CA",
"cardinality": "0-N",
- "id": 12
+ "id": 1780
}
]
},
"orderNumber": 1
},
- "attachments": [
- {
- "id": 150,
- "customReference": "9",
- "type": "cost",
- "value": {
- "cost": 30000000,
- "customId": null
- },
- "attachmentPrototype": {
- "id": 3,
- "refCode": "CS",
- "type": "cost",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 1,
- "name": {
- "en": "Cost"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLWSH/CS9"
- },
- {
- "id": 151,
- "customReference": "3225",
- "type": "contact",
- "value": {
- "leadAgency": "UNICEF",
- "contactName": "Ali Khatib",
- "contactEmail": "akhatib@unicef.org"
- },
- "attachmentPrototype": {
- "id": 2,
- "refCode": "CT",
- "type": "contact",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 3,
- "name": {
- "en": "Contact"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLWSH/CT3225"
- }
- ],
- "clusterNumber": "WSH",
- "composedReference": "CLWSH"
+ "attachments": [],
+ "composedReference": "CL1287"
},
{
- "id": 3224,
- "name": "Shelterr NFIs",
- "customReference": "SHL",
- "value": {
- "description": null,
- "icon": "clusters_camp_coordination_and_camp_management_icon",
- "categories": []
+ "id": 1298,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 5543,
+ "name": "LOGISTICS",
+ "customReference": "1298",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "1298"
},
- "planId": 504,
"entityPrototype": {
- "id": 9,
+ "id": 1777,
"refCode": "CL",
"type": "GVE",
"value": {
@@ -283,87 +261,36 @@
{
"refCode": "CO",
"cardinality": "0-N",
- "id": 11
+ "id": 1779
},
{
"refCode": "CA",
"cardinality": "0-N",
- "id": 12
+ "id": 1780
}
]
},
"orderNumber": 1
},
- "attachments": [
- {
- "id": 148,
- "customReference": "8",
- "type": "cost",
- "value": {
- "cost": 112000000,
- "customId": null
- },
- "attachmentPrototype": {
- "id": 3,
- "refCode": "CS",
- "type": "cost",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 1,
- "name": {
- "en": "Cost"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLSHL/CS8"
- },
- {
- "id": 149,
- "customReference": "3224",
- "type": "contact",
- "value": {
- "leadAgency": "NRC",
- "contactName": "Fiona Kelling",
- "contactEmail": "coord1.palestine@sheltercluster.org"
- },
- "attachmentPrototype": {
- "id": 2,
- "refCode": "CT",
- "type": "contact",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 3,
- "name": {
- "en": "Contact"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLSHL/CT3224"
- }
- ],
- "clusterNumber": "SHL",
- "composedReference": "CLSHL"
+ "attachments": [],
+ "composedReference": "CL1298"
},
{
- "id": 3222,
- "name": "Health and Nutrition",
- "customReference": "HLN",
- "value": {
- "description": null,
- "icon": "clusters_health_icon",
- "categories": []
+ "id": 1288,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 5541,
+ "name": "COORDINATION AND SUPPORT SERVICES",
+ "customReference": "1288",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "1288"
},
- "planId": 504,
"entityPrototype": {
- "id": 9,
+ "id": 1777,
"refCode": "CL",
"type": "GVE",
"value": {
@@ -377,87 +304,36 @@
{
"refCode": "CO",
"cardinality": "0-N",
- "id": 11
+ "id": 1779
},
{
"refCode": "CA",
"cardinality": "0-N",
- "id": 12
+ "id": 1780
}
]
},
"orderNumber": 1
},
- "attachments": [
- {
- "id": 145,
- "customReference": "3222",
- "type": "contact",
- "value": {
- "leadAgency": "WHO",
- "contactName": "Yousef Muhaisen",
- "contactEmail": "muhaiseny@who.int"
- },
- "attachmentPrototype": {
- "id": 2,
- "refCode": "CT",
- "type": "contact",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 3,
- "name": {
- "en": "Contact"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLHLN/CT3222"
- },
- {
- "id": 144,
- "customReference": "10",
- "type": "cost",
- "value": {
- "cost": 26000000,
- "customId": null
- },
- "attachmentPrototype": {
- "id": 3,
- "refCode": "CS",
- "type": "cost",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 1,
- "name": {
- "en": "Cost"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLHLN/CS10"
- }
- ],
- "clusterNumber": "HLN",
- "composedReference": "CLHLN"
+ "attachments": [],
+ "composedReference": "CL1288"
},
{
- "id": 3221,
- "name": "Food Security",
- "customReference": "FSC",
- "value": {
- "description": null,
- "icon": "clusters_food_security_icon",
- "categories": []
+ "id": 1291,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 5473,
+ "name": "MULTI-SECTOR ACTIVITIES FOR REFUGEES",
+ "customReference": "1291",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "1291"
},
- "planId": 504,
"entityPrototype": {
- "id": 9,
+ "id": 1777,
"refCode": "CL",
"type": "GVE",
"value": {
@@ -471,87 +347,36 @@
{
"refCode": "CO",
"cardinality": "0-N",
- "id": 11
+ "id": 1779
},
{
"refCode": "CA",
"cardinality": "0-N",
- "id": 12
+ "id": 1780
}
]
},
"orderNumber": 1
},
- "attachments": [
- {
- "id": 143,
- "customReference": "3221",
- "type": "contact",
- "value": {
- "leadAgency": "FAO & WFP",
- "contactName": "Marco Ferloni",
- "contactEmail": "marco.ferloni@fscluster.org"
- },
- "attachmentPrototype": {
- "id": 2,
- "refCode": "CT",
- "type": "contact",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 3,
- "name": {
- "en": "Contact"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLFSC/CT3221"
- },
- {
- "id": 142,
- "customReference": "7",
- "type": "cost",
- "value": {
- "cost": 322000000,
- "customId": null
- },
- "attachmentPrototype": {
- "id": 3,
- "refCode": "CS",
- "type": "cost",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 1,
- "name": {
- "en": "Cost"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLFSC/CS7"
- }
- ],
- "clusterNumber": "FSC",
- "composedReference": "CLFSC"
+ "attachments": [],
+ "composedReference": "CL1291"
},
{
- "id": 3220,
- "name": "Education",
- "customReference": "EDU",
- "value": {
- "description": null,
- "icon": "clusters_education_icon",
- "categories": []
+ "id": 1290,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 5446,
+ "name": "HEALTH",
+ "customReference": "1290",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "1290"
},
- "planId": 504,
"entityPrototype": {
- "id": 9,
+ "id": 1777,
"refCode": "CL",
"type": "GVE",
"value": {
@@ -565,87 +390,36 @@
{
"refCode": "CO",
"cardinality": "0-N",
- "id": 11
+ "id": 1779
},
{
"refCode": "CA",
"cardinality": "0-N",
- "id": 12
+ "id": 1780
}
]
},
"orderNumber": 1
},
- "attachments": [
- {
- "id": 140,
- "customReference": "11",
- "type": "cost",
- "value": {
- "cost": 18000000,
- "customId": null
- },
- "attachmentPrototype": {
- "id": 3,
- "refCode": "CS",
- "type": "cost",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 1,
- "name": {
- "en": "Cost"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLEDU/CS11"
- },
- {
- "id": 141,
- "customReference": "3220",
- "type": "contact",
- "value": {
- "leadAgency": "UNICEF",
- "contactName": "Maida Pasic",
- "contactEmail": "mpasic@unicef.org"
- },
- "attachmentPrototype": {
- "id": 2,
- "refCode": "CT",
- "type": "contact",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 3,
- "name": {
- "en": "Contact"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLEDU/CT3220"
- }
- ],
- "clusterNumber": "EDU",
- "composedReference": "CLEDU"
+ "attachments": [],
+ "composedReference": "CL1290"
},
{
- "id": 3219,
- "name": "Coordination and Support Services",
- "customReference": "CSS",
- "value": {
- "description": null,
- "icon": "other_clusters_coordination_icon",
- "categories": []
+ "id": 1292,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 1516,
+ "name": "NUTRITION",
+ "customReference": "1292",
+ "value": {
+ "description": null,
+ "icon": null,
+ "categories": []
+ },
+ "clusterNumber": "1292"
},
- "planId": 504,
"entityPrototype": {
- "id": 9,
+ "id": 1777,
"refCode": "CL",
"type": "GVE",
"value": {
@@ -659,89850 +433,198 @@
{
"refCode": "CO",
"cardinality": "0-N",
- "id": 11
+ "id": 1779
},
{
"refCode": "CA",
"cardinality": "0-N",
- "id": 12
+ "id": 1780
}
]
},
"orderNumber": 1
},
- "attachments": [
- {
- "id": 139,
- "customReference": "3219",
- "type": "contact",
- "value": {
- "leadAgency": "OCHA",
- "contactName": "David Carden",
- "contactEmail": "carden@un.org"
- },
- "attachmentPrototype": {
- "id": 2,
- "refCode": "CT",
- "type": "contact",
- "value": {
- "hasMeasures": 0,
- "min": 1,
- "max": 3,
- "name": {
- "en": "Contact"
- },
- "entities": [
- "CL"
- ]
- }
- },
- "composedReference": "CLCSS/CT3219"
- }
- ],
- "clusterNumber": "CSS",
- "composedReference": "CLCSS"
- }
- ],
- "planEntities": [
- {
- "id": 80,
- "customReference": "8",
- "value": {
- "categories": [],
- "description": "Strategically use HPF in a timely manner to support humanitarian action",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 130,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "% of pooled funding resources directed to HRP top priority projects",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 71
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 85
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA8/IN1"
- },
- {
- "id": 131,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "% of HPF funds allocated to national partners or to projects in partnership with a national partner",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 59
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 75
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA8/IN2"
- }
- ],
- "parentId": 3219,
- "composedReference": "CLCSS/CA8"
+ "attachments": [],
+ "composedReference": "CL1292"
},
{
- "id": 81,
- "customReference": "9",
- "value": {
- "categories": [],
- "description": "Strengthen advocacy and communication policy",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
+ "id": 1293,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 1496,
+ "name": "PROTECTION",
+ "customReference": "1293",
"value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 132,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of HCT advocacy Working group meetings",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 12
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 12
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA9/IN1"
+ "description": null,
+ "icon": null,
+ "categories": []
},
- {
- "id": 133,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of joint or coordinated HCT advocacy events",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 11
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 8
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA9/IN2"
- }
- ],
- "parentId": 3219,
- "composedReference": "CLCSS/CA9"
- },
- {
- "id": 82,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "HCT takes decisions to improve humanitarian assistance in oPt",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
+ "clusterNumber": "1293"
},
- "planId": 504,
"entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
+ "id": 1777,
+ "refCode": "CL",
+ "type": "GVE",
"value": {
"name": {
"en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
+ "singular": "Cluster",
+ "plural": "Clusters"
}
},
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 119,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Cluster leads in HCT report against progress in cluster HRP targets",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 2
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 4
- }
- ]
- }
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1779
},
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1780
}
- },
- "composedReference": "CLCSS/CA1/IN1"
+ ]
},
- {
- "id": 120,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "% of HCT decisions implemented by HCT and clusters",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 80
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 90
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA1/IN2"
- }
- ],
- "parentId": 3219,
- "composedReference": "CLCSS/CA1"
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL1293"
},
{
- "id": 83,
- "customReference": "2",
- "value": {
- "categories": [],
- "description": "Ensure the cluster coordination architecture is fit for purpose and implement the findings of past reviews",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
+ "id": 1294,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 1474,
+ "name": "SHELTER AND NON-FOOD ITEMS",
+ "customReference": "1294",
"value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
+ "description": null,
+ "icon": null,
+ "categories": []
},
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 121,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Clusters transition plans developed",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 2
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 4
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA2/IN1"
- }
- ],
- "parentId": 3219,
- "composedReference": "CLCSS/CA2"
- },
- {
- "id": 84,
- "customReference": "3",
- "value": {
- "categories": [],
- "description": "Timely production of humanitarian analytical products that support strategic response planning and HCT advocacy, including the HNO",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
+ "clusterNumber": "1294"
},
- "planId": 504,
"entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
+ "id": 1777,
+ "refCode": "CL",
+ "type": "GVE",
"value": {
"name": {
"en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
+ "singular": "Cluster",
+ "plural": "Clusters"
}
},
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 122,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Frequency of updates on geographic and thematic humanitarian snapshots produced, on country-wide dashboards and snapshots; other relevant analysis",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ]
- }
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1779
},
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1780
}
- },
- "composedReference": "CLCSS/CA3/IN1"
+ ]
},
- {
- "id": 123,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "Humanitarian profile updated for oPT (including cluster specific gender data and needs analysis)",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA3/IN2"
- }
- ],
- "parentId": 3219,
- "composedReference": "CLCSS/CA3"
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL1294"
},
{
- "id": 85,
- "customReference": "4",
- "value": {
- "categories": [],
- "description": "Regular monitoring by clusters on progress against HRP agreed objectives and indicators",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
+ "id": 1289,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 1473,
+ "name": "EDUCATION",
+ "customReference": "1289",
"value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
+ "description": null,
+ "icon": null,
+ "categories": []
},
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 124,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Frequency clusters report on progress towards sector objectives/targets using established monitoring framework",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA4/IN1"
- }
- ],
- "parentId": 3219,
- "composedReference": "CLCSS/CA4"
- },
- {
- "id": 86,
- "customReference": "5",
- "value": {
- "categories": [],
- "description": "Ensure further gender mainstreaming in the HRP",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
+ "clusterNumber": "1289"
},
- "planId": 504,
"entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
+ "id": 1777,
+ "refCode": "CL",
+ "type": "GVE",
"value": {
"name": {
"en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
+ "singular": "Cluster",
+ "plural": "Clusters"
}
},
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 125,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "% of total budget of funded projects that have the gender marker code 2B (principal objective)",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0.4
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 2
- }
- ]
- }
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1779
},
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1780
}
- },
- "composedReference": "CLCSS/CA5/IN1"
+ ]
},
- {
- "id": 126,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "% of number of HRP gender focused projects disaggregated by 2a and 2B",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 64
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 75
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA5/IN2"
- }
- ],
- "parentId": 3219,
- "composedReference": "CLCSS/CA5"
+ "orderNumber": 1
+ },
+ "attachments": [],
+ "composedReference": "CL1289"
},
{
- "id": 87,
- "customReference": "6",
- "value": {
- "categories": [],
- "description": "Establishing inter-cluster and cluster specific preparedness and response standards",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
+ "id": 1295,
+ "planId": 402,
+ "governingEntityVersion": {
+ "id": 1401,
+ "name": "WATER AND SANITATION",
+ "customReference": "1295",
"value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
+ "description": null,
+ "icon": null,
+ "categories": []
},
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 127,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "cluster winter and contingency plans are in place",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA6/IN1"
- }
- ],
- "parentId": 3219,
- "composedReference": "CLCSS/CA6"
- },
- {
- "id": 88,
- "customReference": "7",
- "value": {
- "categories": [],
- "description": "Strengthen preparedness measures within existing coordination mechanisms and stockpile to ensure needs arising from sudden emergencies are addressed in a timely and predictable manner",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
+ "clusterNumber": "1295"
},
- "planId": 504,
"entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
+ "id": 1777,
+ "refCode": "CL",
+ "type": "GVE",
"value": {
"name": {
"en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
+ "singular": "Cluster",
+ "plural": "Clusters"
}
},
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 128,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Frequency of oPT IACP and stockpiling matrix updated",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ]
- }
+ "possibleChildren": [
+ {
+ "refCode": "CO",
+ "cardinality": "0-N",
+ "id": 1779
},
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
+ {
+ "refCode": "CA",
+ "cardinality": "0-N",
+ "id": 1780
}
- },
- "composedReference": "CLCSS/CA7/IN1"
+ ]
},
- {
- "id": 129,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "Frequency of HCT emergency simulations",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "comments": "Baseline: once every 2 years, Target: once a year"
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLCSS/CA7/IN2"
- }
- ],
- "parentId": 3219,
- "composedReference": "CLCSS/CA7"
- },
- {
- "id": 89,
- "customReference": "3",
- "value": {
- "categories": [],
- "description": "Provide material support (e.g. reinforced walls, security cameras) and accessible school rehabilitation (including provision of caravans) in areas vulnerable to attack, displacement and where the PA is restricted from maintaining, expanding and/or constructing educational facilities",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 110,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Number of schools provided with rehabilitation services, caravans or other material support",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1342
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 659,
- null,
- null,
- 574,
- null,
- null,
- 45,
- null,
- null,
- 64,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA3/IN1"
- }
- ],
- "parentId": 3220,
- "composedReference": "CLEDU/CA3"
- },
- {
- "id": 90,
- "customReference": "8",
- "value": {
- "categories": [],
- "description": "Provide school-based psychosocial support (including extra-curricular and recreational activities) to students and school staff, including capacity building and awareness raising for caregivers and school staff",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 117,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "No of students and school staff benefiting from psychosocial support services",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 275165
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 134079,
- null,
- null,
- 118686,
- null,
- null,
- 7821,
- null,
- null,
- 14579,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA8/IN1"
- }
- ],
- "parentId": 3220,
- "composedReference": "CLEDU/CA8"
- },
- {
- "id": 91,
- "customReference": "4",
- "value": {
- "categories": [],
- "description": "Ensure basic educational services are available and accessible to unserved/ underserved communities in Gaza through school rehabilitation and additional learning spaces, the provision of essential educational supplies (including fuel), and support for winterization materials.",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 111,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Number of children benefiting from school rehabilitation and additional learning spaces",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 2828
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 1507,
- null,
- null,
- 1321,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA4/IN1"
- },
- {
- "id": 112,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "Number of children benefiting from the provision of essential school supplies and drr equipment",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 121025
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 59892,
- null,
- null,
- 60133,
- null,
- null,
- null,
- null,
- null,
- 1000,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA4/IN2"
- },
- {
- "id": 113,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "Number of children benefiting from improved infrastructure to mitigate the impact of winter storms",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 4500
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 2250,
- null,
- null,
- 2250,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA4/IN3"
- }
- ],
- "parentId": 3220,
- "composedReference": "CLEDU/CA4"
- },
- {
- "id": 92,
- "customReference": "9",
- "value": {
- "categories": [],
- "description": "Provide DRR (including emergency response) capacity building (including first aid and safety) at schools and across Palestinian education service providers",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 118,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "No of school staff and students who have taken part in capacity building activities to strengthen drr capabilities",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 9286
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 3640,
- null,
- null,
- 2065,
- null,
- null,
- 1532,
- null,
- null,
- 2049,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA9/IN1"
- }
- ],
- "parentId": 3220,
- "composedReference": "CLEDU/CA9"
- },
- {
- "id": 93,
- "customReference": "2",
- "value": {
- "categories": [],
- "description": "Support legal action within Israeli courts, European courts, the ICC and others to protect schools and access to education, and support awareness raising of legal rights, channels to report violations and sources of legal aid",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 109,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Number of people benefiting from legal aid or awareness raising",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 3200
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 1050,
- null,
- null,
- 1050,
- null,
- null,
- 200,
- null,
- null,
- 900,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA2/IN1"
- }
- ],
- "parentId": 3220,
- "composedReference": "CLEDU/CA2"
- },
- {
- "id": 94,
- "customReference": "7",
- "value": {
- "categories": [],
- "description": "Support MoEHE and other Palestinian education service providers’ capacity to plan for and respond to emergencies affecting children’s access to education",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 116,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "No of education staff who have taken part in capacity building activities to strengthen emergency preparedness and response",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 5724
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 2869,
- null,
- null,
- 2855,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA7/IN1"
- }
- ],
- "parentId": 3220,
- "composedReference": "CLEDU/CA7"
- },
- {
- "id": 95,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "Strengthen reporting on education-related violations across Gaza and the West Bank, particularly in East Jerusalem schools (including Waqf, UNRWA and Private schools), and improve communication with schools/communities on data usage and accountability",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 108,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Number of education staff receiving training, refresher training, or capacity development support to strengthen monitoring and communication of education-related violations",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 400
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 200,
- null,
- null,
- 200,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA1/IN1"
- }
- ],
- "parentId": 3220,
- "composedReference": "CLEDU/CA1"
- },
- {
- "id": 96,
- "customReference": "6",
- "value": {
- "categories": [],
- "description": "Provide emergency learning packages and support services (including remedial education) for children and school staff who have lost regularized or full-time access to education",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 115,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Number of school children and school staff benefiting from emergency learning packages and services",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 254136
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 129840,
- null,
- null,
- 122736,
- null,
- null,
- 620,
- null,
- null,
- 940,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA6/IN1"
- }
- ],
- "parentId": 3220,
- "composedReference": "CLEDU/CA6"
- },
- {
- "id": 97,
- "customReference": "5",
- "value": {
- "categories": [],
- "description": "Expand protective presence and accompaniment around schools and checkpoints in vulnerable communities",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 114,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Numberof school children and teachers benefiting from protective presence",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 4100
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 1950,
- null,
- null,
- 1950,
- null,
- null,
- 100,
- null,
- null,
- 100,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLEDU/CA5/IN1"
- }
- ],
- "parentId": 3220,
- "composedReference": "CLEDU/CA5"
- },
- {
- "id": 98,
- "customReference": "4",
- "value": {
- "categories": [],
- "description": "Food vouchers support",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": []
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 54,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of beneficiaries (disaggregated by sex) receiving food vouchers",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 225400
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA4/IN1"
- }
- ],
- "parentId": 3221,
- "composedReference": "CLFSC/CA4"
- },
- {
- "id": 99,
- "customReference": "8",
- "value": {
- "categories": [],
- "description": "Updating of the FSS preparedness and emergency plans and design an early warning system",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 61,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "FSS preparedness and emergency plan is updated and shared",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 1
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA8/IN1"
- },
- {
- "id": 62,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of organisations involved in the emergency preparedness plans",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 1
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 10
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA8/IN2"
- }
- ],
- "parentId": 3221,
- "composedReference": "CLFSC/CA8"
- },
- {
- "id": 100,
- "customReference": "9",
- "value": {
- "categories": [],
- "description": "Contribute to national and international awareness on IHL-rights and violations in WB and Gaza Strip.",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 63,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of advocacy initiatives with FSS contribution",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 3
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 3
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA9/IN1"
- }
- ],
- "parentId": 3221,
- "composedReference": "CLFSC/CA9"
- },
- {
- "id": 101,
- "customReference": "2",
- "value": {
- "categories": [],
- "description": "Increase sourcing of quality food from local food producers",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 51,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of producers (small and medium scale producers) supported",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 9000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA2/IN1"
- },
- {
- "id": 52,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "Tonnage of food items purchased from local producers",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 8000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA2/IN2"
- }
- ],
- "parentId": 3221,
- "composedReference": "CLFSC/CA2"
- },
- {
- "id": 102,
- "customReference": "3",
- "value": {
- "categories": [],
- "description": "Food in-kind distribution",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": []
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 53,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of beneficiaries (disaggregated by sex) receiving food in kind",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1118900
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA3/IN1"
- }
- ],
- "parentId": 3221,
- "composedReference": "CLFSC/CA3"
- },
- {
- "id": 103,
- "customReference": "5",
- "value": {
- "categories": [],
- "description": "Cash-based support",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 57,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "# of individuals (disaggregated by sex) benefiting from other unconditional cash support",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA5/IN3"
- },
- {
- "id": 56,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of individuals (disaggregated by sex) benefiting from other conditional cash support",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA5/IN2"
- },
- {
- "id": 55,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of individuals (disaggregated by sex) benefiting from CfW",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 144000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA5/IN1"
- }
- ],
- "parentId": 3221,
- "composedReference": "CLFSC/CA5"
- },
- {
- "id": 104,
- "customReference": "6",
- "value": {
- "categories": [],
- "description": "Maintain and inclusive and participatory platform for effective coordination among Food Security Sector partners",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 59,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "Report on % of projects/funding received through HPC disaggregated by INGO/PNGO and UN agencies",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 2
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 2
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA6/IN2"
- },
- {
- "id": 58,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of sector and working groups meetings organised",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 15
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 15
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA6/IN1"
- }
- ],
- "parentId": 3221,
- "composedReference": "CLFSC/CA6"
- },
- {
- "id": 105,
- "customReference": "7",
- "value": {
- "categories": [],
- "description": "Improving information sharing mechanisms in relation to locations, areas where gaps are identified including developing information management system (IMS), needs assessments and surveys",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 60,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Information sharing mechanism system in place and maintained",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 1
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA7/IN1"
- }
- ],
- "parentId": 3221,
- "composedReference": "CLFSC/CA7"
- },
- {
- "id": 106,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "Rehabilitation and provision of productive assets and essential infrastructure for farmers, herders breeders, fishers, and small scale food processors including promotion of technical capacities and small scale production units, and using the BBB (Build-Back Better) approach for increased resistance to shocks",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 48,
- "customReference": "6",
- "type": "indicator",
- "value": {
- "description": "# of water wells rehabilitated",
- "customId": 6,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 71
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA1/IN6"
- },
- {
- "id": 49,
- "customReference": "7",
- "type": "indicator",
- "value": {
- "description": "m3 of warer storage provided",
- "customId": 7,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 105000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA1/IN7"
- },
- {
- "id": 47,
- "customReference": "5",
- "type": "indicator",
- "value": {
- "description": "# of animal heads distributed",
- "customId": 5,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 3100
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA1/IN5"
- },
- {
- "id": 50,
- "customReference": "8",
- "type": "indicator",
- "value": {
- "description": "# of boats made functional",
- "customId": 8,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 50
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA1/IN8"
- },
- {
- "id": 44,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of dunums made productive or with improved production capacity (full and partial land rehabilitation, piping and irrigation system, seeds and seedlings distribution, etc)",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 36000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA1/IN2"
- },
- {
- "id": 46,
- "customReference": "4",
- "type": "indicator",
- "value": {
- "description": "# of green houses rehabilitated",
- "customId": 4,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 2400
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA1/IN4"
- },
- {
- "id": 43,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of beneficiaries receiving agricultural inputs and services",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 310000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA1/IN1"
- },
- {
- "id": 45,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "# of Km of agricultural roads rehabilitated/opened",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLFSC/CA1/IN3"
- }
- ],
- "parentId": 3221,
- "composedReference": "CLFSC/CA1"
- },
- {
- "id": 107,
- "customReference": "03",
- "value": {
- "categories": [],
- "description": "Provision of Primary Health Services (PHC) to vulnerable communities/ people in in Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 95,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of consultations of patients in the ARA or communities with totally destroyed PHCs",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 100000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 51000,
- null,
- null,
- 49000,
- null,
- null,
- 40000,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA03/IN1"
- },
- {
- "id": 96,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of most vulnerable refugees receiving health services",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 272237
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 137752,
- null,
- null,
- 134485,
- null,
- null,
- 118307,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA03/IN2"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA03"
- },
- {
- "id": 108,
- "customReference": "08",
- "value": {
- "categories": [],
- "description": "Provision of support to vulnerable elderly people in Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 101,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# elderly persons identified and supported",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1200
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 400,
- null,
- null,
- 800,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA08/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA08"
- },
- {
- "id": 109,
- "customReference": "01",
- "value": {
- "categories": [],
- "description": "Provision of mobile health services to people who face obstacles in accessing basic healthcare",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 93,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of refugees in underserved communities in Areas B/C benefitting from mobile clinic services",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 100000
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 100000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 10000,
- null,
- null,
- 60000,
- null,
- null,
- 30000,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA01/IN2"
- },
- {
- "id": 92,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of non-refugees in underserved communities in Area C benefitting from mobile clinic services",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 73000
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- "",
- null,
- null,
- "",
- null,
- null,
- 25550,
- null,
- null,
- 29200,
- null,
- null,
- 18250,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA01/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA01"
- },
- {
- "id": 110,
- "customReference": "06",
- "value": {
- "categories": [],
- "description": "Provision of lifesaving neonatal and postnatal services to pregnant women and neonates in West Bank and Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 99,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of pregnant women and neonates receiving lifesaving healthcare services",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 50000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 50000,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA06/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA06"
- },
- {
- "id": 111,
- "customReference": "11",
- "value": {
- "categories": [],
- "description": "Strengthen the capacity of PHC and front line health providers, and communities on management of mass casualties, rescue and first aid, trauma care and referral to higher levels of health care in West Bank and Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 104,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of health facilities prepared to deal with emergency cases",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 11
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 20
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA11/IN1"
- },
- {
- "id": 106,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "# of community members trained on first aid",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 300
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 500
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA11/IN3"
- },
- {
- "id": 105,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of health workers trained in trauma and/or emergency management",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 50
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 2000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA11/IN2"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA11"
- },
- {
- "id": 112,
- "customReference": "02",
- "value": {
- "categories": [],
- "description": "Provision of mental health and emergency services to vulnerable communities in East Jerusalem",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 94,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of people in East Jerusalem receiving mental health or emergency services",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 80000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 40000,
- null,
- null,
- 40000,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA02/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA02"
- },
- {
- "id": 113,
- "customReference": "07",
- "value": {
- "categories": [],
- "description": "Identify and provide appropriate support to persons with conflict related disabilities in Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 100,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# people with conflict –related disabilities receive appropriate support",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 6475
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 11000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 3810,
- 6000,
- null,
- 2665,
- 5000,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA07/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA07"
- },
- {
- "id": 114,
- "customReference": "12",
- "value": {
- "categories": [],
- "description": "Provision of prepositioning and pre-emergency services/supplies in West Bank and Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 107,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of health facilities with a prepositioned emergency items",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 20
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA12/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA12"
- },
- {
- "id": 115,
- "customReference": "04",
- "value": {
- "categories": [],
- "description": "Identify and treat children with severe and moderate nutrition problems in Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 97,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# children treated from moderate and severe malnutrition",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 1200
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 8000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 600,
- 4000,
- null,
- 600,
- 4000,
- null,
- 1200,
- 8000,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA04/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA04"
- },
- {
- "id": 116,
- "customReference": "09",
- "value": {
- "categories": [],
- "description": "Strengthen capacity of PHC and front line health workers to detect and refer survivors of violence related to the conflict and GBV in West Bank and Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 102,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of health facilities with capacity and systems to detect and refer survivors of GBV and conflict related violence",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 45
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 25,
- 30
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 20,
- 25
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA09/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA09"
- },
- {
- "id": 117,
- "customReference": "05",
- "value": {
- "categories": [],
- "description": "Provision of micronutrient supplements to children and women in West Bank and Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 98,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of children and pregnant women who had received micronutrient supplements",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 250000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 125000,
- null,
- null,
- 125000,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA05/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA05"
- },
- {
- "id": 118,
- "customReference": "10",
- "value": {
- "categories": [],
- "description": "Providing health stakeholders’ coordination and collecting and disseminating information on access right to health violations in West Bank and Gaza.",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 103,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of publications, including press releases with information on restricted access to PHC",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 12
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 15
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLHLN/CA10/IN1"
- }
- ],
- "parentId": 3222,
- "composedReference": "CLHLN/CA10"
- },
- {
- "id": 119,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "",
- "support": [],
- "type": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 11,
- "refCode": "CO",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- },
- "description": {
- "en": "Add the Cluster Objectives below, including how they align with the country strategy. Use the Add indicators button to add one or more Indicator to each Objective."
- },
- "canSupport": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- }
- ]
- },
- "orderNumber": 2
- },
- "attachments": [],
- "parentId": 3223,
- "composedReference": "CLPRO/CO1"
- },
- {
- "id": 120,
- "customReference": "3",
- "value": {
- "categories": [],
- "description": "Advocacy initiatives that aim to enhance accountability for violations of HRL and IHL.",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 32,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of field briefings raising protection concerns to diplomats",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 200
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA3/IN1"
- }
- ],
- "parentId": 3223,
- "composedReference": "CLPRO/CA3"
- },
- {
- "id": 121,
- "customReference": "6",
- "value": {
- "categories": [],
- "description": "Psychosocial and child protection response. child protection activities include age and gender sensitive counselling, family support and child/parent interaction programs, life-skills programs, youth-led protection initiatives and programs aimed at supporting children who have been separated from their caregivers.",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 37,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of children benefiting from structured child protection interventions including life skills programs",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 294542
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA6/IN1"
- },
- {
- "id": 39,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "# of adults who receive structured psychosocial support",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 31322
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA6/IN3"
- },
- {
- "id": 38,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of children benefiting from individual case management",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 12550
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA6/IN2"
- },
- {
- "id": 40,
- "customReference": "4",
- "type": "indicator",
- "value": {
- "description": "# of GBV survivors who receive psychosocial services",
- "customId": 4,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 17222
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA6/IN4"
- }
- ],
- "parentId": 3223,
- "composedReference": "CLPRO/CA6"
- },
- {
- "id": 122,
- "customReference": "4",
- "value": {
- "categories": [],
- "description": "ERW survey and clearance and ERW risk education in gaza to determine the extent of ERW contamination and risk (survey), recovery and removal of ERW (clearance) and provide information to mitigate the risks posed by ERW exposure (risk education) including targeted interventions to children.",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 35,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of people who receive ERW risk education (including children)",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": null
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 550000
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 266162
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA4/IN2"
- },
- {
- "id": 34,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# ERWs removed from civilan areas",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1500
- }
- ],
- "comments": "Baseline: approx 3,000 removed from 2014 to 2015",
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA4/IN1"
- }
- ],
- "parentId": 3223,
- "composedReference": "CLPRO/CA4"
- },
- {
- "id": 123,
- "customReference": "7",
- "value": {
- "categories": [],
- "description": "Awareness raising activities designed to reduce risk of GBV.",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 41,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of people who attend GBV awareness raising sessions or receive information on GBV services",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 55165
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA7/IN1"
- }
- ],
- "parentId": 3223,
- "composedReference": "CLPRO/CA7"
- },
- {
- "id": 124,
- "customReference": "5",
- "value": {
- "categories": [],
- "description": "Protective presence and accompaniment of individuals (including children) in communities exposed to settler violence and ISF presence",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 36,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of communities benefiting from regular protective presence",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 160
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 225
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA5/IN1"
- }
- ],
- "parentId": 3223,
- "composedReference": "CLPRO/CA5"
- },
- {
- "id": 125,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "Monitoring and documentation of violations, focused on IHL violations and conflict-related violence including grave violations affecting children and support to CBOs to strengthen their capacity to undertake monitoring and documentation for the purposes of increased accountability.",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 27,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of incidents of grave violations against children monitored and documented",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 2170
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "comments": "No target",
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA1/IN1"
- }
- ],
- "parentId": 3223,
- "composedReference": "CLPRO/CA1"
- },
- {
- "id": 126,
- "customReference": "2",
- "value": {
- "categories": [],
- "description": "Provision of legal aid (legal counselling and representation) to those seeking accountability for HR/IHL violations including ISF and settler violence, those at risk of demolitions, forced evictions and displacement, those at risk of revocation of residency rights, IDPs in Gaza and those affected by the conflict in Gaza, people affected by access restrictions in Gaza and the West Bank, children arrested and detained and survivors of GBV.",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 30,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "# of women and men who receive information on their rights and how to access legal services",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 11105
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA2/IN3"
- },
- {
- "id": 31,
- "customReference": "4",
- "type": "indicator",
- "value": {
- "description": "# of GBV survivors who access legal assistance",
- "customId": 4,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 600
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1820
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA2/IN4"
- },
- {
- "id": 28,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of people affected by recent conflict in Gaza that receive legal counselling in relation to land ownership, civil documentation, women’s property and inheritance rights",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 1900
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 4600
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA2/IN1"
- },
- {
- "id": 29,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of people subject to demolition/ eviction orders provided with legal support",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 4000
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 5230
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA2/IN2"
- }
- ],
- "parentId": 3223,
- "composedReference": "CLPRO/CA2"
- },
- {
- "id": 127,
- "customReference": "8",
- "value": {
- "categories": [],
- "description": "Support health facilities to respond to GBV survivors",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 42,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "functional referral system in place that includes multi-sectoral services",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 1
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0.5
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1
- }
- ],
- "comments": "yes/no values, 0.5 means partial.",
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLPRO/CA8/IN1"
- }
- ],
- "parentId": 3223,
- "composedReference": "CLPRO/CA8"
- },
- {
- "id": 128,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "co1",
- "support": [],
- "type": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 11,
- "refCode": "CO",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- },
- "description": {
- "en": "Add the Cluster Objectives below, including how they align with the country strategy. Use the Add indicators button to add one or more Indicator to each Objective."
- },
- "canSupport": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- }
- ]
- },
- "orderNumber": 2
- },
- "attachments": [],
- "parentId": 3224,
- "composedReference": "CLSHL/CO1"
- },
- {
- "id": 129,
- "customReference": "2",
- "value": {
- "categories": [],
- "description": "Response to displacement of vulnerable Palestinians following conflict or demolitions through transitional solutions (cash assistance, upgrading of overcrowded or substandard host or rental units and consolidation of makeshift or prefab units), shelter/NFI response and technical assistance, information and capacity building to facilitate an end to displacement",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 67,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of vulnerable families in Gaza received assistance to access transitional shelter solution meeting minimum standards",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 13000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 13000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA2/IN1"
- },
- {
- "id": 68,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of interventions in Gaza incorporating technical/ legal assistance, information sharing and capacity building as a specific project output",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 3
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA2/IN2"
- },
- {
- "id": 69,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "% of households in the West Bank assisted after demolition or damage",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 100
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 85
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA2/IN3"
- }
- ],
- "parentId": 3224,
- "composedReference": "CLSHL/CA2"
- },
- {
- "id": 130,
- "customReference": "3",
- "value": {
- "categories": [],
- "description": "Preparedness to reduce the immediate effects of natural or manmade disasters through appropriate emergency shelter interventions and support for self-recovery",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 70,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of individuals able to be provided with emergency shelter/NFIs",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 30
- }
- ],
- "comments": "Target: 30% of contingency plan",
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA3/IN1"
- },
- {
- "id": 71,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of households supported with training and tools for self-recovery in West Bank",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1000
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA3/IN2"
- },
- {
- "id": 73,
- "customReference": "4",
- "type": "indicator",
- "value": {
- "description": "# of households assisted after natural disaster with emergency shelter/NFIs",
- "customId": 4,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 1715
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 2000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- },
- "comments": "Need is 1715 in West Bank, and all locations at risk of flooding or ARA in Gaza"
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA3/IN4"
- },
- {
- "id": 74,
- "customReference": "5",
- "type": "indicator",
- "value": {
- "description": "# of families provided with emergency winterization/ summarization NFIs for inadequate shelters",
- "customId": 5,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 34085
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 13900
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA3/IN5"
- },
- {
- "id": 72,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "# of collective centres in Gaza provided with adaptation support and training",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 28
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA3/IN3"
- }
- ],
- "parentId": 3224,
- "composedReference": "CLSHL/CA3"
- },
- {
- "id": 131,
- "customReference": "4",
- "value": {
- "categories": [],
- "description": "Engagement and capacity building of national stakeholders to provide timely coordination and effective preparedness for response to emergencies",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 75,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of ministries taking an active role in cluster activities and preparedness measures",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 3
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA4/IN1"
- },
- {
- "id": 76,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "% of meetings/events with significant engagement of national stakeholders to update contingency plan",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 80
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA4/IN2"
- }
- ],
- "parentId": 3224,
- "composedReference": "CLSHL/CA4"
- },
- {
- "id": 132,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "Increase access to a basic level of adequate shelter for acutely-vulnerable families through upgrading, repair and advocacy",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79,
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 65,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of households assisted to repair/winterize damaged units in Gaza",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 76600
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 10000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA1/IN2"
- },
- {
- "id": 66,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "# information documents and advocacy messages released on the right to adequate housing, timely reconstruction and fit-for-purpose planning procedures",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 12
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA1/IN3"
- },
- {
- "id": 64,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "# of households assisted to improve or upgrade substandard units",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 8085
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1450
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLSHL/CA1/IN1"
- }
- ],
- "parentId": 3224,
- "composedReference": "CLSHL/CA1"
- },
- {
- "id": 133,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "Ensure equitable access to basic WASH services in accordance with safety and dignity of the unserved, underserved and most vulnerable Palestinians under occupation in Gaza and the West Bank.",
- "support": [],
- "type": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 11,
- "refCode": "CO",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- },
- "description": {
- "en": "Add the Cluster Objectives below, including how they align with the country strategy. Use the Add indicators button to add one or more Indicator to each Objective."
- },
- "canSupport": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- }
- ]
- },
- "orderNumber": 2
- },
- "attachments": [],
- "parentId": 3225,
- "composedReference": "CLWSH/CO1"
- },
- {
- "id": 134,
- "customReference": "3",
- "value": {
- "categories": [],
- "description": "Increase national WASH sector governance and coordination capacity",
- "support": [],
- "type": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 11,
- "refCode": "CO",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- },
- "description": {
- "en": "Add the Cluster Objectives below, including how they align with the country strategy. Use the Add indicators button to add one or more Indicator to each Objective."
- },
- "canSupport": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- }
- ]
- },
- "orderNumber": 2
- },
- "attachments": [],
- "parentId": 3225,
- "composedReference": "CLWSH/CO3"
- },
- {
- "id": 135,
- "customReference": "2",
- "value": {
- "categories": [],
- "description": "Strengthen WASH response capacity to cope with new and protracted emergencies, threats and shocks.",
- "support": [],
- "type": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 11,
- "refCode": "CO",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Objective",
- "plural": "Cluster Objectives"
- }
- },
- "description": {
- "en": "Add the Cluster Objectives below, including how they align with the country strategy. Use the Add indicators button to add one or more Indicator to each Objective."
- },
- "canSupport": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- }
- ]
- },
- "orderNumber": 2
- },
- "attachments": [],
- "parentId": 3225,
- "composedReference": "CLWSH/CO2"
- },
- {
- "id": 136,
- "customReference": "2",
- "value": {
- "categories": [],
- "description": "Support service providers to ensure the current level of basic WASH services in Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 83,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Emergency fuel supplied to service providers to ensure that water and wastewater services remain functioning",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 100
- }
- ],
- "comments": "Need: Regular power supply restored to the water and wastewater utilities. Target: 100% emergency fuel needs of utilities met as per monthly fuel distribution plans"
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA2/IN1"
- }
- ],
- "parentId": 3225,
- "composedReference": "CLWSH/CA2"
- },
- {
- "id": 137,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "Provide basic WASH services for demolitions/ emergency/ conflict-affected/damaged schools/ IDP HHs, unserved, under-served and most vulnerable communities",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 77,
- 74
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 82,
- "customReference": "6",
- "type": "indicator",
- "value": {
- "description": "Number of WASH facilities rehabilitated/ reconstructed in conflict-affected schools",
- "customId": 6,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 48
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 48
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA1/IN6"
- },
- {
- "id": 79,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "Number of people in humanitarian situation benefited from access to improved sanitation services",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 600000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 358000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA1/IN3"
- },
- {
- "id": 77,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Percentage of demolition incidents receiving a WASH response",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 100
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 100
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA1/IN1"
- },
- {
- "id": 80,
- "customReference": "4",
- "type": "indicator",
- "value": {
- "description": "Number of HHs receiving hygiene vouchers and kits",
- "customId": 4,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 200000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 120000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA1/IN4"
- },
- {
- "id": 81,
- "customReference": "5",
- "type": "indicator",
- "value": {
- "description": "Number of people imparted hygiene awareness",
- "customId": 5,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 695000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 120000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA1/IN5"
- },
- {
- "id": 78,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "Number of people in humanitarian situation benefited from access to drinking water",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 732000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 518000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA1/IN2"
- }
- ],
- "parentId": 3225,
- "composedReference": "CLWSH/CA1"
- },
- {
- "id": 138,
- "customReference": "3",
- "value": {
- "categories": [],
- "description": "Support winterization preparedness and response in Gaza",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 85,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "Number of Municipal level response plans/ contact lists in place",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 18
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 10
- }
- ],
- "comments": "Need: 18 municipalities at risk. Target: 10 municipal response plans",
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA3/IN2"
- },
- {
- "id": 84,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Number of locations where flood prevention activities are undertaken/ where stagnant flood water was drained",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 200
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 25
- }
- ],
- "comments": "Need: >200 locations. Target: 25 high risk locations / hot spots",
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA3/IN1"
- }
- ],
- "parentId": 3225,
- "composedReference": "CLWSH/CA3"
- },
- {
- "id": 139,
- "customReference": "4",
- "value": {
- "categories": [],
- "description": "Support summerization preparedness/ Water access response",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 86,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "No. of vulnerable people served with drinking water",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 110000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 60000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA4/IN1"
- }
- ],
- "parentId": 3225,
- "composedReference": "CLWSH/CA4"
- },
- {
- "id": 140,
- "customReference": "5",
- "value": {
- "categories": [],
- "description": "Support Emergency preparedness & response plans",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 87,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Number of locations where supplies are prepositioned",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 4
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 2
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Combination-children-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Combination-children-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Combination-adult-male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Combination-adult-female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "Children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "Adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA5/IN1"
- }
- ],
- "parentId": 3225,
- "composedReference": "CLWSH/CA5"
- },
- {
- "id": 141,
- "customReference": "6",
- "value": {
- "categories": [],
- "description": "National WASH coordination capacity reinforced",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 89,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "Dedicated information management personnel in place",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1
- }
- ],
- "comments": "Baseline: No; Target: Yes"
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA6/IN2"
- },
- {
- "id": 90,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "PWA-led national WASH coordination structure established in oPt",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 1
- }
- ],
- "comments": "Baseline: No; Target: Yes"
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA6/IN3"
- },
- {
- "id": 88,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Monthly meetings organized",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 24
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 24
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 12,
- null,
- 12
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 12,
- null,
- 12
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA6/IN1"
- }
- ],
- "parentId": 3225,
- "composedReference": "CLWSH/CA6"
- },
- {
- "id": 142,
- "customReference": "7",
- "value": {
- "categories": [],
- "description": "Support Palestinian Authorities in the selfmanagement of water scarcity in the West Bank through capacity building in line with the Transitional Water Scarcity Response Framework",
- "support": [
- {
- "entityPrototypeId": 10,
- "planEntityIds": [
- 79
- ]
- }
- ],
- "type": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 12,
- "refCode": "CA",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Cluster Activity",
- "plural": "Cluster Activities"
- }
- },
- "description": {
- "en": "Adding Cluster activities."
- },
- "canSupport": {
- "xor": [
- {
- "refCode": "SO",
- "cardinality": "0-N",
- "id": 10
- },
- {
- "refCode": "CO",
- "cardinality": "0-N",
- "id": 11
- }
- ]
- }
- },
- "orderNumber": 3
- },
- "attachments": [
- {
- "id": 91,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Number of Local Government Units (Village Councils, Joint Service Councils, Municipalities) with capacity for self-management of water scarcity",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 25
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "CLWSH/CA7/IN1"
- }
- ],
- "parentId": 3225,
- "composedReference": "CLWSH/CA7"
- },
- {
- "id": 77,
- "customReference": "2",
- "value": {
- "categories": [],
- "description": "Ensure acutely-vulnerable Palestinians under occupation in the Gaza Strip and the West Bank have access to essential services",
- "support": [],
- "type": {
- "en": {
- "singular": "Strategic Objective",
- "plural": "Strategic Objectives"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 10,
- "refCode": "SO",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Strategic Objective",
- "plural": "Strategic Objectives"
- }
- },
- "description": {
- "en": "Add the Strategic Objectives below, including which Clusters will be active for the Objective. Use the Add indicators button to add one or more Indicators to each Objective."
- }
- },
- "orderNumber": 0
- },
- "attachments": [
- {
- "id": 11,
- "customReference": "5",
- "type": "indicator",
- "value": {
- "description": "Increased number of acutely vulnerable Palestinians are ensured access to improved sanitation services",
- "customId": 5,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 600000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 358000
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO2/IN5"
- },
- {
- "id": 12,
- "customReference": "6",
- "type": "indicator",
- "value": {
- "description": "Average processing time for HRP projects submitted through the Gaza Reconstruction Mechanism",
- "customId": 6,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 30
- }
- ],
- "comments": "Target: 30 days"
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO2/IN6"
- },
- {
- "id": 8,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of vulnerable households living in upgraded/repaired housing units in accordance with minimum shelter standards",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 85000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 11450
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO2/IN2"
- },
- {
- "id": 7,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Percentage of communities with lack of access to health receive health and nutrition services",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 100
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 76
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 100
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO2/IN1"
- },
- {
- "id": 14,
- "customReference": "8",
- "type": "indicator",
- "value": {
- "description": "Index to measure access and movement restrictions (Gaza)-TBD",
- "customId": 8,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "comments": "Target: improved access and movement"
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO2/IN8"
- },
- {
- "id": 13,
- "customReference": "7",
- "type": "indicator",
- "value": {
- "description": "Number of critical service delivery areas - based on cluster sectors - included in the National Disaster Management Strategy or National Preparedness Plan",
- "customId": 7,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 6
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 6
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO2/IN7"
- },
- {
- "id": 10,
- "customReference": "4",
- "type": "indicator",
- "value": {
- "description": "Increased number of acutely vulnerable Palestinians are ensured access to drinking water",
- "customId": 4,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 732000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 518000
- }
- ],
- "disaggregated": null
- },
- "unit": {
- "object": {
- "id": 1,
- "name": "individuals",
- "label": "Individuals",
- "createdAt": "2016-04-15T23:40:21.279Z",
- "updatedAt": "2017-02-02T02:49:10.403Z",
- "unitTypeId": 1,
- "unitType": {
- "id": 1,
- "name": "people",
- "label": "People",
- "createdAt": "2016-04-15T23:40:21.230Z",
- "updatedAt": "2016-04-15T23:40:21.230Z"
- }
- },
- "id": 1
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO2/IN4"
- },
- {
- "id": 9,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "# of schoolchildren and teachers in vulnerable communities benefiting from protective presence/accompaniment to school",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 4100
- }
- ],
- "comments": "Adult males and females targeted represent teachers",
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 1950,
- null,
- null,
- 1950,
- null,
- null,
- 100,
- null,
- null,
- 100,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO2/IN3"
- }
- ],
- "parent": [],
- "composedReference": "SO2"
- },
- {
- "id": 79,
- "customReference": "3",
- "value": {
- "categories": [],
- "description": "Strengthen the ability of acutely-vulnerable Palestinian households to cope with protracted threats and shocks",
- "support": [],
- "type": {
- "en": {
- "singular": "Strategic Objective",
- "plural": "Strategic Objectives"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 10,
- "refCode": "SO",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Strategic Objective",
- "plural": "Strategic Objectives"
- }
- },
- "description": {
- "en": "Add the Strategic Objectives below, including which Clusters will be active for the Objective. Use the Add indicators button to add one or more Indicators to each Objective."
- }
- },
- "orderNumber": 0
- },
- "attachments": [
- {
- "id": 22,
- "customReference": "6",
- "type": "indicator",
- "value": {
- "description": "Number of children treated for moderate and severe malnutrition",
- "customId": "6",
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 1200
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 8000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- 600,
- 4000,
- null,
- 600,
- 4000,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN6"
- },
- {
- "id": 20,
- "customReference": "4",
- "type": "indicator",
- "value": {
- "description": "Percentage of households that receive emergency material and cash support following demolition incidents that are not forcibly transferred",
- "customId": "4",
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 100
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 85
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN4"
- },
- {
- "id": 19,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "# of vulnerable households protected from severe weather conditions",
- "customId": "3",
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 40000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 16000
- }
- ]
- },
- "unit": {
- "object": {
- "id": 2,
- "name": "household",
- "label": "Household",
- "createdAt": "2016-04-15T23:40:21.281Z",
- "updatedAt": "2017-02-02T02:49:10.424Z",
- "unitTypeId": 1,
- "unitType": {
- "id": 1,
- "name": "people",
- "label": "People",
- "createdAt": "2016-04-15T23:40:21.230Z",
- "updatedAt": "2016-04-15T23:40:21.230Z"
- }
- },
- "id": 2
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN3"
- },
- {
- "id": 21,
- "customReference": "5",
- "type": "indicator",
- "value": {
- "description": "Number of communities with strengthened capacity to respond in emergencies through first aid training",
- "customId": "5",
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 500
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 300
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 500
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN5"
- },
- {
- "id": 26,
- "customReference": "9",
- "type": "indicator",
- "value": {
- "description": "# of children and caregivers receiving structured psychosocial support and child protection services",
- "customId": "9",
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 294542
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN9"
- },
- {
- "id": 18,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of displaced families living in appropriate transitional accommodation in line with minimum standards",
- "customId": "2",
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 13000
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 13000
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- },
- "unit": {
- "object": {
- "id": 2,
- "name": "household",
- "label": "Household",
- "createdAt": "2016-04-15T23:40:21.281Z",
- "updatedAt": "2017-02-02T02:49:10.424Z",
- "unitTypeId": 1,
- "unitType": {
- "id": 1,
- "name": "people",
- "label": "People",
- "createdAt": "2016-04-15T23:40:21.230Z",
- "updatedAt": "2016-04-15T23:40:21.230Z"
- }
- },
- "id": 2
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN2"
- },
- {
- "id": 24,
- "customReference": "7",
- "type": "indicator",
- "value": {
- "description": "Resilience of the food insecure population (based on Resilience Index)",
- "customId": "7",
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": -0.2932
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "comments": "Target: stable or improved"
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN7"
- },
- {
- "id": 15,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "Food insecurity level in oPt",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 27
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "comments": "Target: stable or decrease",
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 32,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- },
- "unit": {
- "object": {
- "id": 2,
- "name": "household",
- "label": "Household",
- "createdAt": "2016-04-15T23:40:21.281Z",
- "updatedAt": "2017-02-02T02:49:10.424Z",
- "unitTypeId": 1,
- "unitType": {
- "id": 1,
- "name": "people",
- "label": "People",
- "createdAt": "2016-04-15T23:40:21.230Z",
- "updatedAt": "2016-04-15T23:40:21.230Z"
- }
- },
- "id": 2
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN1"
- },
- {
- "id": 16,
- "customReference": "10",
- "type": "indicator",
- "value": {
- "description": "No of students and school staff benefiting from PSS services",
- "customId": "10",
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 275165
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1,
- 4
- ],
- "label": "Children - Male",
- "name": "Children- Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 1,
- 5
- ],
- "label": "Children - Female",
- "name": "Children-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 4
- ],
- "label": "Adult - Male",
- "name": "Adult-Male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3,
- 5
- ],
- "label": "Adult - Female",
- "name": "Adult-Female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- 134079,
- null,
- null,
- 118686,
- null,
- null,
- 7821,
- null,
- null,
- 14579,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN10"
- },
- {
- "id": 25,
- "customReference": "9",
- "type": "indicator",
- "value": {
- "description": "Number of updated Inter-Agency Contingency Plans (National and Gaza) and aligned Cluster Contingency Plans updated and aligned with oPt Risk Assessment",
- "customId": 9,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 8
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 2
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 2
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO3/IN9"
- }
- ],
- "parent": [],
- "composedReference": "SO3"
- },
- {
- "id": 74,
- "customReference": "1",
- "value": {
- "categories": [],
- "description": "Protect the rights of Palestinians under occupation in accordance with International Humanitarian Law (IHL) and International Human Rights Law (IHRL)",
- "support": [],
- "type": {
- "en": {
- "singular": "Strategic Objective",
- "plural": "Strategic Objectives"
- }
- }
- },
- "planId": 504,
- "entityPrototype": {
- "id": 10,
- "refCode": "SO",
- "type": "PE",
- "value": {
- "name": {
- "en": {
- "singular": "Strategic Objective",
- "plural": "Strategic Objectives"
- }
- },
- "description": {
- "en": "Add the Strategic Objectives below, including which Clusters will be active for the Objective. Use the Add indicators button to add one or more Indicators to each Objective."
- }
- },
- "orderNumber": 0
+ "orderNumber": 1
},
- "attachments": [
- {
- "id": 6,
- "customReference": "5",
- "type": "indicator",
- "value": {
- "description": "Index to measure protection risk of most vulnerable communities (Area C)-TBD",
- "customId": 5,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 0
- }
- ],
- "comments": "Target: Improved protection environment"
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO1/IN5"
- },
- {
- "id": 5,
- "customReference": "4",
- "type": "indicator",
- "value": {
- "description": "Statements by third states advocating respect for international humanitarian law and international human rights law in the oPt",
- "customId": 4,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 3
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 5
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO1/IN4"
- },
- {
- "id": 4,
- "customReference": "3",
- "type": "indicator",
- "value": {
- "description": "Functional referral system in place that includes multi-sectoral services (health, psychosocial, legal and security) for GBV survivors",
- "customId": 3,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 2
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0.5
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 2
- }
- ]
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO1/IN3"
- },
- {
- "id": 2,
- "customReference": "1",
- "type": "indicator",
- "value": {
- "description": "% of households subject to demolition and eviction orders in the West Bank including East Jerusalem that are not displaced (during the reporting period) due to legal assistance",
- "customId": 1,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 100
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 95
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 100
- }
- ]
- },
- "unit": {
- "object": {
- "id": 2,
- "name": "household",
- "label": "Household",
- "createdAt": "2016-04-15T23:40:21.281Z",
- "updatedAt": "2017-02-02T02:49:10.424Z",
- "unitTypeId": 1,
- "unitType": {
- "id": 1,
- "name": "people",
- "label": "People",
- "createdAt": "2016-04-15T23:40:21.230Z",
- "updatedAt": "2016-04-15T23:40:21.230Z"
- }
- },
- "id": 2
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO1/IN1"
- },
- {
- "id": 3,
- "customReference": "2",
- "type": "indicator",
- "value": {
- "description": "# of education staff equipped with appropriate skills for monitoring and reporting of education-related violations",
- "customId": 2,
- "metrics": {
- "values": {
- "totals": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- },
- "value": 0
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- },
- "value": 0
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- },
- "value": 400
- }
- ],
- "disaggregated": {
- "locations": [
- {
- "id": 171,
- "name": "occupied Palestinian territory"
- },
- {
- "id": 4108,
- "name": "Gaza Strip"
- },
- {
- "id": 4109,
- "name": "No Man's Land"
- },
- {
- "id": 4107,
- "name": "West Bank"
- },
- {
- "id": 25243209,
- "name": "Khan Younis"
- },
- {
- "id": 25243208,
- "name": "Deir Al-Balah"
- },
- {
- "id": 25243206,
- "name": "North Gaza"
- },
- {
- "id": 25243207,
- "name": "Gaza"
- },
- {
- "id": 25243210,
- "name": "Rafah"
- },
- {
- "id": 4110,
- "name": "Ramallah_NML"
- },
- {
- "id": 25243212,
- "name": "Jerusalem_NML1"
- },
- {
- "id": 25243213,
- "name": "Jerusalem_NML2"
- },
- {
- "id": 25227596,
- "name": "Area A & B"
- },
- {
- "id": 25227597,
- "name": "East Jerusalem"
- },
- {
- "id": 25243211,
- "name": "Ramallah"
- },
- {
- "id": 25227595,
- "name": "Area C"
- },
- {
- "id": 25243200,
- "name": "Jerusalem"
- },
- {
- "id": 25243203,
- "name": "Salfit"
- },
- {
- "id": 25243204,
- "name": "Tubas"
- },
- {
- "id": 25243205,
- "name": "Tulkarm"
- },
- {
- "id": 25243198,
- "name": "Jenin"
- },
- {
- "id": 25243197,
- "name": "Hebron"
- },
- {
- "id": 25243196,
- "name": "Bethlehem"
- },
- {
- "id": 25243199,
- "name": "Jericho"
- },
- {
- "id": 25243201,
- "name": "Nablus"
- },
- {
- "id": 25243202,
- "name": "Qalqilya"
- }
- ],
- "categories": [
- {
- "ids": [
- 1
- ],
- "label": "Children",
- "name": "children",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 3
- ],
- "label": "Adult",
- "name": "adult",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 4
- ],
- "label": "Male",
- "name": "male",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- },
- {
- "ids": [
- 5
- ],
- "label": "Female",
- "name": "female",
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- ],
- "dataMatrix": [
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- 200,
- null,
- null,
- 200,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ],
- [
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- ]
- ]
- }
- },
- "unit": {
- "object": {
- "id": 1,
- "name": "individuals",
- "label": "Individuals",
- "createdAt": "2016-04-15T23:40:21.279Z",
- "updatedAt": "2017-02-02T02:49:10.403Z",
- "unitTypeId": 1,
- "unitType": {
- "id": 1,
- "name": "people",
- "label": "People",
- "createdAt": "2016-04-15T23:40:21.230Z",
- "updatedAt": "2016-04-15T23:40:21.230Z"
- }
- },
- "id": 1
- }
- },
- "globalIndicatorId": 0
- },
- "attachmentPrototype": {
- "id": 1,
- "refCode": "IN",
- "type": "indicator",
- "value": {
- "hasMeasures": 1,
- "name": {
- "en": "Indicator"
- },
- "min": 1,
- "max": 3,
- "entities": [
- "SO",
- "CA",
- "CO"
- ],
- "metrics": [
- {
- "type": "inNeed",
- "name": {
- "en": "In Need"
- }
- },
- {
- "type": "baseline",
- "name": {
- "en": "Baseline"
- }
- },
- {
- "type": "target",
- "name": {
- "en": "Target"
- }
- }
- ]
- }
- },
- "composedReference": "SO1/IN2"
- }
- ],
- "parent": [],
- "composedReference": "SO1"
- }
- ],
- "monitoringPeriods": [
- {
- "id": 44,
- "periodNumber": 1,
- "startDate": "2016-01-01T11:00:00.000Z",
- "endDate": "2016-03-30T22:00:00.000Z"
- },
- {
- "id": 45,
- "periodNumber": 2,
- "startDate": "2016-03-31T22:00:00.000Z",
- "endDate": "2016-06-29T22:00:00.000Z"
- },
- {
- "id": 46,
- "periodNumber": 3,
- "startDate": "2016-06-30T22:00:00.000Z",
- "endDate": "2016-12-30T23:00:00.000Z"
+ "attachments": [],
+ "composedReference": "CL1295"
}
],
- "origRequirements": 571414014,
- "revisedRequirements": 570702496,
+ "origRequirements": 500512658,
+ "revisedRequirements": 509937289,
"meta": {
"language": "en"
}
},
"status": "ok"
-}
+}
\ No newline at end of file
diff --git a/django_api/django_api/apps/ocha/samples/V2_project_info.json b/django_api/django_api/apps/ocha/samples/V2_project_info.json
index 2843893ef..a0aabe71f 100644
--- a/django_api/django_api/apps/ocha/samples/V2_project_info.json
+++ b/django_api/django_api/apps/ocha/samples/V2_project_info.json
@@ -1,118 +1,23654 @@
{
- "data":{
- "name":": Projet intégré de renforcement de la sécurité nutritionnelle dans la région du Kanem et du BEG en 2017",
- "currentRequestedFunds":"1605000",
- "version":2,
- "objective":"Contribuer à la réduction de la morbidité et mortalité infantile par une amélioration de la sécurité nutritionnelle des populations du Kanem et du BEG en 2017",
- "partners":null,
- "startDate":"2017-01-01T00:00:00.000Z",
- "endDate":"2017-12-31T00:00:00.000Z",
- "updatedAt":"2017-02-06T21:21:01.910Z",
- "createdAt":"2016-12-05T09:21:00.000Z",
- "projectVersionId":95122,
- "id":47561,
- "code":"CHD-17/H/102256/5271",
- "currentPublishedVersionId":95122,
- "creatorParticipantId":null,
- "fulfillments":[
+ "data": {
+ "id": 154060,
+ "createdAt": "2018-11-08T15:13:16.143Z",
+ "updatedAt": "2019-02-26T09:40:10.741Z",
+ "currentPublishedVersionId": 117273,
+ "projectVersions": [
{
- "id":60249,
- "workflowStatusId":null,
- "procedureId":494,
- "projectVersionId":95122,
- "createdAt":"2017-10-23T16:02:42.92416+00:00",
- "updatedAt":"2017-10-23T16:02:42.92416+00:00"
+ "id": 117273,
+ "code": "HTCD19-HEA;NUT;WSH-154060-1",
+ "projectId": 154060,
+ "version": 1,
+ "name": "Appui à la prise en charge médico-nutritionnelle des enfants de moins de 5 ans, des femmes enceintes et femmes allaitantes dans la région sanitaire de N'Djamena.",
+ "currentRequestedFunds": "4311281",
+ "lastGeneratedPdf": "2018-11-26T14:03:44.510Z",
+ "startDate": "2019-01-01T00:00:00.000Z",
+ "endDate": "2019-12-31T00:00:00.000Z",
+ "objective": "ALIMA et son partenaire Alerte Santé auront pour objectif de contribuer à la réduction de la mortalité des enfants de moins de 5 ans dans la région sanitaire de N'Djamena à travers l'amélioration des statuts sanitaires et nutritionnels de 80985 enfants de moins de 5 ans et femmes enceintes et allaitantes (27157 hommes et 53828 femmes) à travers les activités de prise en charge, de sensibilisation à la malnutrition aigüe sévère et le renforcement des capacités de 78 professionnels de santé dans les zones d’intervention dont 18 hommes et 60 femmes. \nDans la région sanitaire de N'Djamena, le projet poursuivra l'appui à la prise en charge de la MAS en en hospitalisation dans l'UNT HATC et dans la nouvelle UNT de Gozattor. La prise en charge des enfants MAS en ambulatoire s'effectuera dans les 16 UNA soutenues en 2018. Cela se fera par le biais du système de circuit unique permettant le dépistage systématique de la MAS de tous les enfants de moins de 5ans se présentant dans le centre de santé et le rattrapage de la vaccination pour la mère et l'enfant. Des campagnes de dépistages de masse couplés au formation PB mères seront intégrés dans le projet afin d’assurer une prise en charge précoce et préventive. \nTel que l'énonce la Charte ALIMA \"le patient d'abord\", le bénéficiaire est au centre de tout dispositif d'intervention de l'organisation. L'ONG médicale entend donc exécuter son mandat de manière responsable en tenant en compte des spécificités ou non des populations qu'elle assiste et vis-à-vis desquelles elle sera redevable tout au long du cycle de projet. \nLes populations affectés sont considérées comme des \"partenaires\" et intégrées dans la programmation humanitaire, notamment dans l'identification des besoins, le conceptualisation, la mise en oeuvre de la réponse, le suivi et l'évaluation de fin de cycle. \nAinsi, ALIMA s'engage à :\n- incorporer systématiquement la notion de redevabilité dans sa programmation; \n- assurer la transparence à travers le partage d'informations avec la population affectée; \n- mettre en place un mécanisme de collecte et traitement des feedbacks et plaintes; \n- promouvoir la participation et l'engagement de la population affectée afin de renforcer l'appropriation locale et la résilience; \n- promouvoir un système de planification, suivi et évaluation participatif. \n",
+ "partners": "Alerte santé",
+ "implementationStatus": "published",
+ "createdAt": "2018-11-08T15:13:16.147Z",
+ "updatedAt": "2019-02-26T09:40:10.681Z",
+ "categories": [],
+ "organizations": [
+ {
+ "id": 1937,
+ "name": "Alliance for International Medical Action",
+ "nativeName": "The Alliance for International Medical Action",
+ "abbreviation": "ALIMA",
+ "url": "www.alimaong.org",
+ "parentID": null,
+ "comments": null,
+ "active": true,
+ "collectiveInd": false,
+ "createdAt": "2017-01-14T00:53:54.170Z",
+ "updatedAt": "2017-12-09T00:03:39.717Z",
+ "projectVersionOrganization": {
+ "projec": 117273,
+ "organi": 1937,
+ "create": "2018-11-08T15:13:30.626Z",
+ "update": "2018-11-08T15:13:30.626Z"
+ }
+ }
+ ],
+ "planEntities": [
+ {
+ "id": 2969,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-30T08:59:08.917Z",
+ "updatedAt": "2018-10-30T09:25:49.609Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2381,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2381,
+ "planEntityId": 2969,
+ "customReference": "9",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Renforcer les capacités des prestataires et l’accessibilité des structures pour offre des soins de qualité aux femmes enceintes et allaitantes, et aux accouchées y compris les références.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2936
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-30T08:59:08.917Z",
+ "updatedAt": "2018-10-30T09:25:49.609Z"
+ }
+ },
+ {
+ "id": 2961,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T16:47:37.355Z",
+ "updatedAt": "2018-10-30T09:25:42.632Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2405,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2405,
+ "planEntityId": 2961,
+ "customReference": "1",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Fournir et assurer l’approvisionnent en médicaments et autres intrants essentiels pour assurer la prise en charge médicale et la référence des populations vulnérables dans les centres de santé, les sites de retournés et réfugies à travers des cliniques mobiles ainsi que les soins gratuits dans les hôpitaux des localités d’accueils.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T16:47:37.355Z",
+ "updatedAt": "2018-10-30T09:25:42.632Z"
+ }
+ },
+ {
+ "id": 2968,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-30T08:42:54.789Z",
+ "updatedAt": "2018-10-30T09:25:47.792Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2407,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2407,
+ "planEntityId": 2968,
+ "customReference": "8",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Renforcer la sensibilisation des communautés sur leur droit et prérogative sur les services qui leurs sont offerts.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2935
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-30T08:42:54.789Z",
+ "updatedAt": "2018-10-30T09:25:47.792Z"
+ }
+ },
+ {
+ "id": 2962,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T17:01:40.983Z",
+ "updatedAt": "2018-10-30T09:25:42.812Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2435,
+ "createdAt": "2018-11-14T09:26:09.816Z",
+ "updatedAt": "2018-11-14T09:26:09.816Z"
+ },
+ "planEntityVersion": {
+ "id": 2435,
+ "planEntityId": 2962,
+ "customReference": "2",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Organiser des enquêtes de satisfaction des soins offerts et mettre en place des mécanismes de plaintes accessibles, efficaces et confidentiels.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T17:01:40.983Z",
+ "updatedAt": "2018-10-30T09:25:42.812Z"
+ }
+ },
+ {
+ "id": 2964,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T17:29:31.002Z",
+ "updatedAt": "2018-10-30T09:25:44.680Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2461,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2461,
+ "planEntityId": 2964,
+ "customReference": "4",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Recycler le personnel médical et les relais communautaires à renseigner les outils de collecte d’information sur les maladies à potentiel épidémique dans tous les districts.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2935
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T17:29:31.002Z",
+ "updatedAt": "2018-10-30T09:25:44.680Z"
+ }
+ },
+ {
+ "id": 3097,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-31T16:03:09.955Z",
+ "updatedAt": "2018-11-02T17:57:33.077Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2643,
+ "createdAt": "2018-11-11T15:06:11.982Z",
+ "updatedAt": "2018-11-11T15:06:11.982Z"
+ },
+ "planEntityVersion": {
+ "id": 2643,
+ "planEntityId": 3097,
+ "customReference": "1",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Accès à l'eau potable des populations affectées selon les normes et standards (SPHERE et national).",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-31T16:03:09.955Z",
+ "updatedAt": "2018-11-02T17:57:33.077Z"
+ }
+ },
+ {
+ "id": 3155,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:32:15.246Z",
+ "updatedAt": "2018-11-03T13:05:55.162Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2721,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2721,
+ "planEntityId": 3155,
+ "customReference": "2",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Formation initial/recyclage de 850 personnel soignant dans les unités nutritionnelles sur le protocole national",
+ "support": [
+ {
+ "planEntityIds": [
+ 2935
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:32:15.246Z",
+ "updatedAt": "2018-11-03T13:05:55.162Z"
+ }
+ },
+ {
+ "id": 3154,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:29:13.232Z",
+ "updatedAt": "2018-11-03T13:05:54.752Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2726,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2726,
+ "planEntityId": 3154,
+ "customReference": "1",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Sensibilisation portant sur les pratiques familiales essentielles (PFE) pour les mères d’enfants malnutris et pour les femmes enceintes/allaitantes admises à la prise en charge nutritionnelle.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2935
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:29:13.232Z",
+ "updatedAt": "2018-11-03T13:05:54.752Z"
+ }
+ },
+ {
+ "id": 3159,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T10:29:25.628Z",
+ "updatedAt": "2018-11-02T19:29:51.666Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2730,
+ "createdAt": "2018-11-11T15:06:11.982Z",
+ "updatedAt": "2018-11-11T15:06:11.982Z"
+ },
+ "planEntityVersion": {
+ "id": 2730,
+ "planEntityId": 3159,
+ "customReference": "5",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Amélioration de la prise en charge nutritionnelle a travers la délivrance du paquet minimum d'activités WASH pour les couples mère-enfants MAS et les centres nutritionnels (UNA et UNT).",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T10:29:25.628Z",
+ "updatedAt": "2018-11-02T19:29:51.666Z"
+ }
+ },
+ {
+ "id": 3157,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:37:08.826Z",
+ "updatedAt": "2018-11-03T13:05:53.411Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2731,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2731,
+ "planEntityId": 3157,
+ "customReference": "4",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Prise en charge de la malnutrition aigue sévère",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:37:08.826Z",
+ "updatedAt": "2018-11-03T13:05:53.411Z"
+ }
+ },
+ {
+ "id": 3158,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:38:09.300Z",
+ "updatedAt": "2018-11-03T13:05:56.258Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2755,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2755,
+ "planEntityId": 3158,
+ "customReference": "5",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Prise en charge de la malnutrition aigue moderee",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:38:09.300Z",
+ "updatedAt": "2018-11-03T13:05:56.258Z"
+ }
+ }
+ ],
+ "governingEntities": [
+ {
+ "id": 4330,
+ "planId": 668,
+ "entityPrototypeId": 2332,
+ "entityType": "CL",
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-08T16:32:41.266Z",
+ "updatedAt": "2019-07-01T13:53:52.106Z",
+ "deletedAt": null,
+ "projectVersionGoverningEntity": {},
+ "governingEntityVersion": {
+ "id": 4011,
+ "govern": 4330,
+ "name": "Eau, hygiène et assainissement",
+ "custom": "2",
+ "value": {
+ "icon": "clusters_water_sanitation_and_hygiene_icon",
+ "categories": [],
+ "orderNumber": 1
+ },
+ "overri": false,
+ "curren": true,
+ "latest": true,
+ "versio": [
+ "1.0"
+ ],
+ "create": "2018-10-08T16:32:41.266Z",
+ "update": "2019-07-01T13:53:52.106Z"
+ }
+ },
+ {
+ "id": 4332,
+ "planId": 668,
+ "entityPrototypeId": 2332,
+ "entityType": "CL",
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-08T16:33:08.399Z",
+ "updatedAt": "2019-07-01T13:53:57.330Z",
+ "deletedAt": null,
+ "projectVersionGoverningEntity": {},
+ "governingEntityVersion": {
+ "id": 4013,
+ "govern": 4332,
+ "name": "Nutrition",
+ "custom": "4",
+ "value": {
+ "icon": "clusters_nutrition_icon",
+ "categories": [],
+ "orderNumber": 3
+ },
+ "overri": false,
+ "curren": true,
+ "latest": true,
+ "versio": [
+ "1.0"
+ ],
+ "create": "2018-10-08T16:33:08.399Z",
+ "update": "2019-07-01T13:53:57.330Z"
+ }
+ },
+ {
+ "id": 4334,
+ "planId": 668,
+ "entityPrototypeId": 2332,
+ "entityType": "CL",
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-08T16:34:00.048Z",
+ "updatedAt": "2019-07-01T13:54:03.629Z",
+ "deletedAt": null,
+ "projectVersionGoverningEntity": {},
+ "governingEntityVersion": {
+ "id": 4015,
+ "govern": 4334,
+ "name": "Santé",
+ "custom": "6",
+ "value": {
+ "icon": "clusters_health_icon",
+ "categories": [],
+ "orderNumber": 5
+ },
+ "overri": false,
+ "curren": true,
+ "latest": true,
+ "versio": [
+ "1.0"
+ ],
+ "create": "2018-10-08T16:34:00.048Z",
+ "update": "2019-07-01T13:54:03.629Z"
+ }
+ }
+ ],
+ "plans": [
+ {
+ "id": 668,
+ "restricted": false,
+ "revisionState": "projectsOnly",
+ "createdAt": "2018-10-08T16:30:43.446Z",
+ "updatedAt": "2019-07-16T10:48:51.695Z",
+ "projectVersionPlan": {
+ "id": 115747,
+ "planId": 668,
+ "projectVersionId": 117273,
+ "value": {
+ "optionConsensus": [
+ {
+ "id": 4330,
+ "toId": 270
+ },
+ {
+ "id": 4332,
+ "toId": 270
+ },
+ {
+ "id": 4334
+ }
+ ]
+ },
+ "workflowStatusOptionId": 273,
+ "createdAt": "2018-11-08T15:32:40.004Z",
+ "updatedAt": "2019-02-26T09:38:38.004Z"
+ },
+ "planVersion": {
+ "id": 585,
+ "planId": 668,
+ "name": "Chad 2019",
+ "startDate": "2019-01-01T00:00:00.000Z",
+ "endDate": "2019-12-31T00:00:00.000Z",
+ "comments": null,
+ "isForHPCProjects": true,
+ "code": "HTCD19",
+ "customLocationCode": null,
+ "currentReportingPeriodId": 910,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-08T16:30:43.446Z",
+ "updatedAt": "2019-06-25T21:32:11.982Z"
+ },
+ "procedureEntityPrototypes": [
+ {
+ "id": 11,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "createdAt": "2019-02-14T00:29:48.290Z",
+ "updatedAt": "2019-02-14T00:29:48.290Z"
+ }
+ ],
+ "workflowStatusOptions": [
+ {
+ "id": 267,
+ "planId": 668,
+ "type": "notSubmitted",
+ "value": {
+ "label": {
+ "en": "not submitted"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.233Z",
+ "updatedAt": "2018-10-09T08:19:19.233Z",
+ "previousSteps": [
+ {
+ "id": 454,
+ "fromId": 272,
+ "toId": 267,
+ "value": {
+ "label": {
+ "en": "Unsubmit project"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.340Z",
+ "updatedAt": "2018-10-09T08:19:19.340Z"
+ },
+ {
+ "id": 448,
+ "fromId": 268,
+ "toId": 267,
+ "value": {
+ "label": {
+ "en": "Unsubmit project"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.293Z",
+ "updatedAt": "2018-10-09T08:19:19.293Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 447,
+ "fromId": 267,
+ "toId": 268,
+ "value": {
+ "label": {
+ "en": "Submit to plan"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.281Z",
+ "updatedAt": "2018-10-09T08:19:19.281Z"
+ }
+ ]
+ },
+ {
+ "id": 268,
+ "planId": 668,
+ "type": "submitted",
+ "value": {
+ "label": {
+ "en": "submitted to plan"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.244Z",
+ "updatedAt": "2018-10-09T08:19:19.244Z",
+ "previousSteps": [
+ {
+ "id": 447,
+ "fromId": 267,
+ "toId": 268,
+ "value": {
+ "label": {
+ "en": "Submit to plan"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.281Z",
+ "updatedAt": "2018-10-09T08:19:19.281Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 448,
+ "fromId": 268,
+ "toId": 267,
+ "value": {
+ "label": {
+ "en": "Unsubmit project"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.293Z",
+ "updatedAt": "2018-10-09T08:19:19.293Z"
+ },
+ {
+ "id": 449,
+ "fromId": 268,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Add to review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.303Z",
+ "updatedAt": "2018-10-09T08:19:19.303Z"
+ }
+ ]
+ },
+ {
+ "id": 269,
+ "planId": 668,
+ "type": "review",
+ "value": {
+ "label": {
+ "en": "under review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.251Z",
+ "updatedAt": "2018-10-09T08:19:19.251Z",
+ "previousSteps": [
+ {
+ "id": 449,
+ "fromId": 268,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Add to review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.303Z",
+ "updatedAt": "2018-10-09T08:19:19.303Z"
+ },
+ {
+ "id": 453,
+ "fromId": 272,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Send back for review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.328Z",
+ "updatedAt": "2019-01-08T17:44:33.871Z"
+ },
+ {
+ "id": 636,
+ "fromId": 271,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Return to under review"
+ }
+ },
+ "createdAt": "2018-11-22T18:30:50.157Z",
+ "updatedAt": "2018-11-22T18:30:50.157Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 457,
+ "fromId": 269,
+ "toId": 271,
+ "value": {
+ "label": {
+ "en": "Reject project as cluster lead"
+ },
+ "optionConsensus": true
+ },
+ "createdAt": "2018-10-09T08:19:19.358Z",
+ "updatedAt": "2018-10-09T08:19:19.358Z"
+ },
+ {
+ "id": 450,
+ "fromId": 269,
+ "toId": 270,
+ "value": {
+ "label": {
+ "en": "Approve project as cluster lead"
+ },
+ "optionConsensus": true
+ },
+ "createdAt": "2018-10-09T08:19:19.311Z",
+ "updatedAt": "2018-10-09T08:19:19.311Z"
+ },
+ {
+ "id": 452,
+ "fromId": 269,
+ "toId": 272,
+ "value": {
+ "label": {
+ "en": "Return project for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.321Z",
+ "updatedAt": "2018-10-09T08:19:19.321Z"
+ }
+ ]
+ },
+ {
+ "id": 270,
+ "planId": 668,
+ "type": "review",
+ "value": {
+ "label": {
+ "en": "approved by cluster lead"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.257Z",
+ "updatedAt": "2018-10-09T08:19:19.257Z",
+ "previousSteps": [
+ {
+ "id": 458,
+ "fromId": 273,
+ "toId": 270,
+ "value": {
+ "label": {
+ "en": "Return to approved by cluster lead"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.365Z",
+ "updatedAt": "2018-10-09T08:19:19.365Z"
+ },
+ {
+ "id": 450,
+ "fromId": 269,
+ "toId": 270,
+ "value": {
+ "label": {
+ "en": "Approve project as cluster lead"
+ },
+ "optionConsensus": true
+ },
+ "createdAt": "2018-10-09T08:19:19.311Z",
+ "updatedAt": "2018-10-09T08:19:19.311Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 451,
+ "fromId": 270,
+ "toId": 273,
+ "value": {
+ "label": {
+ "en": "Accept project by HC"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.318Z",
+ "updatedAt": "2018-10-09T08:19:19.318Z"
+ },
+ {
+ "id": 455,
+ "fromId": 270,
+ "toId": 272,
+ "value": {
+ "label": {
+ "en": "Return project for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.351Z",
+ "updatedAt": "2018-10-09T08:19:19.351Z"
+ },
+ {
+ "id": 456,
+ "fromId": 270,
+ "toId": 271,
+ "value": {
+ "label": {
+ "en": "Reject project as HC"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.354Z",
+ "updatedAt": "2018-10-09T08:19:19.354Z"
+ }
+ ]
+ },
+ {
+ "id": 271,
+ "planId": 668,
+ "type": "rejected",
+ "value": {
+ "label": {
+ "en": "rejected"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.264Z",
+ "updatedAt": "2018-10-09T08:19:19.264Z",
+ "previousSteps": [
+ {
+ "id": 457,
+ "fromId": 269,
+ "toId": 271,
+ "value": {
+ "label": {
+ "en": "Reject project as cluster lead"
+ },
+ "optionConsensus": true
+ },
+ "createdAt": "2018-10-09T08:19:19.358Z",
+ "updatedAt": "2018-10-09T08:19:19.358Z"
+ },
+ {
+ "id": 456,
+ "fromId": 270,
+ "toId": 271,
+ "value": {
+ "label": {
+ "en": "Reject project as HC"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.354Z",
+ "updatedAt": "2018-10-09T08:19:19.354Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 636,
+ "fromId": 271,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Return to under review"
+ }
+ },
+ "createdAt": "2018-11-22T18:30:50.157Z",
+ "updatedAt": "2018-11-22T18:30:50.157Z"
+ }
+ ]
+ },
+ {
+ "id": 272,
+ "planId": 668,
+ "type": "returned",
+ "value": {
+ "label": {
+ "en": "returned for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.271Z",
+ "updatedAt": "2018-10-09T08:19:19.271Z",
+ "previousSteps": [
+ {
+ "id": 452,
+ "fromId": 269,
+ "toId": 272,
+ "value": {
+ "label": {
+ "en": "Return project for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.321Z",
+ "updatedAt": "2018-10-09T08:19:19.321Z"
+ },
+ {
+ "id": 455,
+ "fromId": 270,
+ "toId": 272,
+ "value": {
+ "label": {
+ "en": "Return project for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.351Z",
+ "updatedAt": "2018-10-09T08:19:19.351Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 453,
+ "fromId": 272,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Send back for review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.328Z",
+ "updatedAt": "2019-01-08T17:44:33.871Z"
+ },
+ {
+ "id": 454,
+ "fromId": 272,
+ "toId": 267,
+ "value": {
+ "label": {
+ "en": "Unsubmit project"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.340Z",
+ "updatedAt": "2018-10-09T08:19:19.340Z"
+ }
+ ]
+ },
+ {
+ "id": 273,
+ "planId": 668,
+ "type": "accepted",
+ "value": {
+ "label": {
+ "en": "accepted"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.277Z",
+ "updatedAt": "2018-10-09T08:19:19.277Z",
+ "previousSteps": [
+ {
+ "id": 451,
+ "fromId": 270,
+ "toId": 273,
+ "value": {
+ "label": {
+ "en": "Accept project by HC"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.318Z",
+ "updatedAt": "2018-10-09T08:19:19.318Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 458,
+ "fromId": 273,
+ "toId": 270,
+ "value": {
+ "label": {
+ "en": "Return to approved by cluster lead"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.365Z",
+ "updatedAt": "2018-10-09T08:19:19.365Z"
+ }
+ ]
+ }
+ ],
+ "procedureSections": [
+ {
+ "id": 17,
+ "planId": 668,
+ "name": "Objectifs Stratégiques",
+ "order": 8,
+ "createdAt": "2018-10-09T09:59:16.161Z",
+ "updatedAt": "2018-10-09T10:02:15.871Z",
+ "conditionFields": [
+ {
+ "id": 1129,
+ "procedureSectionField": {
+ "procedureSectionId": 17,
+ "conditionFieldId": 1129,
+ "createdAt": "2018-10-09T10:01:06.036Z",
+ "updatedAt": "2018-10-09T10:01:06.036Z"
+ }
+ },
+ {
+ "id": 1130,
+ "procedureSectionField": {
+ "procedureSectionId": 17,
+ "conditionFieldId": 1130,
+ "createdAt": "2018-10-09T10:01:13.242Z",
+ "updatedAt": "2018-10-09T10:01:13.242Z"
+ }
+ },
+ {
+ "id": 1131,
+ "procedureSectionField": {
+ "procedureSectionId": 17,
+ "conditionFieldId": 1131,
+ "createdAt": "2018-10-09T10:02:15.883Z",
+ "updatedAt": "2018-10-09T10:02:15.883Z"
+ }
+ }
+ ]
+ }
+ ],
+ "conditionFields": [
+ {
+ "id": 1135,
+ "planId": 668,
+ "name": "IASC Gender with Age Marker (GAM)",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project Gender Age Marker"
+ }
+ },
+ "description": "Please select the GAM code for this project. To complete the IASC Gender with Age Marker (GAM) go to - https://ee.humanitarianresponse.info/single/::lKbQTg7d. Documentation on the GAM tool, including frequently asked questions and self-guided training materials, can be found on the IASC Gender and Age Marker website - https://iascgenderwithagemarker.com/",
+ "fieldType": "select",
+ "rules": {
+ "options": [
+ "4 (T): The project is principally about promoting gender equality, including across age groups.",
+ "4 (M): The project will significantly contribute to gender equality, including across age groups.",
+ "3 (T): The project is principally about promoting gender equality without full attention to age groups.",
+ "3 (M): The project will contribute to gender equality but without full attention to age groups.",
+ "2 (T): The project addresses age differences and aims to promote gender equality but without the necessary gender equality measures.",
+ "2 (M): The project addresses age differences but does not intentionally contribute to gender equality.",
+ "1 (T): The project aims to principally promote gender equality without the necessary gender equality measures.",
+ "1 (M): The project does not intentionally contribute to gender equality.",
+ "0: There is no evidence that the project will contribute towards gender equality.",
+ "N/A: The project does not have any contact with or direct influence on the affected population, and the programming actions are not linked."
+ ]
+ },
+ "required": true,
+ "order": 16,
+ "createdAt": "2018-10-09T08:40:28.135Z",
+ "updatedAt": "2019-02-26T09:50:51.891Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1134,
+ "planId": 668,
+ "name": "Estimated percentage of project requirements to be used for cash",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 14,
+ "createdAt": "2018-10-09T08:39:30.521Z",
+ "updatedAt": "2018-11-21T14:23:59.391Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1133,
+ "planId": 668,
+ "name": "Restriction",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project restriction"
+ }
+ },
+ "description": "",
+ "fieldType": "select",
+ "rules": {
+ "options": [
+ "Restricted",
+ "Unrestricted",
+ "Combined",
+ "Unknown"
+ ]
+ },
+ "required": true,
+ "order": 15,
+ "createdAt": "2018-10-09T08:38:43.759Z",
+ "updatedAt": "2019-02-26T09:51:51.972Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1132,
+ "planId": 668,
+ "name": "Is any part of this project cash based intervention",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project cash and vouchers"
+ }
+ },
+ "description": " (including vouchers)",
+ "fieldType": "checkbox",
+ "rules": null,
+ "required": false,
+ "order": 13,
+ "createdAt": "2018-10-09T08:38:05.218Z",
+ "updatedAt": "2019-02-26T09:49:38.450Z",
+ "isReliedOnBy": [
+ {
+ "id": 1134,
+ "planId": 668,
+ "name": "Estimated percentage of project requirements to be used for cash",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 14,
+ "createdAt": "2018-10-09T08:39:30.521Z",
+ "updatedAt": "2018-11-21T14:23:59.391Z",
+ "conditionFieldReliesOn": {
+ "createdAt": "2018-10-09T08:39:49.021Z",
+ "updatedAt": "2018-10-09T08:39:49.021Z",
+ "reliedOnById": 1132,
+ "reliesOnId": 1134
+ }
+ },
+ {
+ "id": 1133,
+ "planId": 668,
+ "name": "Restriction",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project restriction"
+ }
+ },
+ "description": "",
+ "fieldType": "select",
+ "rules": {
+ "options": [
+ "Restricted",
+ "Unrestricted",
+ "Combined",
+ "Unknown"
+ ]
+ },
+ "required": true,
+ "order": 15,
+ "createdAt": "2018-10-09T08:38:43.759Z",
+ "updatedAt": "2019-02-26T09:51:51.972Z",
+ "conditionFieldReliesOn": {
+ "createdAt": "2018-10-09T08:39:49.021Z",
+ "updatedAt": "2018-10-09T08:39:49.021Z",
+ "reliedOnById": 1132,
+ "reliesOnId": 1133
+ }
+ }
+ ]
+ },
+ {
+ "id": 1131,
+ "planId": 668,
+ "name": "% qui contribue à l’OS 3 : Protection des personnes affectées",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 12,
+ "createdAt": "2018-10-09T08:37:33.681Z",
+ "updatedAt": "2018-11-21T14:25:01.305Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1130,
+ "planId": 668,
+ "name": "% qui contribue à l’OS 2 : Renforcer la résilience",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 11,
+ "createdAt": "2018-10-09T08:37:04.810Z",
+ "updatedAt": "2018-11-21T14:24:56.736Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1129,
+ "planId": 668,
+ "name": "% qui contribue à l’OS 1 : Sauver des vies",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 10,
+ "createdAt": "2018-10-09T08:36:39.522Z",
+ "updatedAt": "2018-11-21T14:24:52.517Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1128,
+ "planId": 668,
+ "name": "% qui contribue à la crise mouvement de population",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 9,
+ "createdAt": "2018-10-09T08:36:14.189Z",
+ "updatedAt": "2018-11-21T14:24:41.174Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1127,
+ "planId": 668,
+ "name": "% qui contribue à la crise urgence sanitaire",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 9,
+ "createdAt": "2018-10-09T08:35:45.152Z",
+ "updatedAt": "2018-11-21T14:24:44.814Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1126,
+ "planId": 668,
+ "name": "% qui contribue à la réponse aux besoins dans le reste du pays?",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 9,
+ "createdAt": "2018-10-09T08:35:18.918Z",
+ "updatedAt": "2018-11-21T14:24:48.327Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1125,
+ "planId": 668,
+ "name": "% qui contribue à la crise sécurité alimentaire et malnutrition",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 8,
+ "createdAt": "2018-10-09T08:34:45.599Z",
+ "updatedAt": "2018-11-21T14:24:37.294Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1124,
+ "planId": 668,
+ "name": "% qui contribue à la réponse à la crise des réfugiés soudanais à",
+ "grouping": false,
+ "label": {},
+ "description": "% qui contribue à la réponse à la crise des réfugiés soudanais à l’Est?",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 7,
+ "createdAt": "2018-10-09T08:34:14.186Z",
+ "updatedAt": "2018-11-21T14:24:30.064Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1123,
+ "planId": 668,
+ "name": "% qui contribue à la réponse aux besoins dans le Sud?",
+ "grouping": false,
+ "label": {},
+ "description": "% qui contribue à la réponse aux besoins dans le Sud?",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 7,
+ "createdAt": "2018-10-09T08:33:41.158Z",
+ "updatedAt": "2018-11-21T14:24:34.147Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1122,
+ "planId": 668,
+ "name": "Veuillez sélectionner l’analyse qui se rapporte le mieux à votre",
+ "grouping": false,
+ "label": {},
+ "description": "Veuillez sélectionner l’analyse qui se rapporte le mieux à votre projet.",
+ "fieldType": "select",
+ "rules": {
+ "options": [
+ "0 - Ce projet n’intègre pas suffisamment la protection transversale.",
+ "1 - Ce projet intègre, de manière modérée, la protection transversale.",
+ "2 - Ce projet intègre de manière substantielle la protection transversale."
+ ]
+ },
+ "required": true,
+ "order": 6,
+ "createdAt": "2018-10-09T08:33:03.558Z",
+ "updatedAt": "2018-10-09T08:33:03.558Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1121,
+ "planId": 668,
+ "name": "Lake Chad Basin?",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project Lake Chad Basin"
+ }
+ },
+ "description": "",
+ "fieldType": "checkbox",
+ "rules": [],
+ "required": false,
+ "order": 4,
+ "createdAt": "2018-10-09T08:32:10.316Z",
+ "updatedAt": "2019-02-26T09:53:07.136Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1119,
+ "planId": 668,
+ "name": "Activities or outputs",
+ "grouping": false,
+ "label": {},
+ "description": "Please describe the project activities that will address the needs identified and how they will be implemented.",
+ "fieldType": "textarea",
+ "rules": {
+ "maxlength": 4000
+ },
+ "required": true,
+ "order": 2,
+ "createdAt": "2018-10-09T08:30:46.087Z",
+ "updatedAt": "2018-11-21T14:24:18.534Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1118,
+ "planId": 668,
+ "name": "Needs",
+ "grouping": false,
+ "label": {},
+ "description": "Please describe the assessed needs the project will address through its activities.",
+ "fieldType": "textarea",
+ "rules": {
+ "maxlength": 4000
+ },
+ "required": true,
+ "order": 1,
+ "createdAt": "2018-10-09T08:29:05.774Z",
+ "updatedAt": "2018-11-21T14:25:22.114Z",
+ "isReliedOnBy": []
+ }
+ ]
+ }
+ ],
+ "globalClusters": [
+ {
+ "id": 7,
+ "hrinfoId": 7,
+ "type": "global",
+ "name": "Health",
+ "code": "HEA",
+ "homepage": "http://www.who.int/hac/global_health_cluster/en/",
+ "defaultIconId": "clusters_health_icon",
+ "parentId": null,
+ "createdAt": "2015-09-10T20:26:37.494Z",
+ "updatedAt": "2018-01-12T01:16:02.732Z",
+ "projectGlobalClusters": {
+ "projectVer": 117273,
+ "globalClus": 7,
+ "createdAt": "2018-11-08T15:32:50.315Z",
+ "updatedAt": "2018-11-08T15:32:50.316Z"
+ }
+ },
+ {
+ "id": 9,
+ "hrinfoId": 9,
+ "type": "global",
+ "name": "Nutrition",
+ "code": "NUT",
+ "homepage": "http://nutritioncluster.net",
+ "defaultIconId": "clusters_nutrition_icon",
+ "parentId": null,
+ "createdAt": "2015-09-10T20:26:37.504Z",
+ "updatedAt": "2018-01-12T01:16:02.733Z",
+ "projectGlobalClusters": {
+ "projectVer": 117273,
+ "globalClus": 9,
+ "createdAt": "2018-11-08T15:32:50.315Z",
+ "updatedAt": "2018-11-08T15:32:50.316Z"
+ }
+ },
+ {
+ "id": 11,
+ "hrinfoId": 11,
+ "type": "global",
+ "name": "Water Sanitation Hygiene",
+ "code": "WSH",
+ "homepage": "http://washcluster.net/",
+ "defaultIconId": "clusters_water_sanitation_and_hygiene_icon",
+ "parentId": null,
+ "createdAt": "2015-09-10T20:26:37.511Z",
+ "updatedAt": "2018-01-12T01:16:02.733Z",
+ "projectGlobalClusters": {
+ "projectVer": 117273,
+ "globalClus": 11,
+ "createdAt": "2018-11-11T14:52:19.143Z",
+ "updatedAt": "2018-11-11T14:52:19.145Z"
+ }
+ }
+ ],
+ "projectVersionPlans": [
+ {
+ "id": 115747,
+ "planId": 668,
+ "projectVersionId": 117273,
+ "value": {
+ "optionConsensus": [
+ {
+ "id": 4330,
+ "toId": 270
+ },
+ {
+ "id": 4332,
+ "toId": 270
+ },
+ {
+ "id": 4334
+ }
+ ]
+ },
+ "workflowStatusOptionId": 273,
+ "createdAt": "2018-11-08T15:32:40.004Z",
+ "updatedAt": "2019-02-26T09:38:38.004Z",
+ "comments": [],
+ "workflowStatusOption": {
+ "id": 273,
+ "planId": 668,
+ "type": "accepted",
+ "value": {
+ "label": {
+ "en": "accepted"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.277Z",
+ "updatedAt": "2018-10-09T08:19:19.277Z"
+ },
+ "projectVersionFields": [
+ {
+ "id": 283034,
+ "conditionFieldId": 1123,
+ "projectVersionPlanId": 115747,
+ "value": "0",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.610Z"
+ },
+ {
+ "id": 283035,
+ "conditionFieldId": 1125,
+ "projectVersionPlanId": 115747,
+ "value": "100",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.610Z"
+ },
+ {
+ "id": 283036,
+ "conditionFieldId": 1128,
+ "projectVersionPlanId": 115747,
+ "value": "0",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.611Z"
+ },
+ {
+ "id": 283026,
+ "conditionFieldId": 1129,
+ "projectVersionPlanId": 115747,
+ "value": "90",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.607Z"
+ },
+ {
+ "id": 283027,
+ "conditionFieldId": 1130,
+ "projectVersionPlanId": 115747,
+ "value": "8",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.607Z"
+ },
+ {
+ "id": 283028,
+ "conditionFieldId": 1131,
+ "projectVersionPlanId": 115747,
+ "value": "2",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.608Z"
+ },
+ {
+ "id": 283037,
+ "conditionFieldId": 1127,
+ "projectVersionPlanId": 115747,
+ "value": "30",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.611Z"
+ },
+ {
+ "id": 283038,
+ "conditionFieldId": 1126,
+ "projectVersionPlanId": 115747,
+ "value": "20",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.611Z"
+ },
+ {
+ "id": 283039,
+ "conditionFieldId": 1132,
+ "projectVersionPlanId": 115747,
+ "value": "false",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.611Z"
+ },
+ {
+ "id": 283041,
+ "conditionFieldId": 1134,
+ "projectVersionPlanId": 115747,
+ "value": null,
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.612Z"
+ },
+ {
+ "id": 283040,
+ "conditionFieldId": 1133,
+ "projectVersionPlanId": 115747,
+ "value": null,
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.612Z"
+ },
+ {
+ "id": 283030,
+ "conditionFieldId": 1119,
+ "projectVersionPlanId": 115747,
+ "value": "4.1. Renforcer l'accès à la prise en charge de la MAS et aux soins de santé primaires, préventifs et curatifs pour les enfants de moins de 5 ans ; \n-\tRenforcement en ressources humaines, intrants, équipements et matériel médical dans la zone d’intervention\n-\tFormation des agents de santé sur le protocole de prise en charge des maladies de l’enfant (PCIME)\n-\tPrise en charge de la MAS et des urgences pédiatriques au niveau d’UNT/pédiatrie (Hôpital) et des UNA (ambulatoire) dans la zone d’intervention\n-\tMise en place d’un système de référencements des cas compliqués dans la zone d’intervention\n-\tFormation des mamans à l’approche PB-mères pour la détection précoce \n-\tAssurer un paquet minimum de sanitation (WASH) sur les structures sanitaires appuyées (dotation en eau potable, gestion des déchets et réhabilitation des structures) pour assurer une bonne prise en charge médicale\n- Distribution des kits wash aux mères des enfants MAS admis dans le programme de PEC MAS\n-\tAmélioration de couverture vaccinale à travers l’appui au programme PEV \n-\tAppui à la réhabilitation des UNA et UNT \n-\tRéalisation d'une campagne de dépistage dans les aires de santé appuyés.\n4.2.\tAméliorer l’accès aux soins de santé des femmes en âge de procréer et contribuer à réduire la mortalité maternelle.\n-\tOffre du paquet de soins promotionnel, préventif et curatif pour les femmes enceintes\n-\tMise en place d’un système de référencements pour les grossesses compliquées vers les hôpitaux de district ou régionaux\n-\tFormation des équipes médicales au protocole national de soins obstétricaux et néonataux d’urgence (SONUB)\n-\tDistribution de compléments alimentaires aux femmes enceintes et allaitantes \n-\tSensibiliser les FEFA et les accompagnants d'enfants sur les pratiques familiales essentielles\n4.3.\tRenforcer la participation communautaire (familles, comités de gestion, relais communautaires) pour améliorer la couverture sanitaire ;\n-\tConstitution/redynamisation de réseaux de relais communautaires pour assurer le paquet d’activités communautaires dans toutes les régions d’intervention.\n-\tElargir la communication pour un changement de comportement souhaité axé sur les pratiques familiales Essentielles en Nutrition, Santé et hygiène\n4.4.\tMettre en place un dispositif de veille sanitaire et humanitaire avec une capacité de réponse aux urgences (déplacements de population, blessés, épidémies).\n-\tSuivi de la situation épidémiologique, sanitaire et humanitaire dans les districts de N'djamena \n-\tDéploiement de missions d’évaluation/action en fonction des urgences détectées et constitution d’une équipe d’intervention rapide.\nTel que l'énonce la Charte ALIMA \"le patient d'abord\", le bénéficiaire est au centre de tout dispositif d'intervention de l'organisation. L'ONG médicale entant donc exécuter son mandat de manière responsable en tenant en compte des spécificités ou non des populations qu'elle assiste et vis-à-vis desquelles elle sera redevable tout au long du cycle de projet. \nLes populations affectées sont considérées comme des \"partenaires\" et intégrées dans la programmation humanitaire, notamment dans l'identification des besoins, la conceptualisation, la mise en œuvre de la réponse, le suivi et l'évaluation de fin de cycle. \n-\tOrganiser 2 enquêtes de satisfactions des bénéficiaires \n-\tIncorporer systématiquement la notion de redevabilité dans sa programmation ; \n-\tAssurer la transparence à travers le partage d'informations avec la population affectée ; \n-\tMettre en place un mécanisme de collecte et traitement des feedbacks et plaintes ; \n-\tPromouvoir la participation et l'engagement de la population affectée afin de renforcer l'appropriation locale et la résilience ; \n-\tPromouvoir un système de planification, suivi et évaluation participatif\n",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.609Z"
+ },
+ {
+ "id": 283031,
+ "conditionFieldId": 1121,
+ "projectVersionPlanId": 115747,
+ "value": "false",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.609Z"
+ },
+ {
+ "id": 283032,
+ "conditionFieldId": 1122,
+ "projectVersionPlanId": 115747,
+ "value": "2 - Ce projet intègre de manière substantielle la protection transversale.",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.609Z"
+ },
+ {
+ "id": 283033,
+ "conditionFieldId": 1124,
+ "projectVersionPlanId": 115747,
+ "value": "0",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.610Z"
+ },
+ {
+ "id": 283029,
+ "conditionFieldId": 1118,
+ "projectVersionPlanId": 115747,
+ "value": "Au Tchad, l’insécurité alimentaire, les déplacements de population et les urgences sanitaires entraînent plus de 8 millions de personnes (presque deux tiers de la population tchadienne) dans une situation de vulnérabilité aiguë ou chronique (HNO 2018). Plus de 4,4 millions de personnes dont 52% de femmes sont affectées par l'insécurité alimentaire, dont 890 000 sont en insécurité alimentaire sévère majoritairement dans la bande sahélienne. Le taux de mortalité des enfants de moins de 5 ans est parmi les plus élevés au monde (133 pour 1000). La mortalité maternelle demeure parmi les plus élevées au monde avec 860 décès pour 100 000 naissances vivantes (INSEED, 2015) contre 506/100 000 en moyenne en Afrique sub-saharienne.\n\nLa couverture vaccinale de la rougeole au niveau national atteint 37% (Enquête de couverture de 2015). Le pays connaît actuellement une épidémie de rougeole avec près de 4000 cas enregistrés et 90 décès (bulletin épidemio S44). Cette épidemie de rougeole qui touche en majorité les enfants de moins de 5ans risque d'avoir un impact le statu nutritionnel de ces derniers dans les mois a venir. \nLa région de N'Djamena est très vulnérable d'un point de vue nutritionnel. Selon le Cluster Nutrition, 52 416 enfants de moins de 5 ans sont atteints de MAS en 2018 alors qu'en 2017 le nombre de cas était estimé à 25 653. Environ 17-20% des admissions MAS du pays au courant de premier semestre 2018, sont enregistrés dans la région sanitaire de Ndjamena (bulletin cluster nutrition juin 2018) Le pic saisonnier, généralement pendant la période de soudure (de juin à octobre), a débuté plus tôt, à la fin du mois de janvier. En octobre 2018, la capacité d’hospit n’a pas encore considérablement diminué. Le taux d’hospitalisation des enfants de N’Djamena souffrant de MAS et présentant des complications est l’un des plus élevés du pays (23% cette année). Cela a conduit les acteurs humanitaires en appui au Ministère de la santé à développer un plan d’urgence à N'djamena en 2018.\n \nLes résultats préliminaires de l’enquête SMART de septembre 2018 révèlent à nouveau une situation préoccupante au niveau national avec une prévalence de MAS de 4% et MAG de 13,5%. Au niveau régional, 12 régions (52,2%) présentent des prévalences supérieures au seuil d’urgence (15%) selon la classification de l’OMS avec 25% dans le Kanem. Malgré une amélioration suite aux interventions d’urgences qui sont toujours en cours, la prévalence de la MAS pour la région du Lac atteint 1,8% tandis que ce taux s'élève à 1,2% pour la région de N’Djamena. A ce titre les deux régions figurent toujours parmi les 16 régions prioritaires du cluster nutrition pour 2019. Le maintien des actions de préventions(campagnes de dépistages, formations des mères, programme MAM et cash pendant au moins la période soudure) et une reponse multisecteur et une couverture de la prise en charge au tour de 50% reste primordiale pour prévenir les complications chez les enfants MAS et désengorgés les différents UNT de la ville\n\nEn 2019, 1 261 017 personnes seront dans le besoin soit près de 9% de la population totale du pays. On estime à 856 683 le nombre de personnes qui seront dans les besoin dans les 16 régions prioritaires du pays, et 35% d’entre elles seront atteintes de MAS.\n\n",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.608Z"
+ },
+ {
+ "id": 283042,
+ "conditionFieldId": 1135,
+ "projectVersionPlanId": 115747,
+ "value": "4 (T): The project is principally about promoting gender equality, including across age groups.",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.612Z"
+ }
+ ]
+ }
+ ],
+ "budgetSegments": [
+ {
+ "id": 20796,
+ "projectVersionId": 117273,
+ "name": "general",
+ "createdAt": "2018-11-08T16:53:03.935Z",
+ "updatedAt": "2018-11-23T21:20:06.125Z",
+ "breakdown": [
+ {
+ "id": 112450,
+ "budgetSegmentId": 20796,
+ "name": "RH PROGRAMME",
+ "content": {
+ "amount": 1780470,
+ "percent": 41.3
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.131Z",
+ "updatedAt": "2018-11-23T21:20:06.131Z",
+ "entities": [
+ {
+ "id": 200888,
+ "budgetSegmentBreakdownId": 112450,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.155Z",
+ "updatedAt": "2018-11-23T21:20:06.155Z"
+ }
+ ]
+ },
+ {
+ "id": 112451,
+ "budgetSegmentId": 20796,
+ "name": "RH SUPPORT",
+ "content": {
+ "amount": 461213,
+ "percent": 10.7
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.131Z",
+ "updatedAt": "2018-11-23T21:20:06.131Z",
+ "entities": [
+ {
+ "id": 200889,
+ "budgetSegmentBreakdownId": 112451,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.158Z",
+ "updatedAt": "2018-11-23T21:20:06.158Z"
+ }
+ ]
+ },
+ {
+ "id": 112452,
+ "budgetSegmentId": 20796,
+ "name": "FONCTIONNEMENT",
+ "content": {
+ "amount": 410000,
+ "percent": 9.51
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200890,
+ "budgetSegmentBreakdownId": 112452,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.162Z",
+ "updatedAt": "2018-11-23T21:20:06.162Z"
+ }
+ ]
+ },
+ {
+ "id": 112453,
+ "budgetSegmentId": 20796,
+ "name": "ACTIVITE MED NUT",
+ "content": {
+ "amount": 1198525,
+ "percent": 27.8
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200891,
+ "budgetSegmentBreakdownId": 112453,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.166Z",
+ "updatedAt": "2018-11-23T21:20:06.166Z"
+ }
+ ]
+ },
+ {
+ "id": 112454,
+ "budgetSegmentId": 20796,
+ "name": "TRANSPORT",
+ "content": {
+ "amount": 358290,
+ "percent": 8.31
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200892,
+ "budgetSegmentBreakdownId": 112454,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.169Z",
+ "updatedAt": "2018-11-23T21:20:06.169Z"
+ }
+ ]
+ },
+ {
+ "id": 112455,
+ "budgetSegmentId": 20796,
+ "name": "EQUIPEMENT",
+ "content": {
+ "amount": 75122,
+ "percent": 1.74
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200893,
+ "budgetSegmentBreakdownId": 112455,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.173Z",
+ "updatedAt": "2018-11-23T21:20:06.173Z"
+ }
+ ]
+ },
+ {
+ "id": 112456,
+ "budgetSegmentId": 20796,
+ "name": "VISIBILITE COMMUNICATION",
+ "content": {
+ "amount": 27661,
+ "percent": 0.64
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200894,
+ "budgetSegmentBreakdownId": 112456,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.176Z",
+ "updatedAt": "2018-11-23T21:20:06.176Z"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 31978,
+ "projectVersionId": 117273,
+ "name": "segmentation by organization",
+ "createdAt": "2018-11-23T21:20:06.126Z",
+ "updatedAt": "2018-11-23T21:20:06.126Z",
+ "breakdown": [
+ {
+ "id": 112457,
+ "budgetSegmentId": 31978,
+ "name": "Eau, hygiène et assainissement",
+ "content": {
+ "amount": 258677
+ },
+ "type": null,
+ "createdAt": "2018-11-23T21:20:06.147Z",
+ "updatedAt": "2018-11-23T21:20:06.147Z",
+ "entities": [
+ {
+ "id": 200895,
+ "budgetSegmentBreakdownId": 112457,
+ "objectType": "organization",
+ "objectId": 1937,
+ "createdAt": "2018-11-23T21:20:06.179Z",
+ "updatedAt": "2018-11-23T21:20:06.179Z"
+ },
+ {
+ "id": 200901,
+ "budgetSegmentBreakdownId": 112457,
+ "objectType": "globalCluster",
+ "objectId": 11,
+ "createdAt": "2018-11-23T21:20:06.393Z",
+ "updatedAt": "2018-11-23T21:20:06.393Z"
+ },
+ {
+ "id": 200898,
+ "budgetSegmentBreakdownId": 112457,
+ "objectType": "governingEntity",
+ "objectId": 4330,
+ "createdAt": "2018-11-23T21:20:06.315Z",
+ "updatedAt": "2018-11-23T21:20:06.315Z"
+ }
+ ]
+ },
+ {
+ "id": 112458,
+ "budgetSegmentId": 31978,
+ "name": "Nutrition",
+ "content": {
+ "amount": 2629881
+ },
+ "type": null,
+ "createdAt": "2018-11-23T21:20:06.147Z",
+ "updatedAt": "2018-11-23T21:20:06.147Z",
+ "entities": [
+ {
+ "id": 200899,
+ "budgetSegmentBreakdownId": 112458,
+ "objectType": "governingEntity",
+ "objectId": 4332,
+ "createdAt": "2018-11-23T21:20:06.319Z",
+ "updatedAt": "2018-11-23T21:20:06.319Z"
+ },
+ {
+ "id": 200902,
+ "budgetSegmentBreakdownId": 112458,
+ "objectType": "globalCluster",
+ "objectId": 9,
+ "createdAt": "2018-11-23T21:20:06.399Z",
+ "updatedAt": "2018-11-23T21:20:06.399Z"
+ },
+ {
+ "id": 200896,
+ "budgetSegmentBreakdownId": 112458,
+ "objectType": "organization",
+ "objectId": 1937,
+ "createdAt": "2018-11-23T21:20:06.184Z",
+ "updatedAt": "2018-11-23T21:20:06.184Z"
+ }
+ ]
+ },
+ {
+ "id": 112459,
+ "budgetSegmentId": 31978,
+ "name": "Santé",
+ "content": {
+ "amount": 1422723
+ },
+ "type": null,
+ "createdAt": "2018-11-23T21:20:06.147Z",
+ "updatedAt": "2018-11-23T21:20:06.147Z",
+ "entities": [
+ {
+ "id": 200897,
+ "budgetSegmentBreakdownId": 112459,
+ "objectType": "organization",
+ "objectId": 1937,
+ "createdAt": "2018-11-23T21:20:06.187Z",
+ "updatedAt": "2018-11-23T21:20:06.187Z"
+ },
+ {
+ "id": 200903,
+ "budgetSegmentBreakdownId": 112459,
+ "objectType": "globalCluster",
+ "objectId": 7,
+ "createdAt": "2018-11-23T21:20:06.404Z",
+ "updatedAt": "2018-11-23T21:20:06.404Z"
+ },
+ {
+ "id": 200900,
+ "budgetSegmentBreakdownId": 112459,
+ "objectType": "governingEntity",
+ "objectId": 4334,
+ "createdAt": "2018-11-23T21:20:06.323Z",
+ "updatedAt": "2018-11-23T21:20:06.323Z"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "locations": [
+ {
+ "id": 44,
+ "iso3": "TCD",
+ "name": "Chad",
+ "adminLevel": 0,
+ "pcode": "TD",
+ "latitude": 15.357404949384,
+ "longitude": 18.663995559345,
+ "parentId": null
+ },
+ {
+ "id": 25817214,
+ "iso3": null,
+ "name": "NDjamena",
+ "adminLevel": 1,
+ "pcode": "TD18",
+ "latitude": 12.1202656928208,
+ "longitude": 15.0515900290148,
+ "parentId": 44
+ },
+ {
+ "id": 25817278,
+ "iso3": null,
+ "name": "NDjamena",
+ "adminLevel": 2,
+ "pcode": "TD1801",
+ "latitude": 12.1202656928208,
+ "longitude": 15.0515900290148,
+ "parentId": 25817214
+ }
+ ],
+ "attachments": [
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5557,
+ "attachmentVersionId": 1350,
+ "total": 6,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ 6
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.812Z",
+ "updatedAt": "2018-11-23T21:19:57.033Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5558,
+ "attachmentVersionId": 1393,
+ "total": 2,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ 2,
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-14T09:26:11.277Z",
+ "updatedAt": "2018-11-23T21:19:57.036Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5560,
+ "attachmentVersionId": 1431,
+ "total": 25,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 9,
+ 16,
+ 25
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.815Z",
+ "updatedAt": "2018-11-23T21:19:57.039Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5935,
+ "attachmentVersionId": 1641,
+ "total": 27186,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ 7886,
+ 7886
+ ],
+ [
+ "",
+ 1250,
+ 1250
+ ],
+ [
+ "",
+ 6250,
+ 6250
+ ],
+ [
+ "",
+ 11800,
+ 11800
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.826Z",
+ "updatedAt": "2018-11-23T21:19:57.061Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5575,
+ "attachmentVersionId": 623,
+ "total": 40153,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 19273,
+ 20880,
+ 40153
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.807Z",
+ "updatedAt": "2018-11-23T21:19:57.029Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5788,
+ "attachmentVersionId": 681,
+ "total": 43660,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 21393,
+ 22267,
+ 43660
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-11T15:06:13.233Z",
+ "updatedAt": "2018-11-23T21:19:57.074Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5936,
+ "attachmentVersionId": 2646,
+ "total": 53,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 1,
+ 4,
+ 5
+ ],
+ [
+ 3,
+ 15,
+ 18
+ ],
+ [
+ 2,
+ 10,
+ 12
+ ],
+ [
+ 3,
+ 15,
+ 18
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.828Z",
+ "updatedAt": "2018-11-23T21:19:57.065Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5938,
+ "attachmentVersionId": 2688,
+ "total": 13593,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 2000,
+ 2200,
+ 4200
+ ],
+ [
+ 1000,
+ 1300,
+ 2300
+ ],
+ [
+ 525,
+ 750,
+ 1275
+ ],
+ [
+ 3000,
+ 2818,
+ 5818
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.830Z",
+ "updatedAt": "2018-11-23T21:19:57.068Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5939,
+ "attachmentVersionId": 2703,
+ "total": 15000,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 1900,
+ 2100,
+ 4000
+ ],
+ [
+ 1400,
+ 1600,
+ 3000
+ ],
+ [
+ 1300,
+ 1700,
+ 3000
+ ],
+ [
+ 1400,
+ 3600,
+ 5000
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.832Z",
+ "updatedAt": "2018-11-23T21:19:57.071Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5566,
+ "attachmentVersionId": 4799,
+ "total": 20153,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 9273,
+ 10880,
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.819Z",
+ "updatedAt": "2018-11-23T21:19:57.049Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5568,
+ "attachmentVersionId": 4943,
+ "total": 3280,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ 3280
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ 5698
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.821Z",
+ "updatedAt": "2018-11-23T21:19:57.052Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5825,
+ "attachmentVersionId": 5258,
+ "total": 25315,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 12404,
+ 12911,
+ 25315
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-11T15:06:13.237Z",
+ "updatedAt": "2018-11-23T21:19:57.080Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5951,
+ "attachmentVersionId": 5419,
+ "total": 18345,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 8989,
+ 9356,
+ 18345
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-11T15:06:13.242Z",
+ "updatedAt": "2018-11-23T21:19:57.087Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5957,
+ "attachmentVersionId": 5422,
+ "total": 18345,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 8989,
+ 9356,
+ 18345
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-11T15:06:13.240Z",
+ "updatedAt": "2018-11-23T21:19:57.083Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 6260,
+ "attachmentVersionId": 7709,
+ "total": 40832,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 7884,
+ 32948,
+ 40832
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.823Z",
+ "updatedAt": "2018-11-23T21:19:57.056Z"
+ }
+ ],
+ "contacts": [
+ {
+ "id": 13459,
+ "projectVersionId": 117273,
+ "name": "Mamadou BAH",
+ "email": "reporting@tchad.alima.ngo",
+ "website": "",
+ "phoneNumber": "+23593125894",
+ "participantId": null,
+ "createdAt": "2018-11-08T15:13:21.452Z",
+ "updatedAt": "2018-11-23T21:11:39.734Z"
+ },
+ {
+ "id": 13458,
+ "projectVersionId": 117273,
+ "name": "Alexis DERMBAYE",
+ "email": "cg.as@tchad.alima.ngo",
+ "website": "",
+ "phoneNumber": "+23568702709",
+ "participantId": null,
+ "createdAt": "2018-11-08T15:13:21.452Z",
+ "updatedAt": "2018-11-23T21:11:39.735Z"
+ },
+ {
+ "id": 13457,
+ "projectVersionId": 117273,
+ "name": "Hassan ISSA",
+ "email": "cdm@tchad.alima.ngo",
+ "website": "",
+ "phoneNumber": "+22368702711",
+ "participantId": null,
+ "createdAt": "2018-11-08T15:13:21.452Z",
+ "updatedAt": "2018-11-23T21:11:39.725Z"
+ }
+ ]
}
],
- "contacts":null,
- "globalClusters":[
- {
- "id":7,
- "hrinfoId":7,
- "type":"global",
- "name":"Health",
- "code":"HEA",
- "homepage":"http://www.who.int/hac/global_health_cluster/en/",
- "createdAt":"2015-09-10T20:26:37.494+00:00",
- "updatedAt":"2018-01-12T01:16:02.732+00:00",
- "parentId":null,
- "defaultIconId":"clusters_health_icon"
- }
- ],
- "governingEntities":[
- {
- "id":3347,
- "customReference":"3347",
- "value":{
- "description":null,
- "icon":"clusters_food_security_icon",
- "categories":[
-
- ],
- "orderNumber":8
- },
- "planId":532,
- "createdAt":"2017-01-14T02:13:31.756+00:00",
- "updatedAt":"2018-01-12T01:15:14.102+00:00",
- "entityPrototypeId":1921,
- "name":"Sécurité Alimentaire"
- }
- ],
- "locations":[
- {
- "id":44,
- "hrinfoId":224,
- "name":"Chad",
- "adminLevel":0,
- "latitude":15.357404949384,
- "longitude":18.663995559345,
- "createdAt":"2015-09-10T20:25:09.701+00:00",
- "updatedAt":"2017-06-21T00:22:37.029+00:00",
- "parentId":null,
- "iso3":"TCD",
- "pcode":null,
- "status":"active",
- "validOn":null,
- "geojson":null
- }
- ],
- "organizations":[
- {
- "id":8501,
- "name":"ACF - France",
- "createdAt":"2017-01-14T00:57:50.001+00:00",
- "updatedAt":"2017-12-09T00:03:39.717371+00:00",
- "abbreviation":"ACF - France",
- "url":null,
- "parentID":4536,
- "nativeName":"Action Contre la Faim - France",
- "comments":null,
- "collectiveInd":false,
- "active":true
- }
- ],
- "plans":[
- {
- "id":532,
- "name":"Chad 2017",
- "startDate":"2017-01-01T00:00:00+00:00",
- "endDate":"2017-12-31T00:00:00+00:00",
- "createdAt":"2017-01-14T00:52:56.02+00:00",
- "updatedAt":"2017-07-05T10:26:21.24+00:00",
- "planStructureId":1,
- "active":true,
- "launchDate":"2016-12-01T00:00:00+00:00",
- "comments":null,
- "currentReportingPeriodId":null,
- "restricted":false,
- "currentStateId":1683,
- "code":"HTCD17",
- "planStatus":"editable"
- }
- ],
- "meta":{
- "language":"en"
- }
+ "projectVersion": {
+ "id": 117273,
+ "code": "HTCD19-HEA;NUT;WSH-154060-1",
+ "projectId": 154060,
+ "version": 1,
+ "name": "Appui à la prise en charge médico-nutritionnelle des enfants de moins de 5 ans, des femmes enceintes et femmes allaitantes dans la région sanitaire de N'Djamena.",
+ "currentRequestedFunds": "4311281",
+ "lastGeneratedPdf": "2018-11-26T14:03:44.510Z",
+ "startDate": "2019-01-01T00:00:00.000Z",
+ "endDate": "2019-12-31T00:00:00.000Z",
+ "objective": "ALIMA et son partenaire Alerte Santé auront pour objectif de contribuer à la réduction de la mortalité des enfants de moins de 5 ans dans la région sanitaire de N'Djamena à travers l'amélioration des statuts sanitaires et nutritionnels de 80985 enfants de moins de 5 ans et femmes enceintes et allaitantes (27157 hommes et 53828 femmes) à travers les activités de prise en charge, de sensibilisation à la malnutrition aigüe sévère et le renforcement des capacités de 78 professionnels de santé dans les zones d’intervention dont 18 hommes et 60 femmes. \nDans la région sanitaire de N'Djamena, le projet poursuivra l'appui à la prise en charge de la MAS en en hospitalisation dans l'UNT HATC et dans la nouvelle UNT de Gozattor. La prise en charge des enfants MAS en ambulatoire s'effectuera dans les 16 UNA soutenues en 2018. Cela se fera par le biais du système de circuit unique permettant le dépistage systématique de la MAS de tous les enfants de moins de 5ans se présentant dans le centre de santé et le rattrapage de la vaccination pour la mère et l'enfant. Des campagnes de dépistages de masse couplés au formation PB mères seront intégrés dans le projet afin d’assurer une prise en charge précoce et préventive. \nTel que l'énonce la Charte ALIMA \"le patient d'abord\", le bénéficiaire est au centre de tout dispositif d'intervention de l'organisation. L'ONG médicale entend donc exécuter son mandat de manière responsable en tenant en compte des spécificités ou non des populations qu'elle assiste et vis-à-vis desquelles elle sera redevable tout au long du cycle de projet. \nLes populations affectés sont considérées comme des \"partenaires\" et intégrées dans la programmation humanitaire, notamment dans l'identification des besoins, le conceptualisation, la mise en oeuvre de la réponse, le suivi et l'évaluation de fin de cycle. \nAinsi, ALIMA s'engage à :\n- incorporer systématiquement la notion de redevabilité dans sa programmation; \n- assurer la transparence à travers le partage d'informations avec la population affectée; \n- mettre en place un mécanisme de collecte et traitement des feedbacks et plaintes; \n- promouvoir la participation et l'engagement de la population affectée afin de renforcer l'appropriation locale et la résilience; \n- promouvoir un système de planification, suivi et évaluation participatif. \n",
+ "partners": "Alerte santé",
+ "implementationStatus": "published",
+ "createdAt": "2018-11-08T15:13:16.147Z",
+ "updatedAt": "2019-02-26T09:40:10.681Z",
+ "categories": [],
+ "organizations": [
+ {
+ "id": 1937,
+ "name": "Alliance for International Medical Action",
+ "nativeName": "The Alliance for International Medical Action",
+ "abbreviation": "ALIMA",
+ "url": "www.alimaong.org",
+ "parentID": null,
+ "comments": null,
+ "active": true,
+ "collectiveInd": false,
+ "createdAt": "2017-01-14T00:53:54.170Z",
+ "updatedAt": "2017-12-09T00:03:39.717Z",
+ "projectVersionOrganization": {
+ "projec": 117273,
+ "organi": 1937,
+ "create": "2018-11-08T15:13:30.626Z",
+ "update": "2018-11-08T15:13:30.626Z"
+ }
+ }
+ ],
+ "planEntities": [
+ {
+ "id": 2969,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-30T08:59:08.917Z",
+ "updatedAt": "2018-10-30T09:25:49.609Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2381,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2381,
+ "planEntityId": 2969,
+ "customReference": "9",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Renforcer les capacités des prestataires et l’accessibilité des structures pour offre des soins de qualité aux femmes enceintes et allaitantes, et aux accouchées y compris les références.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2936
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-30T08:59:08.917Z",
+ "updatedAt": "2018-10-30T09:25:49.609Z"
+ }
+ },
+ {
+ "id": 2961,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T16:47:37.355Z",
+ "updatedAt": "2018-10-30T09:25:42.632Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2405,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2405,
+ "planEntityId": 2961,
+ "customReference": "1",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Fournir et assurer l’approvisionnent en médicaments et autres intrants essentiels pour assurer la prise en charge médicale et la référence des populations vulnérables dans les centres de santé, les sites de retournés et réfugies à travers des cliniques mobiles ainsi que les soins gratuits dans les hôpitaux des localités d’accueils.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T16:47:37.355Z",
+ "updatedAt": "2018-10-30T09:25:42.632Z"
+ }
+ },
+ {
+ "id": 2968,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-30T08:42:54.789Z",
+ "updatedAt": "2018-10-30T09:25:47.792Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2407,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2407,
+ "planEntityId": 2968,
+ "customReference": "8",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Renforcer la sensibilisation des communautés sur leur droit et prérogative sur les services qui leurs sont offerts.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2935
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-30T08:42:54.789Z",
+ "updatedAt": "2018-10-30T09:25:47.792Z"
+ }
+ },
+ {
+ "id": 2962,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T17:01:40.983Z",
+ "updatedAt": "2018-10-30T09:25:42.812Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2435,
+ "createdAt": "2018-11-14T09:26:09.816Z",
+ "updatedAt": "2018-11-14T09:26:09.816Z"
+ },
+ "planEntityVersion": {
+ "id": 2435,
+ "planEntityId": 2962,
+ "customReference": "2",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Organiser des enquêtes de satisfaction des soins offerts et mettre en place des mécanismes de plaintes accessibles, efficaces et confidentiels.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T17:01:40.983Z",
+ "updatedAt": "2018-10-30T09:25:42.812Z"
+ }
+ },
+ {
+ "id": 2964,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T17:29:31.002Z",
+ "updatedAt": "2018-10-30T09:25:44.680Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2461,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2461,
+ "planEntityId": 2964,
+ "customReference": "4",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Recycler le personnel médical et les relais communautaires à renseigner les outils de collecte d’information sur les maladies à potentiel épidémique dans tous les districts.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2935
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-29T17:29:31.002Z",
+ "updatedAt": "2018-10-30T09:25:44.680Z"
+ }
+ },
+ {
+ "id": 3097,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-31T16:03:09.955Z",
+ "updatedAt": "2018-11-02T17:57:33.077Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2643,
+ "createdAt": "2018-11-11T15:06:11.982Z",
+ "updatedAt": "2018-11-11T15:06:11.982Z"
+ },
+ "planEntityVersion": {
+ "id": 2643,
+ "planEntityId": 3097,
+ "customReference": "1",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Accès à l'eau potable des populations affectées selon les normes et standards (SPHERE et national).",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-31T16:03:09.955Z",
+ "updatedAt": "2018-11-02T17:57:33.077Z"
+ }
+ },
+ {
+ "id": 3155,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:32:15.246Z",
+ "updatedAt": "2018-11-03T13:05:55.162Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2721,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2721,
+ "planEntityId": 3155,
+ "customReference": "2",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Formation initial/recyclage de 850 personnel soignant dans les unités nutritionnelles sur le protocole national",
+ "support": [
+ {
+ "planEntityIds": [
+ 2935
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:32:15.246Z",
+ "updatedAt": "2018-11-03T13:05:55.162Z"
+ }
+ },
+ {
+ "id": 3154,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:29:13.232Z",
+ "updatedAt": "2018-11-03T13:05:54.752Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2726,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2726,
+ "planEntityId": 3154,
+ "customReference": "1",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Sensibilisation portant sur les pratiques familiales essentielles (PFE) pour les mères d’enfants malnutris et pour les femmes enceintes/allaitantes admises à la prise en charge nutritionnelle.",
+ "support": [
+ {
+ "planEntityIds": [
+ 2935
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:29:13.232Z",
+ "updatedAt": "2018-11-03T13:05:54.752Z"
+ }
+ },
+ {
+ "id": 3159,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T10:29:25.628Z",
+ "updatedAt": "2018-11-02T19:29:51.666Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2730,
+ "createdAt": "2018-11-11T15:06:11.982Z",
+ "updatedAt": "2018-11-11T15:06:11.982Z"
+ },
+ "planEntityVersion": {
+ "id": 2730,
+ "planEntityId": 3159,
+ "customReference": "5",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Amélioration de la prise en charge nutritionnelle a travers la délivrance du paquet minimum d'activités WASH pour les couples mère-enfants MAS et les centres nutritionnels (UNA et UNT).",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ]
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T10:29:25.628Z",
+ "updatedAt": "2018-11-02T19:29:51.666Z"
+ }
+ },
+ {
+ "id": 3157,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:37:08.826Z",
+ "updatedAt": "2018-11-03T13:05:53.411Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2731,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2731,
+ "planEntityId": 3157,
+ "customReference": "4",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Prise en charge de la malnutrition aigue sévère",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:37:08.826Z",
+ "updatedAt": "2018-11-03T13:05:53.411Z"
+ }
+ },
+ {
+ "id": 3158,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:38:09.300Z",
+ "updatedAt": "2018-11-03T13:05:56.258Z",
+ "deletedAt": null,
+ "projectVersionPlanEntity": {
+ "projectVe": 117273,
+ "planEntit": 2755,
+ "createdAt": "2018-11-08T16:04:36.157Z",
+ "updatedAt": "2018-11-08T16:04:36.157Z"
+ },
+ "planEntityVersion": {
+ "id": 2755,
+ "planEntityId": 3158,
+ "customReference": "5",
+ "value": {
+ "type": {
+ "en": {
+ "singular": "Cluster Activity",
+ "plural": "Cluster Activities"
+ }
+ },
+ "categories": [],
+ "description": "Prise en charge de la malnutrition aigue moderee",
+ "support": [
+ {
+ "planEntityIds": [
+ 2934
+ ],
+ "entityPrototypeId": 2333
+ }
+ ]
+ },
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVers": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-11-02T09:38:09.300Z",
+ "updatedAt": "2018-11-03T13:05:56.258Z"
+ }
+ }
+ ],
+ "governingEntities": [
+ {
+ "id": 4330,
+ "planId": 668,
+ "entityPrototypeId": 2332,
+ "entityType": "CL",
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-08T16:32:41.266Z",
+ "updatedAt": "2019-07-01T13:53:52.106Z",
+ "deletedAt": null,
+ "projectVersionGoverningEntity": {},
+ "governingEntityVersion": {
+ "id": 4011,
+ "govern": 4330,
+ "name": "Eau, hygiène et assainissement",
+ "custom": "2",
+ "value": {
+ "icon": "clusters_water_sanitation_and_hygiene_icon",
+ "categories": [],
+ "orderNumber": 1
+ },
+ "overri": false,
+ "curren": true,
+ "latest": true,
+ "versio": [
+ "1.0"
+ ],
+ "create": "2018-10-08T16:32:41.266Z",
+ "update": "2019-07-01T13:53:52.106Z"
+ }
+ },
+ {
+ "id": 4332,
+ "planId": 668,
+ "entityPrototypeId": 2332,
+ "entityType": "CL",
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-08T16:33:08.399Z",
+ "updatedAt": "2019-07-01T13:53:57.330Z",
+ "deletedAt": null,
+ "projectVersionGoverningEntity": {},
+ "governingEntityVersion": {
+ "id": 4013,
+ "govern": 4332,
+ "name": "Nutrition",
+ "custom": "4",
+ "value": {
+ "icon": "clusters_nutrition_icon",
+ "categories": [],
+ "orderNumber": 3
+ },
+ "overri": false,
+ "curren": true,
+ "latest": true,
+ "versio": [
+ "1.0"
+ ],
+ "create": "2018-10-08T16:33:08.399Z",
+ "update": "2019-07-01T13:53:57.330Z"
+ }
+ },
+ {
+ "id": 4334,
+ "planId": 668,
+ "entityPrototypeId": 2332,
+ "entityType": "CL",
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-08T16:34:00.048Z",
+ "updatedAt": "2019-07-01T13:54:03.629Z",
+ "deletedAt": null,
+ "projectVersionGoverningEntity": {},
+ "governingEntityVersion": {
+ "id": 4015,
+ "govern": 4334,
+ "name": "Santé",
+ "custom": "6",
+ "value": {
+ "icon": "clusters_health_icon",
+ "categories": [],
+ "orderNumber": 5
+ },
+ "overri": false,
+ "curren": true,
+ "latest": true,
+ "versio": [
+ "1.0"
+ ],
+ "create": "2018-10-08T16:34:00.048Z",
+ "update": "2019-07-01T13:54:03.629Z"
+ }
+ }
+ ],
+ "plans": [
+ {
+ "id": 668,
+ "restricted": false,
+ "revisionState": "projectsOnly",
+ "createdAt": "2018-10-08T16:30:43.446Z",
+ "updatedAt": "2019-07-16T10:48:51.695Z",
+ "projectVersionPlan": {
+ "id": 115747,
+ "planId": 668,
+ "projectVersionId": 117273,
+ "value": {
+ "optionConsensus": [
+ {
+ "id": 4330,
+ "toId": 270
+ },
+ {
+ "id": 4332,
+ "toId": 270
+ },
+ {
+ "id": 4334
+ }
+ ]
+ },
+ "workflowStatusOptionId": 273,
+ "createdAt": "2018-11-08T15:32:40.004Z",
+ "updatedAt": "2019-02-26T09:38:38.004Z"
+ },
+ "planVersion": {
+ "id": 585,
+ "planId": 668,
+ "name": "Chad 2019",
+ "startDate": "2019-01-01T00:00:00.000Z",
+ "endDate": "2019-12-31T00:00:00.000Z",
+ "comments": null,
+ "isForHPCProjects": true,
+ "code": "HTCD19",
+ "customLocationCode": null,
+ "currentReportingPeriodId": 910,
+ "currentVersion": true,
+ "latestVersion": true,
+ "latestTaggedVersion": true,
+ "versionTags": [
+ "1.0"
+ ],
+ "createdAt": "2018-10-08T16:30:43.446Z",
+ "updatedAt": "2019-06-25T21:32:11.982Z"
+ },
+ "procedureEntityPrototypes": [
+ {
+ "id": 11,
+ "planId": 668,
+ "entityPrototypeId": 2336,
+ "createdAt": "2019-02-14T00:29:48.290Z",
+ "updatedAt": "2019-02-14T00:29:48.290Z"
+ }
+ ],
+ "workflowStatusOptions": [
+ {
+ "id": 267,
+ "planId": 668,
+ "type": "notSubmitted",
+ "value": {
+ "label": {
+ "en": "not submitted"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.233Z",
+ "updatedAt": "2018-10-09T08:19:19.233Z",
+ "previousSteps": [
+ {
+ "id": 454,
+ "fromId": 272,
+ "toId": 267,
+ "value": {
+ "label": {
+ "en": "Unsubmit project"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.340Z",
+ "updatedAt": "2018-10-09T08:19:19.340Z"
+ },
+ {
+ "id": 448,
+ "fromId": 268,
+ "toId": 267,
+ "value": {
+ "label": {
+ "en": "Unsubmit project"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.293Z",
+ "updatedAt": "2018-10-09T08:19:19.293Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 447,
+ "fromId": 267,
+ "toId": 268,
+ "value": {
+ "label": {
+ "en": "Submit to plan"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.281Z",
+ "updatedAt": "2018-10-09T08:19:19.281Z"
+ }
+ ]
+ },
+ {
+ "id": 268,
+ "planId": 668,
+ "type": "submitted",
+ "value": {
+ "label": {
+ "en": "submitted to plan"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.244Z",
+ "updatedAt": "2018-10-09T08:19:19.244Z",
+ "previousSteps": [
+ {
+ "id": 447,
+ "fromId": 267,
+ "toId": 268,
+ "value": {
+ "label": {
+ "en": "Submit to plan"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.281Z",
+ "updatedAt": "2018-10-09T08:19:19.281Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 448,
+ "fromId": 268,
+ "toId": 267,
+ "value": {
+ "label": {
+ "en": "Unsubmit project"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.293Z",
+ "updatedAt": "2018-10-09T08:19:19.293Z"
+ },
+ {
+ "id": 449,
+ "fromId": 268,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Add to review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.303Z",
+ "updatedAt": "2018-10-09T08:19:19.303Z"
+ }
+ ]
+ },
+ {
+ "id": 269,
+ "planId": 668,
+ "type": "review",
+ "value": {
+ "label": {
+ "en": "under review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.251Z",
+ "updatedAt": "2018-10-09T08:19:19.251Z",
+ "previousSteps": [
+ {
+ "id": 449,
+ "fromId": 268,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Add to review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.303Z",
+ "updatedAt": "2018-10-09T08:19:19.303Z"
+ },
+ {
+ "id": 453,
+ "fromId": 272,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Send back for review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.328Z",
+ "updatedAt": "2019-01-08T17:44:33.871Z"
+ },
+ {
+ "id": 636,
+ "fromId": 271,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Return to under review"
+ }
+ },
+ "createdAt": "2018-11-22T18:30:50.157Z",
+ "updatedAt": "2018-11-22T18:30:50.157Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 457,
+ "fromId": 269,
+ "toId": 271,
+ "value": {
+ "label": {
+ "en": "Reject project as cluster lead"
+ },
+ "optionConsensus": true
+ },
+ "createdAt": "2018-10-09T08:19:19.358Z",
+ "updatedAt": "2018-10-09T08:19:19.358Z"
+ },
+ {
+ "id": 450,
+ "fromId": 269,
+ "toId": 270,
+ "value": {
+ "label": {
+ "en": "Approve project as cluster lead"
+ },
+ "optionConsensus": true
+ },
+ "createdAt": "2018-10-09T08:19:19.311Z",
+ "updatedAt": "2018-10-09T08:19:19.311Z"
+ },
+ {
+ "id": 452,
+ "fromId": 269,
+ "toId": 272,
+ "value": {
+ "label": {
+ "en": "Return project for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.321Z",
+ "updatedAt": "2018-10-09T08:19:19.321Z"
+ }
+ ]
+ },
+ {
+ "id": 270,
+ "planId": 668,
+ "type": "review",
+ "value": {
+ "label": {
+ "en": "approved by cluster lead"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.257Z",
+ "updatedAt": "2018-10-09T08:19:19.257Z",
+ "previousSteps": [
+ {
+ "id": 458,
+ "fromId": 273,
+ "toId": 270,
+ "value": {
+ "label": {
+ "en": "Return to approved by cluster lead"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.365Z",
+ "updatedAt": "2018-10-09T08:19:19.365Z"
+ },
+ {
+ "id": 450,
+ "fromId": 269,
+ "toId": 270,
+ "value": {
+ "label": {
+ "en": "Approve project as cluster lead"
+ },
+ "optionConsensus": true
+ },
+ "createdAt": "2018-10-09T08:19:19.311Z",
+ "updatedAt": "2018-10-09T08:19:19.311Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 451,
+ "fromId": 270,
+ "toId": 273,
+ "value": {
+ "label": {
+ "en": "Accept project by HC"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.318Z",
+ "updatedAt": "2018-10-09T08:19:19.318Z"
+ },
+ {
+ "id": 455,
+ "fromId": 270,
+ "toId": 272,
+ "value": {
+ "label": {
+ "en": "Return project for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.351Z",
+ "updatedAt": "2018-10-09T08:19:19.351Z"
+ },
+ {
+ "id": 456,
+ "fromId": 270,
+ "toId": 271,
+ "value": {
+ "label": {
+ "en": "Reject project as HC"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.354Z",
+ "updatedAt": "2018-10-09T08:19:19.354Z"
+ }
+ ]
+ },
+ {
+ "id": 271,
+ "planId": 668,
+ "type": "rejected",
+ "value": {
+ "label": {
+ "en": "rejected"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.264Z",
+ "updatedAt": "2018-10-09T08:19:19.264Z",
+ "previousSteps": [
+ {
+ "id": 457,
+ "fromId": 269,
+ "toId": 271,
+ "value": {
+ "label": {
+ "en": "Reject project as cluster lead"
+ },
+ "optionConsensus": true
+ },
+ "createdAt": "2018-10-09T08:19:19.358Z",
+ "updatedAt": "2018-10-09T08:19:19.358Z"
+ },
+ {
+ "id": 456,
+ "fromId": 270,
+ "toId": 271,
+ "value": {
+ "label": {
+ "en": "Reject project as HC"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.354Z",
+ "updatedAt": "2018-10-09T08:19:19.354Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 636,
+ "fromId": 271,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Return to under review"
+ }
+ },
+ "createdAt": "2018-11-22T18:30:50.157Z",
+ "updatedAt": "2018-11-22T18:30:50.157Z"
+ }
+ ]
+ },
+ {
+ "id": 272,
+ "planId": 668,
+ "type": "returned",
+ "value": {
+ "label": {
+ "en": "returned for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.271Z",
+ "updatedAt": "2018-10-09T08:19:19.271Z",
+ "previousSteps": [
+ {
+ "id": 452,
+ "fromId": 269,
+ "toId": 272,
+ "value": {
+ "label": {
+ "en": "Return project for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.321Z",
+ "updatedAt": "2018-10-09T08:19:19.321Z"
+ },
+ {
+ "id": 455,
+ "fromId": 270,
+ "toId": 272,
+ "value": {
+ "label": {
+ "en": "Return project for edit"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.351Z",
+ "updatedAt": "2018-10-09T08:19:19.351Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 453,
+ "fromId": 272,
+ "toId": 269,
+ "value": {
+ "label": {
+ "en": "Send back for review"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.328Z",
+ "updatedAt": "2019-01-08T17:44:33.871Z"
+ },
+ {
+ "id": 454,
+ "fromId": 272,
+ "toId": 267,
+ "value": {
+ "label": {
+ "en": "Unsubmit project"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.340Z",
+ "updatedAt": "2018-10-09T08:19:19.340Z"
+ }
+ ]
+ },
+ {
+ "id": 273,
+ "planId": 668,
+ "type": "accepted",
+ "value": {
+ "label": {
+ "en": "accepted"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.277Z",
+ "updatedAt": "2018-10-09T08:19:19.277Z",
+ "previousSteps": [
+ {
+ "id": 451,
+ "fromId": 270,
+ "toId": 273,
+ "value": {
+ "label": {
+ "en": "Accept project by HC"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.318Z",
+ "updatedAt": "2018-10-09T08:19:19.318Z"
+ }
+ ],
+ "nextSteps": [
+ {
+ "id": 458,
+ "fromId": 273,
+ "toId": 270,
+ "value": {
+ "label": {
+ "en": "Return to approved by cluster lead"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.365Z",
+ "updatedAt": "2018-10-09T08:19:19.365Z"
+ }
+ ]
+ }
+ ],
+ "procedureSections": [
+ {
+ "id": 17,
+ "planId": 668,
+ "name": "Objectifs Stratégiques",
+ "order": 8,
+ "createdAt": "2018-10-09T09:59:16.161Z",
+ "updatedAt": "2018-10-09T10:02:15.871Z",
+ "conditionFields": [
+ {
+ "id": 1129,
+ "procedureSectionField": {
+ "procedureSectionId": 17,
+ "conditionFieldId": 1129,
+ "createdAt": "2018-10-09T10:01:06.036Z",
+ "updatedAt": "2018-10-09T10:01:06.036Z"
+ }
+ },
+ {
+ "id": 1130,
+ "procedureSectionField": {
+ "procedureSectionId": 17,
+ "conditionFieldId": 1130,
+ "createdAt": "2018-10-09T10:01:13.242Z",
+ "updatedAt": "2018-10-09T10:01:13.242Z"
+ }
+ },
+ {
+ "id": 1131,
+ "procedureSectionField": {
+ "procedureSectionId": 17,
+ "conditionFieldId": 1131,
+ "createdAt": "2018-10-09T10:02:15.883Z",
+ "updatedAt": "2018-10-09T10:02:15.883Z"
+ }
+ }
+ ]
+ }
+ ],
+ "conditionFields": [
+ {
+ "id": 1135,
+ "planId": 668,
+ "name": "IASC Gender with Age Marker (GAM)",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project Gender Age Marker"
+ }
+ },
+ "description": "Please select the GAM code for this project. To complete the IASC Gender with Age Marker (GAM) go to - https://ee.humanitarianresponse.info/single/::lKbQTg7d. Documentation on the GAM tool, including frequently asked questions and self-guided training materials, can be found on the IASC Gender and Age Marker website - https://iascgenderwithagemarker.com/",
+ "fieldType": "select",
+ "rules": {
+ "options": [
+ "4 (T): The project is principally about promoting gender equality, including across age groups.",
+ "4 (M): The project will significantly contribute to gender equality, including across age groups.",
+ "3 (T): The project is principally about promoting gender equality without full attention to age groups.",
+ "3 (M): The project will contribute to gender equality but without full attention to age groups.",
+ "2 (T): The project addresses age differences and aims to promote gender equality but without the necessary gender equality measures.",
+ "2 (M): The project addresses age differences but does not intentionally contribute to gender equality.",
+ "1 (T): The project aims to principally promote gender equality without the necessary gender equality measures.",
+ "1 (M): The project does not intentionally contribute to gender equality.",
+ "0: There is no evidence that the project will contribute towards gender equality.",
+ "N/A: The project does not have any contact with or direct influence on the affected population, and the programming actions are not linked."
+ ]
+ },
+ "required": true,
+ "order": 16,
+ "createdAt": "2018-10-09T08:40:28.135Z",
+ "updatedAt": "2019-02-26T09:50:51.891Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1134,
+ "planId": 668,
+ "name": "Estimated percentage of project requirements to be used for cash",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 14,
+ "createdAt": "2018-10-09T08:39:30.521Z",
+ "updatedAt": "2018-11-21T14:23:59.391Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1133,
+ "planId": 668,
+ "name": "Restriction",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project restriction"
+ }
+ },
+ "description": "",
+ "fieldType": "select",
+ "rules": {
+ "options": [
+ "Restricted",
+ "Unrestricted",
+ "Combined",
+ "Unknown"
+ ]
+ },
+ "required": true,
+ "order": 15,
+ "createdAt": "2018-10-09T08:38:43.759Z",
+ "updatedAt": "2019-02-26T09:51:51.972Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1132,
+ "planId": 668,
+ "name": "Is any part of this project cash based intervention",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project cash and vouchers"
+ }
+ },
+ "description": " (including vouchers)",
+ "fieldType": "checkbox",
+ "rules": null,
+ "required": false,
+ "order": 13,
+ "createdAt": "2018-10-09T08:38:05.218Z",
+ "updatedAt": "2019-02-26T09:49:38.450Z",
+ "isReliedOnBy": [
+ {
+ "id": 1134,
+ "planId": 668,
+ "name": "Estimated percentage of project requirements to be used for cash",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 14,
+ "createdAt": "2018-10-09T08:39:30.521Z",
+ "updatedAt": "2018-11-21T14:23:59.391Z",
+ "conditionFieldReliesOn": {
+ "createdAt": "2018-10-09T08:39:49.021Z",
+ "updatedAt": "2018-10-09T08:39:49.021Z",
+ "reliedOnById": 1132,
+ "reliesOnId": 1134
+ }
+ },
+ {
+ "id": 1133,
+ "planId": 668,
+ "name": "Restriction",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project restriction"
+ }
+ },
+ "description": "",
+ "fieldType": "select",
+ "rules": {
+ "options": [
+ "Restricted",
+ "Unrestricted",
+ "Combined",
+ "Unknown"
+ ]
+ },
+ "required": true,
+ "order": 15,
+ "createdAt": "2018-10-09T08:38:43.759Z",
+ "updatedAt": "2019-02-26T09:51:51.972Z",
+ "conditionFieldReliesOn": {
+ "createdAt": "2018-10-09T08:39:49.021Z",
+ "updatedAt": "2018-10-09T08:39:49.021Z",
+ "reliedOnById": 1132,
+ "reliesOnId": 1133
+ }
+ }
+ ]
+ },
+ {
+ "id": 1131,
+ "planId": 668,
+ "name": "% qui contribue à l’OS 3 : Protection des personnes affectées",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 12,
+ "createdAt": "2018-10-09T08:37:33.681Z",
+ "updatedAt": "2018-11-21T14:25:01.305Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1130,
+ "planId": 668,
+ "name": "% qui contribue à l’OS 2 : Renforcer la résilience",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 11,
+ "createdAt": "2018-10-09T08:37:04.810Z",
+ "updatedAt": "2018-11-21T14:24:56.736Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1129,
+ "planId": 668,
+ "name": "% qui contribue à l’OS 1 : Sauver des vies",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 10,
+ "createdAt": "2018-10-09T08:36:39.522Z",
+ "updatedAt": "2018-11-21T14:24:52.517Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1128,
+ "planId": 668,
+ "name": "% qui contribue à la crise mouvement de population",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 9,
+ "createdAt": "2018-10-09T08:36:14.189Z",
+ "updatedAt": "2018-11-21T14:24:41.174Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1127,
+ "planId": 668,
+ "name": "% qui contribue à la crise urgence sanitaire",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 9,
+ "createdAt": "2018-10-09T08:35:45.152Z",
+ "updatedAt": "2018-11-21T14:24:44.814Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1126,
+ "planId": 668,
+ "name": "% qui contribue à la réponse aux besoins dans le reste du pays?",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 9,
+ "createdAt": "2018-10-09T08:35:18.918Z",
+ "updatedAt": "2018-11-21T14:24:48.327Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1125,
+ "planId": 668,
+ "name": "% qui contribue à la crise sécurité alimentaire et malnutrition",
+ "grouping": false,
+ "label": {},
+ "description": "",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 8,
+ "createdAt": "2018-10-09T08:34:45.599Z",
+ "updatedAt": "2018-11-21T14:24:37.294Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1124,
+ "planId": 668,
+ "name": "% qui contribue à la réponse à la crise des réfugiés soudanais à",
+ "grouping": false,
+ "label": {},
+ "description": "% qui contribue à la réponse à la crise des réfugiés soudanais à l’Est?",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 7,
+ "createdAt": "2018-10-09T08:34:14.186Z",
+ "updatedAt": "2018-11-21T14:24:30.064Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1123,
+ "planId": 668,
+ "name": "% qui contribue à la réponse aux besoins dans le Sud?",
+ "grouping": false,
+ "label": {},
+ "description": "% qui contribue à la réponse aux besoins dans le Sud?",
+ "fieldType": "number",
+ "rules": {
+ "max": 100,
+ "min": 0
+ },
+ "required": true,
+ "order": 7,
+ "createdAt": "2018-10-09T08:33:41.158Z",
+ "updatedAt": "2018-11-21T14:24:34.147Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1122,
+ "planId": 668,
+ "name": "Veuillez sélectionner l’analyse qui se rapporte le mieux à votre",
+ "grouping": false,
+ "label": {},
+ "description": "Veuillez sélectionner l’analyse qui se rapporte le mieux à votre projet.",
+ "fieldType": "select",
+ "rules": {
+ "options": [
+ "0 - Ce projet n’intègre pas suffisamment la protection transversale.",
+ "1 - Ce projet intègre, de manière modérée, la protection transversale.",
+ "2 - Ce projet intègre de manière substantielle la protection transversale."
+ ]
+ },
+ "required": true,
+ "order": 6,
+ "createdAt": "2018-10-09T08:33:03.558Z",
+ "updatedAt": "2018-10-09T08:33:03.558Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1121,
+ "planId": 668,
+ "name": "Lake Chad Basin?",
+ "grouping": true,
+ "label": {
+ "en": {
+ "value": "Project Lake Chad Basin"
+ }
+ },
+ "description": "",
+ "fieldType": "checkbox",
+ "rules": [],
+ "required": false,
+ "order": 4,
+ "createdAt": "2018-10-09T08:32:10.316Z",
+ "updatedAt": "2019-02-26T09:53:07.136Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1119,
+ "planId": 668,
+ "name": "Activities or outputs",
+ "grouping": false,
+ "label": {},
+ "description": "Please describe the project activities that will address the needs identified and how they will be implemented.",
+ "fieldType": "textarea",
+ "rules": {
+ "maxlength": 4000
+ },
+ "required": true,
+ "order": 2,
+ "createdAt": "2018-10-09T08:30:46.087Z",
+ "updatedAt": "2018-11-21T14:24:18.534Z",
+ "isReliedOnBy": []
+ },
+ {
+ "id": 1118,
+ "planId": 668,
+ "name": "Needs",
+ "grouping": false,
+ "label": {},
+ "description": "Please describe the assessed needs the project will address through its activities.",
+ "fieldType": "textarea",
+ "rules": {
+ "maxlength": 4000
+ },
+ "required": true,
+ "order": 1,
+ "createdAt": "2018-10-09T08:29:05.774Z",
+ "updatedAt": "2018-11-21T14:25:22.114Z",
+ "isReliedOnBy": []
+ }
+ ]
+ }
+ ],
+ "globalClusters": [
+ {
+ "id": 7,
+ "hrinfoId": 7,
+ "type": "global",
+ "name": "Health",
+ "code": "HEA",
+ "homepage": "http://www.who.int/hac/global_health_cluster/en/",
+ "defaultIconId": "clusters_health_icon",
+ "parentId": null,
+ "createdAt": "2015-09-10T20:26:37.494Z",
+ "updatedAt": "2018-01-12T01:16:02.732Z",
+ "projectGlobalClusters": {
+ "projectVer": 117273,
+ "globalClus": 7,
+ "createdAt": "2018-11-08T15:32:50.315Z",
+ "updatedAt": "2018-11-08T15:32:50.316Z"
+ }
+ },
+ {
+ "id": 9,
+ "hrinfoId": 9,
+ "type": "global",
+ "name": "Nutrition",
+ "code": "NUT",
+ "homepage": "http://nutritioncluster.net",
+ "defaultIconId": "clusters_nutrition_icon",
+ "parentId": null,
+ "createdAt": "2015-09-10T20:26:37.504Z",
+ "updatedAt": "2018-01-12T01:16:02.733Z",
+ "projectGlobalClusters": {
+ "projectVer": 117273,
+ "globalClus": 9,
+ "createdAt": "2018-11-08T15:32:50.315Z",
+ "updatedAt": "2018-11-08T15:32:50.316Z"
+ }
+ },
+ {
+ "id": 11,
+ "hrinfoId": 11,
+ "type": "global",
+ "name": "Water Sanitation Hygiene",
+ "code": "WSH",
+ "homepage": "http://washcluster.net/",
+ "defaultIconId": "clusters_water_sanitation_and_hygiene_icon",
+ "parentId": null,
+ "createdAt": "2015-09-10T20:26:37.511Z",
+ "updatedAt": "2018-01-12T01:16:02.733Z",
+ "projectGlobalClusters": {
+ "projectVer": 117273,
+ "globalClus": 11,
+ "createdAt": "2018-11-11T14:52:19.143Z",
+ "updatedAt": "2018-11-11T14:52:19.145Z"
+ }
+ }
+ ],
+ "projectVersionPlans": [
+ {
+ "id": 115747,
+ "planId": 668,
+ "projectVersionId": 117273,
+ "value": {
+ "optionConsensus": [
+ {
+ "id": 4330,
+ "toId": 270
+ },
+ {
+ "id": 4332,
+ "toId": 270
+ },
+ {
+ "id": 4334
+ }
+ ]
+ },
+ "workflowStatusOptionId": 273,
+ "createdAt": "2018-11-08T15:32:40.004Z",
+ "updatedAt": "2019-02-26T09:38:38.004Z",
+ "comments": [],
+ "workflowStatusOption": {
+ "id": 273,
+ "planId": 668,
+ "type": "accepted",
+ "value": {
+ "label": {
+ "en": "accepted"
+ }
+ },
+ "createdAt": "2018-10-09T08:19:19.277Z",
+ "updatedAt": "2018-10-09T08:19:19.277Z"
+ },
+ "projectVersionFields": [
+ {
+ "id": 283034,
+ "conditionFieldId": 1123,
+ "projectVersionPlanId": 115747,
+ "value": "0",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.610Z"
+ },
+ {
+ "id": 283035,
+ "conditionFieldId": 1125,
+ "projectVersionPlanId": 115747,
+ "value": "100",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.610Z"
+ },
+ {
+ "id": 283036,
+ "conditionFieldId": 1128,
+ "projectVersionPlanId": 115747,
+ "value": "0",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.611Z"
+ },
+ {
+ "id": 283026,
+ "conditionFieldId": 1129,
+ "projectVersionPlanId": 115747,
+ "value": "90",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.607Z"
+ },
+ {
+ "id": 283027,
+ "conditionFieldId": 1130,
+ "projectVersionPlanId": 115747,
+ "value": "8",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.607Z"
+ },
+ {
+ "id": 283028,
+ "conditionFieldId": 1131,
+ "projectVersionPlanId": 115747,
+ "value": "2",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.608Z"
+ },
+ {
+ "id": 283037,
+ "conditionFieldId": 1127,
+ "projectVersionPlanId": 115747,
+ "value": "30",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.611Z"
+ },
+ {
+ "id": 283038,
+ "conditionFieldId": 1126,
+ "projectVersionPlanId": 115747,
+ "value": "20",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.611Z"
+ },
+ {
+ "id": 283039,
+ "conditionFieldId": 1132,
+ "projectVersionPlanId": 115747,
+ "value": "false",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.611Z"
+ },
+ {
+ "id": 283041,
+ "conditionFieldId": 1134,
+ "projectVersionPlanId": 115747,
+ "value": null,
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.612Z"
+ },
+ {
+ "id": 283040,
+ "conditionFieldId": 1133,
+ "projectVersionPlanId": 115747,
+ "value": null,
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.612Z"
+ },
+ {
+ "id": 283030,
+ "conditionFieldId": 1119,
+ "projectVersionPlanId": 115747,
+ "value": "4.1. Renforcer l'accès à la prise en charge de la MAS et aux soins de santé primaires, préventifs et curatifs pour les enfants de moins de 5 ans ; \n-\tRenforcement en ressources humaines, intrants, équipements et matériel médical dans la zone d’intervention\n-\tFormation des agents de santé sur le protocole de prise en charge des maladies de l’enfant (PCIME)\n-\tPrise en charge de la MAS et des urgences pédiatriques au niveau d’UNT/pédiatrie (Hôpital) et des UNA (ambulatoire) dans la zone d’intervention\n-\tMise en place d’un système de référencements des cas compliqués dans la zone d’intervention\n-\tFormation des mamans à l’approche PB-mères pour la détection précoce \n-\tAssurer un paquet minimum de sanitation (WASH) sur les structures sanitaires appuyées (dotation en eau potable, gestion des déchets et réhabilitation des structures) pour assurer une bonne prise en charge médicale\n- Distribution des kits wash aux mères des enfants MAS admis dans le programme de PEC MAS\n-\tAmélioration de couverture vaccinale à travers l’appui au programme PEV \n-\tAppui à la réhabilitation des UNA et UNT \n-\tRéalisation d'une campagne de dépistage dans les aires de santé appuyés.\n4.2.\tAméliorer l’accès aux soins de santé des femmes en âge de procréer et contribuer à réduire la mortalité maternelle.\n-\tOffre du paquet de soins promotionnel, préventif et curatif pour les femmes enceintes\n-\tMise en place d’un système de référencements pour les grossesses compliquées vers les hôpitaux de district ou régionaux\n-\tFormation des équipes médicales au protocole national de soins obstétricaux et néonataux d’urgence (SONUB)\n-\tDistribution de compléments alimentaires aux femmes enceintes et allaitantes \n-\tSensibiliser les FEFA et les accompagnants d'enfants sur les pratiques familiales essentielles\n4.3.\tRenforcer la participation communautaire (familles, comités de gestion, relais communautaires) pour améliorer la couverture sanitaire ;\n-\tConstitution/redynamisation de réseaux de relais communautaires pour assurer le paquet d’activités communautaires dans toutes les régions d’intervention.\n-\tElargir la communication pour un changement de comportement souhaité axé sur les pratiques familiales Essentielles en Nutrition, Santé et hygiène\n4.4.\tMettre en place un dispositif de veille sanitaire et humanitaire avec une capacité de réponse aux urgences (déplacements de population, blessés, épidémies).\n-\tSuivi de la situation épidémiologique, sanitaire et humanitaire dans les districts de N'djamena \n-\tDéploiement de missions d’évaluation/action en fonction des urgences détectées et constitution d’une équipe d’intervention rapide.\nTel que l'énonce la Charte ALIMA \"le patient d'abord\", le bénéficiaire est au centre de tout dispositif d'intervention de l'organisation. L'ONG médicale entant donc exécuter son mandat de manière responsable en tenant en compte des spécificités ou non des populations qu'elle assiste et vis-à-vis desquelles elle sera redevable tout au long du cycle de projet. \nLes populations affectées sont considérées comme des \"partenaires\" et intégrées dans la programmation humanitaire, notamment dans l'identification des besoins, la conceptualisation, la mise en œuvre de la réponse, le suivi et l'évaluation de fin de cycle. \n-\tOrganiser 2 enquêtes de satisfactions des bénéficiaires \n-\tIncorporer systématiquement la notion de redevabilité dans sa programmation ; \n-\tAssurer la transparence à travers le partage d'informations avec la population affectée ; \n-\tMettre en place un mécanisme de collecte et traitement des feedbacks et plaintes ; \n-\tPromouvoir la participation et l'engagement de la population affectée afin de renforcer l'appropriation locale et la résilience ; \n-\tPromouvoir un système de planification, suivi et évaluation participatif\n",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.609Z"
+ },
+ {
+ "id": 283031,
+ "conditionFieldId": 1121,
+ "projectVersionPlanId": 115747,
+ "value": "false",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.609Z"
+ },
+ {
+ "id": 283032,
+ "conditionFieldId": 1122,
+ "projectVersionPlanId": 115747,
+ "value": "2 - Ce projet intègre de manière substantielle la protection transversale.",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.609Z"
+ },
+ {
+ "id": 283033,
+ "conditionFieldId": 1124,
+ "projectVersionPlanId": 115747,
+ "value": "0",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.610Z"
+ },
+ {
+ "id": 283029,
+ "conditionFieldId": 1118,
+ "projectVersionPlanId": 115747,
+ "value": "Au Tchad, l’insécurité alimentaire, les déplacements de population et les urgences sanitaires entraînent plus de 8 millions de personnes (presque deux tiers de la population tchadienne) dans une situation de vulnérabilité aiguë ou chronique (HNO 2018). Plus de 4,4 millions de personnes dont 52% de femmes sont affectées par l'insécurité alimentaire, dont 890 000 sont en insécurité alimentaire sévère majoritairement dans la bande sahélienne. Le taux de mortalité des enfants de moins de 5 ans est parmi les plus élevés au monde (133 pour 1000). La mortalité maternelle demeure parmi les plus élevées au monde avec 860 décès pour 100 000 naissances vivantes (INSEED, 2015) contre 506/100 000 en moyenne en Afrique sub-saharienne.\n\nLa couverture vaccinale de la rougeole au niveau national atteint 37% (Enquête de couverture de 2015). Le pays connaît actuellement une épidémie de rougeole avec près de 4000 cas enregistrés et 90 décès (bulletin épidemio S44). Cette épidemie de rougeole qui touche en majorité les enfants de moins de 5ans risque d'avoir un impact le statu nutritionnel de ces derniers dans les mois a venir. \nLa région de N'Djamena est très vulnérable d'un point de vue nutritionnel. Selon le Cluster Nutrition, 52 416 enfants de moins de 5 ans sont atteints de MAS en 2018 alors qu'en 2017 le nombre de cas était estimé à 25 653. Environ 17-20% des admissions MAS du pays au courant de premier semestre 2018, sont enregistrés dans la région sanitaire de Ndjamena (bulletin cluster nutrition juin 2018) Le pic saisonnier, généralement pendant la période de soudure (de juin à octobre), a débuté plus tôt, à la fin du mois de janvier. En octobre 2018, la capacité d’hospit n’a pas encore considérablement diminué. Le taux d’hospitalisation des enfants de N’Djamena souffrant de MAS et présentant des complications est l’un des plus élevés du pays (23% cette année). Cela a conduit les acteurs humanitaires en appui au Ministère de la santé à développer un plan d’urgence à N'djamena en 2018.\n \nLes résultats préliminaires de l’enquête SMART de septembre 2018 révèlent à nouveau une situation préoccupante au niveau national avec une prévalence de MAS de 4% et MAG de 13,5%. Au niveau régional, 12 régions (52,2%) présentent des prévalences supérieures au seuil d’urgence (15%) selon la classification de l’OMS avec 25% dans le Kanem. Malgré une amélioration suite aux interventions d’urgences qui sont toujours en cours, la prévalence de la MAS pour la région du Lac atteint 1,8% tandis que ce taux s'élève à 1,2% pour la région de N’Djamena. A ce titre les deux régions figurent toujours parmi les 16 régions prioritaires du cluster nutrition pour 2019. Le maintien des actions de préventions(campagnes de dépistages, formations des mères, programme MAM et cash pendant au moins la période soudure) et une reponse multisecteur et une couverture de la prise en charge au tour de 50% reste primordiale pour prévenir les complications chez les enfants MAS et désengorgés les différents UNT de la ville\n\nEn 2019, 1 261 017 personnes seront dans le besoin soit près de 9% de la population totale du pays. On estime à 856 683 le nombre de personnes qui seront dans les besoin dans les 16 régions prioritaires du pays, et 35% d’entre elles seront atteintes de MAS.\n\n",
+ "createdAt": "2018-11-08T15:32:43.817Z",
+ "updatedAt": "2018-11-23T21:15:13.608Z"
+ },
+ {
+ "id": 283042,
+ "conditionFieldId": 1135,
+ "projectVersionPlanId": 115747,
+ "value": "4 (T): The project is principally about promoting gender equality, including across age groups.",
+ "createdAt": "2018-11-08T15:32:43.818Z",
+ "updatedAt": "2018-11-23T21:15:13.612Z"
+ }
+ ]
+ }
+ ],
+ "budgetSegments": [
+ {
+ "id": 20796,
+ "projectVersionId": 117273,
+ "name": "general",
+ "createdAt": "2018-11-08T16:53:03.935Z",
+ "updatedAt": "2018-11-23T21:20:06.125Z",
+ "breakdown": [
+ {
+ "id": 112450,
+ "budgetSegmentId": 20796,
+ "name": "RH PROGRAMME",
+ "content": {
+ "amount": 1780470,
+ "percent": 41.3
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.131Z",
+ "updatedAt": "2018-11-23T21:20:06.131Z",
+ "entities": [
+ {
+ "id": 200888,
+ "budgetSegmentBreakdownId": 112450,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.155Z",
+ "updatedAt": "2018-11-23T21:20:06.155Z"
+ }
+ ]
+ },
+ {
+ "id": 112451,
+ "budgetSegmentId": 20796,
+ "name": "RH SUPPORT",
+ "content": {
+ "amount": 461213,
+ "percent": 10.7
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.131Z",
+ "updatedAt": "2018-11-23T21:20:06.131Z",
+ "entities": [
+ {
+ "id": 200889,
+ "budgetSegmentBreakdownId": 112451,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.158Z",
+ "updatedAt": "2018-11-23T21:20:06.158Z"
+ }
+ ]
+ },
+ {
+ "id": 112452,
+ "budgetSegmentId": 20796,
+ "name": "FONCTIONNEMENT",
+ "content": {
+ "amount": 410000,
+ "percent": 9.51
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200890,
+ "budgetSegmentBreakdownId": 112452,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.162Z",
+ "updatedAt": "2018-11-23T21:20:06.162Z"
+ }
+ ]
+ },
+ {
+ "id": 112453,
+ "budgetSegmentId": 20796,
+ "name": "ACTIVITE MED NUT",
+ "content": {
+ "amount": 1198525,
+ "percent": 27.8
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200891,
+ "budgetSegmentBreakdownId": 112453,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.166Z",
+ "updatedAt": "2018-11-23T21:20:06.166Z"
+ }
+ ]
+ },
+ {
+ "id": 112454,
+ "budgetSegmentId": 20796,
+ "name": "TRANSPORT",
+ "content": {
+ "amount": 358290,
+ "percent": 8.31
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200892,
+ "budgetSegmentBreakdownId": 112454,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.169Z",
+ "updatedAt": "2018-11-23T21:20:06.169Z"
+ }
+ ]
+ },
+ {
+ "id": 112455,
+ "budgetSegmentId": 20796,
+ "name": "EQUIPEMENT",
+ "content": {
+ "amount": 75122,
+ "percent": 1.74
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200893,
+ "budgetSegmentBreakdownId": 112455,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.173Z",
+ "updatedAt": "2018-11-23T21:20:06.173Z"
+ }
+ ]
+ },
+ {
+ "id": 112456,
+ "budgetSegmentId": 20796,
+ "name": "VISIBILITE COMMUNICATION",
+ "content": {
+ "amount": 27661,
+ "percent": 0.64
+ },
+ "type": "general",
+ "createdAt": "2018-11-23T21:20:06.132Z",
+ "updatedAt": "2018-11-23T21:20:06.132Z",
+ "entities": [
+ {
+ "id": 200894,
+ "budgetSegmentBreakdownId": 112456,
+ "objectType": "projectVersion",
+ "objectId": 117273,
+ "createdAt": "2018-11-23T21:20:06.176Z",
+ "updatedAt": "2018-11-23T21:20:06.176Z"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 31978,
+ "projectVersionId": 117273,
+ "name": "segmentation by organization",
+ "createdAt": "2018-11-23T21:20:06.126Z",
+ "updatedAt": "2018-11-23T21:20:06.126Z",
+ "breakdown": [
+ {
+ "id": 112457,
+ "budgetSegmentId": 31978,
+ "name": "Eau, hygiène et assainissement",
+ "content": {
+ "amount": 258677
+ },
+ "type": null,
+ "createdAt": "2018-11-23T21:20:06.147Z",
+ "updatedAt": "2018-11-23T21:20:06.147Z",
+ "entities": [
+ {
+ "id": 200895,
+ "budgetSegmentBreakdownId": 112457,
+ "objectType": "organization",
+ "objectId": 1937,
+ "createdAt": "2018-11-23T21:20:06.179Z",
+ "updatedAt": "2018-11-23T21:20:06.179Z"
+ },
+ {
+ "id": 200901,
+ "budgetSegmentBreakdownId": 112457,
+ "objectType": "globalCluster",
+ "objectId": 11,
+ "createdAt": "2018-11-23T21:20:06.393Z",
+ "updatedAt": "2018-11-23T21:20:06.393Z"
+ },
+ {
+ "id": 200898,
+ "budgetSegmentBreakdownId": 112457,
+ "objectType": "governingEntity",
+ "objectId": 4330,
+ "createdAt": "2018-11-23T21:20:06.315Z",
+ "updatedAt": "2018-11-23T21:20:06.315Z"
+ }
+ ]
+ },
+ {
+ "id": 112458,
+ "budgetSegmentId": 31978,
+ "name": "Nutrition",
+ "content": {
+ "amount": 2629881
+ },
+ "type": null,
+ "createdAt": "2018-11-23T21:20:06.147Z",
+ "updatedAt": "2018-11-23T21:20:06.147Z",
+ "entities": [
+ {
+ "id": 200899,
+ "budgetSegmentBreakdownId": 112458,
+ "objectType": "governingEntity",
+ "objectId": 4332,
+ "createdAt": "2018-11-23T21:20:06.319Z",
+ "updatedAt": "2018-11-23T21:20:06.319Z"
+ },
+ {
+ "id": 200902,
+ "budgetSegmentBreakdownId": 112458,
+ "objectType": "globalCluster",
+ "objectId": 9,
+ "createdAt": "2018-11-23T21:20:06.399Z",
+ "updatedAt": "2018-11-23T21:20:06.399Z"
+ },
+ {
+ "id": 200896,
+ "budgetSegmentBreakdownId": 112458,
+ "objectType": "organization",
+ "objectId": 1937,
+ "createdAt": "2018-11-23T21:20:06.184Z",
+ "updatedAt": "2018-11-23T21:20:06.184Z"
+ }
+ ]
+ },
+ {
+ "id": 112459,
+ "budgetSegmentId": 31978,
+ "name": "Santé",
+ "content": {
+ "amount": 1422723
+ },
+ "type": null,
+ "createdAt": "2018-11-23T21:20:06.147Z",
+ "updatedAt": "2018-11-23T21:20:06.147Z",
+ "entities": [
+ {
+ "id": 200897,
+ "budgetSegmentBreakdownId": 112459,
+ "objectType": "organization",
+ "objectId": 1937,
+ "createdAt": "2018-11-23T21:20:06.187Z",
+ "updatedAt": "2018-11-23T21:20:06.187Z"
+ },
+ {
+ "id": 200903,
+ "budgetSegmentBreakdownId": 112459,
+ "objectType": "globalCluster",
+ "objectId": 7,
+ "createdAt": "2018-11-23T21:20:06.404Z",
+ "updatedAt": "2018-11-23T21:20:06.404Z"
+ },
+ {
+ "id": 200900,
+ "budgetSegmentBreakdownId": 112459,
+ "objectType": "governingEntity",
+ "objectId": 4334,
+ "createdAt": "2018-11-23T21:20:06.323Z",
+ "updatedAt": "2018-11-23T21:20:06.323Z"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "locations": [
+ {
+ "id": 44,
+ "iso3": "TCD",
+ "name": "Chad",
+ "adminLevel": 0,
+ "pcode": "TD",
+ "latitude": 15.357404949384,
+ "longitude": 18.663995559345,
+ "parentId": null
+ },
+ {
+ "id": 25817214,
+ "iso3": null,
+ "name": "NDjamena",
+ "adminLevel": 1,
+ "pcode": "TD18",
+ "latitude": 12.1202656928208,
+ "longitude": 15.0515900290148,
+ "parentId": 44
+ },
+ {
+ "id": 25817278,
+ "iso3": null,
+ "name": "NDjamena",
+ "adminLevel": 2,
+ "pcode": "TD1801",
+ "latitude": 12.1202656928208,
+ "longitude": 15.0515900290148,
+ "parentId": 25817214
+ }
+ ],
+ "attachments": [
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5557,
+ "attachmentVersionId": 1350,
+ "total": 6,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ 6
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.812Z",
+ "updatedAt": "2018-11-23T21:19:57.033Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5558,
+ "attachmentVersionId": 1393,
+ "total": 2,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ 2,
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-14T09:26:11.277Z",
+ "updatedAt": "2018-11-23T21:19:57.036Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5560,
+ "attachmentVersionId": 1431,
+ "total": 25,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 9,
+ 16,
+ 25
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.815Z",
+ "updatedAt": "2018-11-23T21:19:57.039Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5935,
+ "attachmentVersionId": 1641,
+ "total": 27186,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ 7886,
+ 7886
+ ],
+ [
+ "",
+ 1250,
+ 1250
+ ],
+ [
+ "",
+ 6250,
+ 6250
+ ],
+ [
+ "",
+ 11800,
+ 11800
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.826Z",
+ "updatedAt": "2018-11-23T21:19:57.061Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5575,
+ "attachmentVersionId": 623,
+ "total": 40153,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 19273,
+ 20880,
+ 40153
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.807Z",
+ "updatedAt": "2018-11-23T21:19:57.029Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5788,
+ "attachmentVersionId": 681,
+ "total": 43660,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 21393,
+ 22267,
+ 43660
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-11T15:06:13.233Z",
+ "updatedAt": "2018-11-23T21:19:57.074Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5936,
+ "attachmentVersionId": 2646,
+ "total": 53,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 1,
+ 4,
+ 5
+ ],
+ [
+ 3,
+ 15,
+ 18
+ ],
+ [
+ 2,
+ 10,
+ 12
+ ],
+ [
+ 3,
+ 15,
+ 18
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.828Z",
+ "updatedAt": "2018-11-23T21:19:57.065Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5938,
+ "attachmentVersionId": 2688,
+ "total": 13593,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 2000,
+ 2200,
+ 4200
+ ],
+ [
+ 1000,
+ 1300,
+ 2300
+ ],
+ [
+ 525,
+ 750,
+ 1275
+ ],
+ [
+ 3000,
+ 2818,
+ 5818
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.830Z",
+ "updatedAt": "2018-11-23T21:19:57.068Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5939,
+ "attachmentVersionId": 2703,
+ "total": 15000,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 1900,
+ 2100,
+ 4000
+ ],
+ [
+ 1400,
+ 1600,
+ 3000
+ ],
+ [
+ 1300,
+ 1700,
+ 3000
+ ],
+ [
+ 1400,
+ 3600,
+ 5000
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.832Z",
+ "updatedAt": "2018-11-23T21:19:57.071Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5566,
+ "attachmentVersionId": 4799,
+ "total": 20153,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 9273,
+ 10880,
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.819Z",
+ "updatedAt": "2018-11-23T21:19:57.049Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5568,
+ "attachmentVersionId": 4943,
+ "total": 3280,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ 3280
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ 5698
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.821Z",
+ "updatedAt": "2018-11-23T21:19:57.052Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5825,
+ "attachmentVersionId": 5258,
+ "total": 25315,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 12404,
+ 12911,
+ 25315
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-11T15:06:13.237Z",
+ "updatedAt": "2018-11-23T21:19:57.080Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5951,
+ "attachmentVersionId": 5419,
+ "total": 18345,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 8989,
+ 9356,
+ 18345
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-11T15:06:13.242Z",
+ "updatedAt": "2018-11-23T21:19:57.087Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 5957,
+ "attachmentVersionId": 5422,
+ "total": 18345,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 8989,
+ 9356,
+ 18345
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-11T15:06:13.240Z",
+ "updatedAt": "2018-11-23T21:19:57.083Z"
+ },
+ {
+ "projectVersionId": 117273,
+ "attachmentId": 6260,
+ "attachmentVersionId": 7709,
+ "total": 40832,
+ "value": {
+ "targets": [
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ 7884,
+ 32948,
+ 40832
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ],
+ [
+ "",
+ "",
+ ""
+ ]
+ ]
+ },
+ "createdAt": "2018-11-08T16:04:38.823Z",
+ "updatedAt": "2018-11-23T21:19:57.056Z"
+ }
+ ],
+ "contacts": [
+ {
+ "id": 13459,
+ "projectVersionId": 117273,
+ "name": "Mamadou BAH",
+ "email": "reporting@tchad.alima.ngo",
+ "website": "",
+ "phoneNumber": "+23593125894",
+ "participantId": null,
+ "createdAt": "2018-11-08T15:13:21.452Z",
+ "updatedAt": "2018-11-23T21:11:39.734Z"
+ },
+ {
+ "id": 13458,
+ "projectVersionId": 117273,
+ "name": "Alexis DERMBAYE",
+ "email": "cg.as@tchad.alima.ngo",
+ "website": "",
+ "phoneNumber": "+23568702709",
+ "participantId": null,
+ "createdAt": "2018-11-08T15:13:21.452Z",
+ "updatedAt": "2018-11-23T21:11:39.735Z"
+ },
+ {
+ "id": 13457,
+ "projectVersionId": 117273,
+ "name": "Hassan ISSA",
+ "email": "cdm@tchad.alima.ngo",
+ "website": "",
+ "phoneNumber": "+22368702711",
+ "participantId": null,
+ "createdAt": "2018-11-08T15:13:21.452Z",
+ "updatedAt": "2018-11-23T21:11:39.725Z"
+ }
+ ]
+ },
+ "visible": true
},
- "status":"ok"
-}
+ "status": "ok"
+}
\ No newline at end of file
diff --git a/django_api/django_api/apps/ocha/tasks.py b/django_api/django_api/apps/ocha/tasks.py
index 7344faba4..0c17b46cf 100644
--- a/django_api/django_api/apps/ocha/tasks.py
+++ b/django_api/django_api/apps/ocha/tasks.py
@@ -19,7 +19,7 @@
def finish_response_plan_import(external_plan_id):
source_url = HPC_V1_ROOT_URL + 'rpm/plan/id/{}?format=json&content=entities'.format(external_plan_id)
plan_data = get_json_from_url(source_url)['data']
- save_location_list(plan_data.get('locations', []), save_children=True)
+ save_location_list(plan_data.get('locations', []), "response_plan")
strategic_objectives_url = HPC_V1_ROOT_URL + 'rpm/plan/id/{}?format=json&content=measurements'.format(
external_plan_id
@@ -59,32 +59,44 @@ def sync_partners(area):
@shared_task
-def finish_partner_project_import(project_id, response_plan_id=None):
+def finish_partner_project_import(project_id, external_id, response_plan_id=None):
project = PartnerProject.objects.get(pk=project_id)
- external_project_id = project.external_id
- source_url = HPC_V2_ROOT_URL + 'project/{}'.format(external_project_id)
- project_data = get_json_from_url(source_url)
+ source_url = HPC_V2_ROOT_URL + 'project/{}'.format(external_id)
+ project_data = get_json_from_url(source_url)['data']
- funding_url = HPC_V1_ROOT_URL + 'fts/flow?projectId={}'.format(external_project_id)
+ # Grab project details from projectVersion array of dict
+ current_project_data = None
+
+ for projectVersion in project_data['projectVersions']:
+ if project_data['currentPublishedVersionId'] == projectVersion['id']:
+ current_project_data = projectVersion
+ break
+
+ if not current_project_data:
+ logger.warning('No project V2 data found for project_id: {}. Using V1 data'.format(external_id))
+ return
+
+ funding_url = HPC_V1_ROOT_URL + 'fts/flow?projectId={}'.format(external_id)
funding_data = get_json_from_url(funding_url)
+
try:
funding_serializer = V1FundingSourceImportSerializer(data=funding_data['data'])
funding_serializer.is_valid(raise_exception=True)
funding_serializer.save()
except Exception:
- logger.warning('No funding data found for project_id: {}'.format(external_project_id))
+ logger.warning('No funding data found for project_id: {}'.format(external_id))
clusters = []
if not response_plan_id:
- for plan in project_data['data']['plans']:
+ for plan in current_project_data['plans']:
if not ResponsePlan.objects.filter(
external_source=EXTERNAL_DATA_SOURCES.HPC, external_id=plan['id']
).exists():
import_response_plan(plan['id'])
else:
response_plan = ResponsePlan.objects.get(pk=response_plan_id)
- for global_cluster_data in project_data['data']['globalClusters']:
+ for global_cluster_data in current_project_data['globalClusters']:
# Don't save external_id for global clusters - it won't pass unique constraint
cluster, _ = Cluster.objects.get_or_create(
external_source=EXTERNAL_DATA_SOURCES.HPC,
@@ -94,16 +106,17 @@ def finish_partner_project_import(project_id, response_plan_id=None):
)
clusters.append(cluster)
- project_cluster_ids = [c['id'] for c in project_data['data']['governingEntities'] if c['entityPrototypeId'] == 9]
+ project_cluster_ids = [c['id'] for c in current_project_data['governingEntities'] if c['entityPrototypeId'] == 9]
# At this point all clusters should be in DB
- clusters.extend(Cluster.objects.filter(
+ clusters.extend(list(Cluster.objects.filter(
external_source=EXTERNAL_DATA_SOURCES.HPC,
external_id__in=project_cluster_ids,
- ))
+ )))
logger.debug('Adding {} clusters to project {} and it\'s partner.'.format(
len(clusters), project
))
+
project.clusters.add(*clusters)
project.partner.clusters.add(*clusters)
- import_project_details(project, project_data['data']['currentPublishedVersionId'])
+ import_project_details(project, external_id)
diff --git a/django_api/django_api/apps/ocha/tests.py b/django_api/django_api/apps/ocha/tests.py
index f1045ff0d..bcbda52fd 100644
--- a/django_api/django_api/apps/ocha/tests.py
+++ b/django_api/django_api/apps/ocha/tests.py
@@ -1,5 +1,7 @@
import json
import os
+from unittest.mock import Mock, patch
+
from django.test import TestCase
from django.conf import settings
@@ -21,6 +23,7 @@
LocationWithReportableLocationGoalFactory,
PartnerUserFactory, PartnerFactory,
ProgressReportFactory,
+ PartnerActivityProjectContextFactory,
QuantityReportableToLowerLevelOutputFactory,
QuantityTypeIndicatorBlueprintFactory,
WorkspaceFactory,
@@ -94,8 +97,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -206,10 +213,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -236,19 +244,31 @@ def setUp(self):
def test_load_data(self):
with open(os.path.join(SAMPLES_DIR, 'V2_project_info.json')) as sample_file:
external_project_data = json.load(sample_file)['data']
- external_project_data['partner'] = Partner.objects.first().pk
- external_project_data['additional_information'] = "www.example.com"
- external_project_data['cluster_ids'] = [self.cluster.id, ]
- serializer = V2PartnerProjectImportSerializer(data=external_project_data)
+
+ # Grab project details from projectVersion array of dict
+ current_project_data = None
+
+ for project in external_project_data['projectVersions']:
+ if external_project_data['currentPublishedVersionId'] == project['id']:
+ current_project_data = project
+ break
+
+ if 'code' in external_project_data:
+ current_project_data['code'] = external_project_data['code']
+
+ current_project_data['partner'] = Partner.objects.first().pk
+ current_project_data['additional_information'] = "www.example.com"
+ current_project_data['cluster_ids'] = [self.cluster.id, ]
+ serializer = V2PartnerProjectImportSerializer(data=current_project_data)
self.assertTrue(serializer.is_valid(raise_exception=True))
partner_project = serializer.save()
- self.assertEqual(partner_project.title, external_project_data['name'].strip())
- self.assertEqual(partner_project.code, external_project_data['code'].strip())
+ self.assertEqual(partner_project.title, current_project_data['name'].strip())
+ self.assertEqual(partner_project.code, current_project_data['code'].strip())
with open(os.path.join(SAMPLES_DIR, 'V1_cash_flow.json')) as sample_file:
- external_project_data = json.load(sample_file)['data']
- external_project_data['partner'] = Partner.objects.first().pk
- serializer = V1FundingSourceImportSerializer(data=external_project_data)
+ current_project_data = json.load(sample_file)['data']
+ current_project_data['partner'] = Partner.objects.first().pk
+ serializer = V1FundingSourceImportSerializer(data=current_project_data)
self.assertTrue(serializer.is_valid(raise_exception=True))
funding_source = serializer.save()
self.assertIsNotNone(funding_source)
@@ -293,8 +313,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -405,10 +429,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -435,15 +460,19 @@ def setUp(self):
def test_multi_country_emergency_data(self):
with open(os.path.join(SAMPLES_DIR, 'V1_response_plan.json')) as sample_file:
response_plan_data = json.load(sample_file)['data']
+
+ response_plan_data['name'] = response_plan_data['planVersion']['name']
+ response_plan_data['startDate'] = response_plan_data['planVersion']['startDate']
+ response_plan_data['endDate'] = response_plan_data['planVersion']['endDate']
serializer = V1ResponsePlanImportSerializer(data=response_plan_data)
self.assertTrue(serializer.is_valid(raise_exception=True))
response_plan = serializer.save()
- self.assertEqual(response_plan.title, 'Syria regional refugee and resilience plan (3RP) 2016')
+ self.assertEqual(response_plan.title, 'Sahel Regional 2015')
self.assertEqual(
len(response_plan_data['locations']),
response_plan.workspace.countries.count()
)
- self.assertEqual(response_plan.workspace.title, 'Syrian Arab Republic - Civil Unrest (from 2012)')
+ self.assertEqual(response_plan.workspace.title, 'Sahel 2014-2016')
self.assertEqual(
len(response_plan_data['governingEntities']),
response_plan.clusters.count()
@@ -452,15 +481,19 @@ def test_multi_country_emergency_data(self):
def test_single_country_emergency_data(self):
with open(os.path.join(SAMPLES_DIR, 'V1_response_plan_single_country.json')) as sample_file:
response_plan_data = json.load(sample_file)['data']
+
+ response_plan_data['name'] = response_plan_data['planVersion']['name']
+ response_plan_data['startDate'] = response_plan_data['planVersion']['startDate']
+ response_plan_data['endDate'] = response_plan_data['planVersion']['endDate']
serializer = V1ResponsePlanImportSerializer(data=response_plan_data)
self.assertTrue(serializer.is_valid(raise_exception=True))
response_plan = serializer.save()
- self.assertEqual(response_plan.title, 'occupied Palestinian territory 2016')
+ self.assertEqual(response_plan.title, 'Chad 2013')
self.assertEqual(
len(response_plan_data['locations']),
response_plan.workspace.countries.count()
)
- self.assertEqual(response_plan.workspace.title, 'occupied Palestinian territory')
+ self.assertEqual(response_plan.workspace.title, 'Chad')
self.assertEqual(
len(response_plan_data['governingEntities']),
response_plan.clusters.count()
diff --git a/django_api/django_api/apps/ocha/utilities.py b/django_api/django_api/apps/ocha/utilities.py
index 90651e4fe..491c880db 100644
--- a/django_api/django_api/apps/ocha/utilities.py
+++ b/django_api/django_api/apps/ocha/utilities.py
@@ -59,13 +59,13 @@ def convert_to_json_ratio_value(value):
}
-def trim_list(object_list):
+def trim_list(object_list, api_data_type):
out = []
for obj in object_list:
try:
out.append({
'id': obj['id'],
- 'name': obj['name'],
+ 'name': obj['planVersion']['name'] if api_data_type == 'response_plan' else obj['name'],
})
except KeyError:
pass
diff --git a/django_api/django_api/apps/ocha/views.py b/django_api/django_api/apps/ocha/views.py
index 49a41b757..ca218b920 100644
--- a/django_api/django_api/apps/ocha/views.py
+++ b/django_api/django_api/apps/ocha/views.py
@@ -70,7 +70,7 @@ def get_response_plans(self):
def get(self, request, *args, **kwargs):
response_plans = self.get_response_plans()
- return Response(trim_list(response_plans))
+ return Response(trim_list(response_plans, 'response_plan'))
def post(self, request, *args, **kwargs):
plan_id = request.data.get('plan')
@@ -117,7 +117,7 @@ def get(self, request, *args, **kwargs):
if 'governingEntities' in plan_data:
cluster_names = [
- ge['name'] for ge in plan_data['governingEntities'] if
+ ge['governingEntityVersion']['name'] for ge in plan_data['governingEntities'] if
ge['entityPrototype']['refCode'] == RefCode.CLUSTER
]
else:
@@ -128,8 +128,8 @@ def get(self, request, *args, **kwargs):
else:
out_data['planType'] = RESPONSE_PLAN_TYPE.hrp
- out_data['startDate'] = parse(out_data['startDate']).strftime(settings.DATE_FORMAT)
- out_data['endDate'] = parse(out_data['endDate']).strftime(settings.DATE_FORMAT)
+ out_data['startDate'] = parse(plan_data['planVersion']['startDate']).strftime(settings.DATE_FORMAT)
+ out_data['endDate'] = parse(plan_data['planVersion']['endDate']).strftime(settings.DATE_FORMAT)
return Response(out_data)
@@ -180,7 +180,7 @@ def get(self, request, *args, **kwargs):
else:
result = projects
- return Response(trim_list(result))
+ return Response(trim_list(result, 'partner_project'))
def get_partner(self):
if self.request.user.prp_roles.filter(
@@ -239,7 +239,7 @@ def get(self, request, *args, **kwargs):
# We should use project code whenever is possible. ID filtering might be not working in case of new OPS data
if details:
- project_code = details[0]['data']['code']
+ project_code = details[0]['data']['projectVersion']['code']
budget_url = HPC_V1_ROOT_URL + 'fts/flow?projectCode={}'.format(project_code)
else:
budget_url = HPC_V1_ROOT_URL + 'fts/flow?projectId={}'.format(self.kwargs['id'])
@@ -261,6 +261,17 @@ def get(self, request, *args, **kwargs):
current_project_data = project
break
+ # Fetch attachment data
+ attachment_url = HPC_V2_ROOT_URL \
+ + 'project/{}/attachments'.format(details['data']['id'])
+ attachments = get_json_from_url(attachment_url)
+
+ if 'data' in attachments:
+ out_data['attachments'] = map(
+ lambda item: item['attachment']['attachmentVersion']['value']['description'],
+ filter(lambda x: x['attachment']['type'] == 'indicator', attachments['data'])
+ )
+
out_data['startDate'] = current_project_data['startDate']
out_data['endDate'] = current_project_data['endDate']
out_data['name'] = current_project_data['name']
@@ -272,10 +283,13 @@ def get(self, request, *args, **kwargs):
out_data['totalBudgetUSD'] = current_project_data['currentRequestedFunds']
funding_sources = []
- for flow in budget_info['data']['flows']:
- funding_sources.extend([
- fs['name'] for fs in flow.get('sourceObjects', []) if fs['type'] == 'Organization'
- ])
+
+ if 'data' in budget_info:
+ for flow in budget_info['data']['flows']:
+ funding_sources.extend([
+ fs['name'] for fs in flow.get('sourceObjects', []) if fs['type'] == 'Organization'
+ ])
+
out_data['fundingSources'] = funding_sources
out_data['objective'] = current_project_data['objective']
additional_information = list()
diff --git a/django_api/django_api/apps/partner/admin.py b/django_api/django_api/apps/partner/admin.py
index 49716217a..145ac75c2 100644
--- a/django_api/django_api/apps/partner/admin.py
+++ b/django_api/django_api/apps/partner/admin.py
@@ -4,7 +4,9 @@
Partner,
PartnerProject,
PartnerActivity,
- PartnerProjectFunding)
+ PartnerProjectFunding,
+ PartnerActivityProjectContext,
+)
class PartnerAdmin(admin.ModelAdmin):
@@ -14,17 +16,23 @@ class PartnerAdmin(admin.ModelAdmin):
search_fields = ('title', 'short_title', 'alternate_title')
+class PartnerActivityProjectContextInline(admin.StackedInline):
+ model = PartnerActivityProjectContext
+ extra = 1
+ min_num = 0
+
+
class PartnerProjectAdmin(admin.ModelAdmin):
- list_display = ('title', 'partner', 'description', 'start_date',
- 'end_date', 'status',)
- list_filter = ('status', 'partner', 'clusters')
- search_fields = ('title', 'description', 'additional_information')
+ list_display = ('title', 'partner', 'description',)
+ list_filter = ('status', 'partner', 'clusters',)
+ search_fields = ('title', 'description', 'additional_information',)
class PartnerActivityAdmin(admin.ModelAdmin):
- list_display = ('title', 'partner', 'project', 'cluster_activity',
- 'cluster_objective', 'start_date', 'end_date', 'status',)
- list_filter = ('status', 'partner', 'project')
+ inlines = (PartnerActivityProjectContextInline, )
+ list_display = ('title', 'partner', 'cluster_activity',
+ 'cluster_objective',)
+ list_filter = ('partner',)
search_fields = ('title', )
diff --git a/django_api/django_api/apps/partner/migrations/0004_auto_20190522_1759.py b/django_api/django_api/apps/partner/migrations/0004_auto_20190522_1759.py
new file mode 100644
index 000000000..9d3735f96
--- /dev/null
+++ b/django_api/django_api/apps/partner/migrations/0004_auto_20190522_1759.py
@@ -0,0 +1,74 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-05-22 17:59
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('partner', '0003_auto_20181024_0032'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='PartnerActivityProjectContext',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('start_date', models.DateField()),
+ ('end_date', models.DateField()),
+ ('status', models.CharField(choices=[('Ong', 'Ongoing'), ('Pla', 'Planned'), ('Com', 'Completed')], default='Ong', max_length=3)),
+ ],
+ ),
+ migrations.RemoveField(
+ model_name='partneractivity',
+ name='end_date',
+ ),
+ migrations.RemoveField(
+ model_name='partneractivity',
+ name='project',
+ ),
+ migrations.RemoveField(
+ model_name='partneractivity',
+ name='start_date',
+ ),
+ migrations.RemoveField(
+ model_name='partneractivity',
+ name='status',
+ ),
+ migrations.AlterField(
+ model_name='partner',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AlterField(
+ model_name='partnerproject',
+ name='external_source',
+ field=models.TextField(blank=True, choices=[('HPC', 'HPC'), ('OPS', 'OPS'), ('UNICEF', 'UNICEF')], null=True),
+ ),
+ migrations.AddField(
+ model_name='partneractivityprojectcontext',
+ name='activity',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='partner.PartnerActivity'),
+ ),
+ migrations.AddField(
+ model_name='partneractivityprojectcontext',
+ name='project',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='partner.PartnerProject'),
+ ),
+ migrations.AddField(
+ model_name='partneractivity',
+ name='projects',
+ field=models.ManyToManyField(related_name='partner_activities', through='partner.PartnerActivityProjectContext', to='partner.PartnerProject'),
+ ),
+ migrations.AlterUniqueTogether(
+ name='partneractivityprojectcontext',
+ unique_together=set([('project', 'activity')]),
+ ),
+ ]
diff --git a/django_api/django_api/apps/partner/models.py b/django_api/django_api/apps/partner/models.py
index a155f518c..8d6707573 100644
--- a/django_api/django_api/apps/partner/models.py
+++ b/django_api/django_api/apps/partner/models.py
@@ -3,7 +3,7 @@
from django.contrib.contenttypes.fields import GenericRelation
from django.contrib.postgres.fields import JSONField
from django.db import models
-from django.db.models.signals import pre_save
+from django.db.models.signals import pre_save, m2m_changed
from django.dispatch import receiver
from model_utils.models import TimeStampedModel
@@ -259,6 +259,35 @@ def is_ocha_imported(self):
return bool(self.external_id and self.external_source == EXTERNAL_DATA_SOURCES.HPC)
+@receiver(m2m_changed, sender=PartnerProject.locations.through, dispatch_uid="sync_locations_for_pp_reportables")
+def sync_locations_for_pp_reportables(sender, instance, action, pk_set, **kwargs):
+ if action != "post_add":
+ return
+
+ from core.models import Location
+ from indicator.models import ReportableLocationGoal
+ locations = instance.locations.all()
+
+ if locations.exists():
+ loc_type = locations.first().gateway.admin_level
+ new_locations = Location.objects.filter(id__in=pk_set)
+
+ for r in instance.reportables.all():
+ r_locations = r.locations.all()
+
+ if not r_locations.exists():
+ return
+
+ r_loc_type = r_locations.first().gateway.admin_level
+
+ if loc_type == r_loc_type:
+ for loc in new_locations:
+ ReportableLocationGoal.objects.get_or_create(
+ reportable=r,
+ location=loc,
+ )
+
+
class PartnerProjectFunding(TimeStampedModel):
project = models.OneToOneField(PartnerProject)
@@ -311,14 +340,17 @@ class PartnerActivity(TimeStampedModel):
partner is allowed to define their ideas that wasn't defined.
related models:
- partner.PartnerProject (ForeignKey): "project"
+ partner.PartnerProject (ManyToMany): "projects"
partner.Partner (ForeignKey): "partner"
cluster.ClusterActivity (ForeignKey): "cluster_activity"
indicator.Reportable (GenericRelation): "reportables"
"""
title = models.CharField(max_length=2048)
- project = models.ForeignKey(PartnerProject, null=True,
- related_name="partner_activities")
+ projects = models.ManyToManyField(
+ PartnerProject,
+ related_name="partner_activities",
+ through="PartnerActivityProjectContext",
+ )
partner = models.ForeignKey(Partner, related_name="partner_activities")
cluster_activity = models.ForeignKey('cluster.ClusterActivity',
related_name="partner_activities",
@@ -330,12 +362,6 @@ class PartnerActivity(TimeStampedModel):
related_query_name='partner_activities')
locations = models.ManyToManyField('core.Location',
related_name="partner_activities")
- start_date = models.DateField()
- end_date = models.DateField()
-
- # PartnerActivity shares the status flags with PartnerProject
- status = models.CharField(max_length=3, choices=PARTNER_PROJECT_STATUS,
- default=PARTNER_PROJECT_STATUS.ongoing)
class Meta:
ordering = ['-id']
@@ -346,11 +372,12 @@ class Meta:
@property
def clusters(self):
- return self.project.clusters.all()
+ from cluster.models import Cluster
+ return Cluster.objects.filter(id__in=self.projects.values_list('clusters', flat=True).distinct())
@property
def response_plan(self):
- return self.project.clusters.all()[0].response_plan
+ return self.clusters[0].response_plan
@property
def is_custom(self):
@@ -366,3 +393,17 @@ def check_pa_double_fks(sender, instance, **kwargs):
raise Exception(
"PartnerActivity cannot belong to both ClusterActivity and ClusterObjective"
)
+
+
+class PartnerActivityProjectContext(TimeStampedModel):
+ project = models.ForeignKey("PartnerProject", on_delete=models.CASCADE)
+ activity = models.ForeignKey("PartnerActivity", on_delete=models.CASCADE)
+ start_date = models.DateField()
+ end_date = models.DateField()
+
+ # PartnerActivity shares the status flags with PartnerProject
+ status = models.CharField(max_length=3, choices=PARTNER_PROJECT_STATUS,
+ default=PARTNER_PROJECT_STATUS.ongoing)
+
+ class Meta:
+ unique_together = ('project', 'activity')
diff --git a/django_api/django_api/apps/partner/serializers.py b/django_api/django_api/apps/partner/serializers.py
index 45fc9524b..84bf6a7d3 100644
--- a/django_api/django_api/apps/partner/serializers.py
+++ b/django_api/django_api/apps/partner/serializers.py
@@ -2,7 +2,8 @@
from rest_framework import serializers
from core.serializers import ShortLocationSerializer
-from core.common import PARTNER_PROJECT_STATUS, PARTNER_TYPE, CSO_TYPES
+from core.common import PARTNER_TYPE, CSO_TYPES, PARTNER_ACTIVITY_STATUS
+from core.models import Location
from cluster.models import (
Cluster,
@@ -22,7 +23,9 @@
Partner,
PartnerProject,
PartnerActivity,
- PartnerProjectFunding)
+ PartnerProjectFunding,
+ PartnerActivityProjectContext
+)
class PartnerProjectSimpleSerializer(serializers.ModelSerializer):
@@ -46,14 +49,40 @@ class Meta:
)
+class PartnerActivityProjectContextSerializer(serializers.ModelSerializer):
+ project_id = serializers.IntegerField(source="id")
+ project_name = serializers.SerializerMethodField()
+ start_date = serializers.DateField()
+ end_date = serializers.DateField()
+ status = serializers.ChoiceField(choices=PARTNER_ACTIVITY_STATUS)
+
+ class Meta:
+ model = PartnerActivityProjectContext
+ fields = (
+ 'project_id',
+ 'project_name',
+ 'start_date',
+ 'end_date',
+ 'status',
+ )
+
+ def get_project_name(self, obj):
+ return obj.project.title if getattr(obj, 'project', None) else obj.title
+
+
+class PartnerActivityProjectContextDetailUpdateSerializer(PartnerActivityProjectContextSerializer):
+ project_id = serializers.IntegerField(source="project.id")
+
+
class PartnerActivitySimpleSerializer(serializers.ModelSerializer):
+ projects = PartnerActivityProjectContextSerializer(many=True)
class Meta:
model = PartnerActivity
fields = (
'id',
'title',
- 'project',
+ 'projects',
'partner',
'cluster_activity'
)
@@ -261,6 +290,7 @@ def validate(self, attrs):
validated_data = super(PartnerProjectSerializer, self).validate(attrs)
start_date = validated_data.get('start_date', getattr(self.instance, 'start_date', None))
end_date = validated_data.get('end_date', getattr(self.instance, 'start_date', None))
+ locations = self.initial_data.get('locations', list())
if start_date and end_date and end_date < start_date:
raise serializers.ValidationError({
@@ -274,6 +304,13 @@ def validate(self, attrs):
'custom_fields': 'Custom Field Names should be unique'
})
+ if locations and Location.objects.filter(id__in=[l['id'] for l in locations]) \
+ .values_list('gateway__admin_level', flat=True) \
+ .distinct().count() != 1:
+ raise serializers.ValidationError({
+ 'locations': 'All locations need to have same admin level'
+ })
+
return validated_data
def save_funding(self, instance=None):
@@ -305,6 +342,11 @@ def create(self, validated_data):
project.clusters.add(*Cluster.objects.filter(id__in=[c['id'] for c in clusters]))
+ locations = self.initial_data.get('locations')
+
+ if locations:
+ project.locations.add(*Location.objects.filter(id__in=[l['id'] for l in locations]))
+
self.save_funding(instance=project)
return project
@@ -329,6 +371,13 @@ def update(self, instance, validated_data):
project.clusters.clear()
project.clusters.add(*Cluster.objects.filter(id__in=cluster_ids))
+ locations = self.initial_data.get('locations')
+
+ if locations:
+ location_ids = [l['id'] for l in locations]
+ project.locations.clear()
+ project.locations.add(*Location.objects.filter(id__in=location_ids))
+
self.save_funding(instance=instance)
return project
@@ -368,11 +417,8 @@ def get_links(self, obj):
class PartnerActivityBaseCreateSerializer(serializers.Serializer):
id = serializers.IntegerField(read_only=True)
cluster = serializers.IntegerField(write_only=True)
- project = serializers.IntegerField(write_only=True)
+ projects = PartnerActivityProjectContextSerializer(write_only=True, many=True)
partner = serializers.IntegerField(write_only=True)
- start_date = serializers.DateField(write_only=True)
- end_date = serializers.DateField(write_only=True)
- status = serializers.ChoiceField(choices=PARTNER_PROJECT_STATUS, write_only=True)
def validate(self, data):
cluster = Cluster.objects.filter(id=data['cluster']).first()
@@ -392,34 +438,36 @@ def validate(self, data):
'partner': 'Partner does not belong to Cluster {}.'.format(data['cluster'])
})
- project = PartnerProject.objects.filter(id=data['project']).first()
- if not project:
- raise serializers.ValidationError({
- 'project': 'PartnerProject ID {} does not exist.'.format(data['project'])
- })
- elif not project.partner_id == partner.id:
- raise serializers.ValidationError({
- 'partner': 'PartnerProject does not belong to Partner {}.'.format(self.initial_data['partner'])
- })
+ for idx, project_context in enumerate(data['projects']):
+ project = PartnerProject.objects.filter(id=project_context['id']).first()
+ if not project:
+ raise serializers.ValidationError({
+ 'project_id': 'PartnerProject ID {} does not exist.'.format(project_context['id'])
+ })
+ elif not project.partner_id == partner.id:
+ raise serializers.ValidationError({
+ 'partner': 'PartnerProject does not belong to Partner {}.'.format(self.initial_data['partner'])
+ })
- if data['start_date'] > data['end_date']:
- raise serializers.ValidationError({
- "start_date": "start_date should come before end_date",
- })
+ data['projects'][idx]['project'] = project
- data['cluster'] = cluster
- data['partner'] = partner
- data['project'] = project
+ if project_context['start_date'] > project_context['end_date']:
+ raise serializers.ValidationError({
+ "start_date": "start_date should come before end_date",
+ })
- if data['project'].start_date > data['start_date']:
- raise serializers.ValidationError({
- "start_date": "start_date cannot start before its project's start date",
- })
+ if project.start_date > project_context['start_date']:
+ raise serializers.ValidationError({
+ "start_date": "start_date cannot start before its project's start date",
+ })
- if data['project'].end_date < data['end_date']:
- raise serializers.ValidationError({
- "end_date": "end_date cannot end after its project's end date",
- })
+ if project.end_date < project_context['end_date']:
+ raise serializers.ValidationError({
+ "end_date": "end_date cannot end after its project's end date",
+ })
+
+ data['cluster'] = cluster
+ data['partner'] = partner
return data
@@ -455,15 +503,27 @@ def create(self, validated_data):
try:
partner_activity = PartnerActivity.objects.create(
title=validated_data['cluster_activity'].title,
- project=validated_data['project'],
partner=validated_data['partner'],
cluster_activity=validated_data['cluster_activity'],
- start_date=validated_data['start_date'],
- end_date=validated_data['end_date'],
- status=validated_data['status'],
)
+
+ for validated_context_data in validated_data['projects']:
+ project = validated_context_data['project']
+ PartnerActivityProjectContext.objects.update_or_create(
+ defaults={
+ 'activity': partner_activity,
+ 'project': project,
+ },
+ start_date=validated_context_data['start_date'],
+ end_date=validated_context_data['end_date'],
+ status=validated_context_data['status'],
+ )
+
except Exception as e:
- raise serializers.ValidationError(e.message)
+ if getattr(e, 'message', None):
+ raise serializers.ValidationError(e.message)
+ else:
+ raise serializers.ValidationError(e)
# Grab Cluster Activity instance from this newly created Partner Activity instance
cluster_activity = validated_data['cluster_activity']
@@ -492,11 +552,6 @@ def validate(self, data):
)
})
- if data['project'].partner != data['partner']:
- return serializers.ValidationError({
- "project": "Project does not belong to Partner {}".format(data['partner']),
- })
-
data['cluster_objective'] = cluster_objective
return data
@@ -505,22 +560,34 @@ def create(self, validated_data):
try:
partner_activity = PartnerActivity.objects.create(
title=validated_data['title'],
- project=validated_data['project'],
partner=validated_data['partner'],
cluster_objective=validated_data['cluster_objective'],
- start_date=validated_data['start_date'],
- end_date=validated_data['end_date'],
- status=validated_data['status'],
)
+
+ for validated_context_data in validated_data['projects']:
+ project = validated_context_data['project']
+ PartnerActivityProjectContext.objects.update_or_create(
+ defaults={
+ 'activity': partner_activity,
+ 'project': project,
+ },
+ start_date=validated_context_data['start_date'],
+ end_date=validated_context_data['end_date'],
+ status=validated_context_data['status'],
+ )
except Exception as e:
- raise serializers.ValidationError(e.message)
+ if getattr(e, 'message', None):
+ raise serializers.ValidationError(e.message)
+ else:
+ raise serializers.ValidationError(e)
+
return partner_activity
class PartnerActivitySerializer(serializers.ModelSerializer):
cluster = serializers.SerializerMethodField()
- project = PartnerProjectSimpleSerializer()
+ projects = PartnerActivityProjectContextDetailUpdateSerializer(source='partneractivityprojectcontext_set', many=True)
reportables = ClusterIndicatorForPartnerActivitySerializer(many=True)
cluster_activity = ClusterActivitySerializer()
partner = PartnerDetailsSerializer()
@@ -534,13 +601,10 @@ class Meta:
'title',
'partner',
'cluster',
- 'status',
- 'project',
+ 'projects',
'cluster_activity',
'cluster_objective',
'reportables',
- 'start_date',
- 'end_date',
'is_custom',
)
@@ -569,19 +633,18 @@ def get_cluster_objective(self, obj):
class PartnerActivityUpdateSerializer(serializers.ModelSerializer):
- project = serializers.IntegerField(write_only=True)
+ projects = PartnerActivityProjectContextDetailUpdateSerializer(source='partneractivityprojectcontext_set', many=True)
class Meta:
model = PartnerActivity
fields = (
'title',
- 'status',
- 'project',
- 'start_date',
- 'end_date',
+ 'projects',
)
def __init__(self, instance, *args, **kwargs):
+ self.partial = kwargs['partial']
+
if not instance.is_custom:
self.fields.pop('title')
super(PartnerActivityUpdateSerializer, self).__init__(instance, *args, **kwargs)
@@ -593,26 +656,61 @@ def get_extra_kwargs(self):
}
def validate(self, data):
- project_id = data.pop('project', None)
- project = PartnerProject.objects.filter(id=project_id).first()
- if not project:
- raise serializers.ValidationError({
- 'project': 'PartnerProject ID {} does not exist.'.format(data['project'])
- })
- elif not project.partner_id == self.instance.partner.id:
- raise serializers.ValidationError({
- 'partner': 'PartnerProject does not belong to Partner {}.'.format(self.initial_data['partner'])
- })
+ for idx, project_context in enumerate(data['partneractivityprojectcontext_set']):
+ project = PartnerProject.objects.filter(id=project_context['project']['id']).first()
+ if not project:
+ raise serializers.ValidationError({
+ 'project_id': 'PartnerProject ID {} does not exist.'.format(project_context['project']['id'])
+ })
+ elif not project.partner_id == self.instance.partner.id:
+ raise serializers.ValidationError({
+ 'partner': 'PartnerProject does not belong to Partner {}.'.format(self.instance.partner.id)
+ })
+
+ data['partneractivityprojectcontext_set'][idx]['project'] = project
+
+ if project_context['start_date'] > project_context['end_date']:
+ raise serializers.ValidationError({
+ "start_date": "start_date should come before end_date",
+ })
+
+ if project.start_date > project_context['start_date']:
+ raise serializers.ValidationError({
+ "start_date": "start_date cannot start before its project's start date",
+ })
+
+ if project.end_date < project_context['end_date']:
+ raise serializers.ValidationError({
+ "end_date": "end_date cannot end after its project's end date",
+ })
+
return super(PartnerActivityUpdateSerializer, self).validate(data)
def update(self, instance, validated_data):
instance.title = validated_data.get('title', instance.title)
- instance.project = validated_data.get('project', instance.project)
- instance.start_date = validated_data.get('start_date', instance.start_date)
- instance.end_date = validated_data.get('end_date', instance.end_date)
- instance.status = validated_data.get('status', instance.status)
instance.save()
+ old_projects = set(instance.projects.values_list('id', flat=True))
+ updated_projects = set(map(lambda x: x['project'].id, validated_data['partneractivityprojectcontext_set']))
+ old_projects_to_delete = old_projects.difference(updated_projects)
+
+ PartnerActivityProjectContext.objects.filter(
+ activity=instance,
+ project__in=old_projects_to_delete
+ ).delete()
+
+ for validated_context_data in validated_data['partneractivityprojectcontext_set']:
+ project = validated_context_data['project']
+ obj, created = PartnerActivityProjectContext.objects.update_or_create(
+ project=project,
+ activity=instance,
+ defaults={
+ 'start_date': validated_context_data['start_date'],
+ 'end_date': validated_context_data['end_date'],
+ 'status': validated_context_data['status']
+ }
+ )
+
return instance
@@ -649,8 +747,13 @@ def fix_choices(self, validated_data):
def update(self, instance, validated_data):
validated_data = self.fix_choices(validated_data)
- return Partner.objects.filter(
- vendor_number=validated_data['vendor_number']).update(**validated_data)
+
+ for key, value in validated_data.items():
+ setattr(instance, key, value)
+
+ instance.save()
+
+ return instance
def create(self, validated_data):
validated_data = self.fix_choices(validated_data)
diff --git a/django_api/django_api/apps/partner/tests/test_views.py b/django_api/django_api/apps/partner/tests/test_views.py
index 3805d8124..73ea06e21 100644
--- a/django_api/django_api/apps/partner/tests/test_views.py
+++ b/django_api/django_api/apps/partner/tests/test_views.py
@@ -1,4 +1,5 @@
import datetime
+from unittest.mock import Mock, patch
from django.conf import settings
from django.urls import reverse
@@ -23,6 +24,7 @@
LocationFactory,
LocationWithReportableLocationGoalFactory,
PartnerUserFactory, PartnerFactory,
+ PartnerActivityProjectContextFactory,
ProgressReportFactory,
QuantityReportableToLowerLevelOutputFactory,
QuantityTypeIndicatorBlueprintFactory,
@@ -95,8 +97,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -207,10 +213,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -363,8 +370,8 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
- project=self.project,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -475,10 +482,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -587,10 +595,14 @@ def setUp(self):
self.data = {
"cluster": self.cluster.id,
"partner": self.partner.id,
- "project": self.project.id,
- "start_date": self.project.start_date.strftime(settings.PRINT_DATA_FORMAT),
- "end_date": self.project.end_date.strftime(settings.PRINT_DATA_FORMAT),
- "status": "Ong"
+ "projects": [
+ {
+ "project_id": self.project.id,
+ "start_date": self.project.start_date.strftime(settings.PRINT_DATA_FORMAT),
+ "end_date": self.project.end_date.strftime(settings.PRINT_DATA_FORMAT),
+ "status": "Ong"
+ }
+ ],
}
def test_create_activity_from_cluster_activity(self):
@@ -678,8 +690,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -790,10 +806,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
diff --git a/django_api/django_api/apps/partner/views.py b/django_api/django_api/apps/partner/views.py
index ca3acf7ce..560f366c4 100644
--- a/django_api/django_api/apps/partner/views.py
+++ b/django_api/django_api/apps/partner/views.py
@@ -370,7 +370,7 @@ def check_permissions(self, request):
def get_queryset(self):
return PartnerActivity.objects.filter(
- project__clusters__response_plan_id=self.kwargs['response_plan_id']
+ projects__clusters__response_plan_id=self.kwargs['response_plan_id']
).distinct()
def get_object(self, pk):
@@ -380,7 +380,8 @@ def patch(self, request, pk, *args, **kwargs):
instance = self.get_object(pk)
serializer = self.get_serializer(
instance=instance,
- data=self.request.data
+ data=self.request.data,
+ partial=True
)
serializer.is_valid(raise_exception=True)
diff --git a/django_api/django_api/apps/unicef/export_report.py b/django_api/django_api/apps/unicef/export_report.py
index abf354e79..55d5b0236 100644
--- a/django_api/django_api/apps/unicef/export_report.py
+++ b/django_api/django_api/apps/unicef/export_report.py
@@ -1,8 +1,7 @@
import itertools
-import uuid
from openpyxl.reader.excel import load_workbook
-from openpyxl.styles import Font, Alignment, NamedStyle
+from openpyxl.styles import Font, Alignment, NamedStyle, PatternFill
from openpyxl.utils import get_column_letter
from django.conf import settings
@@ -12,13 +11,16 @@
from indicator.models import DisaggregationValue, IndicatorBlueprint
from indicator.constants import ValueType
+from indicator.utilities import convert_string_number_to_float
PATH = settings.BASE_DIR + "/apps/unicef/templates/excel/hr_export.xlsx"
SAVE_PATH = '/tmp/'
-DISAGGREGATION_COLUMN_START = 40
+DISAGGREGATION_COLUMN_START = 43
INDICATOR_DATA_ROW_START = 5
MAXIMUM_DISAGGREGATIONS_PER_INDICATOR = 3
+REQUIRED_FILL = PatternFill(fill_type='solid', start_color='FFE5A479', end_color='FFE5A479')
+NO_FILL = PatternFill(fill_type=None)
class ProgressReportXLSXExporter:
@@ -27,11 +29,11 @@ class ProgressReportXLSXExporter:
def __init__(self, progress_report, analysis=None):
self.wb = load_workbook(PATH)
- self.sheet = self.wb.get_active_sheet()
+ self.sheet = self.wb.get_sheet_by_name('PR Template')
self.progress_report = progress_report
if analysis is not None:
self.analysis = analysis
- self.sheets = [self.sheet, ]
+ self.sheets = [self.wb.get_sheet_by_name('README'), self.sheet, ]
self.disaggregations_start_column = DISAGGREGATION_COLUMN_START
self.bold_center_style = NamedStyle(name="Bold and Center")
@@ -71,7 +73,7 @@ def fill_sheet(self, disaggregation_types, indicators):
# Hide non QPR columns
if self.progress_report.report_type != common.QPR_TYPE:
- for col in ['L', 'M', 'O', 'P']:
+ for col in ['L', 'M', 'O', 'P', 'Q']:
self.sheet.column_dimensions[col].hidden = True
# Prepare Disaggregation Values for given disaggregation types
@@ -144,7 +146,7 @@ def fill_sheet(self, disaggregation_types, indicators):
)
else:
try:
- indicator_target = float(
+ indicator_target = convert_string_number_to_float(
indicator.reportable.calculated_target)
except ValueError:
indicator_target = indicator.reportable.calculated_target
@@ -173,45 +175,68 @@ def fill_sheet(self, disaggregation_types, indicators):
self.sheet.cell(row=start_row_id, column=4).value = \
self.progress_report.programme_document.title
self.sheet.cell(row=start_row_id, column=5).value = \
- indicator.reportable.content_object.title
- self.sheet.cell(row=start_row_id, column=6).value = \
self.progress_report.get_reporting_period()
- self.sheet.cell(row=start_row_id, column=7).value = \
+ self.sheet.cell(row=start_row_id, column=6).value = \
self.progress_report.get_status_display()
- self.sheet.cell(row=start_row_id, column=8).value = \
+ self.sheet.cell(row=start_row_id, column=7).value = \
self.progress_report.due_date
- self.sheet.cell(row=start_row_id, column=9).value = \
+ self.sheet.cell(row=start_row_id, column=8).value = \
self.progress_report.submission_date
- self.sheet.cell(row=start_row_id, column=10).value = \
+ self.sheet.cell(row=start_row_id, column=9).value = \
self.progress_report.partner_contribution_to_date
- self.sheet.cell(row=start_row_id, column=11).value = \
+ self.sheet.cell(row=start_row_id, column=9).fill = \
+ REQUIRED_FILL
+ self.sheet.cell(row=start_row_id, column=10).value = \
self.progress_report.programme_document.funds_received_to_date
- self.sheet.cell(row=start_row_id, column=12).value = \
+ self.sheet.cell(row=start_row_id, column=11).value = \
self.progress_report.challenges_in_the_reporting_period
- self.sheet.cell(row=start_row_id, column=13).value = \
+ self.sheet.cell(row=start_row_id, column=11).fill = \
+ REQUIRED_FILL
+ self.sheet.cell(row=start_row_id, column=12).value = \
self.progress_report.proposed_way_forward
- self.sheet.cell(row=start_row_id, column=14).value = \
+ self.sheet.cell(row=start_row_id, column=12).fill = \
+ REQUIRED_FILL
+ self.sheet.cell(row=start_row_id, column=13).value = \
self.progress_report.submitted_by.display_name if \
self.progress_report.submitted_by else ''
- self.sheet.cell(row=start_row_id, column=15).value = \
- self.progress_report.attachment.url if self.progress_report.attachment else ''
- self.sheet.cell(row=start_row_id, column=16).value = \
- self.progress_report.narrative
+
+ attachments = self.progress_report.attachments.all()
+ other_attachments = attachments.filter(type="Other")
+
+ self.sheet.cell(row=start_row_id, column=14).value = \
+ attachments.filter(type="FACE").first().file.url if attachments.filter(type="FACE").exists() else ''
+
+ if other_attachments.exists():
+ if other_attachments.count() == 1:
+ self.sheet.cell(row=start_row_id, column=15).value = other_attachments.first().file.url
+ self.sheet.cell(row=start_row_id, column=16).value = ''
+ elif other_attachments.count() > 1:
+ self.sheet.cell(row=start_row_id, column=15).value = other_attachments.first().file.url
+ self.sheet.cell(row=start_row_id, column=16).value = other_attachments.last().file.url
+ else:
+ self.sheet.cell(row=start_row_id, column=15).value = ''
+ self.sheet.cell(row=start_row_id, column=16).value = ''
+
self.sheet.cell(row=start_row_id, column=17).value = \
- indicator.get_overall_status_display()
+ indicator.reportable.content_object.title
+
self.sheet.cell(row=start_row_id, column=18).value = \
- indicator.narrative_assessment
+ indicator.get_overall_status_display()
self.sheet.cell(row=start_row_id, column=19).value = \
- indicator.reportable.blueprint.title
+ indicator.narrative_assessment
+ self.sheet.cell(row=start_row_id, column=19).fill = \
+ REQUIRED_FILL
self.sheet.cell(row=start_row_id, column=20).value = \
- indicator.display_type
+ indicator.reportable.blueprint.title
self.sheet.cell(row=start_row_id, column=21).value = \
- indicator_target
+ indicator.display_type
self.sheet.cell(row=start_row_id, column=22).value = \
- indicator.calculation_formula_across_locations
+ indicator_target
self.sheet.cell(row=start_row_id, column=23).value = \
- indicator.calculation_formula_across_periods
+ indicator.calculation_formula_across_locations
self.sheet.cell(row=start_row_id, column=24).value = \
+ indicator.calculation_formula_across_periods
+ self.sheet.cell(row=start_row_id, column=25).value = \
location_data.previous_location_progress_value
# Iterate over location admin references:
@@ -220,9 +245,9 @@ def fill_sheet(self, disaggregation_types, indicators):
admin_level = location.gateway.admin_level
# TODO: secure in case of wrong location data
admin_level = min(admin_level, 5)
- self.sheet.cell(row=start_row_id, column=24 +
+ self.sheet.cell(row=start_row_id, column=25 +
admin_level * 2).value = location.title
- self.sheet.cell(row=start_row_id, column=24 +
+ self.sheet.cell(row=start_row_id, column=25 +
admin_level * 2 - 1).value = location.gateway.name
if location.parent:
@@ -230,15 +255,19 @@ def fill_sheet(self, disaggregation_types, indicators):
else:
break
- self.sheet.cell(row=start_row_id, column=35).value = \
- achievement_in_reporting_period
self.sheet.cell(row=start_row_id, column=36).value = \
- total_cumulative_progress
+ indicator.reportable.numerator_label
self.sheet.cell(row=start_row_id, column=37).value = \
- self.progress_report.id
+ indicator.reportable.denominator_label
self.sheet.cell(row=start_row_id, column=38).value = \
- indicator.id
+ achievement_in_reporting_period
self.sheet.cell(row=start_row_id, column=39).value = \
+ total_cumulative_progress
+ self.sheet.cell(row=start_row_id, column=40).value = \
+ self.progress_report.id
+ self.sheet.cell(row=start_row_id, column=41).value = \
+ indicator.id
+ self.sheet.cell(row=start_row_id, column=42).value = \
location_data.id
# Check location item disaggregation type
@@ -251,6 +280,9 @@ def fill_sheet(self, disaggregation_types, indicators):
# Check location item values
blueprint = location_data.indicator_report.reportable.blueprint
+ for dk, dv in disaggregation_values_map.items():
+ self.sheet.cell(row=start_row_id, column=dv).fill = REQUIRED_FILL
+
for k, v in location_data.disaggregation.items():
if k == "()":
self.sheet.cell(
@@ -258,6 +290,12 @@ def fill_sheet(self, disaggregation_types, indicators):
column=disaggregation_values_map['()']).value = v['v'] \
if blueprint.unit == IndicatorBlueprint.NUMBER else "{}/{}".format(v['v'], v['d'])
+ # De-highlight total column if the indicator is disaggregated
+ if disaggregation_values_list:
+ self.sheet.cell(
+ row=start_row_id,
+ column=disaggregation_values_map['()']).fill = NO_FILL
+
else:
for dk, dv in disaggregation_values_map.items():
if dk == "()":
@@ -269,6 +307,10 @@ def fill_sheet(self, disaggregation_types, indicators):
if blueprint.unit == IndicatorBlueprint.NUMBER \
else "{}/{}".format(v['v'], v['d'])
+ # De-highlight any subtotal disaggregation data column
+ if len(dk.split(",")) != len(disaggregation_types):
+ self.sheet.cell(row=start_row_id, column=dv).fill = NO_FILL
+
start_row_id += 1
# Lock first rows
@@ -277,13 +319,13 @@ def fill_sheet(self, disaggregation_types, indicators):
# Merge Other Info columns, since they are unique per Progress Report, not per Location Data
# Partner contribution to date
self.sheet.merge_cells(start_row=INDICATOR_DATA_ROW_START,
- start_column=10, end_row=start_row_id, end_column=10)
+ start_column=9, end_row=start_row_id - 1, end_column=9)
# Challenges/bottlenecks in the reporting period
self.sheet.merge_cells(start_row=INDICATOR_DATA_ROW_START,
- start_column=12, end_row=start_row_id, end_column=12)
+ start_column=11, end_row=start_row_id - 1, end_column=11)
# Proposed way forward
self.sheet.merge_cells(start_row=INDICATOR_DATA_ROW_START,
- start_column=13, end_row=start_row_id, end_column=13)
+ start_column=12, end_row=start_row_id - 1, end_column=12)
return True
@@ -551,25 +593,29 @@ def export_data(self):
if not indicators:
continue
- self.sheets.append(self.duplicate_sheet(self.sheets[0]))
+ self.sheets.append(self.duplicate_sheet(self.sheets[1]))
+ sheet_no += 1
self.sheet = self.sheets[sheet_no]
if not self.fill_sheet(disaggregation_types, indicators):
to_remove.append(self.sheets[sheet_no])
- sheet_no += 1
+ sheet_no -= 1
- to_remove.append(self.sheets[0])
+ to_remove.append(self.sheets[1])
# Remove empty spreadsheets
for s in to_remove:
- # Spreadsheet need atleast 1 sheet
- if len(self.sheets) > 1:
+ # Spreadsheet need at least 2 sheets
+ if len(self.sheets) > 2:
self.sheets.remove(s)
self.wb.remove_sheet(s)
if self.analysis:
self.merge_sheets()
- file_path = SAVE_PATH + 'export_' + uuid.uuid4().hex + '.xlsx'
+ report_name = self.progress_report.report_type + str(self.progress_report.report_number)
+ ref_num = self.progress_report.programme_document.reference_number.split('/')[-1]
+
+ file_path = SAVE_PATH + f'{report_name}_{ref_num}.xlsx'
self.wb.save(file_path)
return file_path
diff --git a/django_api/django_api/apps/unicef/exports/annex_c_excel.py b/django_api/django_api/apps/unicef/exports/annex_c_excel.py
index 140775f53..c083f5b57 100644
--- a/django_api/django_api/apps/unicef/exports/annex_c_excel.py
+++ b/django_api/django_api/apps/unicef/exports/annex_c_excel.py
@@ -17,6 +17,7 @@
from indicator.constants import ValueType
from indicator.models import Disaggregation, IndicatorBlueprint
+from indicator.utilities import convert_string_number_to_float
from unicef.exports.utilities import PARTNER_PORTAL_DATE_FORMAT_EXCEL
from unicef.models import ProgressReport
@@ -47,7 +48,9 @@ class ProgressReportsXLSXExporter:
'Challenges/bottlenecks in the reporting period',
'Proposed way forward',
'Submitted by',
- 'Attachment',
+ 'FACE Attachment',
+ 'Other Attachment 1',
+ 'Other Attachment 2',
'Narrative',
'PD Output progress status',
'PD Output narrative assessment',
@@ -105,7 +108,7 @@ def get_general_info_row(self, progress_report, location_data):
partner = programme_document.partner
try:
- indicator_target = float(indicator_report.reportable.calculated_target)
+ indicator_target = convert_string_number_to_float(indicator_report.reportable.calculated_target)
except ValueError:
indicator_target = indicator_report.reportable.calculated_target
@@ -124,6 +127,44 @@ def get_general_info_row(self, progress_report, location_data):
ValueType.VALUE, 0
)
+ face_attachment = None
+ other_attachment1 = None
+ other_attachment2 = None
+
+ if progress_report.attachments.filter(type="FACE").exists():
+ face_attachment = progress_report.attachments.filter(type="FACE").first()
+
+ try:
+ # Evaluate the file url to see if it has actual file
+ face_attachment.file.url
+ except ValueError:
+ face_attachment = None
+
+ if progress_report.attachments.filter(type="Other").exists():
+ if progress_report.attachments.filter(type="Other").count() > 1:
+ other_attachment1 = progress_report.attachments.filter(type="Other").first()
+ other_attachment2 = progress_report.attachments.filter(type="Other").last()
+
+ try:
+ # Evaluate the file url to see if it has actual file
+ other_attachment1.file.url
+ except ValueError:
+ other_attachment1 = None
+
+ try:
+ # Evaluate the file url to see if it has actual file
+ other_attachment2.file.url
+ except ValueError:
+ other_attachment2 = None
+ else:
+ other_attachment1 = progress_report.attachments.filter(type="Other").first()
+
+ try:
+ # Evaluate the file url to see if it has actual file
+ other_attachment1.file.url
+ except ValueError:
+ other_attachment1 = None
+
general_info_row = [
(partner.title, None),
(location_data.location.gateway.country.name, None),
@@ -139,7 +180,9 @@ def get_general_info_row(self, progress_report, location_data):
(progress_report.challenges_in_the_reporting_period, None),
(progress_report.proposed_way_forward, None),
(progress_report.submitted_by.display_name if progress_report.submitted_by else '', None),
- (progress_report.attachment.url if progress_report.attachment else '', None),
+ (face_attachment.file.url if face_attachment else '', None),
+ (other_attachment1.file.url if other_attachment1 else '', None),
+ (other_attachment2.file.url if other_attachment2 else '', None),
(progress_report.narrative, None),
(indicator_report.get_overall_status_display(), None),
(indicator_report.narrative_assessment, None),
diff --git a/django_api/django_api/apps/unicef/exports/programme_documents.py b/django_api/django_api/apps/unicef/exports/programme_documents.py
index 8186d9cc8..29c6ab61c 100644
--- a/django_api/django_api/apps/unicef/exports/programme_documents.py
+++ b/django_api/django_api/apps/unicef/exports/programme_documents.py
@@ -81,8 +81,8 @@ def fill_worksheet(self):
(pd.get_document_type_display(), None),
(pd.reference_number, None),
(pd.unicef_office, None),
- (', '.join([person.name for person in pd.unicef_focal_point.all()]), None),
- (', '.join([person.name for person in pd.partner_focal_point.all()]), None),
+ (', '.join([person.name for person in pd.unicef_focal_point.filter(active=True)]), None),
+ (', '.join([person.name for person in pd.partner_focal_point.filter(active=True)]), None),
(None, None), # This field is not calculated anywhere yet
(pd.start_date, PARTNER_PORTAL_DATE_FORMAT_EXCEL),
(pd.end_date, PARTNER_PORTAL_DATE_FORMAT_EXCEL),
@@ -178,7 +178,7 @@ def get_context(self):
HTMLTableHeader('Document Type'),
HTMLTableCell(pd.get_document_type_display()),
HTMLTableHeader('UNICEF Focal Point(s)'),
- HTMLTableCell(', '.join([person.name for person in pd.unicef_focal_point.all()])),
+ HTMLTableCell(', '.join([person.name for person in pd.unicef_focal_point.filter(active=True)])),
HTMLTableHeader('Total UNICEF cash'),
HTMLTableCell(format_currency(pd.total_unicef_cash, pd.total_unicef_cash_currency))
])
@@ -186,7 +186,7 @@ def get_context(self):
HTMLTableHeader('Reference Number'),
HTMLTableCell(pd.reference_number),
HTMLTableHeader('Partner Focal Point(s)'),
- HTMLTableCell(', '.join([person.name for person in pd.partner_focal_point.all()])),
+ HTMLTableCell(', '.join([person.name for person in pd.partner_focal_point.filter(active=True)])),
HTMLTableHeader('Total UNICEF supplies'),
HTMLTableCell(format_currency(pd.in_kind_amount, pd.in_kind_amount_currency))
])
diff --git a/django_api/django_api/apps/unicef/exports/progress_reports.py b/django_api/django_api/apps/unicef/exports/progress_reports.py
index 7bf9a5f00..4376f8262 100644
--- a/django_api/django_api/apps/unicef/exports/progress_reports.py
+++ b/django_api/django_api/apps/unicef/exports/progress_reports.py
@@ -68,8 +68,8 @@ def create_tables_for_indicator_reports(self, indicator_reports):
HTMLTableCell(total_cumulative_progress),
],
[
- HTMLTableHeader('Calculation method'),
- HTMLTableCell(indicator.reportable.blueprint.display_type),
+ HTMLTableHeader('Calculation method across locations'),
+ HTMLTableCell(indicator.reportable.blueprint.calculation_formula_across_locations),
HTMLTableHeader('Achievement in reporting period'),
HTMLTableCell(achievement_in_reporting_period),
],
@@ -103,10 +103,16 @@ def create_tables_for_indicator_reports(self, indicator_reports):
return tables
def get_context(self):
+ funds_received_to_date_percentage = "%.1f" % (
+ self.progress_report.programme_document.funds_received_to_date * 100 / self.progress_report.programme_document.budget
+ ) if self.progress_report.programme_document and self.progress_report.programme_document.budget > 0 else 0
+
context = {
'progress_report': self.progress_report,
+ 'pd': self.progress_report.programme_document,
'title': self.display_name,
- 'tables': self.create_tables_for_indicator_reports(self.progress_report.indicator_reports.all())
+ 'tables': self.create_tables_for_indicator_reports(self.progress_report.indicator_reports.all()),
+ 'funds_received_to_date_percentage': funds_received_to_date_percentage,
}
return context
diff --git a/django_api/django_api/apps/unicef/import_report.py b/django_api/django_api/apps/unicef/import_report.py
index 138f50101..cbfaf0b79 100644
--- a/django_api/django_api/apps/unicef/import_report.py
+++ b/django_api/django_api/apps/unicef/import_report.py
@@ -24,7 +24,15 @@ def __init__(self, path, partner):
self.partner = partner
def import_data(self):
- for self.sheet in self.wb.worksheets:
+ partner_contribution = None
+ challenges = None
+ proposed_way_forward = None
+ pd_output_narratives = dict()
+
+ for idx, self.sheet in enumerate(self.wb.worksheets):
+ if self.sheet.title.lower() == 'readme':
+ continue
+
# Find "Location ID" column
location_column_id = None
for column in range(1, MAX_COLUMNS):
@@ -63,14 +71,19 @@ def import_data(self):
# Other Info columns data retrieve
# Partner contribution to date
- partner_contribution = self.sheet.cell(
- row=COLUMN_HASH_ID + 1, column=10).value
+ if not partner_contribution:
+ partner_contribution = self.sheet.cell(
+ row=COLUMN_HASH_ID + 1, column=9).value
+
# Challenges/bottlenecks in the reporting period
- challenges = self.sheet.cell(
- row=COLUMN_HASH_ID + 1, column=12).value
+ if not challenges:
+ challenges = self.sheet.cell(
+ row=COLUMN_HASH_ID + 1, column=11).value
+
# Proposed way forward
- proposed_way_forward = self.sheet.cell(
- row=COLUMN_HASH_ID + 1, column=13).value
+ if not proposed_way_forward:
+ proposed_way_forward = self.sheet.cell(
+ row=COLUMN_HASH_ID + 1, column=12).value
# ... and assign if is QPR
try:
@@ -131,6 +144,22 @@ def import_data(self):
blueprint = indicator.indicator_report.reportable.blueprint
data = indicator.disaggregation
+
+ if pr.report_type == common.QPR_TYPE:
+ narrative_assessment = self.sheet.cell(
+ row=row, column=19
+ ).value
+ llo = indicator.indicator_report.reportable.content_object
+
+ if llo.id not in pd_output_narratives \
+ and (narrative_assessment is not None and narrative_assessment != ''):
+ pd_output_narratives[llo.id] = narrative_assessment
+
+ indicator.indicator_report.narrative_assessment = narrative_assessment
+ indicator.indicator_report.save()
+
+ pr.indicator_reports.filter(reportable__lower_level_outputs=llo).update(narrative_assessment=narrative_assessment)
+
# Prepare
already_updated_row_value = False
for column in range(dis_data_column_start_id if dis_data_column_start_id else total_column_id,
@@ -169,7 +198,7 @@ def import_data(self):
# Update values
if blueprint.unit == IndicatorBlueprint.NUMBER:
- data[dis_type_id]["v"] = value
+ data[dis_type_id]["v"] = int(value)
else:
if isinstance(value, datetime):
transaction.rollback()
diff --git a/django_api/django_api/apps/unicef/migrations/0008_progressreportattachment.py b/django_api/django_api/apps/unicef/migrations/0008_progressreportattachment.py
new file mode 100644
index 000000000..e94bb706b
--- /dev/null
+++ b/django_api/django_api/apps/unicef/migrations/0008_progressreportattachment.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-03-05 23:20
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+import unicef.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('unicef', '0007_auto_20190311_1900'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='ProgressReportAttachment',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('file', models.FileField(upload_to=unicef.models.get_pr_attachment_upload_to)),
+ ('type', models.CharField(choices=[('FACE', 'FACE'), ('Other', 'Other')], default='Other', max_length=5, verbose_name='Attachment type')),
+ ('progress_report', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='unicef.ProgressReport')),
+ ],
+ options={
+ 'ordering': ['id'],
+ },
+ ),
+ ]
diff --git a/django_api/django_api/apps/unicef/migrations/0009_auto_20190305_2323.py b/django_api/django_api/apps/unicef/migrations/0009_auto_20190305_2323.py
new file mode 100644
index 000000000..7ff973b2f
--- /dev/null
+++ b/django_api/django_api/apps/unicef/migrations/0009_auto_20190305_2323.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-03-05 23:23
+from __future__ import unicode_literals
+
+from django.core.files.base import ContentFile
+from django.db import migrations
+
+
+def forwards_func(apps, schema_editor):
+ ProgressReport = apps.get_model("unicef", "ProgressReport")
+ ProgressReportAttachment = apps.get_model("unicef", "ProgressReportAttachment")
+
+ for item in ProgressReport.objects.all():
+ try:
+ ProgressReportAttachment.objects.create(
+ progress_report=item,
+ file=item.attachment,
+ type="Other",
+ )
+
+ except ValueError:
+ pass
+
+
+def reverse_func(apps, schema_editor):
+ pass
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('unicef', '0008_progressreportattachment'),
+ ]
+
+ operations = [
+ migrations.RunPython(forwards_func, reverse_func),
+ ]
diff --git a/django_api/django_api/apps/unicef/migrations/0010_remove_progressreport_attachment.py b/django_api/django_api/apps/unicef/migrations/0010_remove_progressreport_attachment.py
new file mode 100644
index 000000000..0521bceac
--- /dev/null
+++ b/django_api/django_api/apps/unicef/migrations/0010_remove_progressreport_attachment.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-03-06 00:28
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('unicef', '0009_auto_20190305_2323'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='progressreport',
+ name='attachment',
+ ),
+ ]
diff --git a/django_api/django_api/apps/unicef/migrations/0011_auto_20190418_1756.py b/django_api/django_api/apps/unicef/migrations/0011_auto_20190418_1756.py
new file mode 100644
index 000000000..f4d78ff11
--- /dev/null
+++ b/django_api/django_api/apps/unicef/migrations/0011_auto_20190418_1756.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-04-18 17:56
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('unicef', '0010_remove_progressreport_attachment'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='progressreportattachment',
+ name='type',
+ field=models.CharField(choices=[('FACE', 'FACE'), ('Other', 'Other')], max_length=5, verbose_name='Attachment type'),
+ ),
+ ]
diff --git a/django_api/django_api/apps/unicef/migrations/0012_auto_20190507_2301.py b/django_api/django_api/apps/unicef/migrations/0012_auto_20190507_2301.py
new file mode 100644
index 000000000..ba52a2618
--- /dev/null
+++ b/django_api/django_api/apps/unicef/migrations/0012_auto_20190507_2301.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-05-07 23:01
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import unicef.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('unicef', '0011_auto_20190418_1756'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='progressreportattachment',
+ name='file',
+ field=models.FileField(max_length=500, upload_to=unicef.models.get_pr_attachment_upload_to),
+ ),
+ ]
diff --git a/django_api/django_api/apps/unicef/migrations/0013_auto_20190903_2057.py b/django_api/django_api/apps/unicef/migrations/0013_auto_20190903_2057.py
new file mode 100644
index 000000000..91071f867
--- /dev/null
+++ b/django_api/django_api/apps/unicef/migrations/0013_auto_20190903_2057.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-09-03 20:57
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('unicef', '0012_auto_20190507_2301'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='programmedocument',
+ name='funds_received_to_date_percent',
+ field=models.DecimalField(blank=True, decimal_places=2, max_digits=64, null=True, verbose_name='Funds received %'),
+ ),
+ migrations.AlterField(
+ model_name='programmedocument',
+ name='funds_received_to_date',
+ field=models.DecimalField(blank=True, decimal_places=2, max_digits=64, null=True, verbose_name='Funds received'),
+ ),
+ ]
diff --git a/django_api/django_api/apps/unicef/migrations/0014_auto_20190911_2143.py b/django_api/django_api/apps/unicef/migrations/0014_auto_20190911_2143.py
new file mode 100644
index 000000000..467fe70de
--- /dev/null
+++ b/django_api/django_api/apps/unicef/migrations/0014_auto_20190911_2143.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-09-11 21:43
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('unicef', '0013_auto_20190903_2057'),
+ ]
+
+ operations = [
+ migrations.AlterUniqueTogether(
+ name='lowerleveloutput',
+ unique_together=set([('external_id', 'external_business_area_code', 'cp_output')]),
+ ),
+ ]
diff --git a/django_api/django_api/apps/unicef/migrations/0015_auto_20190920_1710.py b/django_api/django_api/apps/unicef/migrations/0015_auto_20190920_1710.py
new file mode 100644
index 000000000..2b7a0eab8
--- /dev/null
+++ b/django_api/django_api/apps/unicef/migrations/0015_auto_20190920_1710.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-09-20 17:10
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('unicef', '0014_auto_20190911_2143'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='programmedocument',
+ name='document_type',
+ field=models.CharField(choices=[('PD', 'Programme Document'), ('SHP', 'Simplified Humanitarian Programme Document'), ('SSFA', 'SSFA TOR')], default='PD', max_length=4, verbose_name='Document Type'),
+ ),
+ ]
diff --git a/django_api/django_api/apps/unicef/models.py b/django_api/django_api/apps/unicef/models.py
index eed3145e6..bea3929ca 100644
--- a/django_api/django_api/apps/unicef/models.py
+++ b/django_api/django_api/apps/unicef/models.py
@@ -1,6 +1,7 @@
from __future__ import unicode_literals
from datetime import date
import logging
+import os
from django.contrib.auth import get_user_model
from django.db import models
@@ -25,6 +26,7 @@
CURRENCIES,
OVERALL_STATUS,
REPORTING_TYPES,
+ PR_ATTACHMENT_TYPES,
PRP_ROLE_TYPES,
)
from core.models import TimeStampedExternalBusinessAreaModel, TimeStampedExternalSyncModelMixin
@@ -91,7 +93,7 @@ class ProgrammeDocument(TimeStampedExternalBusinessAreaModel):
agreement = models.CharField(max_length=255, verbose_name='Agreement')
document_type = models.CharField(
- max_length=3,
+ max_length=4,
choices=PD_DOCUMENT_TYPE,
default=PD_DOCUMENT_TYPE.PD,
verbose_name='Document Type'
@@ -203,7 +205,8 @@ class ProgrammeDocument(TimeStampedExternalBusinessAreaModel):
funds_received_to_date = models.DecimalField(
decimal_places=2,
max_digits=64,
- default=0,
+ blank=True,
+ null=True,
verbose_name='Funds received'
)
@@ -216,6 +219,14 @@ class ProgrammeDocument(TimeStampedExternalBusinessAreaModel):
null=True,
)
+ funds_received_to_date_percent = models.DecimalField(
+ decimal_places=2,
+ max_digits=64,
+ blank=True,
+ null=True,
+ verbose_name='Funds received %'
+ )
+
amendments = JSONField(default=list())
# TODO:
@@ -406,11 +417,6 @@ class ProgressReport(TimeStampedModel):
null=True
)
sent_back_feedback = models.TextField(blank=True, null=True)
- attachment = models.FileField(
- upload_to="unicef/progress_reports/",
- blank=True,
- null=True
- )
report_number = models.IntegerField(verbose_name="Report Number")
report_type = models.CharField(verbose_name="Report type", choices=REPORTING_TYPES, max_length=3)
is_final = models.BooleanField(verbose_name="Is final report", default=False)
@@ -480,12 +486,36 @@ def send_notification_on_status_change(sender, instance, **kwargs):
template_data = {
'person': None,
+ 'report': instance,
+ 'pd': pd,
'pr_url': pr_url,
- 'pd_ref_title': f'{pd.reference_number} ({pd.title})',
'status': instance.get_status_display()
}
- for person in pd.unicef_officers.all():
+ template_data['person'] = instance.submitting_user
+ to_email_list = [template_data['person'].email]
+
+ send_email_from_template(
+ subject_template_path=subject_template_path,
+ body_template_path=body_template_path,
+ template_data=template_data,
+ to_email_list=to_email_list,
+ content_subtype='html',
+ )
+
+ if instance.submitted_by.email != instance.submitting_user.email:
+ template_data['person'] = instance.submitted_by
+ to_email_list = [template_data['person'].email]
+
+ send_email_from_template(
+ subject_template_path=subject_template_path,
+ body_template_path=body_template_path,
+ template_data=template_data,
+ to_email_list=to_email_list,
+ content_subtype='html',
+ )
+
+ for person in pd.unicef_focal_point.all():
template_data['person'] = person
to_email_list = [person.email]
@@ -498,6 +528,35 @@ def send_notification_on_status_change(sender, instance, **kwargs):
)
+def get_pr_attachment_upload_to(instance, filename):
+ return f"unicef/progress_reports/{instance.progress_report.id}/{filename}"
+
+
+class ProgressReportAttachment(TimeStampedModel):
+ """
+ ProgressReportAttachment represents an attachment file for ProgressReport.
+
+ related models:
+ unicef.ProgressReport (ForeignKey): "progress_report"
+ """
+ progress_report = models.ForeignKey('unicef.ProgressReport', related_name="attachments")
+ file = models.FileField(
+ upload_to=get_pr_attachment_upload_to,
+ max_length=500
+ )
+ type = models.CharField(verbose_name="Attachment type", choices=PR_ATTACHMENT_TYPES, max_length=5)
+
+ class Meta:
+ ordering = ['id']
+
+ def __str__(self):
+ return self.file.name
+
+ @property
+ def filename(self):
+ return os.path.basename(self.file.name)
+
+
class ReportingPeriodDates(TimeStampedExternalBusinessAreaModel):
"""
Used for storing start_date, end_date and due_date fields for multiple reports
@@ -561,7 +620,7 @@ class LowerLevelOutput(TimeStampedExternalBusinessAreaModel):
class Meta:
ordering = ['id']
unique_together = (
- TimeStampedExternalBusinessAreaModel.Meta.unique_together
+ (*TimeStampedExternalBusinessAreaModel.Meta.unique_together, 'cp_output')
)
def __str__(self):
diff --git a/django_api/django_api/apps/unicef/serializers.py b/django_api/django_api/apps/unicef/serializers.py
index 5cc05edd0..d18015605 100644
--- a/django_api/django_api/apps/unicef/serializers.py
+++ b/django_api/django_api/apps/unicef/serializers.py
@@ -1,12 +1,16 @@
from django.conf import settings
+
from rest_framework import serializers
from core.serializers import ShortLocationSerializer
from utils.filters.constants import Boolean
-from .models import ProgrammeDocument, Section, ProgressReport, Person, \
- LowerLevelOutput, PDResultLink, ReportingPeriodDates
+from .models import (
+ ProgrammeDocument, Section, ProgressReport, Person,
+ LowerLevelOutput, PDResultLink, ReportingPeriodDates,
+ ProgressReportAttachment,
+)
-from core.common import PROGRESS_REPORT_STATUS, OVERALL_STATUS, CURRENCIES, PD_STATUS
+from core.common import PROGRESS_REPORT_STATUS, OVERALL_STATUS, CURRENCIES, PD_STATUS, INTERVENTION_TYPES
from core.models import Workspace, Location
from indicator.models import IndicatorBlueprint
@@ -38,6 +42,7 @@ class Meta:
'due_date',
'programme_document',
'report_type',
+ 'description',
)
@@ -70,9 +75,9 @@ class ProgrammeDocumentSerializer(serializers.ModelSerializer):
budget_currency = serializers.SerializerMethodField()
cso_contribution_currency = serializers.SerializerMethodField()
funds_received_to_date_currency = serializers.SerializerMethodField()
- unicef_officers = PersonSerializer(read_only=True, many=True)
- unicef_focal_point = PersonSerializer(read_only=True, many=True)
- partner_focal_point = PersonSerializer(read_only=True, many=True)
+ unicef_officers = serializers.SerializerMethodField()
+ unicef_focal_point = serializers.SerializerMethodField()
+ partner_focal_point = serializers.SerializerMethodField()
document_type_display = serializers.CharField(source='get_document_type_display')
locations = serializers.SerializerMethodField(allow_null=True)
amendments = serializers.JSONField(read_only=True)
@@ -138,6 +143,15 @@ def get_locations(self, obj):
many=True
).data
+ def get_unicef_officers(self, obj):
+ return PersonSerializer(obj.unicef_officers.filter(active=True), read_only=True, many=True).data
+
+ def get_unicef_focal_point(self, obj):
+ return PersonSerializer(obj.unicef_focal_point.filter(active=True), read_only=True, many=True).data
+
+ def get_partner_focal_point(self, obj):
+ return PersonSerializer(obj.partner_focal_point.filter(active=True), read_only=True, many=True).data
+
class SectionSerializer(serializers.ModelSerializer):
class Meta:
@@ -153,9 +167,9 @@ class ProgrammeDocumentDetailSerializer(serializers.ModelSerializer):
frequency = serializers.CharField(source='get_frequency_display')
# sections = serializers.SerializerMethodField()
sections = SectionSerializer(read_only=True, many=True)
- unicef_officers = PersonSerializer(read_only=True, many=True)
- unicef_focal_point = PersonSerializer(read_only=True, many=True)
- partner_focal_point = PersonSerializer(read_only=True, many=True)
+ unicef_officers = serializers.SerializerMethodField()
+ unicef_focal_point = serializers.SerializerMethodField()
+ partner_focal_point = serializers.SerializerMethodField()
class Meta:
model = ProgrammeDocument
@@ -180,6 +194,15 @@ class Meta:
'budget',
)
+ def get_unicef_officers(self, obj):
+ return PersonSerializer(obj.unicef_officers.filter(active=True), read_only=True, many=True).data
+
+ def get_unicef_focal_point(self, obj):
+ return PersonSerializer(obj.unicef_focal_point.filter(active=True), read_only=True, many=True).data
+
+ def get_partner_focal_point(self, obj):
+ return PersonSerializer(obj.partner_focal_point.filter(active=True), read_only=True, many=True).data
+
class LLOutputSerializer(serializers.ModelSerializer):
"""
@@ -400,9 +423,9 @@ def get_is_draft(self, obj):
class ProgressReportUpdateSerializer(serializers.ModelSerializer):
- partner_contribution_to_date = serializers.CharField(required=False, allow_blank=True)
- challenges_in_the_reporting_period = serializers.CharField(required=False, allow_blank=True)
- proposed_way_forward = serializers.CharField(required=False, allow_blank=True)
+ partner_contribution_to_date = serializers.CharField(max_length=2000, required=False, allow_blank=True)
+ challenges_in_the_reporting_period = serializers.CharField(max_length=2000, required=False, allow_blank=True)
+ proposed_way_forward = serializers.CharField(max_length=2000, required=False, allow_blank=True)
class Meta:
model = ProgressReport
@@ -416,7 +439,7 @@ class Meta:
class ProgressReportSRUpdateSerializer(serializers.ModelSerializer):
- narrative = serializers.CharField()
+ narrative = serializers.CharField(max_length=2000)
class Meta:
model = ProgressReport
@@ -549,6 +572,13 @@ class ProgrammeDocumentProgressSerializer(serializers.ModelSerializer):
details = serializers.SerializerMethodField()
latest_accepted_pr = serializers.SerializerMethodField()
latest_accepted_pr_indicator_reports = serializers.SerializerMethodField()
+ unicef_budget_cash = serializers.FloatField(source='total_unicef_cash')
+ unicef_budget_cash_currency = serializers.CharField(source='total_unicef_cash_currency')
+ unicef_budget_supplies = serializers.FloatField(source='in_kind_amount')
+ unicef_budget_supplies_currency = serializers.CharField(source='in_kind_amount_currency')
+ disbursement = serializers.FloatField(source='funds_received_to_date')
+ disbursement_currency = serializers.CharField(source='funds_received_to_date_currency')
+ disbursement_percent = serializers.FloatField(source='funds_received_to_date_percent')
class Meta:
model = ProgrammeDocument
@@ -563,6 +593,13 @@ class Meta:
'details',
'latest_accepted_pr',
'latest_accepted_pr_indicator_reports',
+ 'unicef_budget_cash',
+ 'unicef_budget_cash_currency',
+ 'unicef_budget_supplies',
+ 'unicef_budget_supplies_currency',
+ 'disbursement',
+ 'disbursement_currency',
+ 'disbursement_percent',
)
def get_details(self, obj):
@@ -617,23 +654,6 @@ class Meta:
extra_kwargs = {'name': {'required': True}}
-class PMPPDPartnerSerializer(serializers.ModelSerializer):
-
- name = serializers.CharField(source='title')
- short_name = serializers.CharField(source='short_title', allow_blank=True)
- unicef_vendor_number = serializers.CharField(source='vendor_number')
-
- class Meta:
- model = Partner
- fields = (
- "external_id",
- "name",
- "short_name",
- "unicef_vendor_number",
- )
- validators = []
-
-
class PMPProgrammeDocumentSerializer(serializers.ModelSerializer):
id = serializers.CharField(source='external_id')
offices = serializers.CharField(source='unicef_office')
@@ -648,7 +668,8 @@ class PMPProgrammeDocumentSerializer(serializers.ModelSerializer):
unicef_budget_currency = serializers.ChoiceField(
choices=CURRENCIES, allow_blank=True, allow_null=True, source="budget_currency"
)
- funds_received = serializers.FloatField(source='funds_received_to_date', required=False)
+ disbursement = serializers.FloatField(source='funds_received_to_date', required=False, allow_null=True)
+ disbursement_percent = serializers.FloatField(source='funds_received_to_date_percent', required=False, allow_null=True)
funds_received_currency = serializers.ChoiceField(
choices=CURRENCIES, allow_blank=True, allow_null=True, required=False, source="funds_received_to_date_currency"
)
@@ -660,6 +681,7 @@ class PMPProgrammeDocumentSerializer(serializers.ModelSerializer):
workspace = serializers.PrimaryKeyRelatedField(
queryset=Workspace.objects.all())
amendments = serializers.JSONField(allow_null=True)
+ document_type = serializers.ChoiceField(choices=INTERVENTION_TYPES, required=False)
def validate(self, attrs):
validated_data = super(PMPProgrammeDocumentSerializer, self).validate(attrs)
@@ -694,11 +716,13 @@ class Meta:
"unicef_budget_currency",
"unicef_budget_cash",
"unicef_budget_supplies",
- "funds_received",
"funds_received_currency",
"workspace",
"amendments",
"external_business_area_code",
+ "disbursement",
+ "disbursement_percent",
+ "document_type",
)
@@ -784,26 +808,28 @@ class Meta:
class ProgressReportAttachmentSerializer(serializers.ModelSerializer):
size = serializers.SerializerMethodField()
file_name = serializers.SerializerMethodField()
- path = serializers.FileField(source='attachment')
+ path = serializers.FileField(source='file', max_length=500)
def get_file_name(self, obj):
- return obj.attachment.name.split('/')[-1] if obj.attachment else None
+ return obj.file.name.split('/')[-1] if obj.file else None
def get_size(self, obj):
- return obj.attachment.size if obj.attachment else None
+ return obj.file.size if obj.file else None
def to_representation(self, instance):
representation = super(ProgressReportAttachmentSerializer, self).to_representation(instance)
- if instance.attachment and "http" not in instance.attachment.url:
- representation['path'] = settings.WWW_ROOT[:-1] + instance.attachment.url
+ if instance.file and "http" not in instance.file.url:
+ representation['path'] = settings.WWW_ROOT[:-1] + instance.file.url
return representation
class Meta:
- model = ProgressReport
+ model = ProgressReportAttachment
fields = (
+ 'id',
'path',
'size',
- 'file_name'
+ 'file_name',
+ 'type',
)
diff --git a/django_api/django_api/apps/unicef/tasks.py b/django_api/django_api/apps/unicef/tasks.py
index 8c14474c7..01aa16351 100644
--- a/django_api/django_api/apps/unicef/tasks.py
+++ b/django_api/django_api/apps/unicef/tasks.py
@@ -12,13 +12,15 @@
from core.api import PMP_API
from core.models import Workspace, GatewayType, Location, PRPRole
from core.serializers import PMPGatewayTypeSerializer, PMPLocationSerializer
-from core.common import PARTNER_ACTIVITY_STATUS, PRP_ROLE_TYPES
+from core.common import PARTNER_ACTIVITY_STATUS, PRP_ROLE_TYPES, EXTERNAL_DATA_SOURCES
from partner.models import PartnerActivity
+from partner.serializers import (
+ PMPPartnerSerializer,
+)
from unicef.serializers import (
PMPProgrammeDocumentSerializer,
- PMPPDPartnerSerializer,
PMPPDPersonSerializer,
PMPLLOSerializer,
PMPPDResultLinkSerializer,
@@ -37,9 +39,10 @@
DisaggregationValue,
ReportableLocationGoal,
create_pa_reportables_from_ca,
+ create_reportable_for_pp_from_ca_reportable,
)
-from partner.models import Partner
+from partner.models import Partner, PartnerProject, PartnerActivityProjectContext
logger = logging.getLogger(__name__)
@@ -168,7 +171,7 @@ def process_programme_documents(fast=False, area=False):
try:
partner = process_model(
Partner,
- PMPPDPartnerSerializer,
+ PMPPartnerSerializer,
partner_data, {
'vendor_number': partner_data['unicef_vendor_number']
}
@@ -217,6 +220,10 @@ def process_programme_documents(fast=False, area=False):
logger.exception('Error trying to save ProgrammeDocument model with {}'.format(item), e)
continue
+ pd.unicef_focal_point.all().update(active=False)
+ pd.unicef_officers.all().update(active=False)
+ pd.partner_focal_point.all().update(active=False)
+
# Create unicef_focal_points
person_data_list = item['unicef_focal_points']
for person_data in person_data_list:
@@ -311,6 +318,9 @@ def process_programme_documents(fast=False, area=False):
llos.update(active=False)
Reportable.objects.filter(lower_level_outputs__in=llos).update(active=False)
+ # Mark all ReportableLocationGoal instances referred in LLO Reportables as inactive
+ ReportableLocationGoal.objects.filter(reportable__lower_level_outputs__in=llos).update(is_active=False)
+
# Parsing expecting results and set them active, rest will stay inactive for this PD
for d in item['expected_results']:
# Create PDResultLink
@@ -331,6 +341,7 @@ def process_programme_documents(fast=False, area=False):
# Create LLO
d['cp_output'] = pdresultlink.id
d['external_business_area_code'] = workspace.business_area_code
+
llo = process_model(
LowerLevelOutput, PMPLLOSerializer, d,
{
@@ -496,22 +507,51 @@ def process_programme_documents(fast=False, area=False):
cai = Reportable.objects.get(id=int(i['cluster_indicator_id']))
reportable.ca_indicator_used_by_reporting_entity = cai
+ # Partner Project for this PD check
+ if not PartnerProject.objects.filter(
+ external_id="{}/{}".format(workspace.business_area_code, pd.id),
+ external_source=EXTERNAL_DATA_SOURCES.UNICEF
+ ).exists():
+ pp = PartnerProject.objects.create(
+ external_id="{}/{}".format(workspace.business_area_code, pd.id),
+ external_source=EXTERNAL_DATA_SOURCES.UNICEF,
+ title=item['title'],
+ partner=partner,
+ )
+
+ logger.info(
+ "Created a new PartnerProject "
+ "from PD: " + str(item['reference_number'])
+ )
+ else:
+ pp = PartnerProject.objects.get(
+ external_id="{}/{}".format(area, item['id']),
+ external_source=EXTERNAL_DATA_SOURCES.UNICEF
+ )
+
# Force adoption of PartnerActivity from ClusterActivity Indicator
if pd.partner.id not in cai.content_object.partner_activities.values_list(
'partner', flat=True):
try:
partner_activity = PartnerActivity.objects.create(
title=cai.blueprint.title,
- project=pd.partner.partner_projects.first(),
partner=pd.partner,
cluster_activity=cai.content_object,
- start_date=cai.content_object.response_plan.start,
- end_date=cai.content_object.response_plan.end,
status=PARTNER_ACTIVITY_STATUS.ongoing,
)
+
+ PartnerActivityProjectContext.objects.update_or_create(
+ defaults={
+ 'activity': partner_activity,
+ 'project': pp,
+ },
+ start_date=item['start_date'],
+ end_date=item['end_date'],
+ )
+
except Exception as e:
logger.exception(
- "Cannot force adopt PartnerActivity from ClusterActivity "
+ "Cannot force adopt PartnerActivity and its project context from ClusterActivity "
"for dual reporting - skipping link!: " + str(e)
)
continue
@@ -532,6 +572,21 @@ def process_programme_documents(fast=False, area=False):
partner_activity.delete()
continue
+ try:
+ # Grab Cluster Activity instance from
+ # this newly created Partner Activity instance
+ create_reportable_for_pp_from_ca_reportable(
+ pp, cai
+ )
+ except Exception as e:
+ logger.exception(
+ "Cannot create Reportables for PD Partner Project "
+ "from referenced Cluster Activity Reportable "
+ " - skipping link!: " + str(e)
+ )
+
+ continue
+
except Reportable.DoesNotExist:
logger.exception(
"No ClusterActivity Reportable found "
@@ -552,6 +607,7 @@ def process_programme_documents(fast=False, area=False):
ReportableLocationGoal(
reportable=reportable,
location=l,
+ is_active=True,
) for l in Location.objects.filter(id__in=new_locs)
]
@@ -561,11 +617,14 @@ def process_programme_documents(fast=False, area=False):
ReportableLocationGoal(
reportable=reportable,
location=l,
+ is_active=True,
) for l in locations
]
ReportableLocationGoal.objects.bulk_create(reportable_location_goals)
+ ReportableLocationGoal.objects.filter(reportable=reportable, location__in=locations).update(is_active=True)
+
if partner_activity:
# Force update on PA Reportable instance for location update
for pa_reportable in partner_activity.reportables.all():
@@ -580,11 +639,15 @@ def process_programme_documents(fast=False, area=False):
ReportableLocationGoal(
reportable=reportable,
location=l,
+ is_active=True,
) for l in loc_diff
]
ReportableLocationGoal.objects.bulk_create(reportable_location_goals)
+ # We don't overwrite is_active flag on PartnerActivity reportable from LLO locations here
+ # since Cluster may use those locations
+
# Check if another page exists
if list_data['next']:
logger.info("Found new page")
diff --git a/django_api/django_api/apps/unicef/templates/excel/hr_export.xlsx b/django_api/django_api/apps/unicef/templates/excel/hr_export.xlsx
index b10272469..47187f6dc 100644
Binary files a/django_api/django_api/apps/unicef/templates/excel/hr_export.xlsx and b/django_api/django_api/apps/unicef/templates/excel/hr_export.xlsx differ
diff --git a/django_api/django_api/apps/unicef/templates/fragments/programme_information.html b/django_api/django_api/apps/unicef/templates/fragments/programme_information.html
index 02ea4ca19..904951634 100644
--- a/django_api/django_api/apps/unicef/templates/fragments/programme_information.html
+++ b/django_api/django_api/apps/unicef/templates/fragments/programme_information.html
@@ -4,6 +4,7 @@
1.1 Programme reference
+
UNICEF Office
@@ -27,6 +28,7 @@
1.2 Organization information
+
Organization / Acronym
{{ pd.partner.title }} / {{ pd.partner.short_title }}
@@ -38,7 +40,7 @@
Title of Authorized Official
- {{ authorized_officer.title }}
+ {{ authorized_officer.title|default:"---" }}
Email of Authorized Official
@@ -54,7 +56,7 @@
Focal Point Title
- {{ focal_point.title }}
+ {{ focal_point.title|default:"---" }}
Focal Point Email
@@ -62,26 +64,5 @@
Focal Point Telephone
- {{ focal_point.phone_number }}
-
-
-
- 1.3 Programme information
-
- Program Duration
- From {{ pd.start_date }} to {{ pd.end_date }}
-
-
- 1.4 Budget information
- Programme budget
- {{ pd.cso_contribution|format_currency:pd.cso_contribution_currency }}
-
-
- UNICEF contribution
- {{ pd.budget|format_currency:pd.budget_currency }}
-
-
- Funds received to date
- {{ pd.funds_received_to_date|format_currency:pd.funds_received_to_date_currency }}
- {{ funds_received_to_date_percentage }}% to date
+ {{ focal_point.phone_number|default:"---" }}
diff --git a/django_api/django_api/apps/unicef/templates/progress_report_detail_pdf_export.html b/django_api/django_api/apps/unicef/templates/progress_report_detail_pdf_export.html
index a4a305ff4..2a09298e9 100644
--- a/django_api/django_api/apps/unicef/templates/progress_report_detail_pdf_export.html
+++ b/django_api/django_api/apps/unicef/templates/progress_report_detail_pdf_export.html
@@ -62,13 +62,18 @@ 1. Programme & Report overview
1.3 Progress Report Information
- Status
- {{ progress_report.get_status_display }}
+
+ Program Duration
+ From {{ pd.start_date }} to {{ pd.end_date }}
Reporting period
{{ progress_report.get_reporting_period }}
+
+ Status
+ {{ progress_report.get_status_display }}
+
Due Date
{{ progress_report.due_date }}
@@ -81,10 +86,6 @@ 1. Programme & Report overview
Submitted By
{{ progress_report.submitted_by.display_name|default:"---" }}
-
- Partner Contribution to Date
- {{ progress_report.partner_contribution_to_date|default:"---" }}
-
Challenges / Bottlenecks in the Reporting Period
{{ progress_report.challenges_in_the_reporting_period|default:"---" }}
@@ -96,8 +97,10 @@ 1. Programme & Report overview
Attachment
- {% if progress_report.attachment %}
- ✓
+ {% if progress_report.attachments.exists %}
+ {% for attachment in progress_report.attachments.all %}
+ {{ attachment.filename }}
+ {% endfor %}
{% else %}
✗
{% endif %}
@@ -105,7 +108,49 @@ 1. Programme & Report overview
SR Narrative
- {{ section.progress_report.narrative|default:"---" }}
+ {{ progress_report.narrative|default:"---" }}
+
+
+
+ 1.4 Budget information
+
+ Programme budget
+ {{ pd.cso_contribution|format_currency:pd.cso_contribution_currency }}
+
+
+ UNICEF contribution
+ {{ pd.budget|format_currency:pd.budget_currency }}
+
+
+ Funds received to date
+ {{ pd.funds_received_to_date|format_currency:pd.funds_received_to_date_currency }}
+ {{ funds_received_to_date_percentage }}% to date
+
+
+
+ 1.5 Partner Contribution to Date
+ {{ progress_report.partner_contribution_to_date|default:"---" }}
+
+
+
+
+
+ FOR UNICEF OFFICE USE ONLY
+ Rating
+ Comment if applicable
+
+
+
+ Overall progress of the programme document
+ {{ progress_report.get_review_overall_status_display|default:"" }}
+ {{ progress_report.sent_back_feedback|default:"" }}
+
+
+
+
+ Name and signature of UNICEF PD focal point: {{ progress_report.reviewed_by_name|default:"" }}
+ Date: {{ progress_report.review_date|default:"" }}
+
diff --git a/django_api/django_api/apps/unicef/templates/progress_report_list_pdf_export.html b/django_api/django_api/apps/unicef/templates/progress_report_list_pdf_export.html
index 259336e6b..5520c7512 100644
--- a/django_api/django_api/apps/unicef/templates/progress_report_list_pdf_export.html
+++ b/django_api/django_api/apps/unicef/templates/progress_report_list_pdf_export.html
@@ -110,8 +110,10 @@ 1. Report overview
Attachment
- {% if section.progress_report.attachment %}
- ✓
+ {% if section.progress_report.attachments.exists %}
+ {% for attachment in section.progress_report.attachments.all %}
+ {{ attachment.filename }}
+ {% endfor %}
{% else %}
✗
{% endif %}
diff --git a/django_api/django_api/apps/unicef/templates/report_annex_c_pdf.html b/django_api/django_api/apps/unicef/templates/report_annex_c_pdf.html
index 0cc856d44..f30fe328d 100644
--- a/django_api/django_api/apps/unicef/templates/report_annex_c_pdf.html
+++ b/django_api/django_api/apps/unicef/templates/report_annex_c_pdf.html
@@ -67,6 +67,40 @@ {{ header }}
Section 1. Programme & CSO overview
{% render_base_programme_info_for_report report %}
+
+
+
+ 1.3 Programme Information
+
+
+ Program Duration
+ From {{ pd.start_date }} to {{ pd.end_date }}
+
+
+ Start Date
+ {{ pd.start_date }}
+
+
+ Reporting period
+ {{ report.get_reporting_period }}
+
+
+
+ 1.4 Budget information
+
+ Programme budget
+ {{ pd.cso_contribution|format_currency:pd.cso_contribution_currency }}
+
+
+ UNICEF contribution
+ {{ pd.budget|format_currency:pd.budget_currency }}
+
+
+ Funds received to date
+ {{ pd.funds_received_to_date|format_currency:pd.funds_received_to_date_currency }}
+ {{ funds_received_to_date_percentage }}% to date
+
+
1.5 Partner Contribution made to date
{{ report.partner_contribution_to_date }}
@@ -112,7 +146,7 @@ {{ header }}
{{ indicator.title }}
{% if indicator.is_number %}{{ indicator.reportable.calculated_target }}{% else %}{{ indicator.reportable.calculated_target|percentage }}{% endif %}
{% if indicator.is_number %}{{ indicator.total.v|floatformat:"0" }}{% else %}{{ indicator.total.c|percentage }}{% endif %}
- {% if indicator.is_number %}{{ indicator.total.v|floatformat:"0" }}{% else %}{{ indicator.total.c|percentage }}{% endif %}
+ {% if indicator.is_number %}{{ indicator.reportable.total.v|floatformat:"0" }}{% else %}{{ indicator.reportable.total.c|percentage }}{% endif %}
{{ indicator.get_overall_status_display }}
{{ indicator.narrative_assessment|default:"---" }}
@@ -121,7 +155,7 @@ {{ header }}
{{ indicator.title }}
{% if indicator.is_number %}{{ indicator.reportable.calculated_target}}{% else %}{{ indicator.reportable.calculated_target|percentage }}{% endif %}
{% if indicator.is_number %}{{ indicator.total.v|floatformat:"0" }}{% else %}{{ indicator.total.c|percentage }}{% endif %}
- {% if indicator.is_number %}{{ indicator.total.v|floatformat:"0" }}{% else %}{{ indicator.total.c|percentage }}{% endif %}
+ {% if indicator.is_number %}{{ indicator.reportable.total.v|floatformat:"0" }}{% else %}{{ indicator.reportable.total.c|percentage }}{% endif %}
{% endif %}
{% endfor %}
@@ -147,5 +181,26 @@ {{ header }}
* Information directly extracted from Section 2.2 of the signed Programme document.
** Information to be updated upon submission of the report.
+
+
+
+ FOR UNICEF OFFICE USE ONLY
+ Rating
+ Comment if applicable
+
+
+
+ Overall progress of the programme document
+ {{ report.get_review_overall_status_display|default:"" }}
+ {{ report.sent_back_feedback|default:"" }}
+
+
+
+
+ Name and signature of UNICEF PD focal point: {{ report.reviewed_by_name|default:"" }}
+ Date: {{ report.review_date|default:"" }}
+
+
+
{% endblock %}
diff --git a/django_api/django_api/apps/unicef/templatetags/pdf_extras.py b/django_api/django_api/apps/unicef/templatetags/pdf_extras.py
index 8e916b0f2..704460615 100644
--- a/django_api/django_api/apps/unicef/templatetags/pdf_extras.py
+++ b/django_api/django_api/apps/unicef/templatetags/pdf_extras.py
@@ -27,16 +27,11 @@ def get_absolute_file_url(context, django_file, default='---'):
@register.inclusion_tag('fragments/programme_information.html')
def render_base_programme_info_for_report(report):
- funds_received_to_date_percentage = "%.1f" % (
- report.programme_document.funds_received_to_date * 100 / report.programme_document.budget
- ) if report.programme_document and report.programme_document.budget > 0 else 0
-
context = {
'report': report,
'pd': report.programme_document,
- 'authorized_officer': report.programme_document.unicef_officers.first(),
- 'focal_point': report.programme_document.partner_focal_point.first(),
- 'funds_received_to_date_percentage': funds_received_to_date_percentage
+ 'authorized_officer': report.programme_document.unicef_officers.filter(active=True).first(),
+ 'focal_point': report.programme_document.partner_focal_point.filter(active=True).first(),
}
return context
diff --git a/django_api/django_api/apps/unicef/tests/test_models.py b/django_api/django_api/apps/unicef/tests/test_models.py
new file mode 100644
index 000000000..9a4ba1ed3
--- /dev/null
+++ b/django_api/django_api/apps/unicef/tests/test_models.py
@@ -0,0 +1,354 @@
+from datetime import date
+from dateutil.relativedelta import relativedelta
+from unittest.mock import Mock, patch
+
+from django.db.models import Q
+from unicef_notification.models import Notification
+
+from core.common import (
+ INDICATOR_REPORT_STATUS,
+ OVERALL_STATUS,
+ PROGRESS_REPORT_STATUS,
+ PRP_ROLE_TYPES,
+)
+from core.management.commands._generate_disaggregation_fake_data import (
+ generate_3_num_disagg_data,
+)
+from core.factories import (CartoDBTableFactory,
+ ProgressReportIndicatorReportFactory,
+ IPPRPRoleFactory,
+ CountryFactory, DisaggregationFactory,
+ DisaggregationValueFactory, GatewayTypeFactory,
+ LocationFactory,
+ LocationWithReportableLocationGoalFactory,
+ PartnerUserFactory, PartnerFactory,
+ PartnerActivityProjectContextFactory,
+ ProgressReportFactory,
+ QuantityReportableToLowerLevelOutputFactory,
+ QuantityTypeIndicatorBlueprintFactory,
+ WorkspaceFactory,
+ SectionFactory,
+ PersonFactory,
+ IPDisaggregationFactory,
+ ProgrammeDocumentFactory,
+ QPRReportingPeriodDatesFactory,
+ HRReportingPeriodDatesFactory,
+ PDResultLinkFactory,
+ LowerLevelOutputFactory,
+ ClusterPRPRoleFactory,
+ ResponsePlanFactory,
+ ClusterFactory,
+ NonPartnerUserFactory,
+ ClusterObjectiveFactory,
+ ClusterActivityFactory,
+ PartnerProjectFactory,
+ ClusterActivityPartnerActivityFactory,
+ QuantityReportableToPartnerActivityFactory,
+ ClusterIndicatorReportFactory)
+from core.tests.base import BaseAPITestCase
+from core.models import Location
+from utils.emails import send_due_progress_report_email
+from indicator.disaggregators import QuantityIndicatorDisaggregator
+from indicator.models import (
+ IndicatorBlueprint,
+ IndicatorLocationData,
+)
+from unicef.models import ProgressReport
+
+
+class TestProgressReportModel(BaseAPITestCase):
+
+ def setUp(self):
+ self.country = CountryFactory()
+ self.workspace = WorkspaceFactory(countries=[self.country, ])
+ self.response_plan = ResponsePlanFactory(workspace=self.workspace)
+ self.cluster = ClusterFactory(type='cccm', response_plan=self.response_plan)
+ self.loc_type = GatewayTypeFactory(country=self.country)
+ self.carto_table = CartoDBTableFactory(location_type=self.loc_type, country=self.country)
+ self.loc1 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.loc2 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.unicef_officer = PersonFactory()
+ self.unicef_focal_point = PersonFactory()
+ self.partner_focal_point = PersonFactory()
+ self.objective = ClusterObjectiveFactory(
+ cluster=self.cluster,
+ locations=[
+ self.loc1,
+ self.loc2,
+ ]
+ )
+ self.activity = ClusterActivityFactory(
+ cluster_objective=self.objective,
+ locations=[
+ self.loc1, self.loc2
+ ]
+ )
+ self.partner = PartnerFactory(country_code=self.country.country_short_code)
+ self.user = NonPartnerUserFactory()
+ self.partner_user = PartnerUserFactory(partner=self.partner)
+ ClusterPRPRoleFactory(user=self.user, workspace=self.workspace, cluster=self.cluster, role=PRP_ROLE_TYPES.cluster_imo)
+ IPPRPRoleFactory(user=self.partner_user, workspace=self.workspace, role=PRP_ROLE_TYPES.ip_authorized_officer)
+ IPPRPRoleFactory(user=self.partner_user, workspace=self.workspace, cluster=None, role=PRP_ROLE_TYPES.cluster_member)
+ self.project = PartnerProjectFactory(
+ partner=self.partner,
+ clusters=[self.cluster],
+ locations=[self.loc1, self.loc2],
+ )
+ self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
+ cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
+ project=self.project,
+ activity=self.p_activity,
+ )
+ self.sample_disaggregation_value_map = {
+ "height": ["tall", "medium", "short", "extrashort"],
+ "age": ["1-2m", "3-4m", "5-6m", '7-10m', '11-13m', '14-16m'],
+ "gender": ["male", "female", "other"],
+ }
+
+ blueprint = QuantityTypeIndicatorBlueprintFactory(
+ unit=IndicatorBlueprint.NUMBER,
+ calculation_formula_across_locations=IndicatorBlueprint.SUM,
+ calculation_formula_across_periods=IndicatorBlueprint.SUM,
+ )
+ self.partneractivity_reportable = QuantityReportableToPartnerActivityFactory(
+ content_object=self.p_activity, blueprint=blueprint
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc1,
+ reportable=self.partneractivity_reportable,
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc2,
+ reportable=self.partneractivity_reportable,
+ )
+
+ self.pd = ProgrammeDocumentFactory(
+ workspace=self.workspace,
+ partner=self.partner,
+ sections=[SectionFactory(), ],
+ unicef_officers=[self.unicef_officer, ],
+ unicef_focal_point=[self.unicef_focal_point, ],
+ partner_focal_point=[self.partner_focal_point, ]
+ )
+
+ for idx in range(2):
+ qpr_period = QPRReportingPeriodDatesFactory(programme_document=self.pd)
+ ProgressReportFactory(
+ start_date=qpr_period.start_date,
+ end_date=qpr_period.end_date,
+ due_date=qpr_period.due_date,
+ report_number=idx + 1,
+ report_type=qpr_period.report_type,
+ is_final=False,
+ programme_document=self.pd,
+ submitted_by=self.user,
+ submitting_user=self.user,
+ )
+
+ for idx in range(6):
+ hr_period = HRReportingPeriodDatesFactory(programme_document=self.pd)
+ ProgressReportFactory(
+ start_date=hr_period.start_date,
+ end_date=hr_period.end_date,
+ due_date=hr_period.due_date,
+ report_number=idx + 1,
+ report_type=hr_period.report_type,
+ is_final=False,
+ programme_document=self.pd,
+ submitted_by=self.user,
+ submitting_user=self.user,
+ )
+
+ self.cp_output = PDResultLinkFactory(
+ programme_document=self.pd,
+ )
+ self.llo = LowerLevelOutputFactory(
+ cp_output=self.cp_output,
+ )
+ self.llo_reportable = QuantityReportableToLowerLevelOutputFactory(
+ content_object=self.llo,
+ blueprint=QuantityTypeIndicatorBlueprintFactory(
+ unit=IndicatorBlueprint.NUMBER,
+ calculation_formula_across_locations=IndicatorBlueprint.SUM,
+ )
+ )
+
+ self.llo_reportable.disaggregations.clear()
+ self.partneractivity_reportable.disaggregations.clear()
+
+ # Create the disaggregations and values in the db for all response plans
+ # including one for no response plan as well
+ for disagg_name, values in self.sample_disaggregation_value_map.items():
+ disagg = IPDisaggregationFactory(name=disagg_name)
+ cluster_disagg = DisaggregationFactory(name=disagg_name, response_plan=self.response_plan)
+
+ self.llo_reportable.disaggregations.add(disagg)
+ self.partneractivity_reportable.disaggregations.add(cluster_disagg)
+
+ for value in values:
+ DisaggregationValueFactory(
+ disaggregation=cluster_disagg,
+ value=value
+ )
+ DisaggregationValueFactory(
+ disaggregation=disagg,
+ value=value
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc1,
+ reportable=self.llo_reportable,
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc2,
+ reportable=self.llo_reportable,
+ )
+
+ for _ in range(2):
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
+
+ # Creating Level-3 disaggregation location data for all locations
+ generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
+
+ for loc_data in IndicatorLocationData.objects.filter(indicator_report__reportable=self.partneractivity_reportable):
+ QuantityIndicatorDisaggregator.post_process(loc_data)
+
+ for pr in self.pd.progress_reports.all():
+ ProgressReportIndicatorReportFactory(
+ progress_report=pr,
+ reportable=self.llo_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ overall_status=OVERALL_STATUS.met,
+ )
+
+ # Creating Level-3 disaggregation location data for all locations
+ generate_3_num_disagg_data(self.llo_reportable, indicator_type="quantity")
+
+ for loc_data in IndicatorLocationData.objects.filter(indicator_report__reportable=self.llo_reportable):
+ QuantityIndicatorDisaggregator.post_process(loc_data)
+
+ super().setUp()
+
+ # Logging in as Partner AO
+ self.client.force_authenticate(self.partner_user)
+
+ self.location_id = self.loc1.id
+ self.queryset = self.get_queryset()
+
+ def get_queryset(self):
+ pd_ids = Location.objects.filter(
+ Q(id=self.location_id) |
+ Q(parent_id=self.location_id) |
+ Q(parent__parent_id=self.location_id) |
+ Q(parent__parent__parent_id=self.location_id) |
+ Q(parent__parent__parent__parent_id=self.location_id)
+ ).values_list(
+ 'reportables__lower_level_outputs__cp_output__programme_document__id',
+ flat=True
+ )
+ return ProgressReport.objects.filter(programme_document_id__in=pd_ids)
+
+ @patch("django_api.apps.utils.emails.EmailTemplate.objects.update_or_create")
+ @patch.object(Notification, "full_clean", return_value=None)
+ @patch.object(Notification, "send_notification", return_value=None)
+ def test_send_notification_on_status_change_post_save_signal_for_submitted(
+ self,
+ mock_create,
+ mock_clean,
+ mock_send,
+ ):
+ report = ProgressReport.objects.get(report_type="QPR", report_number=1)
+ report.status = PROGRESS_REPORT_STATUS.due
+ report.save()
+
+ report.status = PROGRESS_REPORT_STATUS.submitted
+ report.save()
+
+ self.assertEqual(Notification.objects.count(), 2)
+
+ self.assertTrue(mock_create.called)
+
+ @patch("django_api.apps.utils.emails.EmailTemplate.objects.update_or_create")
+ @patch.object(Notification, "full_clean", return_value=None)
+ @patch.object(Notification, "send_notification", return_value=None)
+ def test_send_notification_on_status_change_post_save_signal_for_sent_back(
+ self,
+ mock_create,
+ mock_clean,
+ mock_send,
+ ):
+ report = ProgressReport.objects.get(report_type="QPR", report_number=1)
+ report.status = PROGRESS_REPORT_STATUS.due
+ report.save()
+
+ report.status = PROGRESS_REPORT_STATUS.sent_back
+ report.save()
+
+ # Match # of emails sent by submitting_user (also identical to submitted_by), and unicef_focal_point
+ self.assertEqual(Notification.objects.count(), 2)
+
+ self.assertTrue(mock_create.called)
+
+ @patch("django_api.apps.utils.emails.EmailTemplate.objects.update_or_create")
+ @patch.object(Notification, "full_clean", return_value=None)
+ @patch.object(Notification, "send_notification", return_value=None)
+ def test_send_notification_on_status_change_post_save_signal_for_accepted(
+ self,
+ mock_create,
+ mock_clean,
+ mock_send,
+ ):
+ report = ProgressReport.objects.get(report_type="QPR", report_number=1)
+ report.status = PROGRESS_REPORT_STATUS.due
+ report.save()
+
+ report.status = PROGRESS_REPORT_STATUS.accepted
+ report.save()
+
+ # Match # of emails sent by submitting_user (also identical to submitted_by), and unicef_focal_point
+ self.assertEqual(Notification.objects.count(), 2)
+
+ self.assertTrue(mock_create.called)
+
+ @patch("django_api.apps.utils.emails.EmailTemplate.objects.update_or_create")
+ @patch.object(Notification, "full_clean", return_value=None)
+ @patch.object(Notification, "send_notification", return_value=None)
+ def test_send_due_progress_report_email(self, mock_create, mock_clean, mock_send):
+ today = date.today()
+
+ report = ProgressReport.objects.get(report_type="QPR", report_number=1)
+ report.status = PROGRESS_REPORT_STATUS.due
+ report.due_date = today + relativedelta(days=7)
+ report.submission_date = None
+ report.save()
+
+ send_due_progress_report_email()
+
+ # Match # of emails sent by unicef_officer and unicef_focal_point
+ self.assertEqual(Notification.objects.count(), 2)
+
+ self.assertTrue(mock_create.called)
+
+ @patch("django_api.apps.utils.emails.EmailTemplate.objects.update_or_create")
+ @patch.object(Notification, "full_clean", return_value=None)
+ @patch.object(Notification, "send_notification", return_value=None)
+ def test_send_overdue_progress_report_email(self, mock_create, mock_clean, mock_send):
+ today = date.today()
+
+ report = ProgressReport.objects.get(report_type="QPR", report_number=1)
+ report.status = PROGRESS_REPORT_STATUS.overdue
+ report.due_date = today - relativedelta(days=30)
+ report.submission_date = None
+ report.save()
+
+ self.assertTrue(mock_send.create)
diff --git a/django_api/django_api/apps/unicef/tests/test_views.py b/django_api/django_api/apps/unicef/tests/test_views.py
index 33056b8e8..ab72d1001 100644
--- a/django_api/django_api/apps/unicef/tests/test_views.py
+++ b/django_api/django_api/apps/unicef/tests/test_views.py
@@ -1,56 +1,77 @@
+import csv
import datetime
+import io
+import tempfile
+import os
+import xlrd
+from unittest.mock import Mock, patch
+
from django.conf import settings
+from django.core.files import File
+from django.core.files.uploadedfile import SimpleUploadedFile
from django.db.models import Q
from django.urls import reverse
from rest_framework import status
-from core.common import (
- INDICATOR_REPORT_STATUS,
- OVERALL_STATUS,
- PROGRESS_REPORT_STATUS,
- PRP_ROLE_TYPES,
-)
-from core.management.commands._generate_disaggregation_fake_data import (
- generate_3_num_disagg_data,
-)
-from core.factories import (CartoDBTableFactory,
- ProgressReportIndicatorReportFactory,
- IPPRPRoleFactory,
+from unicef_notification.models import Notification
+
+from core.common import (INDICATOR_REPORT_STATUS, OVERALL_STATUS,
+ PROGRESS_REPORT_STATUS, PRP_ROLE_TYPES, PR_ATTACHMENT_TYPES)
+from core.factories import (CartoDBTableFactory, ClusterActivityFactory,
+ ClusterActivityPartnerActivityFactory,
+ ClusterFactory, ClusterIndicatorReportFactory,
+ ClusterObjectiveFactory, ClusterPRPRoleFactory,
CountryFactory, DisaggregationFactory,
DisaggregationValueFactory, GatewayTypeFactory,
+ HRReportingPeriodDatesFactory,
+ IPDisaggregationFactory, IPPRPRoleFactory,
LocationFactory,
LocationWithReportableLocationGoalFactory,
- PartnerUserFactory, PartnerFactory,
+ LowerLevelOutputFactory, NonPartnerUserFactory,
+ PartnerFactory, PartnerProjectFactory,
+ PartnerActivityProjectContextFactory,
+ PartnerUserFactory, PDResultLinkFactory,
+ PersonFactory, ProgrammeDocumentFactory,
+ ProgressReportAttachmentFactory,
ProgressReportFactory,
- QuantityReportableToLowerLevelOutputFactory,
- QuantityTypeIndicatorBlueprintFactory,
- WorkspaceFactory,
- SectionFactory,
- PersonFactory,
- IPDisaggregationFactory,
- ProgrammeDocumentFactory,
+ ProgressReportIndicatorReportFactory,
QPRReportingPeriodDatesFactory,
- HRReportingPeriodDatesFactory,
- PDResultLinkFactory,
- LowerLevelOutputFactory,
- ClusterPRPRoleFactory,
- ResponsePlanFactory,
- ClusterFactory,
- NonPartnerUserFactory,
- ClusterObjectiveFactory,
- ClusterActivityFactory,
- PartnerProjectFactory,
- ClusterActivityPartnerActivityFactory,
+ QuantityReportableToLowerLevelOutputFactory,
QuantityReportableToPartnerActivityFactory,
- ClusterIndicatorReportFactory)
-from core.tests.base import BaseAPITestCase
+ QuantityTypeIndicatorBlueprintFactory,
+ ResponsePlanFactory, SectionFactory,
+ WorkspaceFactory, faker)
+from core.management.commands._generate_disaggregation_fake_data import \
+ generate_3_num_disagg_data
from core.models import Location
+from core.tests.base import BaseAPITestCase
from indicator.disaggregators import QuantityIndicatorDisaggregator
-from indicator.models import (
- IndicatorReport,
- IndicatorBlueprint,
- IndicatorLocationData,
-)
-from unicef.models import ProgressReport
+from indicator.models import (IndicatorBlueprint, IndicatorLocationData,
+ IndicatorReport)
+from unicef.models import ProgressReport, ProgressReportAttachment
+
+
+def convert_xlsx_to_csv(response):
+ download_file = io.BytesIO(response.content)
+ xlsx_file = xlrd.open_workbook(file_contents=download_file.read())
+ xlsx_sheet = xlsx_file.sheet_by_index(0)
+ csv_filename = tempfile.NamedTemporaryFile()
+ with open(csv_filename.name, "w") as csv_file:
+ wr = csv.writer(csv_file)
+ for rownum in range(xlsx_sheet.nrows):
+ wr.writerow(xlsx_sheet.row_values(rownum))
+ return csv_filename
+
+
+def string_in_download(text, response):
+ exists = False
+ csv_filename = convert_xlsx_to_csv(response)
+ with open(csv_filename.name) as csv_file:
+ rd = csv.reader(csv_file)
+ for row in rd:
+ if text in ",".join(row):
+ exists = True
+ break
+ return exists
class TestProgrammeDocumentListAPIView(BaseAPITestCase):
@@ -92,8 +113,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -131,7 +156,7 @@ def setUp(self):
for idx in range(2):
qpr_period = QPRReportingPeriodDatesFactory(programme_document=self.pd)
- ProgressReportFactory(
+ pr = ProgressReportFactory(
start_date=qpr_period.start_date,
end_date=qpr_period.end_date,
due_date=qpr_period.due_date,
@@ -143,9 +168,14 @@ def setUp(self):
submitting_user=self.user,
)
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
for idx in range(6):
hr_period = HRReportingPeriodDatesFactory(programme_document=self.pd)
- ProgressReportFactory(
+ pr = ProgressReportFactory(
start_date=hr_period.start_date,
end_date=hr_period.end_date,
due_date=hr_period.due_date,
@@ -157,6 +187,11 @@ def setUp(self):
submitting_user=self.user,
)
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
self.cp_output = PDResultLinkFactory(
programme_document=self.pd,
)
@@ -204,10 +239,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -234,6 +270,11 @@ def setUp(self):
# Logging in as Partner AO
self.client.force_authenticate(self.partner_user)
+ def tearDown(self):
+ for attachment in ProgressReportAttachment.objects.all():
+ attachment.file.delete()
+ attachment.delete()
+
def test_list_api(self):
url = reverse(
'programme-document',
@@ -331,8 +372,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -370,7 +415,7 @@ def setUp(self):
for idx in range(2):
qpr_period = QPRReportingPeriodDatesFactory(programme_document=self.pd)
- ProgressReportFactory(
+ pr = ProgressReportFactory(
start_date=qpr_period.start_date,
end_date=qpr_period.end_date,
due_date=qpr_period.due_date,
@@ -382,9 +427,14 @@ def setUp(self):
submitting_user=self.user,
)
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
for idx in range(6):
hr_period = HRReportingPeriodDatesFactory(programme_document=self.pd)
- ProgressReportFactory(
+ pr = ProgressReportFactory(
start_date=hr_period.start_date,
end_date=hr_period.end_date,
due_date=hr_period.due_date,
@@ -396,6 +446,11 @@ def setUp(self):
submitting_user=self.user,
)
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
self.cp_output = PDResultLinkFactory(
programme_document=self.pd,
)
@@ -443,10 +498,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -473,6 +529,11 @@ def setUp(self):
# Logging in as Partner AO
self.client.force_authenticate(self.partner_user)
+ def tearDown(self):
+ for attachment in ProgressReportAttachment.objects.all():
+ attachment.file.delete()
+ attachment.delete()
+
def test_detail_api(self):
url = reverse(
'programme-document-details',
@@ -525,8 +586,12 @@ def setUp(self):
locations=[self.loc1, self.loc2],
)
self.p_activity = ClusterActivityPartnerActivityFactory(
+ partner=self.partner,
cluster_activity=self.activity,
+ )
+ self.project_context = PartnerActivityProjectContextFactory(
project=self.project,
+ activity=self.p_activity,
)
self.sample_disaggregation_value_map = {
"height": ["tall", "medium", "short", "extrashort"],
@@ -564,7 +629,7 @@ def setUp(self):
for idx in range(2):
qpr_period = QPRReportingPeriodDatesFactory(programme_document=self.pd)
- ProgressReportFactory(
+ pr = ProgressReportFactory(
start_date=qpr_period.start_date,
end_date=qpr_period.end_date,
due_date=qpr_period.due_date,
@@ -576,9 +641,14 @@ def setUp(self):
submitting_user=self.user,
)
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
for idx in range(6):
hr_period = HRReportingPeriodDatesFactory(programme_document=self.pd)
- ProgressReportFactory(
+ pr = ProgressReportFactory(
start_date=hr_period.start_date,
end_date=hr_period.end_date,
due_date=hr_period.due_date,
@@ -590,6 +660,11 @@ def setUp(self):
submitting_user=self.user,
)
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
self.cp_output = PDResultLinkFactory(
programme_document=self.pd,
)
@@ -637,10 +712,11 @@ def setUp(self):
)
for _ in range(2):
- ClusterIndicatorReportFactory(
- reportable=self.partneractivity_reportable,
- report_status=INDICATOR_REPORT_STATUS.submitted,
- )
+ with patch("django.db.models.signals.ModelSignal.send", Mock()):
+ ClusterIndicatorReportFactory(
+ reportable=self.partneractivity_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ )
# Creating Level-3 disaggregation location data for all locations
generate_3_num_disagg_data(self.partneractivity_reportable, indicator_type="quantity")
@@ -670,6 +746,11 @@ def setUp(self):
self.location_id = self.loc1.id
self.queryset = self.get_queryset()
+ def tearDown(self):
+ for attachment in ProgressReportAttachment.objects.all():
+ attachment.file.delete()
+ attachment.delete()
+
def get_queryset(self):
pd_ids = Location.objects.filter(
Q(id=self.location_id) |
@@ -758,3 +839,476 @@ def test_list_api_filter_by_due_date(self):
self.assertEquals(response.status_code, status.HTTP_200_OK)
self.assertEquals(len(response.data['results']), len(pr_queryset))
+
+ @patch("django_api.apps.utils.emails.EmailTemplate.objects.update_or_create")
+ @patch.object(Notification, "full_clean", return_value=None)
+ @patch.object(Notification, "send_notification", return_value=None)
+ def test_list_api_export(self, mock_create, mock_clean, mock_send):
+ # ensure at least one report has status overdue
+ report = self.queryset.first()
+ report.status = PROGRESS_REPORT_STATUS.overdue
+ report.save()
+
+ url = reverse(
+ 'progress-reports',
+ kwargs={'workspace_id': self.workspace.id})
+ response = self.client.get(url, data={"export": "xlsx"})
+
+ self.assertEquals(response.status_code, status.HTTP_200_OK)
+ disposition = response.get("Content-Disposition")
+ self.assertTrue(disposition.startswith("attachment; filename="))
+ self.assertTrue(
+ disposition.endswith('Progress Report(s) Summary.xlsx"'),
+ )
+ self.reports = self.queryset.filter(
+ status=PROGRESS_REPORT_STATUS.overdue
+ )
+ self.assertTrue(len(self.reports))
+ self.assertTrue(string_in_download(
+ PROGRESS_REPORT_STATUS[PROGRESS_REPORT_STATUS.overdue],
+ response,
+ ))
+
+ @patch("django_api.apps.utils.emails.EmailTemplate.objects.update_or_create")
+ @patch.object(Notification, "full_clean", return_value=None)
+ @patch.object(Notification, "send_notification", return_value=None)
+ def test_list_api_export_filter(self, mock_create, mock_clean, mock_send):
+ # ensure we have needed report statuses
+ report_overdue = self.queryset.first()
+ report_overdue.status = PROGRESS_REPORT_STATUS.overdue
+ report_overdue.save()
+ report_due = self.queryset.last()
+ report_due.status = PROGRESS_REPORT_STATUS.due
+ report_due.save()
+
+ url = reverse(
+ 'progress-reports',
+ kwargs={'workspace_id': self.workspace.id})
+ response = self.client.get(
+ url,
+ data={
+ "export": "xlsx",
+ "status": PROGRESS_REPORT_STATUS.due
+ },
+ )
+
+ self.assertEquals(response.status_code, status.HTTP_200_OK)
+ disposition = response.get("Content-Disposition")
+ self.assertTrue(disposition.startswith("attachment; filename="))
+ self.assertTrue(
+ disposition.endswith('Progress Report(s) Summary.xlsx"'),
+ )
+ reports_overdue = self.queryset.filter(
+ status=PROGRESS_REPORT_STATUS.overdue
+ )
+ self.assertTrue(len(reports_overdue))
+ reports_due = self.queryset.filter(
+ status=PROGRESS_REPORT_STATUS.due
+ )
+ self.assertTrue(len(reports_due))
+ self.assertFalse(string_in_download(
+ PROGRESS_REPORT_STATUS[PROGRESS_REPORT_STATUS.overdue],
+ response,
+ ))
+ self.assertTrue(string_in_download(
+ PROGRESS_REPORT_STATUS[PROGRESS_REPORT_STATUS.due],
+ response,
+ ))
+
+ @patch("django_api.apps.utils.emails.EmailTemplate.objects.update_or_create")
+ @patch.object(Notification, "full_clean", return_value=None)
+ @patch.object(Notification, "send_notification", return_value=None)
+ def test_list_api_export_filter_multiple(self, mock_create, mock_clean, mock_send):
+ # ensure we have needed report statuses
+ reports = self.queryset.all()
+ self.assertTrue(len(reports) > 3)
+ report_overdue = reports[0]
+ report_overdue.status = PROGRESS_REPORT_STATUS.overdue
+ report_overdue.save()
+ report_accepted = reports[1]
+ report_accepted.status = PROGRESS_REPORT_STATUS.accepted
+ report_accepted.save()
+ report_sent_back = reports[2]
+ report_sent_back.status = PROGRESS_REPORT_STATUS.sent_back
+ report_sent_back.save()
+
+ url = reverse(
+ 'progress-reports',
+ kwargs={'workspace_id': self.workspace.id})
+ response = self.client.get(
+ url,
+ data={
+ "export": "xlsx",
+ "status": ",".join([
+ PROGRESS_REPORT_STATUS.accepted,
+ PROGRESS_REPORT_STATUS.sent_back,
+ ]),
+ },
+ )
+
+ self.assertEquals(response.status_code, status.HTTP_200_OK)
+ disposition = response.get("Content-Disposition")
+ self.assertTrue(disposition.startswith("attachment; filename="))
+ self.assertTrue(
+ disposition.endswith('Progress Report(s) Summary.xlsx"'),
+ )
+ reports_overdue = self.queryset.filter(
+ status=PROGRESS_REPORT_STATUS.overdue
+ )
+ self.assertTrue(len(reports_overdue))
+ reports_accepted = self.queryset.filter(
+ status=PROGRESS_REPORT_STATUS.accepted
+ )
+ self.assertTrue(len(reports_accepted))
+ reports_sent_back = self.queryset.filter(
+ status=PROGRESS_REPORT_STATUS.sent_back
+ )
+ self.assertTrue(len(reports_sent_back))
+ self.assertFalse(string_in_download(
+ PROGRESS_REPORT_STATUS[PROGRESS_REPORT_STATUS.overdue],
+ response,
+ ))
+ self.assertTrue(string_in_download(
+ PROGRESS_REPORT_STATUS[PROGRESS_REPORT_STATUS.accepted],
+ response,
+ ))
+ self.assertTrue(string_in_download(
+ PROGRESS_REPORT_STATUS[PROGRESS_REPORT_STATUS.sent_back],
+ response,
+ ))
+
+
+class TestProgressReportAttachmentListCreateAPIView(BaseAPITestCase):
+
+ def setUp(self):
+ self.country = CountryFactory()
+ self.workspace = WorkspaceFactory(countries=[self.country, ])
+ self.loc_type = GatewayTypeFactory(country=self.country)
+ self.carto_table = CartoDBTableFactory(location_type=self.loc_type, country=self.country)
+ self.loc1 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.loc2 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.unicef_officer = PersonFactory()
+ self.unicef_focal_point = PersonFactory()
+ self.partner_focal_point = PersonFactory()
+ self.partner = PartnerFactory(country_code=self.country.country_short_code)
+ self.partner_user = PartnerUserFactory(partner=self.partner)
+ IPPRPRoleFactory(user=self.partner_user, workspace=self.workspace, role=PRP_ROLE_TYPES.ip_authorized_officer)
+ self.sample_disaggregation_value_map = {
+ "height": ["tall", "medium", "short", "extrashort"],
+ "age": ["1-2m", "3-4m", "5-6m", '7-10m', '11-13m', '14-16m'],
+ "gender": ["male", "female", "other"],
+ }
+
+ self.pd = ProgrammeDocumentFactory(
+ workspace=self.workspace,
+ partner=self.partner,
+ sections=[SectionFactory(), ],
+ unicef_officers=[self.unicef_officer, ],
+ unicef_focal_point=[self.unicef_focal_point, ],
+ partner_focal_point=[self.partner_focal_point, ]
+ )
+
+ for idx in range(2):
+ qpr_period = QPRReportingPeriodDatesFactory(programme_document=self.pd)
+ pr = ProgressReportFactory(
+ start_date=qpr_period.start_date,
+ end_date=qpr_period.end_date,
+ due_date=qpr_period.due_date,
+ report_number=idx + 1,
+ report_type=qpr_period.report_type,
+ is_final=False,
+ programme_document=self.pd,
+ submitted_by=self.user,
+ submitting_user=self.user,
+ )
+
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
+ for idx in range(6):
+ hr_period = HRReportingPeriodDatesFactory(programme_document=self.pd)
+ pr = ProgressReportFactory(
+ start_date=hr_period.start_date,
+ end_date=hr_period.end_date,
+ due_date=hr_period.due_date,
+ report_number=idx + 1,
+ report_type=hr_period.report_type,
+ is_final=False,
+ programme_document=self.pd,
+ submitted_by=self.user,
+ submitting_user=self.user,
+ )
+
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
+ self.cp_output = PDResultLinkFactory(
+ programme_document=self.pd,
+ )
+ self.llo = LowerLevelOutputFactory(
+ cp_output=self.cp_output,
+ )
+ self.llo_reportable = QuantityReportableToLowerLevelOutputFactory(
+ content_object=self.llo,
+ blueprint=QuantityTypeIndicatorBlueprintFactory(
+ unit=IndicatorBlueprint.NUMBER,
+ calculation_formula_across_locations=IndicatorBlueprint.SUM,
+ )
+ )
+
+ self.llo_reportable.disaggregations.clear()
+
+ for disagg_name, values in self.sample_disaggregation_value_map.items():
+ disagg = IPDisaggregationFactory(name=disagg_name)
+
+ self.llo_reportable.disaggregations.add(disagg)
+
+ for value in values:
+ DisaggregationValueFactory(
+ disaggregation=disagg,
+ value=value
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc1,
+ reportable=self.llo_reportable,
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc2,
+ reportable=self.llo_reportable,
+ )
+
+ for pr in self.pd.progress_reports.all():
+ ProgressReportIndicatorReportFactory(
+ progress_report=pr,
+ reportable=self.llo_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ overall_status=OVERALL_STATUS.met,
+ )
+
+ # Creating Level-3 disaggregation location data for all locations
+ generate_3_num_disagg_data(self.llo_reportable, indicator_type="quantity")
+
+ for loc_data in IndicatorLocationData.objects.filter(indicator_report__reportable=self.llo_reportable):
+ QuantityIndicatorDisaggregator.post_process(loc_data)
+
+ super().setUp()
+
+ # Logging in as Partner AO
+ self.client.force_authenticate(self.partner_user)
+
+ self.location_id = self.loc1.id
+ self.pr = self.pd.progress_reports.first()
+
+ settings.MEDIA_ROOT = tempfile.mkdtemp()
+
+ def tearDown(self):
+ for attachment in ProgressReportAttachment.objects.all():
+ attachment.file.delete()
+ attachment.delete()
+
+ def test_list_api(self):
+ url = reverse(
+ 'progress-reports-attachment-list',
+ kwargs={'workspace_id': self.workspace.id, 'progress_report_id': self.pr.id})
+ response = self.client.get(url, format='json')
+
+ self.assertEquals(response.status_code, status.HTTP_200_OK)
+ self.assertEquals(len(response.data), self.pr.attachments.count())
+
+ def test_create_api(self):
+ url = reverse(
+ 'progress-reports-attachment-list',
+ kwargs={'workspace_id': self.workspace.id, 'progress_report_id': self.pr.id})
+
+ f = open('test.txt', 'w')
+ f.write(faker.text())
+ f.close()
+
+ file = File(open('test.txt', 'rb'))
+ upload_file = SimpleUploadedFile('test', file.read(), content_type="multipart/form-data")
+
+ data = {'type': 'Other', 'path': upload_file}
+ response = self.client.post(url, data, format="multipart")
+
+ self.assertEquals(response.status_code, status.HTTP_201_CREATED)
+ self.assertEquals(response.data['size'], data['path'].size)
+
+ os.remove('test.txt')
+
+
+class TestProgressReportAttachmentAPIView(BaseAPITestCase):
+
+ def setUp(self):
+ self.country = CountryFactory()
+ self.workspace = WorkspaceFactory(countries=[self.country, ])
+ self.loc_type = GatewayTypeFactory(country=self.country)
+ self.carto_table = CartoDBTableFactory(location_type=self.loc_type, country=self.country)
+ self.loc1 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.loc2 = LocationFactory(gateway=self.loc_type, carto_db_table=self.carto_table)
+ self.unicef_officer = PersonFactory()
+ self.unicef_focal_point = PersonFactory()
+ self.partner_focal_point = PersonFactory()
+ self.partner = PartnerFactory(country_code=self.country.country_short_code)
+ self.partner_user = PartnerUserFactory(partner=self.partner)
+ IPPRPRoleFactory(user=self.partner_user, workspace=self.workspace, role=PRP_ROLE_TYPES.ip_authorized_officer)
+ self.sample_disaggregation_value_map = {
+ "height": ["tall", "medium", "short", "extrashort"],
+ "age": ["1-2m", "3-4m", "5-6m", '7-10m', '11-13m', '14-16m'],
+ "gender": ["male", "female", "other"],
+ }
+
+ self.pd = ProgrammeDocumentFactory(
+ workspace=self.workspace,
+ partner=self.partner,
+ sections=[SectionFactory(), ],
+ unicef_officers=[self.unicef_officer, ],
+ unicef_focal_point=[self.unicef_focal_point, ],
+ partner_focal_point=[self.partner_focal_point, ]
+ )
+
+ for idx in range(2):
+ qpr_period = QPRReportingPeriodDatesFactory(programme_document=self.pd)
+ pr = ProgressReportFactory(
+ start_date=qpr_period.start_date,
+ end_date=qpr_period.end_date,
+ due_date=qpr_period.due_date,
+ report_number=idx + 1,
+ report_type=qpr_period.report_type,
+ is_final=False,
+ programme_document=self.pd,
+ submitted_by=self.user,
+ submitting_user=self.user,
+ )
+
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
+ for idx in range(6):
+ hr_period = HRReportingPeriodDatesFactory(programme_document=self.pd)
+ pr = ProgressReportFactory(
+ start_date=hr_period.start_date,
+ end_date=hr_period.end_date,
+ due_date=hr_period.due_date,
+ report_number=idx + 1,
+ report_type=hr_period.report_type,
+ is_final=False,
+ programme_document=self.pd,
+ submitted_by=self.user,
+ submitting_user=self.user,
+ )
+
+ ProgressReportAttachmentFactory(
+ progress_report=pr,
+ type=PR_ATTACHMENT_TYPES.face,
+ )
+
+ self.cp_output = PDResultLinkFactory(
+ programme_document=self.pd,
+ )
+ self.llo = LowerLevelOutputFactory(
+ cp_output=self.cp_output,
+ )
+ self.llo_reportable = QuantityReportableToLowerLevelOutputFactory(
+ content_object=self.llo,
+ blueprint=QuantityTypeIndicatorBlueprintFactory(
+ unit=IndicatorBlueprint.NUMBER,
+ calculation_formula_across_locations=IndicatorBlueprint.SUM,
+ )
+ )
+
+ self.llo_reportable.disaggregations.clear()
+
+ for disagg_name, values in self.sample_disaggregation_value_map.items():
+ disagg = IPDisaggregationFactory(name=disagg_name)
+
+ self.llo_reportable.disaggregations.add(disagg)
+
+ for value in values:
+ DisaggregationValueFactory(
+ disaggregation=disagg,
+ value=value
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc1,
+ reportable=self.llo_reportable,
+ )
+
+ LocationWithReportableLocationGoalFactory(
+ location=self.loc2,
+ reportable=self.llo_reportable,
+ )
+
+ for pr in self.pd.progress_reports.all():
+ ProgressReportIndicatorReportFactory(
+ progress_report=pr,
+ reportable=self.llo_reportable,
+ report_status=INDICATOR_REPORT_STATUS.submitted,
+ overall_status=OVERALL_STATUS.met,
+ )
+
+ # Creating Level-3 disaggregation location data for all locations
+ generate_3_num_disagg_data(self.llo_reportable, indicator_type="quantity")
+
+ for loc_data in IndicatorLocationData.objects.filter(indicator_report__reportable=self.llo_reportable):
+ QuantityIndicatorDisaggregator.post_process(loc_data)
+
+ super().setUp()
+
+ # Logging in as Partner AO
+ self.client.force_authenticate(self.partner_user)
+
+ self.location_id = self.loc1.id
+ self.pr = self.pd.progress_reports.first()
+ self.attachment = self.pr.attachments.first()
+
+ settings.MEDIA_ROOT = tempfile.mkdtemp()
+
+ def tearDown(self):
+ for attachment in ProgressReportAttachment.objects.all():
+ attachment.file.delete()
+ attachment.delete()
+
+ def test_detail_api(self):
+ url = reverse(
+ 'progress-reports-attachment',
+ kwargs={'workspace_id': self.workspace.id, 'progress_report_id': self.pr.id, 'pk': self.attachment.id})
+ response = self.client.get(url, format='json')
+
+ self.assertEquals(response.status_code, status.HTTP_200_OK)
+ self.assertEquals(response.data['id'], self.attachment.id)
+
+ def test_update_api(self):
+ f = open('test.txt', 'w')
+ f.write(faker.text() + faker.text() + faker.text())
+ f.close()
+
+ file = File(open('test.txt', 'rb'))
+ upload_file = SimpleUploadedFile('test', file.read(), content_type="multipart/form-data")
+
+ data = {'type': 'Other', 'path': upload_file}
+ url = reverse(
+ 'progress-reports-attachment',
+ kwargs={'workspace_id': self.workspace.id, 'progress_report_id': self.pr.id, 'pk': self.attachment.id})
+ response = self.client.put(url, data, format="multipart")
+
+ self.assertEquals(response.status_code, status.HTTP_200_OK)
+ self.assertEquals(response.data['size'], data['path'].size)
+
+ os.remove('test.txt')
+
+ def test_delete_api(self):
+ url = reverse(
+ 'progress-reports-attachment',
+ kwargs={'workspace_id': self.workspace.id, 'progress_report_id': self.pr.id, 'pk': self.attachment.id})
+ response = self.client.delete(url, format='multipart')
+
+ self.assertEquals(response.status_code, status.HTTP_204_NO_CONTENT)
diff --git a/django_api/django_api/apps/unicef/urls.py b/django_api/django_api/apps/unicef/urls.py
index 79f9a5e36..fb60ff86b 100644
--- a/django_api/django_api/apps/unicef/urls.py
+++ b/django_api/django_api/apps/unicef/urls.py
@@ -15,6 +15,7 @@
ProgrammeDocumentCalculationMethodsAPIView,
ProgrammeDocumentProgressAPIView,
ProgressReportDetailsUpdateAPIView,
+ ProgressReportAttachmentListCreateAPIView,
ProgressReportAttachmentAPIView,
ProgressReportSRSubmitAPIView,
ProgressReportPullHFDataAPIView,
@@ -82,8 +83,10 @@
url(r'^(?P\d+)/progress-reports/(?P\d+)/locations/$',
ProgressReportLocationsAPIView.as_view(),
name="progress-reports-locations"),
- url(r'^(?P\d+)/progress-reports/(?P\d+)/attachment/$',
+ url(r'^(?P\d+)/progress-reports/(?P\d+)/attachments/$',
+ ProgressReportAttachmentListCreateAPIView.as_view(),
+ name="progress-reports-attachment-list"),
+ url(r'^(?P\d+)/progress-reports/(?P\d+)/attachments/(?P\d+)/$',
ProgressReportAttachmentAPIView.as_view(),
name="progress-reports-attachment"),
-
]
diff --git a/django_api/django_api/apps/unicef/views.py b/django_api/django_api/apps/unicef/views.py
index dc9cfe32e..84f2c5970 100644
--- a/django_api/django_api/apps/unicef/views.py
+++ b/django_api/django_api/apps/unicef/views.py
@@ -10,7 +10,7 @@
from rest_framework import status as statuses
from rest_framework.exceptions import ValidationError
-from rest_framework.generics import RetrieveAPIView, ListAPIView
+from rest_framework.generics import RetrieveAPIView, ListAPIView, ListCreateAPIView
from rest_framework.parsers import FileUploadParser, FormParser, MultiPartParser
from rest_framework.response import Response
from rest_framework.views import APIView
@@ -25,6 +25,7 @@
INDICATOR_REPORT_STATUS,
OVERALL_STATUS,
PD_STATUS,
+ PR_ATTACHMENT_TYPES,
PRP_ROLE_TYPES,
)
from core.paginations import SmallPagination
@@ -48,6 +49,7 @@
from indicator.filters import PDReportsFilter
from indicator.serializers import IndicatorBlueprintSimpleSerializer
from indicator.disaggregators import QuantityIndicatorDisaggregator, RatioIndicatorDisaggregator
+from indicator.utilities import convert_string_number_to_float
from partner.models import Partner
from unicef.exports.reportables import ReportableListXLSXExporter, ReportableListPDFExporter
@@ -72,7 +74,7 @@
ProgressReportSRUpdateSerializer,
ProgressReportPullHFDataSerializer,
)
-from .models import ProgrammeDocument, ProgressReport, LowerLevelOutput
+from .models import ProgrammeDocument, ProgressReport, LowerLevelOutput, ProgressReportAttachment
from .permissions import (
CanChangePDCalculationMethod,
UnicefPartnershipManagerOrRead
@@ -330,15 +332,21 @@ class ProgressReportAnnexCPDFView(RetrieveAPIView):
IsUNICEFAPIUser,
IsPartnerAuthorizedOfficerForCurrentWorkspace,
IsPartnerEditorForCurrentWorkspace,
+ IsPartnerViewerForCurrentWorkspace,
),
)
def get(self, request, *args, **kwargs):
report = self.get_object()
+ funds_received_to_date_percentage = "%.1f" % (
+ report.programme_document.funds_received_to_date * 100 / report.programme_document.budget
+ ) if report.programme_document and report.programme_document.budget > 0 else 0
+
data = {
'report': report,
'pd': report.programme_document,
+ 'funds_received_to_date_percentage': funds_received_to_date_percentage,
'challenges_in_the_reporting_period': report.challenges_in_the_reporting_period,
'proposed_way_forward': report.proposed_way_forward,
'partner_contribution_to_date': report.partner_contribution_to_date,
@@ -361,6 +369,7 @@ class ProgressReportDetailsUpdateAPIView(APIView):
AnyPermission(
IsPartnerAuthorizedOfficerForCurrentWorkspace,
IsPartnerEditorForCurrentWorkspace,
+ IsPartnerAdminForCurrentWorkspace,
),
)
@@ -513,12 +522,13 @@ def list(self, request, workspace_id, progress_report_id, *args, **kwargs):
class ProgressReportSubmitAPIView(APIView):
"""
- Only a partner authorized officer and partner editor can submit a progress report.
+ Only a partner authorized officer, partner admin, and partner editor can submit a progress report.
"""
permission_classes = (
AnyPermission(
IsPartnerAuthorizedOfficerForCurrentWorkspace,
IsPartnerEditorForCurrentWorkspace,
+ IsPartnerAdminForCurrentWorkspace,
),
)
@@ -550,14 +560,11 @@ def post(self, request, *args, **kwargs):
)
for ir in progress_report.indicator_reports.all():
- # Check if all indicator data is fulfilled
- for data in ir.indicator_location_data.all():
- for key, vals in data.disaggregation.items():
- if (vals.get('d', 0) in [None, '']):
- raise ValidationError(
- "You have not completed all indicator location data across "
- "all indicator reports for this progress report."
- )
+ if not ir.is_complete:
+ raise ValidationError(
+ "You have not completed all indicator location data across "
+ "all indicator reports for this progress report."
+ )
# Check if indicator was already submitted or SENT BACK
if ir.submission_date is None or ir.report_status == INDICATOR_REPORT_STATUS.sent_back:
@@ -578,8 +585,8 @@ def post(self, request, *args, **kwargs):
if ir.overall_status not in {OVERALL_STATUS.met, OVERALL_STATUS.no_progress} \
and not ir.narrative_assessment:
raise ValidationError(
- "You have not completed narrative assessment for one of Outputs ({}). Unless your Output "
- "status is Met or No Progress.".format(
+ "You have not completed the narrative assessment for one of the outputs ({}). Unless your output "
+ "status is Met or No Progress, you have to fill in the narrative assessment.".format(
ir.reportable.content_object
)
)
@@ -604,7 +611,8 @@ def post(self, request, *args, **kwargs):
authorized_officer_user = get_user_model().objects.filter(
email=provided_email or self.request.user.email,
prp_roles__role=PRP_ROLE_TYPES.ip_authorized_officer,
- email__in=progress_report.programme_document.unicef_officers.values_list('email', flat=True)
+ email__in=progress_report.programme_document
+ .unicef_officers.filter(active=True).values_list('email', flat=True)
).first()
if not authorized_officer_user:
@@ -650,12 +658,13 @@ def post(self, request, *args, **kwargs):
class ProgressReportSRSubmitAPIView(APIView):
"""
A dedicated API endpoint for submitting SR Progress Report.
- Only a partner authorized officer and partner editor can submit a progress report.
+ Only a partner authorized officer, partner admin, and partner editor can submit a progress report.
"""
permission_classes = (
AnyPermission(
IsPartnerAuthorizedOfficerForCurrentWorkspace,
IsPartnerEditorForCurrentWorkspace,
+ IsPartnerAdminForCurrentWorkspace,
),
)
@@ -692,7 +701,7 @@ def post(self, request, *args, **kwargs):
)
# Attachment field validation
- if not progress_report.attachment:
+ if not progress_report.attachments.exists():
raise ValidationError(
"Attachment is required for SR report type"
)
@@ -704,7 +713,8 @@ def post(self, request, *args, **kwargs):
authorized_officer_user = get_user_model().objects.filter(
email=provided_email or self.request.user.email,
prp_roles__role=PRP_ROLE_TYPES.ip_authorized_officer,
- email__in=progress_report.programme_document.partner_focal_point.values_list('email', flat=True)
+ email__in=progress_report.programme_document.unicef_officers
+ .filter(active=True).values_list('email', flat=True)
).first()
if not authorized_officer_user:
@@ -743,6 +753,7 @@ class ProgressReportPullHFDataAPIView(APIView):
AnyPermission(
IsPartnerAuthorizedOfficerForCurrentWorkspace,
IsPartnerEditorForCurrentWorkspace,
+ IsPartnerAdminForCurrentWorkspace,
),
)
@@ -845,7 +856,6 @@ def _calculate_report_location_totals_per_reports(self, indicator_report, hf_rep
# Store location_totals only for each IndicatorLocationData
for ild in target_hf_ilds_by_loc:
- calculated[loc_id]['total']['c'] += ild.disaggregation['()']['c']
calculated[loc_id]['total']['v'] += ild.disaggregation['()']['v']
if indicator_report.reportable.blueprint.unit == IndicatorBlueprint.NUMBER:
@@ -853,6 +863,12 @@ def _calculate_report_location_totals_per_reports(self, indicator_report, hf_rep
else:
calculated[loc_id]['total']['d'] += ild.disaggregation['()']['d']
+
+ calculated[loc_id]['total']['c'] = convert_string_number_to_float(calculated[loc_id]['total']['v']) / calculated[loc_id]['total']['d']
+
+ if calculated[loc_id]['total']['c'] is None:
+ calculated[loc_id]['total']['c'] = 0
+
else:
target_keys = target_hf_ilds_by_loc[0].disaggregation.keys()
@@ -865,7 +881,6 @@ def _calculate_report_location_totals_per_reports(self, indicator_report, hf_rep
if key not in calculated[loc_id]['data']:
calculated[loc_id]['data'][key] = {'c': 0, 'd': 0, 'v': 0}
- calculated[loc_id]['data'][key]['c'] += ild.disaggregation[key]['c']
calculated[loc_id]['data'][key]['v'] += ild.disaggregation[key]['v']
if indicator_report.reportable.blueprint.unit == IndicatorBlueprint.NUMBER:
@@ -874,6 +889,12 @@ def _calculate_report_location_totals_per_reports(self, indicator_report, hf_rep
else:
calculated[loc_id]['data'][key]['d'] += ild.disaggregation[key]['d']
+ calculated[loc_id]['data'][key]['c'] = convert_string_number_to_float(calculated[loc_id]['data'][key]['v']) \
+ / calculated[loc_id]['data'][key]['d']
+
+ if calculated[loc_id]['data'][key]['c'] is None:
+ calculated[loc_id]['data'][key]['c'] = 0
+
return calculated
def get(self, request, *args, **kwargs):
@@ -1092,28 +1113,63 @@ def post(self, request, *args, **kwargs):
return Response(serializer.data, status=statuses.HTTP_200_OK)
+class ProgressReportAttachmentListCreateAPIView(ListCreateAPIView):
+ serializer_class = ProgressReportAttachmentSerializer
+ permission_classes = (
+ AnyPermission(
+ IsUNICEFAPIUser,
+ IsPartnerAuthorizedOfficerForCurrentWorkspace,
+ IsPartnerEditorForCurrentWorkspace,
+ IsPartnerAdminForCurrentWorkspace,
+ ),
+ )
+ parser_classes = (FormParser, MultiPartParser, FileUploadParser)
+
+ def get_queryset(self):
+ return ProgressReportAttachment.objects.filter(
+ progress_report_id=self.kwargs['progress_report_id'],
+ progress_report__programme_document__workspace_id=self.kwargs['workspace_id'],
+ )
+
+ def perform_create(self, serializer):
+ if self.get_queryset().count() == 3:
+ raise ValidationError('This progress report already has 3 attachments')
+
+ if serializer.validated_data['type'] == PR_ATTACHMENT_TYPES.face \
+ and self.get_queryset().filter(type=PR_ATTACHMENT_TYPES.face).count() == 1:
+ raise ValidationError('This progress report already has 1 FACE attachment')
+
+ if serializer.validated_data['type'] == PR_ATTACHMENT_TYPES.other \
+ and self.get_queryset().filter(type=PR_ATTACHMENT_TYPES.other).count() == 2:
+ raise ValidationError('This progress report already has 2 Other attachments')
+
+ serializer.save(progress_report_id=self.kwargs['progress_report_id'])
+
+
class ProgressReportAttachmentAPIView(APIView):
permission_classes = (
AnyPermission(
IsUNICEFAPIUser,
IsPartnerAuthorizedOfficerForCurrentWorkspace,
IsPartnerEditorForCurrentWorkspace,
+ IsPartnerAdminForCurrentWorkspace,
),
)
parser_classes = (FormParser, MultiPartParser, FileUploadParser)
- def get(self, request, workspace_id, progress_report_id):
- progress_report = get_object_or_404(
- ProgressReport,
- id=progress_report_id,
- programme_document__workspace_id=workspace_id
+ def get(self, request, workspace_id, progress_report_id, pk):
+ attachment = get_object_or_404(
+ ProgressReportAttachment,
+ id=pk,
+ progress_report_id=progress_report_id,
+ progress_report__programme_document__workspace_id=workspace_id
)
try:
# lookup just so the possible FileNotFoundError can be triggered
- progress_report.attachment
- serializer = ProgressReportAttachmentSerializer(progress_report)
+ attachment.file
+ serializer = ProgressReportAttachmentSerializer(attachment)
return Response(serializer.data, status=statuses.HTTP_200_OK)
except FileNotFoundError:
pass
@@ -1121,16 +1177,18 @@ def get(self, request, workspace_id, progress_report_id):
return Response({"message": "Attachment does not exist."}, status=statuses.HTTP_404_NOT_FOUND)
@transaction.atomic
- def delete(self, request, workspace_id, progress_report_id):
- pr = get_object_or_404(
- ProgressReport,
- id=progress_report_id,
- programme_document__workspace_id=workspace_id
+ def delete(self, request, workspace_id, progress_report_id, pk):
+ attachment = get_object_or_404(
+ ProgressReportAttachment,
+ id=pk,
+ progress_report_id=progress_report_id,
+ progress_report__programme_document__workspace_id=workspace_id
)
- if pr.attachment:
+ if attachment.file:
try:
- pr.attachment.delete()
+ attachment.file.delete()
+ attachment.delete()
return Response({}, status=statuses.HTTP_204_NO_CONTENT)
except ValueError:
pass
@@ -1138,21 +1196,23 @@ def delete(self, request, workspace_id, progress_report_id):
return Response({"message": "Attachment does not exist."}, status=statuses.HTTP_404_NOT_FOUND)
@transaction.atomic
- def put(self, request, workspace_id, progress_report_id):
- pr = get_object_or_404(
- ProgressReport,
- id=progress_report_id,
- programme_document__workspace_id=workspace_id)
+ def put(self, request, workspace_id, progress_report_id, pk):
+ attachment = get_object_or_404(
+ ProgressReportAttachment,
+ id=pk,
+ progress_report_id=progress_report_id,
+ progress_report__programme_document__workspace_id=workspace_id
+ )
serializer = ProgressReportAttachmentSerializer(
- instance=pr,
+ instance=attachment,
data=request.data
)
serializer.is_valid(raise_exception=True)
- if pr.attachment:
+ if attachment.file:
try:
- pr.attachment.delete()
+ attachment.file.delete()
except ValueError:
pass
@@ -1242,12 +1302,31 @@ class ProgressReportExcelImportView(APIView):
permission_classes = (IsAuthenticated, )
- def post(self, request, *args, **kwargs):
+ def post(self, request, workspace_id, pk):
up_file = request.FILES['file']
filepath = "/tmp/" + up_file.name
destination = open(filepath, 'wb+')
+ tokens = up_file.name[:up_file.name.rfind('.')].split('_')
+ file_report_name = tokens[0].lower()
+ file_ref_num = tokens[1].lower()
+
+ progress_report = get_object_or_404(
+ ProgressReport,
+ id=pk,
+ programme_document__workspace_id=workspace_id,
+ )
+
+ report_name = f"{progress_report.report_type}{progress_report.report_number}".lower()
+ ref_num = progress_report.programme_document.reference_number.split('/')[-1].lower()
+
+ if file_ref_num != ref_num or file_report_name != report_name:
+ raise ValidationError(
+ f"You are trying to upload a template for the wrong report. "
+ f"This template is for {file_report_name.upper()} and you are loading it into {report_name.upper()}."
+ )
+
for chunk in up_file.chunks():
destination.write(chunk)
destination.close()
diff --git a/django_api/django_api/apps/utils/emails.py b/django_api/django_api/apps/utils/emails.py
index 9f677d572..d5e018bcb 100644
--- a/django_api/django_api/apps/utils/emails.py
+++ b/django_api/django_api/apps/utils/emails.py
@@ -1,6 +1,24 @@
+import logging
+
from django.conf import settings
-from django.core.mail import EmailMultiAlternatives
from django.template.loader import get_template
+from post_office.models import EmailTemplate
+from unicef_notification.models import Notification
+
+logger = logging.getLogger(__name__)
+
+
+def scrub_template_path(template_path):
+ """Take full template path and generate a template name
+
+ e.g.
+ 'email/notify_partner_on_calculation_method_change_subject.txt'
+ ->
+ 'notify_partner_on_calculation_method_change_subject'
+ """
+ __, name_ext = template_path.rsplit("/", 1)
+ name, __ = name_ext.split(".", 1)
+ return name
def send_email_from_template(
@@ -11,7 +29,6 @@ def send_email_from_template(
to_email_list=(),
fail_silently=True,
content_subtype='plain',
- **kwargs
):
"""
send_email_from_template simplifies Django's send_email API
@@ -28,12 +45,116 @@ def send_email_from_template(
fail_silently {bool} -- A flag to mute exception if it fails (default: {True})
"""
- message = EmailMultiAlternatives(
- get_template(subject_template_path).render(template_data).strip(),
- get_template(body_template_path).render(template_data),
- from_email,
- to_email_list,
- **kwargs
+ template_name = scrub_template_path(body_template_path)
+ subject_template = get_template(subject_template_path)
+ subject = subject_template.template.source.strip()
+ defaults = {"subject": subject}
+ message = get_template(body_template_path).template.source
+ if content_subtype == "plain":
+ defaults["content"] = message
+ else:
+ defaults["html_content"] = message
+
+ EmailTemplate.objects.update_or_create(
+ name=template_name,
+ defaults=defaults,
+ )
+ notification = Notification(
+ method_type=Notification.TYPE_EMAIL,
+ sender=None,
+ from_address=from_email,
+ recipients=to_email_list,
+ template_name=template_name,
+ template_data=template_data,
+ )
+ notification.full_clean()
+ notification.save()
+ notification.send_notification()
+
+
+def send_due_progress_report_email():
+ """send_due_progress_report_email sends email notifications to
+ UNICEF Authorized Officers and Focal Points about reports due in 1 week.
+ """
+ from datetime import date
+ from dateutil.relativedelta import relativedelta
+ from core.common import PROGRESS_REPORT_STATUS
+ from unicef.models import ProgressReport
+
+ logger.info("Notifying IP due progress reports")
+ notified = list()
+
+ today = date.today()
+ unsubmitted_due_reports = ProgressReport.objects.filter(
+ submission_date__isnull=True,
+ status=PROGRESS_REPORT_STATUS.due,
+ due_date=today + relativedelta(days=7),
+ )
+
+ for progress_report in unsubmitted_due_reports:
+ pd = progress_report.programme_document
+
+ template_data = {
+ 'person': None,
+ 'progress_report': progress_report,
+ 'programme_document': pd,
+ }
+
+ to_emails = set()
+ to_emails |= set(map(lambda person: person, pd.unicef_officers.all()))
+ to_emails |= set(map(lambda person: person, pd.unicef_focal_point.all()))
+
+ for person in to_emails:
+ send_email_from_template(
+ subject_template_path='emails/due_progress_report_subject.txt',
+ body_template_path='emails/due_progress_report.html',
+ template_data=template_data,
+ to_email_list=[person.email, ],
+ content_subtype='html'
+ )
+
+ notified.append(str(progress_report.id))
+
+ return "Sent emails for {} Due Report IDs: {}".format(len(notified), ", ".join(notified)) if notified else "---"
+
+
+def send_overdue_progress_report_email():
+ """send_overdue_progress_report_email sends email notifications to
+ UNICEF Authorized Officers and Focal Points about overdue reports.
+ """
+ from core.common import PROGRESS_REPORT_STATUS
+ from unicef.models import ProgressReport
+
+ logger.info("Notifying IP overdue progress reports")
+ notified = list()
+
+ unsubmitted_overdue_reports = ProgressReport.objects.filter(
+ submission_date__isnull=True,
+ status=PROGRESS_REPORT_STATUS.overdue,
)
- message.content_subtype = content_subtype
- message.send(fail_silently=fail_silently)
+
+ for progress_report in unsubmitted_overdue_reports:
+ pd = progress_report.programme_document
+
+ template_data = {
+ 'person': None,
+ 'progress_report': progress_report,
+ 'programme_document': pd,
+ }
+
+ to_emails = set()
+ to_emails |= set(map(lambda person: person, pd.unicef_officers.all()))
+ to_emails |= set(map(lambda person: person, pd.unicef_focal_point.all()))
+
+ for person in to_emails:
+ send_email_from_template(
+ subject_template_path='emails/overdue_progress_report_subject.txt',
+ body_template_path='emails/overdue_progress_report.html',
+ template_data=template_data,
+ to_email_list=[person.email, ],
+ content_subtype='html'
+ )
+
+ notified.append(str(progress_report.id))
+
+ return "Sent emails for {} Overdue Report IDs: {}".format(len(notified), ", ".join(notified)) if notified else "---"
diff --git a/django_api/django_api/settings/base.py b/django_api/django_api/settings/base.py
index 942af36cb..106cff68a 100644
--- a/django_api/django_api/settings/base.py
+++ b/django_api/django_api/settings/base.py
@@ -39,7 +39,7 @@
if not ENV:
raise Exception('Environment variable ENV is required!')
-DATA_VOLUME = '/data'
+DATA_VOLUME = os.getenv('DATA_VOLUME', '/data')
UPLOADS_DIR_NAME = 'uploads'
MEDIA_URL = '/api/%s/' % UPLOADS_DIR_NAME
@@ -123,6 +123,8 @@
'unicef',
'ocha',
'id_management',
+ 'post_office',
+ 'unicef_notification',
]
MIDDLEWARE_CLASSES = [
@@ -139,13 +141,13 @@
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
-CORS_ORIGIN_WHITELIST = (
+CORS_ORIGIN_WHITELIST = os.getenv('CORS_ORIGIN_WHITELIST', '').replace(' ', '').strip().split(',') or [
'etools.unicef.org',
'etools-demo.unicef.org',
'etools-test.unicef.org',
'etools-staging.unicef.org',
'etools-dev.unicef.org',
-)
+]
ROOT_URLCONF = 'django_api.urls'
@@ -445,7 +447,7 @@
# 'social_core.pipeline.user.get_username',
'core.mixins.get_username',
'social_core.pipeline.social_auth.associate_by_email',
- 'social_core.pipeline.user.create_user',
+ # 'social_core.pipeline.user.create_user',
'social_core.pipeline.social_auth.associate_user',
'social_core.pipeline.social_auth.load_extra_data',
# 'social_core.pipeline.user.user_details',
diff --git a/django_api/django_api/settings/dev.py b/django_api/django_api/settings/dev.py
index ad6b0a396..be0d7f641 100644
--- a/django_api/django_api/settings/dev.py
+++ b/django_api/django_api/settings/dev.py
@@ -36,3 +36,5 @@
)
CORS_ORIGIN_WHITELIST += ('localhost:8082', )
+
+FIXTURE_DIRS += ["fixtures"]
diff --git a/django_api/django_api/templates/emails/due_progress_report.html b/django_api/django_api/templates/emails/due_progress_report.html
new file mode 100644
index 000000000..5a2a54914
--- /dev/null
+++ b/django_api/django_api/templates/emails/due_progress_report.html
@@ -0,0 +1,16 @@
+{% extends 'emails/base.html' %}
+
+{% block content %}
+ Dear {{ person.name }},
+ Please note that the following is due in 1 week:
+
+ Report: {{progress_report.report_type}}{{progress_report.report_number}}
+ Period: {{progress_report.start_date}} - {{progress_report.end_date}}
+ Due Date: {{progress_report.due_date}}
+ Programme Document Ref: {{programme_document.reference_number}}
+ Programme Document Title: {{programme_document.title}}
+
+ Kind regards,
+ UNICEF
+ -- Please note that replies to this email are not monitored and cannot be replied to --
+{% endblock content %}
\ No newline at end of file
diff --git a/django_api/django_api/templates/emails/due_progress_report_subject.txt b/django_api/django_api/templates/emails/due_progress_report_subject.txt
new file mode 100644
index 000000000..14185d055
--- /dev/null
+++ b/django_api/django_api/templates/emails/due_progress_report_subject.txt
@@ -0,0 +1 @@
+[UNICEF Partner Reporting Portal] Due Report
\ No newline at end of file
diff --git a/django_api/django_api/templates/emails/on_progress_report_status_change_accepted.html b/django_api/django_api/templates/emails/on_progress_report_status_change_accepted.html
index f0e6ff5d4..47ba098dc 100644
--- a/django_api/django_api/templates/emails/on_progress_report_status_change_accepted.html
+++ b/django_api/django_api/templates/emails/on_progress_report_status_change_accepted.html
@@ -2,6 +2,17 @@
{% block content %}
Dear {{ person.name }},
- Your progress report {{ pr_url }} for {{ pd_ref_title }}} has been Accepted by UNICEF.
- Best Regards,
+ Please note that the following was accepted by UNICEF:
+
+ Report: {{report.report_type}}{{report.report_number}}
+ Period: {{report.start_date}} - {{report.end_date}}
+ Submission Date: {{report.submission_date}}
+ Due Date: {{report.due_date}}
+ Link to the report: {{ pr_url }}
+ Programme Document Ref: {{pd.reference_number}}
+ Programme Document Title: {{pd.title}}
+
+ Kind regards,
+ UNICEF
+ -- Please note that replies to this email are not monitored and cannot be replied to --
{% endblock content %}
\ No newline at end of file
diff --git a/django_api/django_api/templates/emails/on_progress_report_status_change_sent_back.html b/django_api/django_api/templates/emails/on_progress_report_status_change_sent_back.html
index 44fc32cd3..c368b3a37 100644
--- a/django_api/django_api/templates/emails/on_progress_report_status_change_sent_back.html
+++ b/django_api/django_api/templates/emails/on_progress_report_status_change_sent_back.html
@@ -2,6 +2,19 @@
{% block content %}
Dear {{ person.name }},
- Your progress report {{ pr_url }} for {{ pd_ref_title }}} has been Sent Back for Revision by UNICEF. Please make the necessary changes and resubmit this report.
- Best Regards,
+ Please note that the following was sent back by UNICEF:
+
+ Report: {{report.report_type}}{{report.report_number}}
+ Period: {{report.start_date}} - {{report.end_date}}
+ Submission Date: {{report.submission_date}}
+ Due Date: {{report.due_date}}
+ Link to the report: {{ pr_url }}
+ Programme Document Ref: {{pd.reference_number}}
+ Programme Document Title: {{pd.title}}
+
+ Please log in to the UNICEF Partner Reporting Portal to see the reason and contact details of the person that sent the report back.
+
+ Kind regards,
+ UNICEF
+ -- Please note that replies to this email are not monitored and cannot be replied to --
{% endblock content %}
\ No newline at end of file
diff --git a/django_api/django_api/templates/emails/on_progress_report_status_change_subject.txt b/django_api/django_api/templates/emails/on_progress_report_status_change_subject.txt
index 1230bfb93..58bf8f5b7 100644
--- a/django_api/django_api/templates/emails/on_progress_report_status_change_subject.txt
+++ b/django_api/django_api/templates/emails/on_progress_report_status_change_subject.txt
@@ -1 +1 @@
-[Partner Reporting Portal] Progress Report {{ status }}
\ No newline at end of file
+[UNICEF Partner Reporting Portal] Report {{ status }}
\ No newline at end of file
diff --git a/django_api/django_api/templates/emails/on_progress_report_status_change_submitted.html b/django_api/django_api/templates/emails/on_progress_report_status_change_submitted.html
index c412f5b40..e832e1c6c 100644
--- a/django_api/django_api/templates/emails/on_progress_report_status_change_submitted.html
+++ b/django_api/django_api/templates/emails/on_progress_report_status_change_submitted.html
@@ -2,6 +2,17 @@
{% block content %}
Dear {{ person.name }},
- Your progress report {{ pr_url }} for {{ pd_ref_title }}} has been submitted.
- Best Regards,
+ Please note that the following was submitted to UNICEF:
+
+ Report: {{report.report_type}}{{report.report_number}}
+ Period: {{report.start_date}} - {{report.end_date}}
+ Submission Date: {{report.submission_date}}
+ Due Date: {{report.due_date}}
+ Link to the report: {{ pr_url }}
+ Programme Document Ref: {{pd.reference_number}}
+ Programme Document Title: {{pd.title}}
+
+ Kind regards,
+ UNICEF
+ -- Please note that replies to this email are not monitored and cannot be replied to --
{% endblock content %}
\ No newline at end of file
diff --git a/django_api/django_api/templates/emails/overdue_progress_report.html b/django_api/django_api/templates/emails/overdue_progress_report.html
new file mode 100644
index 000000000..defb18575
--- /dev/null
+++ b/django_api/django_api/templates/emails/overdue_progress_report.html
@@ -0,0 +1,16 @@
+{% extends 'emails/base.html' %}
+
+{% block content %}
+ Dear {{ person.name }},
+ Please note that the following is overdue:
+
+ Report: {{progress_report.report_type}}{{progress_report.report_number}}
+ Period: {{progress_report.start_date}} - {{progress_report.end_date}}
+ Due Date: {{progress_report.due_date}}
+ Programme Document Ref: {{programme_document.reference_number}}
+ Programme Document Title: {{programme_document.title}}
+
+ Kind regards,
+ UNICEF
+ -- Please note that replies to this email are not monitored and cannot be replied to --
+{% endblock content %}
\ No newline at end of file
diff --git a/django_api/django_api/templates/emails/overdue_progress_report_subject.txt b/django_api/django_api/templates/emails/overdue_progress_report_subject.txt
new file mode 100644
index 000000000..ff215a266
--- /dev/null
+++ b/django_api/django_api/templates/emails/overdue_progress_report_subject.txt
@@ -0,0 +1 @@
+[UNICEF Partner Reporting Portal] Overdue Report
\ No newline at end of file
diff --git a/django_api/django_api/uwsgi.ini b/django_api/django_api/uwsgi.ini
index 83586dd0b..97ade3ca3 100644
--- a/django_api/django_api/uwsgi.ini
+++ b/django_api/django_api/uwsgi.ini
@@ -16,7 +16,7 @@ master = true
processes = 2
max-requests = 250
max-requests-delta = 25
-harakiri = 180
+harakiri = 900
listen = 32 # request queue
diff --git a/django_api/requirements/base.txt b/django_api/requirements/base.txt
index a5b31b9bd..2f95a0cad 100644
--- a/django_api/requirements/base.txt
+++ b/django_api/requirements/base.txt
@@ -30,6 +30,7 @@ Babel==2.5.3
pycountry==18.2.23
aiohttp==3.0.8
pyrestcli==0.6.6
+unicef-notification==0.2.1
# Storages
boto3==1.7.0
diff --git a/django_api/requirements/dev.txt b/django_api/requirements/dev.txt
index c8483e532..08e02a82a 100644
--- a/django_api/requirements/dev.txt
+++ b/django_api/requirements/dev.txt
@@ -4,4 +4,7 @@ django-debug-toolbar==1.7
# django-test-without-migrations==0.4
ipdb==0.8.1
-tblib==1.3.2
\ No newline at end of file
+tblib==1.3.2
+
+# test exports
+xlrd==1.2.0
diff --git a/docker-compose.polymer-bundle.yml b/docker-compose.polymer-bundle.yml
index 12bcccef6..92d8019f8 100644
--- a/docker-compose.polymer-bundle.yml
+++ b/docker-compose.polymer-bundle.yml
@@ -1,6 +1,38 @@
version: '2.1'
services:
+ beater-prp:
+ command: bash -c "/usr/local/bin/waitforit -host=db -port=5432 && ./manage.py celery beat --loglevel=${CELERY_LOG_LEVEL:-info}"
+ image: 'unicef/etools-prp'
+ env_file:
+ - .env
+ depends_on:
+ - django_api
+ - redis
+ restart: always
+
+ celerycam-prp:
+ command: bash -c "/usr/local/bin/waitforit -host=db -port=5432 && ./manage.py celerycam"
+ image: 'unicef/etools-prp'
+ env_file:
+ - .env
+ depends_on:
+ - django_api
+ - redis
+ restart: always
+
+ worker-prp:
+ command: bash -c "/usr/local/bin/waitforit -host=db -port=5432 && ./manage.py celery worker -E --loglevel=${CELERY_LOG_LEVEL:-debug}"
+ image: 'unicef/etools-prp'
+ env_file:
+ - .env
+ depends_on:
+ - django_api
+ - redis
+ restart: always
+ volumes:
+ - './django_api:/code/'
+
proxy:
image: unicef/etools-prp-nginx-proxy
environment:
@@ -11,7 +43,7 @@ services:
context: ./nginx_proxy
dockerfile: ./Dockerfile
ports:
- - "8082:80"
+ - "9000:80"
depends_on:
- django_api
- polymer
@@ -49,6 +81,16 @@ services:
build:
context: ./redis
dockerfile: ./Dockerfile
+
+ id-management-frontend:
+ image: unicef/etools-prp-id-management-frontend
+ build:
+ context: ./react/id_management_frontend
+ dockerfile: ./Dockerfile
+ volumes:
+ - ./react/id_management_frontend/:/code
+ - /code/node_modules
+ command: bash -c "npm start"
polymer:
image: unicef/etools-prp-polymer
diff --git a/docs/.gitbook/assets/cluster_indicator_refresh.png b/docs/.gitbook/assets/cluster_indicator_refresh.png
new file mode 100644
index 000000000..5e8b6678d
Binary files /dev/null and b/docs/.gitbook/assets/cluster_indicator_refresh.png differ
diff --git a/docs/.gitbook/assets/cluster_indicator_refresh_modal.png b/docs/.gitbook/assets/cluster_indicator_refresh_modal.png
new file mode 100644
index 000000000..d400bc990
Binary files /dev/null and b/docs/.gitbook/assets/cluster_indicator_refresh_modal.png differ
diff --git a/docs/.gitbook/assets/progress_report_refresh.png b/docs/.gitbook/assets/progress_report_refresh.png
new file mode 100644
index 000000000..ed2b8ac04
Binary files /dev/null and b/docs/.gitbook/assets/progress_report_refresh.png differ
diff --git a/docs/.gitbook/assets/progress_report_refresh_modal.png b/docs/.gitbook/assets/progress_report_refresh_modal.png
new file mode 100644
index 000000000..cf3fa397a
Binary files /dev/null and b/docs/.gitbook/assets/progress_report_refresh_modal.png differ
diff --git a/docs/product-end-user-documentation/cluster-reporting/reporting-on-results.md b/docs/product-end-user-documentation/cluster-reporting/reporting-on-results.md
index 7bf3b13ca..bd86318c8 100644
--- a/docs/product-end-user-documentation/cluster-reporting/reporting-on-results.md
+++ b/docs/product-end-user-documentation/cluster-reporting/reporting-on-results.md
@@ -27,6 +27,15 @@ We will have a data key to specify the labels of the indicators.
Once all the data for all locations has been entered the indicator report can be submitted. Once submitted the indicator report goes under "Submitted Reports" tab, and can be reviewed by the IMO. Once submitted, none of the report data can be modified by anyone. The IMO may send back the report if they would like to see changes or incorrect data was entered, in which case the partner can re-submit after making the appropriate changes.
+### **Refreshing report**
+It is possible that Cluster Indicator may get updated by Cluster IMO for locations which become deactivated over the course of the year period, and generated Cluster Indicator Reports may not reflect such location changes. PRP provides a **"resetting"** mechanism for target Cluster Indicator Report to destroy its location data entries in order to regenerate clean location data entries from current state of Cluster Indicator in PRP system at given time.
+
+![Cluster Indicator Report Refresh button action](../../.gitbook/assets/cluster_indicator_refresh.png)
+
+Upon clicking `Refresh` button, a warning modal will be opened to show possible consequences by refreshing current Cluster Indicator Report. When the user agrees to do so, PRP will perform an irreversible action to delete and regenerate Indicator Location Data based on current state of Cluster Indicator which may have up-to-date location information, pertinent to current reporting purposes.
+
+![Cluster Indicator Report Refresh modal](../../.gitbook/assets/cluster_indicator_refresh_modal.png)
+
### Import / Export of data
Users will be able to export data they see here. Additionally they will be able to export an "import template" which they can then use to import data back into the system.
diff --git a/docs/product-end-user-documentation/ip-reporting/progress-reports/reporting-process.md b/docs/product-end-user-documentation/ip-reporting/progress-reports/reporting-process.md
index 52c34f526..a5b3d27c8 100644
--- a/docs/product-end-user-documentation/ip-reporting/progress-reports/reporting-process.md
+++ b/docs/product-end-user-documentation/ip-reporting/progress-reports/reporting-process.md
@@ -18,6 +18,15 @@ Once a final report has been generated, no change to the PD reporting periods sh
**Edge case** \(to be handled in a future release\): Super-users in PMP can make changes that might not be in alignment with above restrictions. If that were to happen then a manual administrative data fix might be required on the PRP side as well.
+### **Refreshing report**
+It is possible that Programme Document may get updated for locations which become deactivated over the course of the program period, and generated Progress Reports may not reflect such location changes. PRP provides a **"resetting"** mechanism for target Progress Report to destroy its Indicator Reports along with their location data entries in order to regenerate the Indicator Reports from current state of Programme Document in PRP system at given time.
+
+![Progress Report Refresh button action](../../.gitbook/assets/progress_report_refresh.png)
+
+Upon clicking `Refresh` button, a warning modal will be opened to show possible consequences by refreshing current Progress Report. When the user agrees to do so, PRP will perform an irreversible action to delete and regenerate Indicator Reports based on current state of Programme Document which may have up-to-date location information, pertinent to current reporting purposes.
+
+![Progress Report Refresh modal](../../.gitbook/assets/progress_report_refresh_modal.png)
+
### **Acceptance of a report**
The UNICEF PO is responsible for acceptance of a progress reports that are submitted \(There is no workflow following the submission by the IP to UNICEF and Cluster\). This happens in the PMP system. The PO can also **send the report back with a note**, in which case the partner should get an email informing them that should review the note and re-submit the report \(data in the report becomes editable once its been sent back\). In that case the partner can log back in, make any changes recommended \(edit data and upload attachment \#[947](https://github.com/unicef/etools-partner-reporting-portal/issues/947)\) and resubmit the report back to UNICEF.
diff --git a/fabfile.py b/fabfile.py
index dfc5b6995..fbacab3e1 100644
--- a/fabfile.py
+++ b/fabfile.py
@@ -5,9 +5,9 @@
def ssh(service):
"""
ssh into running service container
- :param service: ['django_api', 'polymer', 'proxy', 'db']
+ :param service: ['django_api', 'polymer', 'proxy', 'db', 'id-management-frontend']
"""
- assert service in ['django_api', 'polymer', 'proxy', 'db'], "%s is unrecognized service"
+ assert service in ['django_api', 'polymer', 'proxy', 'db', 'id-management-frontend'], "%s is unrecognized service"
if service == 'polymer':
local('docker-compose exec polymer ash')
else:
@@ -43,9 +43,9 @@ def up_with_bundle(rebuild=True):
def restart(service):
"""
restart a service container
- :param service: ['django_api', 'polymer', 'proxy', 'db']
+ :param service: ['django_api', 'polymer', 'proxy', 'db', 'id-management-frontend']
"""
- assert service in ['django_api', 'polymer', 'proxy', 'db', 'beater-prp', 'worker-prp'], "%s is unrecognized service"
+ assert service in ['django_api', 'polymer', 'proxy', 'db', 'beater-prp', 'worker-prp', 'id-management-frontend'], "%s is unrecognized service"
local('docker-compose restart %s' % service)
@@ -61,7 +61,7 @@ def rebuild(service):
Re-build docker images for containers.
"""
if service:
- assert service in ['django_api', 'polymer', 'proxy', 'db'], "%s is unrecognized service"
+ assert service in ['django_api', 'polymer', 'proxy', 'db', 'id-management-frontend'], "%s is unrecognized service"
local('docker-compose build %s' % service if service else '')
@@ -88,7 +88,7 @@ def stop(service):
local('docker-compose stop')
elif service:
- assert service in ['django_api', 'polymer', 'proxy', 'db'], "%s is unrecognized service"
+ assert service in ['django_api', 'polymer', 'proxy', 'db', 'id-management-frontend'], "%s is unrecognized service"
local('docker-compose stop %s' % service)
diff --git a/polymer/.gitignore b/polymer/.gitignore
index 1da2b01f3..56c3a9295 100644
--- a/polymer/.gitignore
+++ b/polymer/.gitignore
@@ -7,3 +7,6 @@ yarn-error.log
.idea
*.sublime-project
*.sublime-workspace
+debug/*
+.coverdata
+.coverrun
\ No newline at end of file
diff --git a/polymer/.jshintrc b/polymer/.jshintrc
index b9d746457..e321af0ea 100755
--- a/polymer/.jshintrc
+++ b/polymer/.jshintrc
@@ -1,5 +1,6 @@
{
"node": true,
+ "esversion": 6,
"browser": true,
"bitwise": true,
"camelcase": false,
@@ -28,6 +29,26 @@
"fixture": true,
"assert": true,
"moment": true,
- "numeral": true
+ "numeral": true,
+ "AuthorizedOfficerModalUtils": true,
+ "IndicatorDetailsUtils": true,
+ "IndicatorsToolbarUtils": true,
+ "PartnerDetailsUtils": true,
+ "PdDetailsOverviewUtils": true,
+ "PdDetailsCalculationMethodsUtils": true,
+ "PdDetailsDocDownloadUtils": true,
+ "PdDetailsReportingRequirementsUtils": true,
+ "PdDetailsReportsUtils": true,
+ "PdListToolbarUtils": true,
+ "PdOutputListToolbarUtils": true,
+ "PdOutputListUtils": true,
+ "PdOutputUtils": true,
+ "PdReportInfoUtils": true,
+ "PdReportsToolbarUtils": true,
+ "PdReportsListUtils": true,
+ "PdReportsReportTitleUtils": true,
+ "ProgressReportsToolbarUtils": true,
+ "ReportAttachmentsUtils": true,
+ "ProgressReportsListUtils": true
}
}
diff --git a/polymer/Dockerfile b/polymer/Dockerfile
index d3eae3326..735276de9 100644
--- a/polymer/Dockerfile
+++ b/polymer/Dockerfile
@@ -1,4 +1,4 @@
-FROM mhart/alpine-node:7.8.0
+FROM mhart/alpine-node:11.13.0
RUN apk update
RUN apk --update --no-cache \
@@ -18,7 +18,7 @@ RUN apk --update --no-cache \
libjpeg-turbo \
libjpeg-turbo-dev
-RUN npm install -g bower polymer-cli gulp-cli
+RUN npm install -g bower polymer-cli gulp-cli --unsafe-perm
ADD bower.json /tmp/
ADD package.json /tmp/
diff --git a/polymer/Dockerfile-bundle b/polymer/Dockerfile-bundle
index 4e926108b..0b6db6f62 100644
--- a/polymer/Dockerfile-bundle
+++ b/polymer/Dockerfile-bundle
@@ -1,4 +1,4 @@
-FROM mhart/alpine-node:7.8.0
+FROM mhart/alpine-node:11.13.0
RUN apk update
RUN apk --update --no-cache \
@@ -18,7 +18,7 @@ RUN apk --update --no-cache \
libjpeg-turbo \
libjpeg-turbo-dev
-RUN npm install -g bower polymer-cli gulp-cli
+RUN npm install -g bower@~1.7.0 polymer-cli gulp-cli --unsafe-perm
ADD bower.json /tmp/
ADD package.json /tmp/
diff --git a/polymer/codefresh_polymer.yml b/polymer/codefresh_polymer.yml
index 17c066e50..1f488fb0a 100644
--- a/polymer/codefresh_polymer.yml
+++ b/polymer/codefresh_polymer.yml
@@ -9,6 +9,14 @@ steps:
working_directory: ${{main_clone}}/polymer
tag: ${{CF_BRANCH}}
+ composition_step:
+ type: composition
+ composition: 'unicef-prp-unit-tests'
+ composition_candidates:
+ test:
+ image: ${{build_polymer}}
+ command: ash -c "npm run test"
+
push_to_hub:
type: push
title: Pushing polymer image to docker hub
diff --git a/polymer/gulpfile.js b/polymer/gulpfile.js
index d6f91e5ce..f72b70e00 100644
--- a/polymer/gulpfile.js
+++ b/polymer/gulpfile.js
@@ -16,14 +16,15 @@ const gulpif = require('gulp-if');
const gutil = require('gulp-util');
const fancylog = require('fancy-log');
const argv = require('yargs').argv;
+const jasmine = require('gulp-jasmine');
+const cover = require('gulp-coverage');
// Got problems? Try logging 'em
// use -l to activate plylogs
if (argv.l) {
const logging = require('plylog');
logging.setVerbose();
-}
-
+};
// !!! IMPORTANT !!! //
// Keep the global.config above any of the gulp-tasks that depend on it
@@ -51,7 +52,7 @@ global.config = {
navigateFallback: '/index.html',
navigateFallbackWhitelist: [
/^\/app\//,
- /^\/login\//,
+ /^\/landing\//,
/^\/unauthorized\//,
/^\/not-found\//,
],
@@ -75,7 +76,6 @@ const html = require('./gulp-tasks/html.js'); //Any processing on html
const css = require('./gulp-tasks/css.js'); //Any processing on css
const project = require('./gulp-tasks/project.js');
-
// Log task end messages
var log = function(message) {
return function() {
@@ -118,6 +118,23 @@ function dependencies() {
.pipe(project.rejoin());
}
+// Run tests!
+gulp.task('specs', function() {
+ return gulp.src('test/unit/*.js')
+ .pipe(cover.instrument({
+ pattern: ['src/*/*/js/*.js']
+ }))
+ // gulp-jasmine works on filepaths so you can't have any plugins before it
+ .pipe(jasmine())
+ .pipe(cover.gather())
+ .pipe(cover.format())
+ .pipe(gulp.dest('test/reports'));
+});
+
+gulp.task('watch', function() {
+ gulp.watch('test/unit/**.js', {ignoreInitial: false}, gulp.series('specs'));
+});
+
// Clean the build directory, split all source and dependency files into streams
// and process them, and output bundled and unbundled versions of the project
// with their own service workers
@@ -131,7 +148,6 @@ gulp.task('default', gulp.series([
project.serviceWorker
]));
-
// DO NOT RUN
// Fully builds project
// Minifying, linting, and building into eTools
diff --git a/polymer/index.html b/polymer/index.html
index 0974df9b4..d4ec07010 100644
--- a/polymer/index.html
+++ b/polymer/index.html
@@ -20,7 +20,7 @@
-
+
@@ -46,8 +46,9 @@
-
+
+
-
+
+ responsePlanID: {
+ type: String,
+ statePath: 'responsePlans.currentID',
+ },
+
+ projects: {
+ type: Object,
+ value: {}
+ },
+ },
+
+ _openModal: function () {
+ this.$$('#modal').open();
+ },
+
+ listeners: {
+ 'page-number-changed': '_tableContentChanged',
+ 'details-opened-changed': '_detailsChange'
+ },
+
+ _detailUrl: function(activity, query) {
+ var path = '/response-parameters/partners/activity/' + activity.id;
+ if (this.page === 'planned-action') {
+ path = '/planned-action/activity/' + activity.id;
+ }
+ //Query string is passed to construct the back button.
+ return this.buildUrl(this._baseUrlCluster, path) + '?' + query;
+ },
+
+ _getProjects: function () {
+ if (Object.keys(this.projects).length !== 0) {
+ return;
+ }
+
+ var self = this;
+ var projectsThunk = this.$.projects.thunk();
+
+ this.set('projectsUrl', App.Endpoints.plannedActions(this.responsePlanID));
+
+ projectsThunk()
+ .then(function (res) {
+ var allProjects = {};
+ res.data.results.forEach(function (project) {
+ allProjects[project.id] = project;
+ });
+
+ self.set('projects', allProjects);
+ });
+ },
+
+ _getTitle: function (projectId) {
+ if (this.projects[projectId] === undefined) {
+ return;
+ }
+ return this.projects[projectId].title;
+ },
+
+ attached: function () {
+ this._getProjects();
+ },
+
+ detached: function () {
+ this.openedDetails.length = 0;
+ },
+ });
+
+
diff --git a/polymer/src/elements/cluster-reporting/analysis/current-progress-by-project.html b/polymer/src/elements/cluster-reporting/analysis/current-progress-by-project.html
new file mode 100644
index 000000000..e5bab2e9e
--- /dev/null
+++ b/polymer/src/elements/cluster-reporting/analysis/current-progress-by-project.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/polymer/src/elements/cluster-reporting/analysis/indicator-bucket.html b/polymer/src/elements/cluster-reporting/analysis/indicator-bucket.html
index 95e4aa7be..2629ba635 100644
--- a/polymer/src/elements/cluster-reporting/analysis/indicator-bucket.html
+++ b/polymer/src/elements/cluster-reporting/analysis/indicator-bucket.html
@@ -97,7 +97,7 @@
Cluster Objective:
- [[data.co_title]]
+ [[_computeTitle(data)]]
[[indicator.title]]
this.$$('#collapse-' + e.target.toggles).toggle();
},
+ _computeTitle: function (data) {
+ return data.cluster_objective_title === undefined ? data.title : data.cluster_objective_title;
+ },
+
_computePrefix: function (data) {
var prefix = {
partneractivity: 'Partner Activity',
diff --git a/polymer/src/elements/cluster-reporting/analysis/indicator-details.html b/polymer/src/elements/cluster-reporting/analysis/indicator-details.html
index 22c0b4909..2bba1f4f4 100644
--- a/polymer/src/elements/cluster-reporting/analysis/indicator-details.html
+++ b/polymer/src/elements/cluster-reporting/analysis/indicator-details.html
@@ -14,6 +14,7 @@
+
@@ -221,6 +222,20 @@
data="[[data.current_progress_by_location]]">
+
+
+
+
+
+
+
+
+
diff --git a/polymer/src/elements/cluster-reporting/analysis/indicators-filters.html b/polymer/src/elements/cluster-reporting/analysis/indicators-filters.html
index 059a247a9..6e75e56da 100644
--- a/polymer/src/elements/cluster-reporting/analysis/indicators-filters.html
+++ b/polymer/src/elements/cluster-reporting/analysis/indicators-filters.html
@@ -7,6 +7,7 @@
+
@@ -18,6 +19,11 @@
--app-grid-columns: 4;
--app-grid-item-height: auto;
+ --app-grid-expandible-item-columns: 3;
+ }
+
+ .filter-3-col {
+ @apply --app-grid-expandible-item;
}
@@ -39,6 +45,15 @@
class="item"
value="[[_withDefault(queryParams.indicator_type, '')]]">
+
+
+
+
+
@@ -59,6 +74,10 @@
notify: true,
},
},
+
+ _correctIndicatorType: function (indicatorType) {
+ return indicatorType === 'partner_activity' || indicatorType === 'partner_project';
+ },
});
diff --git a/polymer/src/elements/cluster-reporting/analysis/operational-presence-map.html b/polymer/src/elements/cluster-reporting/analysis/operational-presence-map.html
index aa0d92088..e6880bbc5 100644
--- a/polymer/src/elements/cluster-reporting/analysis/operational-presence-map.html
+++ b/polymer/src/elements/cluster-reporting/analysis/operational-presence-map.html
@@ -336,7 +336,7 @@ Number of partners:
style.innerHTML = this.mapStyles;
- this.$$('leaflet-map').shadowRoot.appendChild(style);
+ this.$$('leaflet-map').appendChild(style);
});
});
},
diff --git a/polymer/src/elements/cluster-reporting/app-header.html b/polymer/src/elements/cluster-reporting/app-header.html
index f07fb37a9..a83750624 100644
--- a/polymer/src/elements/cluster-reporting/app-header.html
+++ b/polymer/src/elements/cluster-reporting/app-header.html
@@ -7,7 +7,9 @@
+
+
@@ -54,9 +56,13 @@
@apply(--layout-vertical);
@apply(--layout-center-center);
}
-
+
+
+
@@ -74,6 +80,10 @@
+
+
[[data.indicator_name]]
+ allow-no-status
+ is-cluster>
+
+
+
+
+
+
diff --git a/polymer/src/elements/cluster-reporting/indicator-editing-modal.html b/polymer/src/elements/cluster-reporting/indicator-editing-modal.html
index 1c7a04e11..9df302fb3 100644
--- a/polymer/src/elements/cluster-reporting/indicator-editing-modal.html
+++ b/polymer/src/elements/cluster-reporting/indicator-editing-modal.html
@@ -547,10 +547,33 @@ Edit Indicator
_save: function () {
var self = this;
+ var noLocationSet = false;
+ var rawLocations = this.get('data.locations');
+
+ var changedLocations = rawLocations.map(function (location) {
+ if (location.location !== undefined && location.location.id !== undefined) {
+ var id = location.location.id;
+ location.location = id;
+ return location;
+ } else if (location.loc_type !== undefined && location.location === undefined) {
+ self.set('errors', 'No location set - please set a location.');
+ noLocationSet = true;
+ return location;
+ } else {
+ return location;
+ }
+ });
+
+ if (noLocationSet === true) {
+ return;
+ }
+
if (!this._fieldsAreValid()) {
return;
}
+ this.set('data.locations', changedLocations);
+
this.set('updatePending', true);
if (this.data.frequency !== 'Csd') {
@@ -568,6 +591,7 @@ Edit Indicator
})
.catch(function (err) {
self.set('errors', err.data);
+ self.set('data.locations', rawLocations);
self.set('updatePending', false);
});
},
diff --git a/polymer/src/elements/cluster-reporting/indicator-locations-modal.html b/polymer/src/elements/cluster-reporting/indicator-locations-modal.html
index 1ce43ce9c..7f60fd949 100644
--- a/polymer/src/elements/cluster-reporting/indicator-locations-modal.html
+++ b/polymer/src/elements/cluster-reporting/indicator-locations-modal.html
@@ -142,16 +142,16 @@ Location settings for indicator
is="dom-if"
if="[[_equals(data.blueprint.display_type, 'number')]]"
restamp="true">
- [[[_withDefault(data.label)]]]
+ [[_withDefault(data.label)]]
- [[[_withDefault(data.numerator_label)]]]
+ [[_withDefault(data.numerator_label)]]
/
- [[[_withDefault(data.denominator_label)]]]
+ [[_withDefault(data.denominator_label)]]
@@ -303,7 +303,7 @@ Location settings for indicator
},
_getLocationName: function (locationId, locations) {
- var location = locations.find(function (loc) {
+ var location = locations.results.find(function (loc) {
return String(loc.id) === String(locationId);
});
diff --git a/polymer/src/elements/cluster-reporting/indicator-locations-widget.html b/polymer/src/elements/cluster-reporting/indicator-locations-widget.html
index 5484a391b..07de0dc4e 100644
--- a/polymer/src/elements/cluster-reporting/indicator-locations-widget.html
+++ b/polymer/src/elements/cluster-reporting/indicator-locations-widget.html
@@ -4,8 +4,8 @@
-
+
@@ -32,6 +32,9 @@
--app-grid-gutter: 24px;
--app-grid-item-height: auto;
--app-grid-expandible-item-columns: 2;
+ --esmm-list-wrapper: {
+ height: 350px;
+ };
}
.app-grid {
@@ -108,6 +111,10 @@
+
+
+
Locations ([[value.length]])
- Admin [[item.loc_type]]
+ Admin [[_getLocationAdminLevel(item)]]
@@ -191,6 +198,7 @@ Locations ([[value.length]])
option-value="id"
option-label="title"
selected="{{item.loc_type}}"
+ data-index$="[[index]]"
on-selected-changed="_onLocTypeChanged"
required>
@@ -203,7 +211,7 @@ Locations ([[value.length]])
- [[_getLocationTitle(locations, item.loc_type, item.location)]]
+ [[_getLocationTitle(locations, item, item.id, index)]]
@@ -214,50 +222,56 @@ Locations ([[value.length]])
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -286,8 +300,10 @@ Locations ([[value.length]])
parentIndicatorId: Number,
clusterId: Number,
locations: Object,
+ savedLocations: Object,
pending: Object,
isPai: Boolean,
+ searchLocationType: String,
editing: {
type: Boolean,
@@ -304,6 +320,10 @@ Locations ([[value.length]])
computed: '_computeIsNumber(indicatorType)',
},
+ url: {
+ type: String,
+ },
+
value: {
type: Array,
notify: true,
@@ -321,6 +341,11 @@ Locations ([[value.length]])
value: false,
},
+ locationsInitialized: {
+ type: Boolean,
+ value: false
+ },
+
maxAdminLevel: {
type: Number,
value: App.Settings.cluster.maxLocType,
@@ -341,6 +366,11 @@ Locations ([[value.length]])
computed: '_computeLocationsUrl(responsePlanId)',
},
+ locationTitle: {
+ type: String,
+ value: '',
+ },
+
ajaxData: {
type: Array,
computed: '_computeAjaxData(maxAdminLevel)',
@@ -357,6 +387,49 @@ Locations ([[value.length]])
},
},
+ _onValueChanged: function (event) { // This method runs whenever user begins searching in locations dropdown
+ var loc_type = this.get('searchLocationType') || 0;
+ var index = -1;
+
+ if (event.detail.value === '') {
+ return;
+ }
+
+ event.path.forEach(function (node) {
+ if (node.nodeName === 'ETOOLS-SINGLE-SELECTION-MENU') {
+ index = node.dataset.index; // Grab index of current location widget component
+ return;
+ }
+ });
+
+ if (loc_type === 0 && index === undefined) {
+ index = 0;
+ }
+
+ this.debounce('fetch-locations-' + loc_type, function() {
+ var self = this;
+
+ var thunk = self.$.search;
+ thunk.url = self.get('url');
+
+ thunk.params = {
+ loc_type: loc_type,
+ title: event.detail.value
+ };
+
+ thunk.thunk()()
+ .then(function(res) {
+ self._setPending(loc_type, false, index);
+ self._setLocations(loc_type, res.data.results, index);
+ })
+ .catch(function (err) {
+ console.log(err);
+ self._setPending(loc_type, false, index);
+ });
+ return;
+ }, 1000);
+ },
+
_computeIsNumber: function (type) {
return type === 'number';
},
@@ -420,14 +493,44 @@ Locations ([[value.length]])
loc_type: initial,
});
- this._fetchLocations(initial);
+ this.set('searchLocationType', 0);
+ this.set('locationsInitialized', true);
+
+ var newLocations = this.get('locations');
+ var value = this.get('value');
+
+ value.forEach(function (location, index) {
+ if (location.location === undefined && newLocations[index] === undefined) {
+ newLocations[index] = {0: []};
+ }
+ });
+
+ this.set('locations', newLocations);
+
+ var newPendingIndex = Object.keys(this.get('pending')).length;
+ var pending = this.get('pending');
+
+ pending[newPendingIndex] = {
+ initial: false
+ };
+
+ this.set('pending', pending);
+
+ this._fetchLocations(initial, undefined, this.get('value').length - 1);
},
_remove: function (e) {
var value = this.get('value');
var toRemove = +e.target.dataset.index;
+ var pending = this.get('pending');
+ var locations = this.get('locations');
+
+ delete locations[toRemove];
+ delete pending[toRemove];
+
var newValue = value.slice(0, toRemove).concat(value.slice(toRemove + 1));
+ this.set('pending', pending);
this.set('value', newValue);
},
@@ -435,67 +538,118 @@ Locations ([[value.length]])
e.target.validate();
},
- _onLocTypeChanged: function (_, data) {
- this._fetchLocations(data.value);
+ _onLocTypeChanged: function (event, data) {
+ var index = -1;
+
+ event.path.forEach(function (node) {
+ if (node.nodeName === 'ETOOLS-SINGLE-SELECTION-MENU') {
+ index = node.dataset.index;
+ return;
+ }
+ });
+
+ if (index === -1) {
+ return;
+ }
+
+ this._fetchLocations(data.value, undefined, index);
},
- _fetchLocations: function (loc_type) {
- if (this.get('locations')[loc_type]) {
+ _fetchLocations: function (loc_type, title, index) {
+ if (loc_type === undefined) {
return;
}
+ this.set('searchLocationType', loc_type);
+
this.debounce('fetch-locations-' + loc_type, function () {
var self = this;
- this._setPending(loc_type, true);
+ this._setPending(loc_type, true, index);
+
+ if (title !== undefined) {
+ this.$$('#locations' + loc_type).params.title = title;
+ }
this.$$('#locations' + loc_type).thunk()()
- .then(function (res) {
- self._setPending(loc_type, false);
- self._setLocations(loc_type, res.data);
- })
- .catch(function () {
- self._setPending(loc_type, false);
- });
- }, 100);
+ .then(function (res) {
+ self.set('url', res.xhr.responseURL);
+ self._setPending(loc_type, false, index);
+ self._setLocations(loc_type, res.data.results, index);
+ })
+ .catch(function () {
+ self._setPending(loc_type, false, index);
+ });
+ });
},
_fetchInitialLocations: function (lockedItems) {
- lockedItems.forEach(function (item) {
- this._fetchLocations(item.loc_type);
- }, this);
+ this.set('savedLocations', lockedItems);
+
+ var newLocations = Object.assign({}, this.get('locations'));
+
+ if (lockedItems.length > 0) {
+ lockedItems.forEach(function (location, index) {
+ if (location.admin_level === undefined) {
+ newLocations[index] = {};
+ newLocations[index][location.loc_type] = [location];
+ } else {
+ newLocations[index] = {};
+ newLocations[index][location.admin_level] = [location];
+ }
+ });
+ } else {
+ lockedItems.forEach(function (location, index) {
+ newLocations[index] = {0: []};
+ });
+ }
+
+ this.set('locations', newLocations);
+ },
+
+ _getPending: function (pending, loc_type, index) {
+ return !!pending[index][loc_type];
},
- _getPending: function (pending, loc_type) {
- return !!pending[loc_type];
+ _getLocations: function (locations, loc_type, index) {
+ return locations[index][loc_type] || [];
},
- _getLocations: function (locations, loc_type) {
- return locations[loc_type] || [];
+ _getLocationAdminLevel: function (location) {
+ return location.loc_type ? location.loc_type : location.admin_level;
},
- _getLocationTitle: function (locations, loc_type, locationId) {
- var allLocations = this._getLocations(locations, loc_type);
+ _getLocationTitle: function (locations, location, locationId, index) {
+ var loc_type = location.loc_type ? location.loc_type : location.admin_level;
+ var allLocations = this._getLocations(locations, loc_type, index);
- var location = allLocations.find(function (loc) {
+ var targetLocation = allLocations.find(function (loc) {
return String(loc.id) === String(locationId);
});
- return location ? location.title : '';
+ return targetLocation ? targetLocation.title : '';
},
- _setPending: function (loc_type, value) {
+ _setPending: function (loc_type, value, index) {
var newPending = Object.assign({}, this.get('pending'));
- newPending[loc_type] = value;
+ if (newPending[index] === undefined) {
+ newPending[index] = {};
+ }
+
+ newPending[index][loc_type] = value;
this.set('pending', newPending);
},
- _setLocations: function (loc_type, value) {
+ _setLocations: function (loc_type, value, index) {
var newLocations = Object.assign({}, this.get('locations'));
- newLocations[loc_type] = value;
+ if (newLocations[index] === undefined) {
+ newLocations[index] = {};
+ }
+
+ newLocations[index][loc_type] = value;
this.set('locations', newLocations);
},
diff --git a/polymer/src/elements/cluster-reporting/indicator-modal.html b/polymer/src/elements/cluster-reporting/indicator-modal.html
index 645336677..cf2055e3f 100644
--- a/polymer/src/elements/cluster-reporting/indicator-modal.html
+++ b/polymer/src/elements/cluster-reporting/indicator-modal.html
@@ -29,6 +29,7 @@
+
@@ -36,10 +37,10 @@
:host {
display: block;
- --app-grid-columns: 3;
+ --app-grid-columns: 2;
--app-grid-gutter: 24px;
--app-grid-item-height: auto;
- --app-grid-expandible-item-columns: 3;
+ --app-grid-expandible-item-columns: 2;
--paper-dialog: {
width: 800px;
@@ -56,17 +57,49 @@
.full-width {
@apply --app-grid-expandible-item;
+ padding-top: 12px;
}
.app-grid {
padding-top: 0;
- margin: 0 -var(--app-grid-gutter);
+ }
+
+ .double {
+ padding-left: 0;
+ justify-content: space-between;
+ }
+
+ .title {
+ padding-top: 0;
+ }
+
+ .pair {
+ margin-right: 0;
+ }
+
+ .app-grid-triple {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ flex-direction: row;
+ }
+
+ .app-grid-triple .item {
+ width: 210px;
}
.item {
margin-bottom: 0;
}
+ #mode {
+ padding-top: 24px;
+ }
+
+ #custom-form-only {
+ padding-top: 20px;
+ }
+
.calculation-method:not(:first-child) {
margin-left: 50px;
}
@@ -80,12 +113,20 @@
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -116,200 +177,582 @@ [[modalTitle]]
restamp="true">
-
-
-
-
-
- Quantity (#)
- Percent
- Ratio
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Adopt from Cluster Objective
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Custom
+
+
+
+
-
+
+
+
+
+
+ Quantity (#)
+ Percent
+ Ratio
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ Quantity (#)
+ Percent
+ Ratio
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -322,7 +765,7 @@ [[modalTitle]]
+ on-tap="_close">
Cancel
@@ -344,6 +787,8 @@ [[modalTitle]]
properties: {
data: Object,
objectId: Number,
+ activityData: Object,
+ projectData: Object,
objectType: String,
modalTitle: String,
@@ -352,6 +797,11 @@ [[modalTitle]]
computed: '_computeIsNumber(data.blueprint.display_type)',
},
+ mode: {
+ type: String,
+ observer: '_setDefaults',
+ },
+
responsePlanId: {
type: String,
statePath: 'responsePlans.currentID',
@@ -364,7 +814,88 @@ [[modalTitle]]
indicatorsUrl: {
type: String,
- value: App.Endpoints.clusterIndicators(),
+ value: '',
+ },
+
+ indicatorsListUrl: {
+ type: String,
+ value: App.Endpoints.indicators('co') + '/',
+ },
+
+ indicatorsListParams: {
+ type: Object,
+ value: {},
+ },
+
+ activitiesUrl: String,
+
+ activitiesParams: {
+ type: Object,
+ value: {
+ page_size: 99999,
+ },
+ },
+
+ activities: {
+ type: Array,
+ value: [],
+ },
+
+ selectedActivity: {
+ type: String,
+ value: '',
+ },
+
+ clusters: {
+ format: Array,
+ value: [],
+ },
+
+ selectedCluster: {
+ type: String,
+ value: '',
+ },
+
+ objectives: {
+ type: Array,
+ value: [],
+ },
+
+ selectedObjective: {
+ type: String,
+ value: '',
+ },
+
+ objectivesParams: {
+ type: Object,
+ value: {}
+ },
+
+ indicators: {
+ type: Array,
+ value: [],
+ },
+
+ selectedIndicator: {
+ type: String,
+ value: '',
+ },
+
+ selectedIndicatorDetailType: String,
+
+ objectivesUrl: {
+ type: String,
+ computed: '_computeObjectivesUrl(responsePlanId)',
+ },
+
+ partnerID: {
+ type: String,
+ statePath: 'partner.current.id',
+ },
+
+ prpRoles: {
+ type: Array,
+ statePath: 'userProfile.profile.prp_roles',
},
updatePending: {
@@ -430,11 +961,36 @@ [[modalTitle]]
observers: [
'_setDefaults(opened)',
+ '_isClusterImo(prpRoles)',
'_resetCalculationFormulas(isNumber)',
'_resetFields(isNumber)',
'_updateCSDates(data.start_date_of_reporting_period)',
+ '_saveCluster(selectedCluster)',
+ '_fetchActivities(selectedCluster)',
+ '_fetchObjectivesList(selectedCluster)',
+ '_fetchIndicatorsList(selectedObjective)',
+ '_fetchActivityIndicatorsList(selectedActivity)',
+ '_fetchSelectedIndicatorDetailType(responsePlanId, selectedIndicator)',
],
+ _isClusterImo: function (prpRoles) {
+ var isImo = prpRoles.find(function (role) {
+ return role.role === 'CLUSTER_IMO';
+ });
+
+ if (isImo !== undefined && this.modalTitle === 'Add Cluster Objective Indicator'
+ || isImo !== undefined && this.modalTitle === 'Add Activity Indicator'
+ ) {
+ this.set('mode', 'custom');
+ return true;
+ } else if (isImo !== undefined && this.modalTitle === 'Add Project Indicator') {
+ this.set('imoInPartner', true);
+ return false;
+ } else {
+ return false;
+ }
+ },
+
_computeIsNumber: function (type) {
return type === 'number';
},
@@ -486,20 +1042,45 @@ [[modalTitle]]
return;
}
- this.set('selectedDisaggregations', []);
- this.set('errors', {});
- this.set('data', {
- blueprint: {
- display_type: 'number',
- calculation_formula_across_locations: 'sum',
- calculation_formula_across_periods: 'sum',
- },
- cs_dates: [],
- locations: [],
- disaggregations: [],
- });
+ if (this.mode === undefined) {
+ return;
+ }
- this._fetchDisaggregations();
+ if (this.mode === 'objectives') {
+ this.set('data', {
+ partner_id: this.projectData.partner_id || this.partnerID,
+ partner_project_id: '',
+ cluster_id: '',
+ cluster_objective_id: '',
+ reportable_id: '',
+ locations: [],
+ target: {d: 1},
+ baseline: {d: 1}
+ });
+
+ this.set('indicatorsUrl', App.Endpoints.adoptedClusterIndicators());
+ } else {
+ this.set('selectedDisaggregations', []);
+ this.set('errors', {});
+ this.set('data', {
+ blueprint: {
+ display_type: 'number',
+ calculation_formula_across_locations: 'sum',
+ calculation_formula_across_periods: 'sum',
+ },
+ cs_dates: [],
+ locations: [],
+ disaggregations: [],
+ });
+
+ if (this.mode === 'activity') {
+ this.set('indicatorsListUrl', App.Endpoints.indicators('ca') + '/');
+ }
+
+ this.set('indicatorsUrl', App.Endpoints.clusterIndicators());
+
+ this._fetchDisaggregations();
+ }
},
_validate: function (e) {
@@ -518,6 +1099,10 @@ [[modalTitle]]
return date ? this._normalizeDate(date) : null;
},
+ _computeObjectivesUrl: function (responsePlanId) {
+ return App.Endpoints.responseParametersClusterObjectives(responsePlanId);
+ },
+
_fetchDisaggregations: function() {
var self = this;
@@ -527,6 +1112,165 @@ [[modalTitle]]
});
},
+ _savePartner: function (selectedPartnerId) {
+ this.set('data.partner_id', selectedPartnerId);
+ },
+
+ _saveCluster: function () {
+ if (this.mode === 'objectives') {
+ this.set('data.cluster_id', this.selectedCluster);
+ }
+ },
+
+ _fetchActivities: function (clusterId) {
+ var self = this;
+ if (typeof clusterId === 'undefined' || typeof this.responsePlanId === 'undefined') {
+ return;
+ }
+ this.set('activities', []);
+ this.set('activitiesParams.cluster_id', clusterId);
+ this.set('activitiesUrl',
+ App.Endpoints.responseParametersClusterActivities(this.responsePlanId)
+ + '?cluster_id=' + clusterId);
+ this.$.activities.abort();
+
+ this.$.activities.thunk()()
+ .then(function (res) {
+ self.set('activities', res.data.results);
+ })
+ .catch(function (err) { // jshint ignore:line
+ // TODO: error handling
+ });
+ },
+
+ _fetchActivityIndicatorsList: function (selectedId) {
+ if (selectedId === '') {
+ return;
+ }
+
+ this.set('indicatorsListParams', {object_id: selectedId, page_size: 9999, page: 1});
+
+ this.debounce('fetch-indicators', function () {
+ var self = this;
+
+ this.set('indicators', []);
+
+ this.$.indicatorsList.abort();
+ this.$.indicatorsList.thunk()()
+ .then(function (res) {
+ var simpleIndicatorsList = [];
+
+ res.data.results.forEach(function (indicator) {
+ var simpleIndicator = indicator;
+ simpleIndicator.title = indicator.blueprint.title;
+
+ simpleIndicatorsList.push(simpleIndicator);
+ });
+
+ self.set('indicators', simpleIndicatorsList);
+ self.fire('details-loaded');
+ });
+ });
+ },
+
+ _fetchObjectivesList: function (selectedClusterId) {
+ if (selectedClusterId === '') {
+ return;
+ }
+
+ if (this.mode === 'objectives') {
+ this.set('data.cluster_id', selectedClusterId);
+ this.set('data.partner_project_id', parseInt(this.objectId));
+ }
+
+ this.debounce('fetch-objectives', function () {
+ var self = this;
+
+ this.set('objectives', []);
+ this.set('objectivesParams.cluster_id', selectedClusterId);
+
+ this.$.objectives.abort();
+ this.$.objectives.thunk()()
+ .then(function (res) {
+ self.set('objectives', res.data.results);
+ self.fire('details-loaded');
+ })
+ .catch(function (err) { // jshint ignore:line
+ // TODO: error handling
+ });
+ }, 100);
+ },
+
+ _fetchIndicatorsList: function (selectedObjectiveId) {
+ if (selectedObjectiveId === '') {
+ return;
+ }
+ this.set('data.cluster_objective_id', selectedObjectiveId);
+ this.set('indicatorsListParams', {object_id: selectedObjectiveId});
+
+ this.debounce('fetch-indicators', function () {
+ var self = this;
+
+ this.set('indicators', []);
+
+ this.$.indicatorsList.abort();
+ this.$.indicatorsList.thunk()()
+ .then(function (res) {
+ var simpleIndicatorsList = [];
+
+ res.data.results.forEach(function (indicator) {
+ var simpleIndicator = {};
+ simpleIndicator.id = indicator.id;
+ simpleIndicator.title = indicator.blueprint.title;
+
+ simpleIndicatorsList.push(simpleIndicator);
+ });
+
+ self.set('indicators', simpleIndicatorsList);
+ self.fire('details-loaded');
+ })
+ .catch(function (err) { // jshint ignore:line
+ // TODO: error handling
+ });
+ }, 100);
+ },
+
+ _fetchSelectedIndicatorDetailType: function (responsePlanId, selectedIndicator) {
+ if (selectedIndicator === undefined || selectedIndicator === '') {
+ return;
+ }
+
+ this.debounce('fetch-selected-indicator', function () {
+ var self = this;
+
+ if (this.mode === 'objectives') {
+ this.set('data.reportable_id', selectedIndicator);
+ }
+
+ if (this.mode === 'activity') {
+ var chosenActivityIndicator = this.indicators.find(function (indicator) {
+ return indicator.id === selectedIndicator;
+ });
+
+ this.set('data.blueprint.title', chosenActivityIndicator.title);
+ this.set('data.frequency', chosenActivityIndicator.frequency);
+ this.set('data.label', chosenActivityIndicator.label);
+ this.set('data.start_date_of_reporting_period', chosenActivityIndicator.start_date_of_reporting_period);
+ }
+
+ this.$.indicatorDetail.url = App.Endpoints.analysisIndicator(responsePlanId, selectedIndicator);
+
+ this.$.indicatorDetail.abort();
+ this.$.indicatorDetail.thunk()()
+ .then(function (res) {
+ self.set('selectedIndicatorDetailType', res.data.display_type);
+ })
+ .catch(function (err) { // jshint ignore:line
+ // TODO: error handling
+ });
+ }, 100);
+ },
+
_processData: function (rawData) {
var data = this._clone(rawData);
@@ -559,25 +1303,138 @@ [[modalTitle]]
_save: function () {
var self = this;
+ var noLocationSet = false;
+ var rawLocations = this.get('data.locations');
+
+ var changedLocations = rawLocations.map(function (location) {
+ if (location.location !== undefined && location.location.id !== undefined) {
+ var id = location.location.id;
+ var title = location.location.title;
+ location.location = id;
+ location.title = title;
+ return location;
+ } else if (location.loc_type !== undefined && location.location === undefined) {
+ self.set('errors', 'No location set - please set a location.');
+ noLocationSet = true;
+ return location;
+ } else {
+ return location;
+ }
+ });
+
+ if (noLocationSet === true) {
+ return;
+ }
+
if (!this._fieldsAreValid()) {
return;
}
- this.set('updatePending', true);
- this._setDisaggregations();
- this.$.indicators.body = this._processData(this.data);
-
- this.$.indicators.thunk()()
- .then(function (res) {
- self.fire('indicator-added', res.data);
- self.set('updatePending', false);
- self.set('errors', {});
- self.close();
- })
- .catch(function (err) {
- self.set('errors', err.data);
- self.set('updatePending', false);
+ this.set('data.locations', changedLocations);
+
+ if (this.mode === 'objectives') {
+ this._setDisaggregations();
+
+ var data = this.get('data');
+
+ if (this.selectedIndicatorDetailType === 'percentage') {
+ data.baseline.d = 100;
+ data.target.d = 100;
+
+ data.locations.forEach(function (location) {
+ location.baseline.d = 100;
+ location.target.d = 100;
+ });
+ } else if (this.selectedIndicatorDetailType === 'number') {
+ data.baseline.d = 1;
+ data.target.d = 1;
+
+ data.locations.forEach(function (location) {
+ location.baseline.d = 1;
+ location.target.d = 1;
+ });
+ }
+
+ data.baseline.v = parseInt(data.baseline.v);
+ data.target.v = parseInt(data.target.v);
+
+ data.baseline.d = parseInt(data.baseline.d);
+ data.target.d = parseInt(data.target.d);
+
+ data.baseline.c = data.baseline.v / data.baseline.d;
+ data.target.c = data.target.v / data.target.d;
+
+ data.locations.forEach(function (location) {
+ location.baseline.v = parseInt(location.baseline.v);
+ location.target.v = parseInt(location.target.v);
+
+ location.baseline.d = parseInt(location.baseline.d);
+ location.target.d = parseInt(location.target.d);
+
+ location.baseline.c = location.baseline.v / location.baseline.d;
+ location.target.c = location.target.v / location.target.d;
});
+
+ this.set('data', data);
+
+ this.$.indicators.body = this.data;
+
+ this.$.indicators.thunk()()
+ .then(function (res) {
+ self.fire('indicator-added', res.data);
+ self.set('updatePending', false);
+ self.set('errors', {});
+ self.close();
+ })
+ .catch(function (err) {
+ self.set('errors', err.data);
+ self.set('data.locations', rawLocations);
+ self.set('updatePending', false);
+ });
+ } else {
+ this.set('updatePending', true);
+ this._setDisaggregations();
+ this.$.indicators.body = this._processData(this.data);
+
+ this.$.indicators.thunk()()
+ .then(function (res) {
+ self.fire('indicator-added', res.data);
+ self.set('updatePending', false);
+ self.set('errors', {});
+ self.close();
+ })
+ .catch(function (err) {
+ self.set('errors', err.data);
+ self.set('data.locations', rawLocations);
+ self.set('updatePending', false);
+ });
+ }
+ },
+
+ _close: function (e) {
+ if (e.target.nodeName === 'PAPER-DIALOG' ||
+ e.target.nodeName === 'PAPER-BUTTON' ||
+ e.target.nodeName === 'PAPER-ICON-BUTTON') {
+ this.set('mode', '');
+ this.set('data', {});
+
+ this.set('clusters', []);
+ this.set('selectedCluster', '');
+
+ this.set('objectives', []);
+ this.set('selectedObjective', '');
+
+ this.set('activities', []);
+ this.set('selectedActivity', '');
+
+ this.set('indicators', []);
+ this.set('selectedIndicator', '');
+ this.set('selectedIndicatorDetailType', undefined);
+
+ this.close();
+ } else {
+ return;
+ }
},
});
diff --git a/polymer/src/elements/cluster-reporting/nav.html b/polymer/src/elements/cluster-reporting/nav.html
index 0b655cd54..e1616be42 100644
--- a/polymer/src/elements/cluster-reporting/nav.html
+++ b/polymer/src/elements/cluster-reporting/nav.html
@@ -16,6 +16,8 @@
+
+
diff --git a/polymer/src/elements/cluster-reporting/planned-action/activities/creation-modal.html b/polymer/src/elements/cluster-reporting/planned-action/activities/creation-modal.html
index 37fe9d17e..b169ef807 100644
--- a/polymer/src/elements/cluster-reporting/planned-action/activities/creation-modal.html
+++ b/polymer/src/elements/cluster-reporting/planned-action/activities/creation-modal.html
@@ -51,10 +51,58 @@
};
}
+ .app-grid {
+ margin: 0 -var(--app-grid-gutter);
+ padding-bottom: 24px;
+ }
+
+ .row {
+ margin-bottom: 1em;
+ }
+
+ .remove-btn {
+ width: 34px;
+ height: 34px;
+ color: var(--paper-deep-orange-a700);
+ }
+
+ .fields {
+ margin-left: 24px;
+ }
+
+ .add-project-btn {
+ width: 100px;
+ margin: 0;
+ text-align: start;
+
+ justify-content: flex-start;
+ }
+
+ h3 {
+ font-size: 14px;
+ }
+
+ header.item-wide {
+ background-color: var(--paper-grey-200);
+ padding: 2px 10px;
+ margin: 0 0 1em;
+ height: 24px;
+
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ }
+
.item-wide {
@apply --app-grid-expandible-item;
}
+ .col-actions {
+ width: 40px;
+ margin-right: 24px;
+ border-right: 1px solid var(--paper-grey-400);
+ }
+
paper-radio-group {
display: block;
padding-top: 16px;
@@ -125,13 +173,14 @@
@@ -204,62 +253,110 @@ Add activity
required>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[item.title]]
-
-
-
-
+
+
+
+
+ Projects ([[data.cluster.projects.length]])
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [[item.title]]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add Project
+
+
@@ -319,61 +416,99 @@ Add activity
required>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[item.title]]
-
-
-
-
+
+
+ Projects ([[data.custom.projects.length]])
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [[item.title]]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add Project
+
+
@@ -389,7 +524,7 @@ Add activity
+ on-tap="_close">
Cancel
@@ -527,6 +662,7 @@ Add activity
listeners: {
'mode.selected-changed': 'adjustPosition',
+ 'project-details-selection-refit': 'adjustPosition',
},
observers: [
@@ -535,10 +671,35 @@ Add activity
'_fetchObjectives(data.custom.cluster)',
],
+ _add: function () {
+ if (this.mode === 'cluster') {
+ this.push('data.cluster.projects', {});
+ } else {
+ this.push('data.custom.projects', {});
+ }
+ this.fire('project-details-selection-refit');
+ },
+
+ _remove: function (e) {
+ var currentIndex = +e.target.dataset.index;
+
+ if (this.mode === 'cluster') {
+ this.splice('data.cluster.projects', currentIndex, 1);
+ } else {
+ this.splice('data.custom.projects', currentIndex, 1);
+ }
+
+ this.fire('project-details-selection-refit');
+ },
+
_setDefaults: function () {
this.set('data', {
- cluster: {},
- custom: {},
+ cluster: {
+ projects: []
+ },
+ custom: {
+ projects: []
+ },
});
this.set('activities', []);
this.set('objectives', []);
@@ -547,7 +708,7 @@ Add activity
_onOpenedChanged: function (opened) {
if (opened) {
- this.set('mode', 'cluster');
+ // this.set('mode', 'cluster');
// this.async(function () {
// this.set('mode', 'cluster');
@@ -659,16 +820,35 @@ Add activity
partner: this.partner,
}, this.data[this.mode]);
this.$.activity.thunk()()
- .then(function (res) {
- self.fire('activity-added', res.data);
- self.set('updatePending', false);
- self.set('errors', {});
- self.close();
- })
- .catch(function (err) {
- self.set('errors', err.data);
- self.set('updatePending', false);
- });
+ .then(function (res) {
+ self.fire('activity-added', res.data);
+ self.set('updatePending', false);
+ self.set('errors', {});
+ self._close();
+ })
+ .catch(function (err) {
+ self.set('errors', err.data);
+ self.set('updatePending', false);
+ self.fire('project-details-selection-refit');
+ });
+ },
+
+ _close: function (e) {
+ if (e.target.nodeName === 'PAPER-DIALOG' ||
+ e.target.nodeName === 'PAPER-BUTTON' ||
+ e.target.nodeName === 'PAPER-ICON-BUTTON') {
+ this.set('mode', '');
+ this.set('data', {});
+
+ this.set('objectives', []);
+ this.set('activities', []);
+
+ this.set('errors', {});
+
+ this.close();
+ } else {
+ return;
+ }
},
});
diff --git a/polymer/src/elements/cluster-reporting/planned-action/activities/editing-modal.html b/polymer/src/elements/cluster-reporting/planned-action/activities/editing-modal.html
index 9d92f824a..e7976c74f 100644
--- a/polymer/src/elements/cluster-reporting/planned-action/activities/editing-modal.html
+++ b/polymer/src/elements/cluster-reporting/planned-action/activities/editing-modal.html
@@ -26,6 +26,7 @@
+
@@ -47,10 +48,82 @@
};
}
+ .app-grid {
+ margin: 0 -var(--app-grid-gutter);
+ padding-bottom: 24px;
+ }
+
+ .row {
+ margin-bottom: 1em;
+ }
+
+ .remove-btn {
+ width: 34px;
+ height: 34px;
+ color: var(--paper-deep-orange-a700);
+ }
+
+ .fields {
+ margin-left: 24px;
+ }
+
+ .add-project-btn {
+ width: 100px;
+ margin: 0;
+ text-align: start;
+
+ justify-content: flex-start;
+ }
+
+ h3 {
+ font-size: 14px;
+ }
+
+ header.item-wide {
+ background-color: var(--paper-grey-200);
+ padding: 2px 10px;
+ margin: 0 0 1em;
+ height: 24px;
+
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ }
+
.item-wide {
@apply --app-grid-expandible-item;
}
+ .col-actions {
+ width: 40px;
+ margin-right: 24px;
+ border-right: 1px solid var(--paper-grey-400);
+ }
+
+ paper-radio-group {
+ display: block;
+ padding-top: 16px;
+ }
+
+ paper-radio-group > .fields {
+ padding: calc(var(--app-grid-gutter) / 2) 0;
+ }
+
+ paper-radio-group > .fields[empty] {
+ padding: 0;
+ }
+
+ paper-radio-group .app-grid {
+ margin: -var(--app-grid-gutter);
+ }
+
+ paper-radio-button {
+ margin-left: -12px;
+ }
+
+ paper-dropdown-menu {
+ width: 100%;
+ }
+
+
+
+
+
+
Edit activity
if="[[_equals(mode, 'cluster')]]"
restamp="true">
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ [[item.title]]
+
+
+
+
+
+
+
+
+
+
+
+ Projects ([[data.projects.length]])
+
+
+
+
+
-
-
-
-
- [[item.title]]
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ [[item.title]]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+ Add Project
+
+
+
+
+
+
+
+
+
+
+
+ [[item.title]]
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Projects ([[data.projects.length]])
+
-
-
-
-
-
+ is="dom-repeat"
+ items="{{data.projects}}">
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [[item.title]]
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ [[item.title]]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+ Add Project
+
+
+
@@ -253,6 +483,7 @@
Edit activity
data: Object,
activitiesUrl: String,
+
editData: {
type: Object,
value: {},
@@ -304,6 +535,28 @@
Edit activity
statePath: 'location.id',
},
+ clusters: {
+ type: Array,
+ statePath: 'responsePlans.current.clusters',
+ },
+
+ objectives: {
+ type: Array,
+ value: [],
+ },
+
+ objectivesParams: {
+ type: Object,
+ value: {
+ page_size: 99999,
+ },
+ },
+
+ objectivesUrl: {
+ type: String,
+ computed: '_computeObjectivesUrl(responsePlanId)',
+ },
+
projects: {
type: Array,
value: [],
@@ -332,22 +585,44 @@
Edit activity
},
},
+ listeners: {
+ 'project-details-selection-refit': 'adjustPosition',
+ },
+
observers: [
'_fetchProjects(partnerId)',
+ '_fetchActivities(data.cluster)',
+ '_fetchObjectives(data.cluster)',
],
+ _add: function () {
+ this.push('data.projects', {});
+ this.fire('project-details-selection-refit');
+ },
+
+ _remove: function (e) {
+ var currentIndex = +e.target.dataset.index;
+ this.splice('data.projects', currentIndex, 1);
+ this.fire('project-details-selection-refit');
+ },
+
_setDefaults: function () {
this.set('data', Object.assign({},
{id: this.editData.id,
- status: this.editData.status,
- start_date: this.editData.start_date,
- end_date: this.editData.end_date,
- project: this.editData.project.id}));
+ cluster: this.editData.cluster.id,
+ cluster_activity: null,
+ cluster_objective: this.editData.cluster_objective.id,
+ title: this.editData.title,
+ is_custom: this.editData.is_custom,
+ partner: this.editData.partner,
+ reportables: this.editData.reportables,
+ projects: this.editData.projects}));
if (this.editData.is_custom) {
this.set('data.title', this.editData.title);
+ } else {
+ this.set('data.cluster_activity', this.editData.cluster_activity.id);
}
-
},
open: function () {
@@ -375,6 +650,10 @@
Edit activity
return App.Endpoints.partnerActivityUpdate(responsePlanId, activityId);
},
+ _computeObjectivesUrl: function (responsePlanId) {
+ return App.Endpoints.responseParametersClusterObjectives(responsePlanId);
+ },
+
_computeProjectsUrl: function (responsePlanId) {
return App.Endpoints.plannedActions(responsePlanId);
},
@@ -387,6 +666,48 @@
Edit activity
}
},
+ _fetchActivities: function (clusterId) {
+ var self = this;
+ if (typeof clusterId === 'undefined') {
+ return;
+ }
+ this.set('activities', []);
+ this.set('activitiesParams.cluster_id', clusterId);
+ this.set('activitiesUrl',
+ App.Endpoints.responseParametersClusterActivities(this.responsePlanId)
+ + '?cluster_id=' + clusterId);
+ this.$.activities.abort();
+
+ this.$.activities.thunk()()
+ .then(function (res) {
+ self.set('activities', res.data.results);
+ })
+ .catch(function (err) { // jshint ignore:line
+ // TODO: error handling
+ });
+ },
+
+ _fetchObjectives: function (clusterId) {
+ var self = this;
+
+ if (typeof clusterId === 'undefined') {
+ return;
+ }
+
+ this.set('objectivesParams.cluster_id', clusterId);
+ this.set('objectives', []);
+
+ this.$.objectives.abort();
+
+ this.$.objectives.thunk()()
+ .then(function (res) {
+ self.set('objectives', res.data.results);
+ })
+ .catch(function (err) { // jshint ignore:line
+ // TODO: error handling
+ });
+ },
+
_fetchProjects: function (partnerId) {
var self = this;
diff --git a/polymer/src/elements/cluster-reporting/planned-action/projects/creation-modal.html b/polymer/src/elements/cluster-reporting/planned-action/projects/creation-modal.html
index 7759d1584..d937e1124 100644
--- a/polymer/src/elements/cluster-reporting/planned-action/projects/creation-modal.html
+++ b/polymer/src/elements/cluster-reporting/planned-action/projects/creation-modal.html
@@ -41,6 +41,7 @@
+
@@ -230,12 +231,13 @@
@@ -425,6 +427,23 @@ Fields required
+
+
+
+
+
+
+
+
Fields required
on-input="_validate">
-
-
-
Fields required
Save
-
+
Cancel
@@ -928,11 +938,20 @@
Fields required
return App.Endpoints.ochaProjectDetails(selectedProject);
},
- close: function () {
- this.set('data', {});
- this.set('opened', false);
- this.set('refresh', false);
- this.set('detailsOpened', false);
+ _close: function (e) {
+ if (e.target.nodeName === 'PAPER-DIALOG' ||
+ e.target.nodeName === 'PAPER-BUTTON' ||
+ e.target.nodeName === 'PAPER-ICON-BUTTON') {
+ this.set('data', {});
+ this.set('opened', false);
+ this.set('refresh', false);
+ this.set('detailsOpened', false);
+ this.set('errors', {});
+
+ this.close();
+ } else {
+ return;
+ }
},
open: function () {
@@ -946,7 +965,12 @@
Fields required
if (!this.canAddOchaProjects) {
this.set('mode', 'custom');
}
- this.data = {'custom_fields': [], 'funding': {}};
+ this.data = {
+ 'custom_fields': [],
+ 'funding': {},
+ 'locations': [],
+ 'description': '',
+ };
this.selectedClusters = [];
}
this.set('opened', true);
@@ -1096,7 +1120,9 @@
Fields required
this.set('selectedPartner', {});
this.set('data', {
'custom_fields': [],
- 'funding': {}
+ 'funding': {},
+ 'locations': [],
+ 'description': '',
});
this.set('projectDetails', {});
this.set('errors', {});
@@ -1104,6 +1130,34 @@
Fields required
_save: function () {
var self = this;
+
+ var locationError = false;
+ var rawLocations = this.get('data.locations');
+
+ var changedLocations = rawLocations.map(function (location) {
+ if (location.location !== undefined) {
+ return location.location;
+ } else {
+ return location;
+ }
+ });
+
+ changedLocations.forEach(function (location) {
+ if (location.title === undefined) {
+ self.set('errors', 'No location set - please set a location.');
+ locationError = true;
+ } else if (changedLocations[0].admin_level !== location.admin_level) {
+ self.set('errors', 'All locations need to have the same admin level.');
+ locationError = true;
+ }
+ });
+
+ if (locationError === true) {
+ return;
+ }
+
+ this.set('data.locations', changedLocations);
+
if (!this.data.partner_id) {
this.data.partner_id = this.partnerID;
}
@@ -1128,7 +1182,8 @@
Fields required
.catch(function (err) { // jshint ignore:line
self.updatePending = false;
self.set('errors', err.data);
- });
+ self.set('data.locations', rawLocations); // If there are backend validation errors, reset locations
+ }); // to what they were before request was sent!
},
detached: function () {
@@ -1139,4 +1194,4 @@
Fields required
},
});
-
+
\ No newline at end of file
diff --git a/polymer/src/elements/cluster-reporting/project-details.html b/polymer/src/elements/cluster-reporting/project-details.html
index 5666c2b48..1ac824fc2 100644
--- a/polymer/src/elements/cluster-reporting/project-details.html
+++ b/polymer/src/elements/cluster-reporting/project-details.html
@@ -16,7 +16,7 @@
--app-grid-columns:4;
--app-grid-gutter: 25px;
--app-grid-item-height: auto;
- --app-grid-expandible-item-columns: 4;
+ --app-grid-expandible-item-columns: 3;
}
.app-grid {
@@ -25,10 +25,26 @@
list-style: none;
}
- .full-width {
+ .extended {
@apply(--app-grid-expandible-item);
}
+ .location {
+ margin: 2px 0px;
+ }
+
+ .top-row {
+ display: flex;
+ justify-content: flex-start;
+ align-items: flex-start;
+ flex-direction: row;
+ }
+
+ .top-element {
+ margin-right: 50px;
+ min-width: 200px;
+ }
+
ul {
padding-left: 0;
}
@@ -60,12 +76,22 @@
-
+
[[projectData.title]]
+
+
+
+ [[item.title]]
+
+
+
+
[[_commaSeparatedDictValues(projectData.clusters, 'title')]]
diff --git a/polymer/src/elements/cluster-reporting/response-parameters/partners/activities/indicators.html b/polymer/src/elements/cluster-reporting/response-parameters/partners/activities/indicators.html
index 936129b48..97016867c 100644
--- a/polymer/src/elements/cluster-reporting/response-parameters/partners/activities/indicators.html
+++ b/polymer/src/elements/cluster-reporting/response-parameters/partners/activities/indicators.html
@@ -59,6 +59,7 @@
diff --git a/polymer/src/elements/cluster-reporting/response-parameters/partners/projects/indicators.html b/polymer/src/elements/cluster-reporting/response-parameters/partners/projects/indicators.html
index 840496fc0..94169b403 100644
--- a/polymer/src/elements/cluster-reporting/response-parameters/partners/projects/indicators.html
+++ b/polymer/src/elements/cluster-reporting/response-parameters/partners/projects/indicators.html
@@ -59,6 +59,7 @@
diff --git a/polymer/src/elements/disaggregations/disaggregation-field.html b/polymer/src/elements/disaggregations/disaggregation-field.html
index 4b91e29ec..4dcafb13a 100644
--- a/polymer/src/elements/disaggregations/disaggregation-field.html
+++ b/polymer/src/elements/disaggregations/disaggregation-field.html
@@ -73,6 +73,7 @@
},
attached: function () {
+ this.$.field.validate();
this.fire('register-field', this);
},
diff --git a/polymer/src/elements/disaggregations/disaggregation-modal.html b/polymer/src/elements/disaggregations/disaggregation-modal.html
index 018ee116d..18d6c7b81 100644
--- a/polymer/src/elements/disaggregations/disaggregation-modal.html
+++ b/polymer/src/elements/disaggregations/disaggregation-modal.html
@@ -8,6 +8,8 @@
+
+
@@ -37,10 +39,10 @@
with-backdrop
opened="{{opened}}">
@@ -475,7 +445,7 @@ Percentage funded by:
.map(function (location) {
return {
title: location.reporting_entity.title,
- percentage: Number(location.percentage_allocated),
+ percentage: 1,
};
});
},
diff --git a/polymer/src/elements/error-box.html b/polymer/src/elements/error-box.html
index 0918e07e9..41442848d 100644
--- a/polymer/src/elements/error-box.html
+++ b/polymer/src/elements/error-box.html
@@ -92,6 +92,9 @@
value: error,
},
];
+
+ case 'undefined':
+ return [];
default:
return Object.keys(error)
diff --git a/polymer/src/elements/error-modal.html b/polymer/src/elements/error-modal.html
index ad91c8cf6..5b1a08394 100644
--- a/polymer/src/elements/error-modal.html
+++ b/polymer/src/elements/error-modal.html
@@ -2,6 +2,10 @@
+
+
+
+
@@ -26,9 +30,9 @@
- [[error]]
+ items="[[localizedErrors]]"
+ as="localizedError">
+ [[localizedError]]
@@ -46,12 +50,24 @@
Polymer({
is: 'error-modal',
+ behaviors: [
+ App.Behaviors.ReduxBehavior,
+ App.Behaviors.UtilsBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
+ ],
+
properties: {
errors: {
type: Array,
value: [],
},
+ localizedErrors: {
+ type: Array,
+ computed: '_localizeErrors(errors, localize)'
+ },
+
opened: {
type: Boolean,
value: false,
@@ -77,6 +93,32 @@
return this._result;
},
+ _localizeErrors: function (errors, localize) {
+ if (errors.length === 0) {
+ return;
+ }
+
+ var localizedErrors = errors.map(function (error) {
+ switch (error) {
+ case 'You have not selected overall status for one of Outputs':
+ return localize('not_selected_overall_status');
+ case 'You have not completed Partner Contribution To Date field on Other Info tab.':
+ return localize('not_completed_partner_contribution');
+ case 'You have not completed Challenges / bottlenecks in the reporting period field on Other Info tab.':
+ return localize('not_completed_challenges_bottlenecks');
+ case 'You have not completed Proposed way forward field on Other Info tab.':
+ return localize('not_completed_proposed_way');
+ case 'You have not completed all indicator location data across all indicator reports for this progress' +
+ ' report.':
+ return localize('not_completed_indicator_location');
+ default:
+ return error;
+ }
+ });
+
+ return localizedErrors;
+ },
+
close: function () {
this.set('errors', []);
this.set('opened', false);
diff --git a/polymer/src/elements/etools-prp-ajax.html b/polymer/src/elements/etools-prp-ajax.html
index 0f231aade..8ee1fa0f1 100644
--- a/polymer/src/elements/etools-prp-ajax.html
+++ b/polymer/src/elements/etools-prp-ajax.html
@@ -91,6 +91,12 @@
notify: true,
},
+ lastProgress: {
+ notify: true,
+ readOnly: true,
+ type: Object,
+ },
+
activeRequests: {
notify: true,
},
@@ -158,6 +164,7 @@
thunk: function () {
return (function () {
var req = this.generateRequest();
+
var self = this;
return req.completes
diff --git a/polymer/src/elements/etools-prp-languages.html b/polymer/src/elements/etools-prp-languages.html
new file mode 100644
index 000000000..a8b3d0288
--- /dev/null
+++ b/polymer/src/elements/etools-prp-languages.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
diff --git a/polymer/src/elements/etools-prp-permissions.html b/polymer/src/elements/etools-prp-permissions.html
index 3eecd0371..f048acaf3 100644
--- a/polymer/src/elements/etools-prp-permissions.html
+++ b/polymer/src/elements/etools-prp-permissions.html
@@ -29,6 +29,7 @@
editProgressReport: [
App.Constants.PRP_ROLE.IP_AUTHORIZED_OFFICER,
App.Constants.PRP_ROLE.IP_EDITOR,
+ App.Constants.PRP_ROLE.IP_ADMIN,
],
exportSubmittedProgressReport: [
@@ -39,6 +40,7 @@
savePdReport: [
App.Constants.PRP_ROLE.IP_AUTHORIZED_OFFICER,
App.Constants.PRP_ROLE.IP_EDITOR,
+ App.Constants.PRP_ROLE.IP_ADMIN,
],
changeProgrammeDocumentCalculationMethod: [
@@ -115,9 +117,13 @@
return responsePlanClusters.some(function (cluster) {
return params.prpRoles.some(function (item) {
- return item.role === App.Constants.PRP_ROLE.CLUSTER_SYSTEM_ADMIN ||
- (String(item.cluster.id) === String(cluster.id) &&
- allowedRoles.indexOf(item.role) > -1);
+ if (item.cluster === null) {
+ return item.role === App.Constants.PRP_ROLE.CLUSTER_SYSTEM_ADMIN;
+ } else {
+ return item.role === App.Constants.PRP_ROLE.CLUSTER_SYSTEM_ADMIN ||
+ (String(item.cluster.id) === String(cluster.id) &&
+ allowedRoles.indexOf(item.role) > -1);
+ }
});
});
},
@@ -127,9 +133,13 @@
return entityClusters.some(function (cluster) {
return params.prpRoles.some(function (item) {
- return item.role === App.Constants.PRP_ROLE.CLUSTER_SYSTEM_ADMIN ||
- (String(item.cluster.id) === String(cluster.id) &&
- allowedRoles.indexOf(item.role) > -1);
+ if (item.cluster === null) {
+ return item.role === App.Constants.PRP_ROLE.CLUSTER_SYSTEM_ADMIN;
+ } else {
+ return item.role === App.Constants.PRP_ROLE.CLUSTER_SYSTEM_ADMIN ||
+ (String(item.cluster.id) === String(cluster.id) &&
+ allowedRoles.indexOf(item.role) > -1);
+ }
});
});
},
diff --git a/polymer/src/elements/etools-prp-progress-bar-alt.html b/polymer/src/elements/etools-prp-progress-bar-alt.html
index 129737ce2..c63884bf3 100644
--- a/polymer/src/elements/etools-prp-progress-bar-alt.html
+++ b/polymer/src/elements/etools-prp-progress-bar-alt.html
@@ -17,7 +17,7 @@
}
-
+
diff --git a/polymer/src/elements/filter-list.html b/polymer/src/elements/filter-list.html
index bd0aff9fa..72315822e 100644
--- a/polymer/src/elements/filter-list.html
+++ b/polymer/src/elements/filter-list.html
@@ -6,6 +6,10 @@
+
+
+
+
@@ -44,7 +48,7 @@
if="[[!hideClear]]"
restamp="true">
-
Clear
+
[[localize('clear')]]
@@ -55,6 +59,12 @@
Polymer({
is: 'filter-list',
+ behaviors: [
+ App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
+ ],
+
properties: {
queryParams: Object,
filters: Array,
diff --git a/polymer/src/elements/filters/cluster-indicator-type-filter/cluster-indicator-type-filter.html b/polymer/src/elements/filters/cluster-indicator-type-filter/cluster-indicator-type-filter.html
index 8d187ba3e..c54e541c0 100644
--- a/polymer/src/elements/filters/cluster-indicator-type-filter/cluster-indicator-type-filter.html
+++ b/polymer/src/elements/filters/cluster-indicator-type-filter/cluster-indicator-type-filter.html
@@ -38,13 +38,24 @@
],
properties: {
- isPartner: Boolean,
+ isPartner: {
+ type: Boolean,
+ computed: '_computeRole(currentUserRoles)',
+ },
+
+ currentUserRoles: {
+ type: Array,
+ statePath: 'userProfile.profile.prp_roles'
+ },
+
data: {
type: Array,
computed: '_computeData(isPartner)',
},
+
value: String,
},
+
_computeData: function (isPartner) {
if (isPartner) {
return options.filter(function (option) {
@@ -53,7 +64,13 @@
}
return options;
- }
+ },
+
+ _computeRole: function (roles) {
+ return roles.every(function (role) {
+ return role.role !== 'CLUSTER_IMO';
+ });
+ },
});
diff --git a/polymer/src/elements/filters/dropdown-filter/dropdown-filter-multi.html b/polymer/src/elements/filters/dropdown-filter/dropdown-filter-multi.html
index 1a5ad3c7a..b41b6b7c7 100644
--- a/polymer/src/elements/filters/dropdown-filter/dropdown-filter-multi.html
+++ b/polymer/src/elements/filters/dropdown-filter/dropdown-filter-multi.html
@@ -82,6 +82,10 @@
_handleData: function (data) {
if (data.length) {
this._filterReady();
+ } else if (this.name === 'location') {
+ // Locations get populated by PDs so user can filter by location, so if there are no PDs,
+ // there are no locations - in that case, fire filterReady method to have filters stop loading.
+ this._filterReady();
}
},
diff --git a/polymer/src/elements/filters/dropdown-filter/dropdown-filter.html b/polymer/src/elements/filters/dropdown-filter/dropdown-filter.html
index 9fb5e7a44..2a16c955b 100644
--- a/polymer/src/elements/filters/dropdown-filter/dropdown-filter.html
+++ b/polymer/src/elements/filters/dropdown-filter/dropdown-filter.html
@@ -5,6 +5,10 @@
+
+
+
+
@@ -47,6 +51,10 @@
behaviors: [
App.Behaviors.FilterBehavior,
+ App.Behaviors.ReduxBehavior,
+ App.Behaviors.UtilsBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
diff --git a/polymer/src/elements/filters/location-filter-multi/location-filter-multi-narrowed.html b/polymer/src/elements/filters/location-filter-multi/location-filter-multi-narrowed.html
index 838169fb2..57ad70c4b 100644
--- a/polymer/src/elements/filters/location-filter-multi/location-filter-multi-narrowed.html
+++ b/polymer/src/elements/filters/location-filter-multi/location-filter-multi-narrowed.html
@@ -7,6 +7,8 @@
+
+
@@ -32,9 +34,10 @@
@@ -47,6 +50,8 @@
behaviors: [
App.Behaviors.ReduxBehavior,
App.Behaviors.FilterDependenciesBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
@@ -92,7 +97,7 @@
this.$.locations.thunk()()
.then(function (res) {
self.set('pending', false);
- self.set('data', res.data);
+ self.set('data', res.data.results);
})
.catch(function (err) { // jshint ignore:line
// TODO: error handling
@@ -101,6 +106,13 @@
});
},
+ _onValueChanged: function (e) {
+
+ if (e.detail.value === '') {
+ return;
+ }
+ },
+
detached: function () {
if (this.isDebouncerActive('fetch-locations')) {
this.cancelDebouncer('fetch-locations');
diff --git a/polymer/src/elements/filters/location-filter-multi/location-filter-multi.html b/polymer/src/elements/filters/location-filter-multi/location-filter-multi.html
index 937a4e750..119b457f0 100644
--- a/polymer/src/elements/filters/location-filter-multi/location-filter-multi.html
+++ b/polymer/src/elements/filters/location-filter-multi/location-filter-multi.html
@@ -4,6 +4,8 @@
+
+
@@ -19,7 +21,7 @@
@@ -32,6 +34,8 @@
behaviors: [
App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
diff --git a/polymer/src/elements/filters/location-filter/location-filter.html b/polymer/src/elements/filters/location-filter/location-filter.html
index f0b20871c..35f0ba556 100644
--- a/polymer/src/elements/filters/location-filter/location-filter.html
+++ b/polymer/src/elements/filters/location-filter/location-filter.html
@@ -4,6 +4,8 @@
+
+
@@ -19,7 +21,7 @@
@@ -32,6 +34,8 @@
behaviors: [
App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
diff --git a/polymer/src/elements/filters/partner-project-filter-multi/partner-project-filter-multi.html b/polymer/src/elements/filters/partner-project-filter-multi/partner-project-filter-multi.html
new file mode 100644
index 000000000..bbe9e0b99
--- /dev/null
+++ b/polymer/src/elements/filters/partner-project-filter-multi/partner-project-filter-multi.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/polymer/src/elements/filters/pd-filter/pd-dropdown-filter.html b/polymer/src/elements/filters/pd-filter/pd-dropdown-filter.html
index 09b7a8196..2dc6e35ae 100644
--- a/polymer/src/elements/filters/pd-filter/pd-dropdown-filter.html
+++ b/polymer/src/elements/filters/pd-filter/pd-dropdown-filter.html
@@ -4,6 +4,8 @@
+
+
@@ -20,7 +22,7 @@
@@ -33,6 +35,8 @@
behaviors: [
App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
diff --git a/polymer/src/elements/filters/report-location-filter/report-location-filter.html b/polymer/src/elements/filters/report-location-filter/report-location-filter.html
index 98c80412d..ee8c4fb7e 100644
--- a/polymer/src/elements/filters/report-location-filter/report-location-filter.html
+++ b/polymer/src/elements/filters/report-location-filter/report-location-filter.html
@@ -4,6 +4,8 @@
+
+
@@ -19,7 +21,7 @@
@@ -32,6 +34,8 @@
behaviors: [
App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
diff --git a/polymer/src/elements/filters/reportable-filter/reportable-filter.html b/polymer/src/elements/filters/reportable-filter/reportable-filter.html
index 8e03d512c..3244d7cda 100644
--- a/polymer/src/elements/filters/reportable-filter/reportable-filter.html
+++ b/polymer/src/elements/filters/reportable-filter/reportable-filter.html
@@ -3,6 +3,8 @@
+
+
@@ -14,7 +16,7 @@
@@ -27,6 +29,8 @@
behaviors: [
App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
diff --git a/polymer/src/elements/filters/status-filter/project-status-filter.html b/polymer/src/elements/filters/status-filter/project-status-filter.html
index 298d21c10..c45d0b185 100644
--- a/polymer/src/elements/filters/status-filter/project-status-filter.html
+++ b/polymer/src/elements/filters/status-filter/project-status-filter.html
@@ -2,6 +2,9 @@
+
+
+
@@ -13,7 +16,7 @@
@@ -27,6 +30,9 @@
behaviors: [
App.Behaviors.UtilsBehavior,
+ App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
diff --git a/polymer/src/elements/indicator-details.html b/polymer/src/elements/indicator-details.html
index 4b8a4f770..8f28dffe2 100644
--- a/polymer/src/elements/indicator-details.html
+++ b/polymer/src/elements/indicator-details.html
@@ -8,6 +8,8 @@
+
+
@@ -21,6 +23,8 @@
+
+
@@ -38,6 +42,15 @@
--app-grid-gutter: 25px;
--app-grid-item-height: auto;
+ --paper-item-min-height: 56px;
+ --paper-item: {
+ cursor: pointer;
+ };
+
+ --paper-item-selected: {
+ background-color: var(--theme-secondary-color-d);
+ };
+
--paper-tabs: {
padding-left: 12px;
border-bottom: 1px solid var(--paper-grey-300);
@@ -47,6 +60,7 @@
.header {
padding: 20px 75px 0 25px;
position: relative;
+ height: 40px;
}
.locations-heading {
@@ -98,6 +112,51 @@
white-space: pre;
}
+ #tabs-pages-container {
+ display: flex;
+ justify-content: flex-start;
+ align-items: flex-start;
+ flex-direction: row;
+
+ height: 360px;
+ }
+
+ #tabs-list-container {
+ width: 30%;
+ height: inherit;
+ }
+
+ #tabs-list {
+ padding: 0;
+ height: 300px; /* 360px - 60px */
+ overflow: auto;
+ }
+
+ #tab-item {
+ padding-left: 10%;
+ }
+
+ #pages-container {
+ width: 70%;
+ height: inherit;
+ }
+
+ #reporting-tabs-list {
+ display: flex;
+ justify-content: center;
+ border-bottom: 1px solid #e0e0e0;
+ }
+
+ #reporting-tabs-container {
+ text-align: center;
+ border-bottom: none;
+ }
+
+ #page-view-container {
+ height: 250px; /* 360px - 110px */
+ overflow: auto;
+ }
+
.location {
margin: 0;
font-weight: bold;
@@ -144,15 +203,15 @@
+ if="[[isHfIndicator]]">
@@ -160,213 +219,223 @@
-
-
-
-
-
- Programme document:
- [[currentPD.title]]
-
-
-
-
-
- Indicator:
- [[indicatorName]]
-
-
-
-
- Indicator status:
-
-
-
-
-
-
-
-
-
-
-
- [[topLevelLocation.title]]
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -388,6 +457,8 @@ [[indicatorName]]
behaviors: [
App.Behaviors.ReduxBehavior,
App.Behaviors.UtilsBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
@@ -486,7 +557,12 @@ [[indicatorName]]
disablePull: {
type: Boolean,
computed: '_computeDisablePull(reportStatus)'
- }
+ },
+
+ isHfIndicator: {
+ type: Boolean,
+ computed: '_computeIsHfIndicator(disaggregations)'
+ },
},
listeners: {
@@ -543,6 +619,12 @@ [[indicatorName]]
return this._clone(data[key]);
},
+ _computeIsHfIndicator: function (disaggregations) {
+ return disaggregations !== undefined
+ && this.reportIsQpr === true
+ && disaggregations.is_hf_indicator === true;
+ },
+
_computeMode: function (mode, overrideMode) {
return overrideMode || mode;
},
diff --git a/polymer/src/elements/ip-reporting/app-header.html b/polymer/src/elements/ip-reporting/app-header.html
index a67d0e46b..d0c853d75 100644
--- a/polymer/src/elements/ip-reporting/app-header.html
+++ b/polymer/src/elements/ip-reporting/app-header.html
@@ -8,7 +8,9 @@
+
+
+
+
+
diff --git a/polymer/src/elements/ip-reporting/authorized-officer-modal.html b/polymer/src/elements/ip-reporting/authorized-officer-modal.html
index a534416cc..1c2a74c3a 100644
--- a/polymer/src/elements/ip-reporting/authorized-officer-modal.html
+++ b/polymer/src/elements/ip-reporting/authorized-officer-modal.html
@@ -18,7 +18,10 @@
+
+
+
@@ -50,23 +53,20 @@
- Your report could not be submitted, because you are not the authorized officer assigned
- to the PCA that is connected to that PD. Please select the authorized officer on
- behalf of whom this report is submitted.
-
+ [[localize('could_not_be_submitted')]]
@@ -89,13 +89,13 @@ Your report could not be submitted, because you are not the authorized offic
on-tap="_save"
raised
disabled="[[busy]]">
- Submit
+ [[localize('submit')]]
- Cancel
+ [[localize('cancel')]]
@@ -111,6 +111,8 @@ Your report could not be submitted, because you are not the authorized offic
App.Behaviors.ModalBehavior,
App.Behaviors.UtilsBehavior,
App.Behaviors.RoutingBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
@@ -146,22 +148,11 @@ Your report could not be submitted, because you are not the authorized offic
},
_computePostBody: function (selectedFocalPoint) {
- return {
- submitted_by_email: selectedFocalPoint,
- };
+ return AuthorizedOfficerModalUtils.computePostBody(selectedFocalPoint);
},
_computeAuthorizedPartners: function (pd) {
- var partners = (pd.unicef_officers || []).filter(function(partner) {
- return partner.is_authorized_officer && partner.active;
- });
- var formattedPartners = partners.map(function (partner) {
- return {
- value: partner.email,
- title: partner.name + ' ' + partner.title
- };
- });
- return formattedPartners;
+ return AuthorizedOfficerModalUtils.computeAuthorizedPartners(pd);
},
_validate: function (e) {
diff --git a/polymer/src/elements/ip-reporting/indicators-filters.html b/polymer/src/elements/ip-reporting/indicators-filters.html
index 5026fcfe8..e1cbb8fc4 100644
--- a/polymer/src/elements/ip-reporting/indicators-filters.html
+++ b/polymer/src/elements/ip-reporting/indicators-filters.html
@@ -10,6 +10,9 @@
+
+
+
@@ -47,7 +50,7 @@
@@ -80,6 +83,9 @@
behaviors: [
App.Behaviors.UtilsBehavior,
+ App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
@@ -88,20 +94,23 @@
pd_statuses: {
type: Array,
- value: function () {
- return [
- {title: 'Signed', id: 'Sig'},
- {title: 'Active', id: 'Act'},
- {title: 'Suspended', id: 'Sus'},
- {title: 'Ended', id: 'End'},
- {title: 'Closed', id: 'Clo'},
- {title: 'Terminated', id: 'Ter'},
- ];
- },
+ computed: '_initStatuses(localize)',
},
},
+ _initStatuses: function (localize) {
+ var statuses = [
+ {title: localize('signed'), id: 'Sig'},
+ {title: localize('active'), id: 'Act'},
+ {title: localize('suspended'), id: 'Sus'},
+ {title: localize('ended'), id: 'End'},
+ {title: localize('closed'), id: 'Clo'},
+ {title: localize('terminated'), id: 'Ter'},
+ ];
+
+ return statuses;
+ },
});
diff --git a/polymer/src/elements/ip-reporting/indicators-toolbar.html b/polymer/src/elements/ip-reporting/indicators-toolbar.html
index a6db3707c..8db0b8d79 100644
--- a/polymer/src/elements/ip-reporting/indicators-toolbar.html
+++ b/polymer/src/elements/ip-reporting/indicators-toolbar.html
@@ -5,6 +5,8 @@
+
+
-
+
-
+
[[_withDefault(partner.title)]]
-
+
[[_withDefault(partner.short_title)]]
-
+
[[_withDefault(partner.alternate_title)]]
-
+
[[_withDefault(partner.vendor_number)]]
-
+
[[_computePartnerType(partner)]]
-
+
[[_withDefault(partner.shared_partner_display)]]
-
+
[[_withDefault(partner.core_values_assessment_date)]]
@@ -89,7 +93,7 @@
-
+
[[_withDefault(partner.street_address)]]
@@ -97,7 +101,7 @@
-
+
[[_withDefault(partner.phone_number)]]
@@ -105,7 +109,7 @@
-
+
[[_withDefault(partner.email)]]
@@ -123,6 +127,8 @@
behaviors: [
App.Behaviors.UtilsBehavior,
App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
@@ -138,12 +144,7 @@
},
_computePartnerType: function (partner) {
- var chunks = [
- partner.cso_type_display,
- partner.partner_type_display,
- ].filter(Boolean);
-
- return this._withDefault(chunks.length ? chunks.join(' ') : null);
+ return PartnerDetailsUtils.computePartnerType(partner, this._withDefault);
},
});
diff --git a/polymer/src/elements/ip-reporting/pd-details-calculation-methods.html b/polymer/src/elements/ip-reporting/pd-details-calculation-methods.html
index b786ef2a2..73c3cf42d 100644
--- a/polymer/src/elements/ip-reporting/pd-details-calculation-methods.html
+++ b/polymer/src/elements/ip-reporting/pd-details-calculation-methods.html
@@ -11,6 +11,8 @@
+
+
@@ -23,6 +25,8 @@
+
+
+
+
+
+
-
+
-
+
[[_withDefault(pd.agreement)]]
-
+
[[_withDefault(pd.document_type_display)]]
-
+
[[_withDefault(pd.reference_number)]]
-
+
[[_withDefault(pd.title)]]
@@ -118,43 +128,43 @@
-
+
[[_withDefault(pd.unicef_office)]]
-
+
[[_formatFocalPoint(pd.unicef_focal_point)]]
-
+
[[_formatFocalPoint(pd.partner_focal_point)]]
-
+
-
+
-
+
[[_withDefault(pd.start_date)]]
-
+
[[_withDefault(pd.end_date)]]
-
+
-
+
-
+
-
+
-
-
-
+
[[_commaSeparatedDictValues(pd.locations, 'title')]]
@@ -212,15 +221,15 @@
is="dom-if"
if="[[_hasAmendments(pd)]]"
restamp="true">
-
+
- Amendment Types
+ [[localize('amendment_types')]]
- Signed Date
+ [[localize('signed_date')]]
@@ -232,7 +241,7 @@
- [[amendment.types]]
+ [[_displayFullName(amendment.types)]]
[[amendment.signed_date]]
@@ -243,22 +252,22 @@
-
+
@@ -274,6 +283,8 @@
behaviors: [
App.Behaviors.UtilsBehavior,
App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
@@ -283,20 +294,64 @@
statePath: App.Selectors.ProgrammeDocuments.current,
},
+ amendmentTypes: {
+ type: Object,
+ value: {
+ dates: 'Dates',
+ results: 'Results',
+ budget: 'Budget',
+ admin_error: 'Type 1: Administrative error (correction)',
+ budget_lte_20: 'Type 2: Budget <= 20%',
+ budget_gt_20: 'Type 3: Budget > 20%',
+ change: 'Type 4: Changes to planned results',
+ no_cost: 'Type 5: No cost extension',
+ other: 'Type 6: Other'
+ }
+ },
+
loaded: {
type: Boolean,
value: false,
computed: '_computeLoaded(pd)',
},
+ locationId: {
+ type: String,
+ statePath: 'location.id',
+ },
+
reportingRequirements: {
type: Object,
computed: '_computeReportingRequirements(pd.reporting_periods)',
},
+
+ pdId: {
+ type: String,
+ statePath: 'programmeDocuments.current',
+ },
+
+ programmeDocumentsUrl: {
+ type: String,
+ computed: '_computeProgrammeDocumentsUrl(locationId)',
+ },
+
+ pdReportsCount: {
+ type: Object,
+ statePath: 'programmeDocumentReports.countByPD',
+ observer: '_getPdReports',
+ },
+ },
+
+ _computeFunds: function (num) {
+ if (num === null || num === -1) {
+ return num;
+ } else {
+ return 'N/A';
+ }
},
_computeLoaded: function (pd) {
- return !!pd.id;
+ return PdDetailsOverviewUtils.computeLoaded(pd);
},
_formatFocalPoint: function (items) {
@@ -304,32 +359,53 @@
},
_hasAmendments: function (pd) {
- return pd.amendments && !!pd.amendments.length;
+ return PdDetailsOverviewUtils.hasAmendments(pd);
},
_computeReportingRequirements: function (reportingPeriods) {
- var byType = (reportingPeriods || []).reduce(function (acc, curr) {
- var type = curr.report_type.toLowerCase();
-
- if (!acc[type]) {
- acc[type] = [];
- }
+ return PdDetailsOverviewUtils.computeReportingRequirements(reportingPeriods, moment, App.Settings.dateFormat);
+ },
- acc[type].push(curr);
+ _computeProgrammeDocumentsUrl: function (locationId) {
+ return locationId ? App.Endpoints.programmeDocuments(locationId) : '';
+ },
- return acc;
- }, {});
+ _displayFullName: function (types) {
+ var self = this;
- Object.keys(byType).forEach(function (type) {
- byType[type].sort(function (a, b) {
- var dateA = moment(a.start_date, App.Settings.dateFormat).toDate();
- var dateB = moment(b.start_date, App.Settings.dateFormat).toDate();
+ if (!types) {
+ return '';
+ }
- return dateA - dateB;
- });
- });
+ return types
+ .map(function (type) {
+ return self.amendmentTypes[type] ? self.amendmentTypes[type] : type;
+ })
+ .join(', ');
+ },
- return byType;
+ _getPdReports: function () {
+ // Status being present prevents Redux / res.data from getting reports,
+ // preventing pd-details title from rendering. In that case (which we
+ // check by seeing if this.pdReportsCount is present), just get the reports again
+ if (this.pdReportsCount[this.pdId] === undefined) {
+ this.debounce('fetch-pds', function () {
+ var pdThunk = this.$.programmeDocuments;
+ pdThunk.params = {
+ page: 1,
+ page_size: 10,
+ programme_document: this.pdId
+ };
+
+ // Cancel the pending request, if any
+ this.$.programmeDocuments.abort();
+
+ this.dispatch(App.Actions.PD.fetch(pdThunk.thunk()))
+ .catch(function (err) { // jshint ignore:line
+ // TODO: error handling
+ });
+ }, 100);
+ }
},
});
diff --git a/polymer/src/elements/ip-reporting/pd-details-reporting-requirements.html b/polymer/src/elements/ip-reporting/pd-details-reporting-requirements.html
index c18f67f78..ec503f61d 100644
--- a/polymer/src/elements/ip-reporting/pd-details-reporting-requirements.html
+++ b/polymer/src/elements/ip-reporting/pd-details-reporting-requirements.html
@@ -4,6 +4,11 @@
+
+
+
+
+
@@ -31,13 +36,13 @@ [[title]]
- Report #
+ [[localize('report_number')]]
- Due date
+ [[localize('due_date')]]
- Reporting period
+ [[localize('reporting_period')]]
@@ -47,7 +52,7 @@ [[title]]
- [[_getReportName(item.report_type, index)]]
+ [[_getReportName(item.report_type, index, localize)]]
[[item.due_date]]
@@ -74,6 +79,8 @@
[[title]]
behaviors: [
App.Behaviors.UtilsBehavior,
App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
@@ -82,8 +89,8 @@
[[title]]
title: String,
},
- _getReportName: function (type, index) {
- return type + (index + 1);
+ _getReportName: function (type, index, localize) {
+ return PdDetailsReportingRequirementsUtils.getReportName(type, index, localize);
},
});
diff --git a/polymer/src/elements/ip-reporting/pd-details-reports.html b/polymer/src/elements/ip-reporting/pd-details-reports.html
index b7c7c99e7..3f88a2b5b 100644
--- a/polymer/src/elements/ip-reporting/pd-details-reports.html
+++ b/polymer/src/elements/ip-reporting/pd-details-reports.html
@@ -9,6 +9,8 @@
+
+
+
+
+
+
+
+
- Import Template
+ [[localize('import_template')]]
- Generate Uploader Template
+ [[localize('generate_uploader')]]
+
+
+ [[localize('refresh')]]
+
+
@@ -42,7 +76,9 @@
behaviors: [
App.Behaviors.UtilsBehavior,
- App.Behaviors.ReduxBehavior
+ App.Behaviors.ReduxBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
@@ -80,6 +116,40 @@
type: String,
computed: '_appendQuery(pdReportUrl, query, \'export=xlsx\')',
},
+
+ currentReport: {
+ type: Object,
+ statePath: App.Selectors.ProgrammeDocumentReports.current,
+ },
+
+ currentUserRoles: {
+ type: Array,
+ statePath: 'userProfile.profile.prp_roles',
+ },
+
+ refreshData: {
+ type: Object,
+ computed: '_computeRefreshData(reportId)',
+ },
+
+ canRefresh: {
+ type: Boolean,
+ value: false,
+ computed: '_computeCanRefresh(currentReport, programmeDocument)',
+ },
+
+ showRefresh: {
+ type: Boolean,
+ value: false,
+ computed: '_computeShowRefresh(canRefresh, currentUserRoles)',
+ },
+
+ refreshUrl: {
+ type: String,
+ value: function () {
+ return App.Endpoints.reportProgressReset();
+ },
+ },
},
listeners: {
@@ -87,19 +157,35 @@
},
_computeImportTemplateUrl: function (locationId, reportId) {
- return App.Endpoints.programmeDocumentImportTemplate(locationId, reportId);
+ return PdOutputListToolbarUtils.computeImportTemplateUrl(locationId, reportId);
},
_computeImportUrl: function (locationId, reportId) {
- return App.Endpoints.programmeDocumentImport(locationId, reportId);
+ return PdOutputListToolbarUtils.computeImportUrl(locationId, reportId);
},
_computeShowImportButtons: function (programmeDocument) {
- return programmeDocument.status !== 'Sub' && programmeDocument.status !== 'Acc';
+ return PdOutputListToolbarUtils.computeShowImportButtons(programmeDocument);
},
_computePdReportUrl: function (locationId, reportId) {
- return App.Endpoints.programmeDocumentReport(locationId, reportId);
+ return PdOutputListToolbarUtils.computePdReportUrl(locationId, reportId);
+ },
+
+ _computeRefreshData: function (reportId) {
+ return PdOutputListToolbarUtils.computeRefreshData(reportId);
+ },
+
+ _computeCanRefresh: function (report, programmeDocument) {
+ return PdOutputListToolbarUtils.computeCanRefresh(report, programmeDocument);
+ },
+
+ _computeShowRefresh: function (canRefresh, currentUserRoles) {
+ return canRefresh && PdOutputListToolbarUtils.computeShowRefresh(currentUserRoles);
+ },
+
+ _refresh: function () {
+ this.$.refresh.open();
},
_onFileUploaded: function (e) {
@@ -107,6 +193,10 @@
window.location.reload();
},
+
+ detached: function () {
+ this.$.refresh.close();
+ },
});
diff --git a/polymer/src/elements/ip-reporting/pd-output-list.html b/polymer/src/elements/ip-reporting/pd-output-list.html
index d900cb643..f81c4507b 100644
--- a/polymer/src/elements/ip-reporting/pd-output-list.html
+++ b/polymer/src/elements/ip-reporting/pd-output-list.html
@@ -7,8 +7,13 @@
+
+
+
+
+
-
+
diff --git a/polymer/src/elements/ip-reporting/pd-output.html b/polymer/src/elements/ip-reporting/pd-output.html
index c4a13635d..61d0d51a5 100644
--- a/polymer/src/elements/ip-reporting/pd-output.html
+++ b/polymer/src/elements/ip-reporting/pd-output.html
@@ -12,6 +12,8 @@
+
+
@@ -22,6 +24,8 @@
+
+
-
@@ -32,13 +34,13 @@
is="dom-if"
if="[[showLink]]"
restamp="true">
- [[_getReportTitle(report)]]
+ [[_getReportTitle(report, localize)]]
- [[_getReportTitleFull(report)]]
+ [[_getReportTitleFull(report, localize)]]
final
-
-
diff --git a/polymer/src/elements/ip-reporting/pd-reports-toolbar.html b/polymer/src/elements/ip-reporting/pd-reports-toolbar.html
index 180178b8a..813c3edb3 100644
--- a/polymer/src/elements/ip-reporting/pd-reports-toolbar.html
+++ b/polymer/src/elements/ip-reporting/pd-reports-toolbar.html
@@ -6,6 +6,8 @@
+
+
-
+
+ label="[[visibleRange.0]]-[[visibleRange.1]] of [[totalResults]] [[localize('results_to_show')]]">
- PD/SSFA ToR ref. #
+ [[localize('pd_ref_number')]]
- Report #
+ [[localize('report_number')]]
- Report Status
+ [[localize('report_status')]]
- Due date
+ [[localize('due_date')]]
- Date of submission
+ [[localize('date_of_submission')]]
- Reporting period
+ [[localize('reporting_period')]]
@@ -139,6 +144,8 @@
App.Behaviors.UtilsBehavior,
App.Behaviors.ProgressReportUtilsBehavior,
App.Behaviors.SortingBehavior,
+ App.Behaviors.LocalizeBehavior,
+ Polymer.AppLocalizeBehavior,
],
properties: {
@@ -159,8 +166,8 @@
},
_getReportTitle: function (report) {
- return report.report_type + report.report_number;
+ return ProgressReportsListUtils.getReportTitle(report);
},
});
-
+
\ No newline at end of file
diff --git a/polymer/src/elements/ip-reporting/progress-reports-toolbar.html b/polymer/src/elements/ip-reporting/progress-reports-toolbar.html
index 63261c3e4..21805cefa 100644
--- a/polymer/src/elements/ip-reporting/progress-reports-toolbar.html
+++ b/polymer/src/elements/ip-reporting/progress-reports-toolbar.html
@@ -6,6 +6,8 @@
+
+
+
+
+
+ url="[[attachmentDeleteUrl]]">
+ url="[[attachmentsListUrl]]">
+ url="[[attachmentDeleteUrl]]">
-
-
+
+
+
+
+
+
+
diff --git a/polymer/src/elements/list-view-indicators.html b/polymer/src/elements/list-view-indicators.html
index 599cc84a4..f46778d34 100644
--- a/polymer/src/elements/list-view-indicators.html
+++ b/polymer/src/elements/list-view-indicators.html
@@ -5,6 +5,8 @@
+
+
@@ -41,46 +43,46 @@
permissions="{{permissions}}">
-
+
- Please make sure indicators have locations set for reports to be generated.
+ [[localize('please_make_sure_indicators')]]