HIV EID - Summary
System-wide summary and dashboard endpoints for HIV Early Infant Diagnosis (EID/DPI) analytics. These endpoints provide aggregated indicators, positivity rates, turnaround times, and equipment-level data across all facilities.
Common parameters
Most summary endpoints accept a common set of query parameters for filtering data by date range, geographic location, facility attributes, and laboratory type.
- Name
interval_dates- Type
- JSON array
- Description
Date range filter as a JSON array with two dates in
YYYY-MM-DDformat:["2025-01-01","2025-12-31"]. Defaults to the last 12 months if not provided.
- Name
province- Type
- string
- Description
Filter by province name. Supports multi-select by passing the parameter multiple times.
- Name
district- Type
- string
- Description
Filter by district name. Supports multi-select by passing the parameter multiple times.
- Name
health_facility- Type
- string
- Description
Filter by a specific health facility name.
- Name
facility_type- Type
- string
- Description
Grouping level for aggregated results. Accepted values:
"province","district","health_facility".
- Name
disaggregation- Type
- string
- Description
Enable or disable data disaggregation. Accepted values:
"True"or"False".
- Name
lab_type- Type
- string
- Description
Filter by laboratory type. Accepted values:
"conventional","poc","all".
Request with parameters
curl -G https://api.openldr.org.mz/hiv/eid/summary/indicators/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]' \
--data-urlencode "province=Maputo Cidade" \
--data-urlencode "district=KaMpfumo" \
--data-urlencode "facility_type=district" \
--data-urlencode "disaggregation=True" \
--data-urlencode "lab_type=all"
Indicators
Returns a single object with the main EID indicators for the selected period, including total registered, tested, rejected, pending, positive, and negative sample counts.
- Name
registered- Type
- integer
- Description
Total number of samples registered in the system.
- Name
tested- Type
- integer
- Description
Total number of samples that have been tested.
- Name
rejected- Type
- integer
- Description
Total number of samples that were rejected.
- Name
pending- Type
- integer
- Description
Total number of samples awaiting testing.
- Name
positive- Type
- integer
- Description
Total number of samples with a positive result.
- Name
negative- Type
- integer
- Description
Total number of samples with a negative result.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/indicators/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]'
Response
{
"registered": 45230,
"tested": 42180,
"rejected": 1850,
"pending": 1200,
"positive": 2635,
"negative": 39545
}
TAT
Returns an array of monthly turnaround time (TAT) averages broken down by each stage of the sample processing pipeline, from collection through validation.
- Name
year- Type
- integer
- Description
The year of the record.
- Name
month- Type
- integer
- Description
The month number (1-12).
- Name
month_name- Type
- string
- Description
The name of the month.
- Name
collection_receiveHub- Type
- float
- Description
Average days from sample collection to hub reception.
- Name
receiveHub_registrationHub- Type
- float
- Description
Average days from hub reception to hub registration.
- Name
registrationHub_receiveLab- Type
- float
- Description
Average days from hub registration to laboratory reception.
- Name
receiveLab_registrationLab- Type
- float
- Description
Average days from laboratory reception to laboratory registration.
- Name
registrationLab_analyseLab- Type
- float
- Description
Average days from laboratory registration to analysis.
- Name
analyseLab_validationLab- Type
- float
- Description
Average days from analysis to result validation.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/tat/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]'
Response
[
{
"year": 2025,
"month": 1,
"month_name": "January",
"collection_receiveHub": 3.2,
"receiveHub_registrationHub": 0.5,
"registrationHub_receiveLab": 2.1,
"receiveLab_registrationLab": 0.3,
"registrationLab_analyseLab": 1.8,
"analyseLab_validationLab": 0.4
},
{
"year": 2025,
"month": 2,
"month_name": "February",
"collection_receiveHub": 2.9,
"receiveHub_registrationHub": 0.4,
"registrationHub_receiveLab": 1.9,
"receiveLab_registrationLab": 0.2,
"registrationLab_analyseLab": 1.6,
"analyseLab_validationLab": 0.3
}
]
TAT samples
Returns an array with a single object showing the distribution of samples across turnaround time intervals. An additional category parameter (1-6) selects the TAT stage to analyze.
- Name
category- Type
- integer
- Description
TAT stage to analyze (1-6). Pass as a query parameter.
- Name
less_7- Type
- integer
- Description
Number of samples with TAT less than 7 days.
- Name
between_7_14- Type
- integer
- Description
Number of samples with TAT between 7 and 14 days.
- Name
between_15_21- Type
- integer
- Description
Number of samples with TAT between 15 and 21 days.
- Name
greater_21- Type
- integer
- Description
Number of samples with TAT greater than 21 days.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/tat_samples/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]' \
--data-urlencode "category=1"
Response
[
{
"category": 1,
"less_7": 18420,
"between_7_14": 12350,
"between_15_21": 7890,
"greater_21": 3520
}
]
Positivity
Returns an array of monthly positivity data, including total tested samples and the breakdown into positive and negative results.
- Name
year- Type
- integer
- Description
The year of the record.
- Name
month- Type
- integer
- Description
The month number (1-12).
- Name
month_name- Type
- string
- Description
The name of the month.
- Name
total- Type
- integer
- Description
Total number of samples tested in the month.
- Name
positive- Type
- integer
- Description
Number of positive results in the month.
- Name
negative- Type
- integer
- Description
Number of negative results in the month.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/positivity/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]'
Response
[
{
"year": 2025,
"month": 1,
"month_name": "January",
"total": 3850,
"positive": 241,
"negative": 3609
},
{
"year": 2025,
"month": 2,
"month_name": "February",
"total": 3620,
"positive": 218,
"negative": 3402
}
]
Number of samples
Returns an array of monthly sample counts, providing a time-series view of total samples processed.
- Name
year- Type
- integer
- Description
The year of the record.
- Name
month- Type
- integer
- Description
The month number (1-12).
- Name
month_name- Type
- string
- Description
The name of the month.
- Name
total- Type
- integer
- Description
Total number of samples in the month.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/number_of_samples/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]'
Response
[
{
"year": 2025,
"month": 1,
"month_name": "January",
"total": 4120
},
{
"year": 2025,
"month": 2,
"month_name": "February",
"total": 3890
}
]
Indicators by province
Returns an array of EID indicators grouped by province, including totals, tested, positive, and breakdowns by laboratory type (conventional vs. point-of-care).
- Name
province- Type
- string
- Description
The name of the province.
- Name
total- Type
- integer
- Description
Total number of samples registered in the province.
- Name
tested- Type
- integer
- Description
Total number of samples tested in the province.
- Name
positive- Type
- integer
- Description
Total number of positive results in the province.
- Name
conventional- Type
- integer
- Description
Number of samples processed through conventional laboratories.
- Name
poc- Type
- integer
- Description
Number of samples processed through point-of-care testing.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/indicators_by_province/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]'
Response
[
{
"province": "Maputo Cidade",
"total": 5240,
"tested": 4980,
"positive": 312,
"conventional": 3450,
"poc": 1530
},
{
"province": "Gaza",
"total": 3870,
"tested": 3650,
"positive": 245,
"conventional": 2100,
"poc": 1550
}
]
Samples positivity
Returns a single object with overall positivity data disaggregated by sex, providing totals for positive and negative results for both female and male infants.
- Name
total- Type
- integer
- Description
Total number of samples tested.
- Name
positive- Type
- integer
- Description
Total number of positive results.
- Name
negative- Type
- integer
- Description
Total number of negative results.
- Name
female_positive- Type
- integer
- Description
Number of positive results for female infants.
- Name
male_positive- Type
- integer
- Description
Number of positive results for male infants.
- Name
female_negative- Type
- integer
- Description
Number of negative results for female infants.
- Name
male_negative- Type
- integer
- Description
Number of negative results for male infants.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/samples_positivity/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]'
Response
{
"total": 42180,
"positive": 2635,
"negative": 39545,
"female_positive": 1287,
"male_positive": 1348,
"female_negative": 19430,
"male_negative": 20115
}
Rejected samples by month
Returns an array of monthly rejected sample counts, useful for monitoring sample quality trends over time.
- Name
year- Type
- integer
- Description
The year of the record.
- Name
month- Type
- integer
- Description
The month number (1-12).
- Name
month_name- Type
- string
- Description
The name of the month.
- Name
total- Type
- integer
- Description
Total number of rejected samples in the month.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/rejected_samples_by_month/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]'
Response
[
{
"year": 2025,
"month": 1,
"month_name": "January",
"total": 167
},
{
"year": 2025,
"month": 2,
"month_name": "February",
"total": 143
}
]
Samples by equipment
Returns a single object with the total number of samples processed by each equipment type during the selected period.
- Name
CAPCTM- Type
- integer
- Description
Samples processed on COBAS AmpliPrep/COBAS TaqMan equipment.
- Name
ALINITY- Type
- integer
- Description
Samples processed on Abbott Alinity m equipment.
- Name
M2000- Type
- integer
- Description
Samples processed on Abbott m2000 equipment.
- Name
C6800- Type
- integer
- Description
Samples processed on Roche cobas 6800 equipment.
- Name
PANTHER- Type
- integer
- Description
Samples processed on Hologic Panther equipment.
- Name
MPIMA- Type
- integer
- Description
Samples processed on Abbott m-PIMA equipment.
- Name
MANUAL- Type
- integer
- Description
Samples processed manually.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/samples_by_equipment/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]'
Response
{
"CAPCTM": 12450,
"ALINITY": 8920,
"M2000": 7340,
"C6800": 6180,
"PANTHER": 3950,
"MPIMA": 2840,
"MANUAL": 500
}
Samples by equipment by month
Returns an array of monthly sample counts broken down by equipment type, allowing analysis of equipment utilization trends over time.
- Name
year- Type
- integer
- Description
The year of the record.
- Name
month- Type
- integer
- Description
The month number (1-12).
- Name
month_name- Type
- string
- Description
The name of the month.
- Name
CAPCTM- Type
- integer
- Description
Samples processed on COBAS AmpliPrep/COBAS TaqMan equipment.
- Name
ALINITY- Type
- integer
- Description
Samples processed on Abbott Alinity m equipment.
- Name
M2000- Type
- integer
- Description
Samples processed on Abbott m2000 equipment.
- Name
C6800- Type
- integer
- Description
Samples processed on Roche cobas 6800 equipment.
- Name
PANTHER- Type
- integer
- Description
Samples processed on Hologic Panther equipment.
- Name
MPIMA- Type
- integer
- Description
Samples processed on Abbott m-PIMA equipment.
- Name
MANUAL- Type
- integer
- Description
Samples processed manually.
Request
curl -G https://api.openldr.org.mz/hiv/eid/summary/samples_by_equipment_by_month/ \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
--data-urlencode 'interval_dates=["2025-01-01","2025-12-31"]'
Response
[
{
"year": 2025,
"month": 1,
"month_name": "January",
"CAPCTM": 1120,
"ALINITY": 810,
"M2000": 650,
"C6800": 540,
"PANTHER": 350,
"MPIMA": 260,
"MANUAL": 45
},
{
"year": 2025,
"month": 2,
"month_name": "February",
"CAPCTM": 1050,
"ALINITY": 780,
"M2000": 620,
"C6800": 510,
"PANTHER": 330,
"MPIMA": 240,
"MANUAL": 38
}
]