Global Health Policy Simulation model
| Home | Quick Start | User Guide | Schemas | Models | Architecture | Data Model | Developer Guide | Technical docs | API |
| Related: Project requirements plan | Technical index | Documentation index |
Consolidate v1 and v2 schemas into a single unified schema that works for all use cases.
schemas/config/models/staticlinear.jsonUpdate src/HealthGPS.Console/CMakeLists.txt to copy unified schemas:
# Copy unified schemas instead of versioned schemas
file(COPY ${CMAKE_SOURCE_DIR}/schemas/config
DESTINATION ${CMAKE_BINARY_DIR}/src/HealthGPS.Console/schemas)
$id references in configuration filesWhat each schema tree actually covers today, and what a unified schema is meant to keep. Use Yes / No / Optional instead of icons.
| Feature | schemas/v1 |
schemas/v2 |
Unified goal |
|---|---|---|---|
| Income models (categorical / continuous) | Yes | Yes | Yes |
| Flexible income category counts (3 / 4 / 5) | Yes (project_requirements) |
Yes | Yes |
| Region definitions | Yes | Yes | Yes |
| Ethnicity definitions | Yes | Yes | Yes |
| Physical activity model blocks | Limited | Yes (extended) | Yes (optional) |
| Trend properties | Via project_requirements / legacy fields |
Yes | Yes (optional) |
| Stricter required fields on some models | No | Yes | Yes where safe |
project_requirements block |
Optional on top-level config.json |
Used by FINCH-style packs | Keep optional for legacy configs |
output.individual_id_tracking |
Yes (optional on output.json) |
N/A (use v1 output schema) | Keep optional |
How to read this: India-style packs may omit project_requirements and still validate. FINCH-style packs use v1 config plus richer modelling / model schemas (and sometimes v2 model files). The unified work is to stop maintaining two parallel trees for the same concepts.
Not the same as “done”: Rows above describe capability, not that every project has migrated off schemas/v1 / schemas/v2 yet. See Configuration schemas for the live layout.
schemas/v1/config/output.json: Defines output (folder, file_name, comorbidities). Supports additionalProperties: true.individual_id_tracking (MAHIMA): When present, enables a second CSV output (_IndividualIDTracking.csv) with filtered per-person rows (run, time, scenario, id, age, gender, region, ethnicity, income_category, plus selected risk factors). Filters: enabled, age_min, age_max, gender, regions, ethnicities, risk_factors, years, scenarios. See example in input-data/data/KevinHall_FINCH/config.json.project_requirements is optional in schemas/v1/config.json. If omitted, code uses default-constructed values (e.g. income.type = “categorical” for legacy configs like India). If present, full demographics/income/PA/trend/two_stage settings are read from the config.Author: Mahima Ghosh