repository for Shiny90 ANC and the "HIV testing declines in Africa and their impacts on HIV diagnosis coverage and time-to-diagnosis: a modeling study of population-based survey and HIV testing program data" paper
----
README for the publication: The Impact of Declining HIV Testing in Africa on Time to HIV Diagnosis and Awareness of HIV Status: A Modeling Study of Population-Based Surveys and HIV Testing Program Data (2015–2023)
The goal of Shiny90 is to provide annual estimates of the proportion of people living with HIV (PLHIV) who are aware of their status by combining estimates of PLHIV from EPP/Spectrum, annual programmatic data on the number of HIV tests performed (and test yield), and nationally representative surveys of HIV testing behaviors.
This is an update to Shiny90 that includes ANC estimates for the publication, as well as a counterfactual analysis to estimate the impact of reductions in testing.
----
This script was tested and is intended to work only on Windows. The package used to perform parallel computations is not functional on macOS.
----
This script was tested on two computers:
specs PC1:
OS: Windows 11
CPU: i9-13900H, 2600 Mhz, 14 Core(s), 20 Logical Processor(s)
Ram: 16 GB 4800 mhz
Drive: 1tb SSD
Graphics: Intel Iris(R) Xe Graphic 8 GB
spec PC2:
OS: Windows 10
CPU: i7-8700, 3200 Mhz, 6 Core(s), 12 Logical Processor(s)
Ram: 16 GB 2666 mhz
Drive: 1tb SSD
Graphics: NVIDIA GeForce GTX 1050 12GB
Both were tested on:
R version 4.5.2
RStudio-2026.01.1-403
rtools 4.5
----
goal: download and install required packages, load source files
runtime: ~187 seconds (with no packages installed)
----
```{r setup, include = FALSE}
packages 0) {
install.packages(to_install)
}
# load all packages
invisible(lapply(packages, library, character.only = TRUE))
# download and set up first 90 package
# first90
if(!"first90" %in% installed.packages()[, "Package"]){
devtools::install_github("mrc-ide/first90release")
}
library(first90)
# source functions
source(here::here("R/0.1 extracting pjnz functions.R"))
source(here::here("R/0.4 functions.R"))
source(here::here("R/0.5 simul-aware-functions.R"))
source(here::here("R/0 …