Skip to content
All posts12 September 2026 · Avis IT Solutions

How the HMIS 105 monthly report actually gets filled

Uganda's Health Unit Outpatient Monthly Report has twelve sections. Which of them a system can fill from clinical records, and which still come off the registers.

HealthcareHMIS 105DHIS2Glide HMIS

In most Ugandan health facilities the monthly report is assembled by one person, at a desk, with a stack of registers and a calculator. The OPD register goes in one pile, the laboratory register in another, the ANC register somewhere near the window. Then the counting starts.

The form being filled is HMIS 105, the Health Unit Outpatient Monthly Report. It has twelve sections. It asks for outpatient attendance broken down by age and sex, diagnoses, referrals, maternal and child health including antenatal visits and immunisation, family planning, HIV testing, laboratory tests, and a financial summary. Every figure on it already exists somewhere in the facility. It exists on paper, in a book, in a different handwriting each week.

Why it takes so long

The work is not the writing. It is the reconciling.

A patient seen in OPD, sent to the laboratory, and given a prescription appears in three registers on three desks. Counting them as one visit means somebody has to notice that the same person is in all three. When a facility sees two hundred outpatients a day, nobody notices reliably, which is why the attendance total and the diagnosis total so often disagree by an amount everyone has learned to ignore.

Then there is the register that went missing, the week the clerk was away, and the page where a tally was started twice. The report gets filed because it has to be filed. Whether it describes the month accurately is a separate question, and one that rarely gets asked out loud.

What a system can actually fill in

This is where software helps, and it helps less than most vendors imply, so it is worth being exact about which parts.

If clinical work is recorded as it happens rather than written into a book for counting later, five groups of figures come out of the data without anyone tallying anything. In Glide HMIS these are what the HMIS 105 screen produces for a chosen month:

  • Attendance and movement. Total OPD attendance, split into new and return patients, plus admissions, discharges, deaths and referrals out.
  • Diagnoses. The top twenty by count, grouped by ICD-10 chapter, taken from what clinicians actually recorded in the consultation rather than from a clerk reading handwriting.
  • Laboratory. Tests performed by category, and how many came back positive or abnormal.
  • Pharmacy. Total prescriptions, the twenty medicines dispensed most, and the number of stock-out days per item.
  • Maternity. First and return antenatal visits, normal deliveries, caesarean sections, live births, still births and maternal deaths.

That is five areas out of twelve sections. Family planning, immunisation, HIV testing services and the financial summary are not in that list, and anyone telling you a system produces the whole form from nothing is describing a different facility from yours. Those sections still come from the registers, from the EPI tally sheets, and from whoever keeps the cash book.

The honest claim is narrower and more useful: the counting disappears from the parts of the form that come from clinical work, and the reconciling disappears with it, because the attendance figure and the diagnosis figure are drawn from the same records rather than from two different books.

The stock-out column is the one to watch

Stock-out days are worth singling out, because almost nobody records them properly on paper and they are the figure a district health officer reads most carefully. On a register you would have to notice that an item ran out, write down the date, and remember to write down the date it came back. In practice the column gets filled in at the end of the month from memory, which means it usually reads zero.

When dispensing draws down the stock as it happens, the system already knows the day an item hit zero and the day it was next received. The figure is a subtraction, not a recollection.

DHIS2, and what actually gets uploaded

Uganda has run DHIS2 as the national health information system since 2011. The district enters or imports the facility's monthly figures, and the national picture is built from what every facility sent up.

This matters for a reason that has nothing to do with software. Whatever your facility reports becomes the basis for what it is allocated. A facility that under-reports because the counting was rushed is not just filing a poor return. It is making the case for a smaller allocation next cycle, in a document nobody will revisit.

Before you submit, check three things

Whether the figures come off a register or out of a system, the same three checks catch most of what goes wrong.

Does total attendance roughly equal new plus return patients? If it does not, somebody has been counting visits in one place and people in another. Does the number of diagnoses recorded sit near the number of consultations? A large gap means clinicians are not recording a diagnosis, and no system fixes that, because the gap is in the consultation room and not in the software. And does anything in the report sit at exactly zero for the whole month? A genuine zero is possible. A column of zeros usually means nobody filled that section in.

If you want to see it

The HMIS 105 screen in Glide HMIS runs against the demo hospital, which carries a few hundred patients and a working month of visits. You can pick a month, generate the report, and see which figures come out populated and which do not, without talking to anybody first.

We would rather you found the gaps yourself than had us describe them.

Want this done in your organisation?

The people who wrote this are the ones who install the systems. Book thirty minutes with one of them.

WhatsApp