diff --git a/spp_mis_demo_v2/__manifest__.py b/spp_mis_demo_v2/__manifest__.py
index 0d9a7f97..9bf26e8b 100644
--- a/spp_mis_demo_v2/__manifest__.py
+++ b/spp_mis_demo_v2/__manifest__.py
@@ -4,7 +4,7 @@
"name": "OpenSPP MIS Demo V2",
"summary": "Demo Generator V2 for SP-MIS programs with fixed stories and volume generation",
"category": "OpenSPP",
- "version": "19.0.2.0.1",
+ "version": "19.0.2.0.2",
"sequence": 1,
"author": "OpenSPP.org",
"website": "https://github.com/OpenSPP/OpenSPP2",
@@ -20,6 +20,8 @@
"spp_demo",
# GIS Reports for geographic visualization
"spp_gis_report",
+ # Demographic dimensions referenced by demo GIS report disaggregation
+ "spp_metric_service",
# Registrant GPS coordinates for QGIS plugin demo
"spp_registrant_gis",
# Indicators and analytics for demo indicators
diff --git a/spp_mis_demo_v2/data/demo_gis_reports.xml b/spp_mis_demo_v2/data/demo_gis_reports.xml
index 17ee11ca..5382bd20 100644
--- a/spp_mis_demo_v2/data/demo_gis_reports.xml
+++ b/spp_mis_demo_v2/data/demo_gis_reports.xml
@@ -31,7 +31,12 @@
auto_quartile
5
- True
+
+
+ expand
scheduled
daily
@@ -60,7 +65,12 @@
auto_jenks
5
- True
+
+
+ expand
scheduled
daily
@@ -89,8 +99,11 @@
auto_quartile
4
- True
- True
+
+
scheduled
weekly
diff --git a/spp_mis_demo_v2/models/mis_demo_generator.py b/spp_mis_demo_v2/models/mis_demo_generator.py
index 4500f79e..2b40f84e 100644
--- a/spp_mis_demo_v2/models/mis_demo_generator.py
+++ b/spp_mis_demo_v2/models/mis_demo_generator.py
@@ -3872,72 +3872,79 @@ def _load_geographic_data(self, stats):
# Keys: story_id -> {locale: area_xmlid}
STORY_AREA_MAP = {
"juan_dela_cruz": {
- "fil_PH": "spp_demo.area_phl_calamba",
+ "fil_PH": "spp_demo.area_phl_ph0403405", # City of Calamba, Laguna
"fr_TG": "spp_demo.area_tgo_lome_tokoin",
"si_LK": "spp_demo.area_lka_moratuwa",
},
"maria_santos": {
- "fil_PH": "spp_demo.area_phl_santa_rosa",
+ "fil_PH": "spp_demo.area_phl_ph0403428", # City of Santa Rosa, Laguna
"fr_TG": "spp_demo.area_tgo_aflao",
"si_LK": "spp_demo.area_lka_kolonnawa",
},
"jose_reyes_multigenerational": {
- "fil_PH": "spp_demo.area_phl_san_pablo",
+ "fil_PH": "spp_demo.area_phl_ph0403424", # San Pablo City, Laguna
"fr_TG": "spp_demo.area_tgo_kpalime",
"si_LK": "spp_demo.area_lka_kandy_ds",
},
"ibrahim_hassan": {
- "fil_PH": "spp_demo.area_phl_antipolo",
+ "fil_PH": "spp_demo.area_phl_ph0405802", # City of Antipolo, Rizal
"fr_TG": "spp_demo.area_tgo_sokode",
"si_LK": "spp_demo.area_lka_galle_ds",
},
"david_sofia_martinez": {
- "fil_PH": "spp_demo.area_phl_makati",
+ "fil_PH": "spp_demo.area_phl_ph1307602", # City of Makati, NCR
"fr_TG": "spp_demo.area_tgo_lome",
"si_LK": "spp_demo.area_lka_dehiwala",
},
"rosa_garcia": {
- "fil_PH": "spp_demo.area_phl_quezon_city",
+ "fil_PH": "spp_demo.area_phl_ph1307404", # Quezon City, NCR
"fr_TG": "spp_demo.area_tgo_lome_be",
"si_LK": "spp_demo.area_lka_colombo_fort",
},
"mary_johnson": {
- "fil_PH": "spp_demo.area_phl_pasig",
+ "fil_PH": "spp_demo.area_phl_ph1307403", # City of Pasig, NCR
"fr_TG": "spp_demo.area_tgo_lome_nyekonakpoe",
"si_LK": "spp_demo.area_lka_colombo_pettah",
},
"ahmed_said": {
- "fil_PH": "spp_demo.area_phl_taguig",
+ "fil_PH": "spp_demo.area_phl_ph1307607", # Taguig City, NCR
"fr_TG": "spp_demo.area_tgo_lome_adidogome",
"si_LK": "spp_demo.area_lka_dehiwala_gn",
},
"nguyen_extended_family": {
- "fil_PH": "spp_demo.area_phl_bacoor",
+ # Bacoor is not in the curated PSGC dataset; Imus is the nearest available city in Cavite.
+ "fil_PH": "spp_demo.area_phl_ph0402109", # Imus City, Cavite
"fr_TG": "spp_demo.area_tgo_baguida_centre",
"si_LK": "spp_demo.area_lka_hikkaduwa",
},
"amina_osman_household": {
- "fil_PH": "spp_demo.area_phl_manila",
+ "fil_PH": "spp_demo.area_phl_ph1303901", # City of Manila, NCR
"fr_TG": "spp_demo.area_tgo_kpalime_centre",
"si_LK": "spp_demo.area_lka_mount_lavinia_gn",
},
"carlos_elena_morales": {
- "fil_PH": "spp_demo.area_phl_dasmarinas",
+ "fil_PH": "spp_demo.area_phl_ph0402106", # City of Dasmariñas, Cavite
"fr_TG": "spp_demo.area_tgo_kpalime_tove",
"si_LK": "spp_demo.area_lka_galle_fort",
},
"chen_large_family": {
- "fil_PH": "spp_demo.area_phl_qc_commonwealth",
+ # Commonwealth barangay (Quezon City) is not in the municipality-level dataset;
+ # assigned a distinct NCR city to keep areas spread across the demo map.
+ "fil_PH": "spp_demo.area_phl_ph1307501", # Caloocan City, NCR
"fr_TG": "spp_demo.area_tgo_zio",
"si_LK": "spp_demo.area_lka_gampaha",
},
"grace_okonkwo": {
- "fil_PH": "spp_demo.area_phl_makati_poblacion",
+ # Poblacion barangay (Makati) is not in the municipality-level dataset;
+ # assigned a distinct NCR city to keep areas spread across the demo map.
+ "fil_PH": "spp_demo.area_phl_ph1307603", # City of Muntinlupa, NCR
"fr_TG": "spp_demo.area_tgo_ogou",
"si_LK": "spp_demo.area_lka_kalutara",
},
"luis_fernandez": {
- "fil_PH": "spp_demo.area_phl_calamba_real",
+ # Real barangay (Calamba) is not in the municipality-level dataset;
+ # assigned a distinct Laguna city to keep areas spread across the demo map.
+ "fil_PH": "spp_demo.area_phl_ph0403403", # City of Biñan, Laguna
"fr_TG": "spp_demo.area_tgo_lacs",
"si_LK": "spp_demo.area_lka_matara",
},
diff --git a/spp_mis_demo_v2/readme/HISTORY.md b/spp_mis_demo_v2/readme/HISTORY.md
index 4aaf9afe..e441a1eb 100644
--- a/spp_mis_demo_v2/readme/HISTORY.md
+++ b/spp_mis_demo_v2/readme/HISTORY.md
@@ -1,3 +1,16 @@
+### 19.0.2.0.2
+
+- Update demo GIS reports to the new disaggregation model: replace the removed
+ `disaggregate_by_gender`/`disaggregate_by_age` boolean flags with
+ `dimension_ids` referencing the `gender` and `age_group` demographic
+ dimensions, and set `member_expansion` on group-filtered reports
+- Remap the Philippine story areas in `STORY_AREA_MAP` to the curated PSGC
+ p-code area external IDs; stories referencing barangays or a city absent from
+ the curated dataset are assigned distinct municipalities to keep areas spread
+ across the demo map
+- Add an explicit dependency on `spp_metric_service` for the demographic
+ dimension records referenced by the demo GIS reports
+
### 19.0.2.0.0
- Initial migration to OpenSPP2