How blsq/iaso works
Iaso is a geospatial data-management platform for maintaining organizational-unit hierarchies and collecting, validating, comparing, and exporting linked field data. The main workflow begins with mobile or web collection, passes submissions and proposed hierarchy changes through API-backed validation, and makes accepted data available for exports and integrations. The graph includes documented import/comparison and asynchronous-task capabilities as separate branches. Several model files named in the source index are absent from the supplied tree, so model-layer paths and unverified implementation links are omitted.
Main entry points: querysets.py Registry data · views.py Submission API · validation_workflow.py Validation workflows · task.py Task records
Components 18
Field collection
- Mobile APIs
iaso/api/instances/views_mobile.py - Submission API
iaso/api/instances/views.py - Forms API
iaso/api/forms/views.py
Georegistry and validation
- Org-unit API
iaso/api/org_units/views.py - Change requests
iaso/api/org_unit_change_requests/views.py - Validation workflows
iaso/engine/validation_workflow.py - Registry data
iaso/models/querysets.py
Imports and exports
- Tree comparison
iaso/diffing/differ.py - GeoPackage import
iaso/gpkg/import_gpkg.py - Data exports
hat/api/export_utils.py - DHIS2 integration
iaso/dhis2/export_request_builder.py
Platform services
- Task API
iaso/api/tasks/views.py - Task worker
beanstalk_worker/services.py - Task records
iaso/models/task.py - OpenHEXA pipelines
iaso/tasks/launch_openhexa_pipeline.py
Other components
- Field worker
- Web user
- PostgreSQL
Connections 19
- Field worker → Mobile APIs: submits data
- Mobile APIs → Submission API: handles submissions
- Web user → Org-unit API: manages hierarchy
- Web user → Change requests: reviews changes
- Submission API → Validation workflows: validates data
iaso/api/instances/views.py - Change requests → Validation workflows: validates changes
- Org-unit API → Registry data: reads and updates
- Validation workflows → Registry data: applies decisions
- Forms API → PostgreSQL: stores form data
- Registry data → PostgreSQL: persists registry
- GeoPackage import → Registry data: imports hierarchy
- Tree comparison → Registry data: compares trees
- Data exports → Registry data: exports registry data
- Submission API → Data exports: exports submissions
iaso/api/instances/views.py - DHIS2 integration → Registry data: exchanges data
- Task API → Task records: reads task status
iaso/api/tasks/views.py - Task worker → Task records: runs and updates
beanstalk_worker/services.py - Task worker → OpenHEXA pipelines: dispatches pipeline
- OpenHEXA pipelines → Task records: records progress
iaso/tasks/launch_openhexa_pipeline.py