DEVELOPMENT OF A CUSTOMIZED DHIS2 FOR MATERNAL HEALTHY SURVEILLANCE BETWEEN REFERRAL HOSPITALS AND HEALTH CENTRES IN UGANDA
# Maternal Health Surveillance for Remote Settings
This repository contains a configurable DHIS2 Tracker prototype for the research
project **Development of a Customized DHIS2 for Maternal Health Surveillance in
Remote Settings**. It follows a mother from registration through ANC, referral,
delivery, PNC, complications and maternal outcome/response follow-up.
The prototype is metadata-only: it does not modify DHIS2 core and contains no
patient data.
## What is included
- A reproducible DHIS2 metadata generator
- Longitudinal reception, triage and maternal-care Tracker stages
- High-risk, missed-contact, referral and data-quality program rules
- Six named role-specific interfaces with stage-level access
- Program indicators and a facility-scoped specialist dashboard
- A two-facility organisation-unit sample for the controlled pilot
- A local DHIS2 test environment
- Requirements traceability, test cases, security and offline procedures
## Quick start
Requirements: Docker with Compose and Python 3.10+.
```bash
make test
docker compose up -d
```
Wait for DHIS2 to become ready at the port configured by `DHIS2_PORT` in
`.env` (port 8080 by default), then sign in with the
administrator credentials configured for the instance. The stock DHIS2 image
uses `admin` / `district` on a new database; change that password before any
networked use. The `ADMIN_PASSWORD` container variable does not initialize this
image's DHIS2 account.
For the tested local instance, run the reproducible setup (substitute the actual
administrator password):
```bash
export DHIS2_ADMIN_PASSWORD='district'
make import
make configure
make analytics
```
The Makefile loads local values from the gitignored `.env`. For another instance,
edit that file or pass an override such as
`make import DHIS2_ADMIN_PASSWORD='...'`.
`make import` performs an atomic dry run before commit and uses
`skipSharing=true`, so repeat imports do not erase live access assignments.
Security objects remain server-managed a …