diff --git a/DESCRIPTION b/DESCRIPTION index cb04f802..95ff1985 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: naomi Title: Naomi Model for Subnational HIV Estimates -Version: 2.10.7 +Version: 2.10.8 Authors@R: person(given = "Jeff", family = "Eaton", diff --git a/NEWS.md b/NEWS.md index c28810bb..d72ab81c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,9 @@ -# naomi 2.10.7 +# naomi 2.10.8 + +* Add national level aggregate to PEPFAR Target Setting Tool CSV. +* Remove two-year ahead projection (`*.T2`) indicators from PEPFAR Target Setting Tool output. +# naomi 2.10.7 * Add example datasets for 28 district, dropping the `District + Metro` level. Datasets are saved in `extdata/demo-district28`. diff --git a/R/pepfar-datapack.R b/R/pepfar-datapack.R index dd051d29..55531073 100644 --- a/R/pepfar-datapack.R +++ b/R/pepfar-datapack.R @@ -74,6 +74,10 @@ build_datapack_output <- function(naomi_output, psnu_level, dmppt2_output) { warning("PSNU level ", psnu_level, " not included in model outputs.") } + ## PEPFAR Target Setting Tool 2025: select both PSNU level and national aggregates + ## Assume that national aggregate is level 0 + datapack_output_levels <- c(0L, psnu_level) + datapack_indicator_map$calendar_quarter <- naomi_output$meta_period$calendar_quarter[datapack_indicator_map$time] datapack_indicator_map <- datapack_indicator_map %>% @@ -120,9 +124,10 @@ build_datapack_output <- function(naomi_output, psnu_level, dmppt2_output) { dat <- indicators %>% dplyr::rename(sex_naomi = sex) %>% - dplyr::semi_join( + dplyr::inner_join( naomi_output$meta_area %>% - dplyr::filter(area_level == psnu_level), + dplyr::filter(area_level %in% datapack_output_levels) %>% + dplyr::select(area_id, area_level), by = "area_id" ) %>% dplyr::left_join( @@ -142,6 +147,7 @@ build_datapack_output <- function(naomi_output, psnu_level, dmppt2_output) { ) %>% dplyr::transmute( area_id, + area_level, indicator, indicator_sort_order, sex_naomi, @@ -156,7 +162,7 @@ build_datapack_output <- function(naomi_output, psnu_level, dmppt2_output) { dplyr::rename(age_sex_rse = rse) %>% dplyr::left_join( dplyr::filter(dat, age_group %in% c("Y000_999", "Y015_049")) %>% - dplyr::select(-indicator_sort_order, -age_group, -sex_naomi, -value) %>% + dplyr::select(-area_level, -indicator_sort_order, -age_group, -sex_naomi, -value) %>% dplyr::rename(district_rse = rse), by = c("area_id", "indicator", "calendar_quarter") ) %>% @@ -165,7 +171,7 @@ build_datapack_output <- function(naomi_output, psnu_level, dmppt2_output) { dplyr::select(area_name, area_id), by = "area_id" ) %>% - dplyr::arrange(calendar_quarter, indicator_sort_order, area_id, sex_naomi, age_group) + dplyr::arrange(calendar_quarter, indicator_sort_order, area_level, area_id, sex_naomi, age_group) dat$district_rse[is.na(dat$district_rse) & dat$indicator %in% c("circ_new", "circ_ever")] <- 0.0 @@ -249,7 +255,7 @@ datapack_aggregate_1to9 <- function(indicators) { indicators_keep <- c("plhiv", "plhiv_attend", "untreated_plhiv_attend", "infections", - "population", "art_current", "art_current_residents", "aware_plhiv_num") + "population", "art_current", "art_current_residents", "aware_plhiv_num", "aware_plhiv_attend") indicators1to9 <- indicators %>% dplyr::filter( diff --git a/inst/datapack/datapack_indicator_mapping.csv b/inst/datapack/datapack_indicator_mapping.csv index cc7b083d..3665542c 100644 --- a/inst/datapack/datapack_indicator_mapping.csv +++ b/inst/datapack/datapack_indicator_mapping.csv @@ -29,8 +29,5 @@ incidence,Incidence_SUBNAT.Rt.T,Incidence_SUBNAT.Rt.T,,FALSE,4 infections,NEW_INFECTIONS_SUBNAT.T,NEW_INFECTIONS_SUBNAT.T,,TRUE,4 plhiv,PLHIV_Residents.T,PLHIV_Residents.T,,TRUE,4 plhiv_attend,PLHIV_Attend.T,PLHIV_Attend.T,,TRUE,4 -infections,NEW_INFECTIONS_SUBNAT.T2,NEW_INFECTIONS_SUBNAT.T2,,TRUE,5 -plhiv,PLHIV_Residents.T2,PLHIV_Residents.T2,,TRUE,5 -plhiv_attend,PLHIV_Attend.T2,PLHIV_Attend.T2,,TRUE,5 circ_ever,ZayJeEa6pCa,VMMC_TOTALCIRC_SUBNAT.T_1,,TRUE,3 circ_new,SSun4i7nHlV,VMMC_CIRC_SUBNAT.T_1,,TRUE,3 \ No newline at end of file