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-DD format: ["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

GET
/hiv/eid/summary/indicators/
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"
GET/hiv/eid/summary/indicators/

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

GET
/hiv/eid/summary/indicators/
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
}
GET/hiv/eid/summary/tat/

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

GET
/hiv/eid/summary/tat/
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
  }
]
GET/hiv/eid/summary/tat_samples/

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

GET
/hiv/eid/summary/tat_samples/
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
  }
]
GET/hiv/eid/summary/positivity/

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

GET
/hiv/eid/summary/positivity/
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
  }
]
GET/hiv/eid/summary/number_of_samples/

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

GET
/hiv/eid/summary/number_of_samples/
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
  }
]
GET/hiv/eid/summary/indicators_by_province/

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

GET
/hiv/eid/summary/indicators_by_province/
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
  }
]
GET/hiv/eid/summary/samples_positivity/

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

GET
/hiv/eid/summary/samples_positivity/
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
}
GET/hiv/eid/summary/rejected_samples_by_month/

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

GET
/hiv/eid/summary/rejected_samples_by_month/
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
  }
]
GET/hiv/eid/summary/samples_by_equipment/

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

GET
/hiv/eid/summary/samples_by_equipment/
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
}
GET/hiv/eid/summary/samples_by_equipment_by_month/

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

GET
/hiv/eid/summary/samples_by_equipment_by_month/
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
  }
]

Was this page helpful?