Skip to main content

MALAWI HEALTH CARE INFORMATION SYSTEM (MAHIS) IMPOW SYSTEM AND USER REQUIREMENTS DOCUMENT

IMPOW SYSTEM AND USER REQUIREMENTS DOCUMENT

Document version: v1.0.0

Date: 24/03/2026

VERSION HISTORY

Version

Date

Approved by

Revision Date

Description of Change

Author

v 1.0.0

24 March 2026

 

 

First version

K. Thaundi, G. Chinyama

 


 

Introduction

Purpose Of The Requirements Definition Document

The purpose of the IMPOW (Integrated Management and Prevention of Oedema and Wasting) requirement document is to define user functional, non-functional and technical requirements needed for the IMPOW to MAHIS transition. The contents of this system requirements definition document include the overall system description and system features.

Scope

The main goal of this project is to manage individuals suffering from acute malnutrition during routine clinical visits in both public and private health facilities, as well as community-level screenings. This document will be reviewed annually and updated, if need be, triggering a new document version.

Features

The IMPOW module within MAHIS will provide a more efficient way of managing acute malnutrition cases. This will be achieved by integrating the Ministry of Health Department of Nutrition clinical guidelines (IMPOW Job Aids) into the existing MAHIS platform, providing real-time decision support to providers. Below is a list of the system components:

             Community Screening & Outreach

             Patient Registration

             Triage & Anthropometrics (Vitals)

             Outpatient Therapeutic Program (OTP) Consultation

             Supplementary Feeding Program (SFP) Consultation

             Nutrition Rehabilitation Unit (NRU) Inpatient Care

             Defaulter Tracing

             Lab Ordering and Result Entry

             Therapeutic Food Dispensation

             Appointment Management

             User Management

             Data Management

             System Preferences

 

 

 

User Information

User classes

Title

Characteristics

Superuser

CRUD functions on users, system configuration

Registration/Data clerk

Register clients in the system, enter back data, generate aggregate reports

Health Surveillance Assistant (HSA)

Conduct community screening (MUAC, Oedema), trace defaulters via home visits

Nurse/Clinician/Doctor

Register clients, record vitals/anthropometry, assess oedema, perform clinical consultation (danger signs, appetite test), place lab orders, dispense therapeutic foods, manage inpatient workflows (NRU), schedule appointments

Lab technician

Get lab orders, process samples, capture results

District Nutrition Officer (In-Charge)

View IMPOW client metrics, monitor facility performance, generate DHIS2 reports

User personas

A persona is a depiction of a relevant stakeholder of the system. In the case of IMPOW, trained lay providers (HSAs), nurses, and non-physician clinicians providing nutrition-related services are the primary personas for MAHIS.

Demographics

Goals

Pain Points

Needs from the System

Clinician / Nutrition NurseAge: 25–50Digital Literacy: ModerateDevice: Tablet/Desktop

Quickly access anthropometric history. Evaluate weight gain accurately. Calculate RUTF dosing.

Time-consuming manual z-score calculations. Difficulty identifying defaulters.

Auto-calculated WFH/L z-scores. Alerts for critical weight loss. Automated therapeutic food dosing tables.

Health Surveillance Assistant (HSA)Age: 20–40Digital Literacy: Low-ModerateDevice: Mobile/Tablet

Screen children in the community quickly. Issue accurate referrals. Trace defaulted patients.

Paper slips get lost. Unclear criteria leading to wrong referrals.

Simple screening forms. Automated referral destination prompts. Defaulter lists organized by village.

Data ClerkAge: 22–40Digital Literacy: HighDevice: Desktop

Enter large volumes of clinical data. Ensure data accuracy for DHIS2 reporting.

Transcription errors from CMAM registers. Complex paper tallying.

Fast data entry forms. Validation blocks for implausible anthropometrics. One-click aggregate report generation.

District Nutrition Officer (M&E)Age: 30–55Digital Literacy: HighDevice: Laptop

Monitor facility performance against Sphere Standards (Cure, Death, Default rates).

Errors from manual reports. Delays in receiving facility data.

Dashboards summarizing key indicators (Cure Rates >75%). Downloadable cohort reports.

Permissions Matrix

Module / Feature

Superuser

Nurse/Clinician

HSA

Registration/Data Clerk

Nutrition In-Charge

Lab Tech

Login & Authentication

 Full access

 Full access

 Limited access

 Full access

 Full access

 Limited

User Management

 Create/Edit/Delete

No access

No access

No access

No access

No access

Client Registration

 Yes

 Yes

No

 Yes

No

No

Community Screening (MUAC)

 Yes

 Yes

 Yes

No

No

No

Vitals & Anthropometry

 Yes

 Yes

No

 Yes

No

No

Clinical Consultation (OTP, SFP)

 Yes

 Yes

No

No

No

No

Inpatient Care (NRU)

 Yes

 Yes

No

No

No

No

Lab Ordering

 Yes

 Yes

No

No

No

No

Lab Result Entry

 Yes

No

No

No

No

 Yes

Prescribe/Dispense RUTF

 Yes

 Yes

No

No

No

No

Appointment Scheduling

 Yes

 Yes

No

 Yes

 Yes

No

Defaulter Tracing Logging

 Yes

 Yes

 Yes

No

No

No

Generate Reports (DHIS2)

 Yes

No

No

 Limited

 Yes

No

Edit System Settings

 Yes

No

No

No

No

No

Back Data Entry (BDE)

 Yes

 Yes

No

 Yes

No

No

Workflows

1. Community MUAC Screening Workflow

graph TB
    Start([Community Screening Event]) --> CheckChild{Child Present<br/>Age 6-59 months?}
    CheckChild -->|No| End1([End - Not Eligible])
    CheckChild -->|Yes| MeasureMUAC[Measure MUAC<br/>0.1cm Precision]
    MeasureMUAC --> EvaluateMUAC{Evaluate MUAC}
    EvaluateMUAC -->|MUAC ≥12.5cm| ProvideEducation[Provide Nutrition<br/>Education]
    EvaluateMUAC -->|MUAC 11.5-12.5cm| CreateReferralSFP[Create Referral<br/>to SFP]
    EvaluateMUAC -->|MUAC <11.5cm| CheckOedema{Check for<br/>Oedema}
    CheckOedema -->|No Oedema or +/++| CreateReferralOTP[Create Referral<br/>to OTP]
    CheckOedema -->|Oedema +++| CreateUrgentReferralNRU[Create URGENT<br/>Referral to NRU]

2. OTP Admission Workflow

graph TB
    Start([Patient Arrives<br/>at Facility]) --> Triage[Triage Assessment<br/>Check Danger Signs]
    Triage --> CheckDangerSigns{Danger Signs?}
    CheckDangerSigns -->|Yes| EmergencyProtocol[Immediate Referral<br/>to NRU]
    CheckDangerSigns -->|No| Anthropometry[ANTHROPOMETRY<br/>Weight, Height, MUAC, Oedema]
    Anthropometry --> CalculateIndicators[Calculate<br/>WFH/L Z-Score]
    CalculateIndicators --> EvaluateAdmission{Evaluate<br/>Criteria}
    EvaluateAdmission -->|Not Eligible| NotEligible[Discharge]
    EvaluateAdmission -->|OTP Criteria| AppetiteTest[APPETITE TEST<br/>Offer RUTF]
    AppetiteTest --> EvaluateAppetite{Appetite Test<br/>Result}
    EvaluateAppetite -->|Failed| ReferNRU[Refer to NRU]
    EvaluateAppetite -->|Passed| MedicalAssessment[MEDICAL ASSESSMENT<br/>Complications, HIV, Malaria]
    MedicalAssessment --> DispenseRUTF[DISPENSE RUTF<br/>Weekly Ration]
    DispenseRUTF --> EnrollProgram[ENROLL IN IMPOW<br/>State: Active in OTP]

3. OTP Follow-Up & Care Journey

graph TB
    Start(["Patient Arrives<br/>for Follow-Up"]) --> CheckAppointment{"Appointment<br/>Status"}
    CheckAppointment -->|Late| Late["Record Late Visit"]
    CheckAppointment -->|Defaulter| Defaulter["Trigger Defaulter Tracing"]
    CheckAppointment -->|On Time| Anthropometry["ANTHROPOMETRY<br/>Weight, MUAC, Oedema"]
    Late --> Anthropometry
    Defaulter --> Anthropometry
    Anthropometry --> MeasureWait["Calculate Progress<br/>Weight Gain/MUAC Change"]
    MeasureWait --> AssessRUTF["ASSESS RUTF CONSUMPTION<br/>Calculate % Consumed"]
    AssessRUTF --> ClinicalAssessment["CLINICAL ASSESSMENT<br/>Danger Signs, Triggers"]
    ClinicalAssessment --> CheckDangerSigns{"Danger Signs<br/>or Triggers?"}
    CheckDangerSigns -->|Yes| ReferNRU["REFER TO NRU"]
    CheckDangerSigns -->|No| EvaluateProgress{"Evaluate Progress"}
    EvaluateProgress -->|Weight Loss / Static| Investigate["FLAG: Investigate Cause<br/>Intensive Counseling"]
    EvaluateProgress -->|Good Progress| Medication["Check Medication Schedule<br/>Albendazole / Measles Vaccine"]
    Investigate --> Medication
    Medication --> RecalculateRUTF["RECALCULATE RUTF<br/>Weekly Ration based on Weight"]
    RecalculateRUTF --> ScheduleNext["SCHEDULE NEXT VISIT<br/>+7 Days"]

4. NRU Admission & Inpatient Care Journey

graph TB
    Start(["Patient Arrives<br/>at NRU"]) --> EmergencyAssessment["EMERGENCY ASSESSMENT<br/>Check Shock, Hypoglycemia"]
    EmergencyAssessment --> CheckEmergency{"Life-Threatening?"}
    CheckEmergency -->|Yes| EmergencyTreatment["EMERGENCY PROTOCOL"]
    CheckEmergency -->|No| ClassifyAdmission["Classify Admission Type<br/>Marasmic Kwashiorkor, Infant SAM, SAM+Complications"]
    EmergencyTreatment --> ClassifyAdmission
    ClassifyAdmission --> DetermineFeedingPlan{"Determine Feeding Plan"}
    DetermineFeedingPlan --> SelectSchedule["Select Feeding Schedule<br/>2-Hourly, 3-Hourly, 4-Hourly"]
    SelectSchedule --> Prescribe["PRESCRIBE MEDICATIONS<br/>Ampicillin, Gentamicin"]
    Prescribe --> FeedingPhase["START F-75 PROTOCOL<br/>Stabilization Phase"]
    FeedingPhase --> DailyCare["DAILY INPATIENT CARE<br/>Assess Intake, Vomiting, Complications"]
    DailyCare --> EvaluatePhase{"Evaluate Phase Transition"}
    EvaluatePhase -->|Ready| TransitionF100["TRANSITION TO F-100<br/>Rehabilitation Phase"]
    EvaluatePhase -->|Not Ready| Stabilize["Continue F-75"]
    TransitionF100 --> Discharge["DISCHARGE TO OTP<br/>Once Medical Complications Resolve"]

5. SFP (Supplementary Feeding) Journey

graph TB
    Start(["Patient with MAM<br/>Arrives"]) --> Triage["ANTHROPOMETRY<br/>Confirm MUAC 11.5-12.5cm<br/>or WFH/L -3 to -2"]
    Triage --> CheckOedema{"Oedema Present?"}
    CheckOedema -->|Yes| ReferOTP["Refer to OTP/NRU"]
    CheckOedema -->|No| EnrollSFP["ENROLL IN SFP Workflow"]
    EnrollSFP --> DispenseSFP["Dispense Supplementary Food<br/>(e.g., CSB+, Plumpy'Sup)"]
    DispenseSFP --> BiWeeklyFollowUp["BI-WEEKLY FOLLOW-UP<br/>Monitor Weight Gain"]
    BiWeeklyFollowUp --> CheckDischarge{"Reached Discharge Criteria?<br/>MUAC >12.5cm for 2 visits"}
    CheckDischarge -->|Yes| Discharge["Discharge as Cured"]
    CheckDischarge -->|No| BiWeeklyFollowUp
    CheckDischarge -->|Deteriorates| ReferOTP

Functional Requirements

Login

#

Requirement

1

The system shall allow authorized users to log in using a valid username and password.

2

The system shall notify users on the login page when there is a network or server outage.

3

The system shall notify users about weak or expired passwords upon login.

4

The system shall display the version number on the login page.

Activity Selection

#

Requirement

1

The system shall prompt the user to select the activities they wish to carry out (e.g., Community Screening, OTP Visit, NRU Visit, Defaulter Tracing).

2

The system shall only display activities the user is authorized to perform, based on the permissions matrix.

Service Dashboard & Module Dashboard

#

Requirement

1

The system shall prompt the user to select the workstation location (e.g., Outpatient, Inpatient NRU, Community post).

2

The dashboard shall display a chart showing therapeutic food stock levels (RUTF, F-75, F-100).

3

The dashboard shall highlight active caseload metrics (total cases in OTP, SFP, NRU) for the facility.

4

The dashboard shall display a prioritized list of defaulters pending tracing.

#

Requirement

1

The system shall provide a search tool allowing users to find records by Name, Malawi National ID, MAHIS ID, or IMPOW Number.

2

The system shall automatically integrate with MAHIS core to search the global registry and prevent duplicate registrations.

Patient Registration & Reception

#

Requirement

1

The system shall allow creation of new records with: Name, DOB, Sex, Address, Landmark, Phone.

2

The system shall explicitly record Guardian/Caregiver details (critical for malnutrition follow-ups).

3

The system shall record initial HIV status and link the patient to the HIV/ART module if positive.

Anthropometry & Vitals

#

Requirement

1

The system shall require capturing: Weight (to 0.1kg), Height/Length (to 0.1cm), MUAC (to 0.1cm), and Bilateral Pitting Oedema Grade (None, +, ++, +++).

2

The system shall auto-calculate the Weight-for-Height/Length (WFH/L) Z-score based on WHO standard reference tables dynamically.

3

The system shall classify the nutritional status (Normal, MAM, SAM) based on the inputs immediately upon data entry completion.

4

The system shall prompt for measuring method (Standing vs Lying Down) when height/length is recorded.

Consultation & Clinical Assessment

#

Requirement

1

The system shall mandate an Appetite Test pass/fail result before completing an OTP Admission.

2

The system shall provide a checklist of IMCI Danger Signs and Medical Complications; selecting any shall strictly prompt an NRU Referral.

3

The system shall prompt for an HIV test (if status unknown) and a Malaria RDT during admission.

4

During follow-up, the system shall calculate exact weight gain velocity in g/kg/day and throw an alert (e.g., “Static Weight”) if the velocity is zero or negative.

Treatment & Dispensation

#

Requirement

1

The system shall automatically calculate the recommended RUTF dosage (in 92g packets) based on the patient’s current weight.

2

The system shall allow dispensing of Amoxicillin systematically to all new OTP admissions unless contraindicated.

3

The system shall deduct dispensed therapeutic foods from the global facility inventory dynamically.

4

The system shall block prescriptions of Iron/Folic acid if the patient is classified as Severely Acutely Malnourished (SAM).

Patient Outcomes & Defaulter Tracing

#

Requirement

1

The system shall identify patients overdue for an appointment by >14 days and mark them as “Defaulter candidates”.

2

The system shall provide a Defaulter Tracing electronic form for HSAs to log home visit attempts and final designated outcomes (Found, Refused, Moved Away, Died).

3

The system shall automatically evaluate Discharge Criteria (e.g., MUAC >= 12.5cm for two consecutive visits) and recommend formal discharge as “Cured”.

Integration with other MAHIS modules

#

Requirement

1

HIV/ART Integration: The IMPOW module shall adopt HIV/ART status from the ART module natively. It shall require Cotrimoxazole dispensing alongside Amoxicillin if the child is HIV-positive.

2

ANC Integration: For pregnant/lactating women in SFP, the IMPOW module shall communicate pregnancy status and EDD bi-directionally with the ANC module.

3

Laboratory Integration: Malaria RDTs and Hb tests requested in IMPOW shall be fulfilled via the MAHIS Laboratory module, transmitting results back electronically.

4

Immunization Integration: The system shall check for Measles vaccination status interacting with the EPI registry.

Back Data Entry (BDE)

#

Requirement

1

The system shall provide a BDE toggle in the administration panel to allow manual selection of historical session dates.

2

All records captured under the BDE session shall be permanently logged with a BDE-flag for data integrity tracing.

Reports

#

Requirement

1

The system shall generate the IMPOW Monthly Reports mandated by DHIS2, aggregating admissions, discharges, active caseloads, and stock balances.

2

The system shall compute automated Sphere Standard operational metrics (Cure Rate %, Death Rate %, Defaulter Rate %).

3

All reports shall support export to CSV and PDF, with password protection applied conditionally if PII is included.

Settings and Configurations

Category

Requirement

Module Activation

Allow administrators to completely enable or disable individual program tracks (e.g., SFP).

Appointment Parameters

Configure maximum OTP follow-up quotas per clinic operating day.

Defaulter Thresholds

Adjust the number of days overdue before a patient triggers the Defaulter sequence (default: 14).

 

Validations

Rule ID

Description

Trigger Condition

Validation Criteria

Error Handling

VAL-001

Community Screening Referral

MUAC < 11.5cm + Oedema +++

Patient meets catastrophic IMCI criteria.

Alert: “Critical Emergency - Must Refer to NRU Immediately.” Blocks OTP selection.

VAL-002

Weight Plausibility

Weight submitted

Must be between 2.0 kg and 30.0 kg for pediatric pathways.

Display: “Weight outside logical bounds. Verify scale.”

VAL-003

Height Constraints

Height submitted

Must be between 45.0 cm and 150.0 cm.

Display: “Height outside expected limits.”

VAL-004

Appetite Test Restriction

Failed Appetite Test

A passed test is required to remain in OTP.

Display: “Patient cannot swallow RUTF. Prompt NRU Referral generated.”

VAL-005

Negative Weight Gain

Weight = current < previous

Validates clinical deterioration.

Prompt: “Confirm weight loss parameter. Investigate underlying conditions.”

VAL-006

Contraindicated Drugs

User prescribes Iron / Zinc

Prevented by active SAM diagnosis.

Block: “Medication explicitly contraindicated for acute malnutrition.”

VAL-007

Automated RUTF Dosing

Dispensation screen opened

Calculate Weight * Factor / Packet Kcal.

Recommends exact packet count. Prompts warning if overridden.

VAL-008

SFP Admission Validation

WFH/L recorded

WFH/L must be strictly between -3 and -2.

Diverts admission outcome if severity implies SAM/OTP is needed instead.

VAL-009

Discharge Criteria

User initiates “Cured” Discharge

MUAC > 12.5cm and zero oedema for >14 days

Display: “Discharge criteria unmet. Minimum recovery time not satisfied.”

VAL-010

Date Anomalies

Back Data Entry timestamp

Dates cannot exceed current system clock datetime.

Prevent save: “Future dates are invalid.”

 

Non-Functional Requirements

Category

Non-Functional Requirement

Security - Confidentiality

Provide secure, password-protected Role-Based Access Control logic for all authorized users.

Security - Audit Trails

Maintain immutable event logs for every user login/logout, data CRUD operation, and BDE intervention.

Security - Authentication

Lock users out automatically subsequent to 5 sequential invalid password combinations.

System - Offline Capability

Community screening modules must allow offline caching for HSAs in remote villages with intermittent connectivity, utilizing delayed sync.

System - Scalability

The module must comfortably support processing thousands of concurrent users scaling across 300+ Malawian health facilities natively executing within MAHIS.

Usability - Dynamic UI

Auto-calculate metrics (WFH/L, BMI, Daily Weight Gain, RUTF dosing) natively via frontend Javascript without demanding server round-trips to enhance responsiveness.

Usability - Hard Validations

Prevent nonsensical data (extreme height loss between weekly visits) from contaminating cohort health metrics using strict range delimiters.

Interoperability - DHIS2

Expose an internally accessible API strictly complying with DHIS2 dataset formatting specifications natively matching Ministry aggregate definitions.

Hardware Constraints

Render interfaces explicitly mobile-first, targeting optimized execution over constrained processor generic Android tablets.

 

End of Document