Protocol for Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024.

preprint OA: closed
Full text JSON View at publisher
Full text 115,823 characters · extracted from preprint-html · click to expand
Protocol for Monitoring the Implementation of the... | F1000Research "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r 3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}(); dataLayer = dataLayer || []; // Standard GTM initialization - Google Consent Mode handles consent automatically (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '>m_auth=hzk0Vc3qFsQYhCrIoHz68A>m_preview=env-1>m_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MWFK8L5J'); ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; ;NREUM.loader_config={accountID:"438030",trustKey:"438030",agentID:"772317073",licenseKey:"97f8f67f26",applicationID:"772317073"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"97f8f67f26",applicationID:"772317073",sa:1} ;/*! For license information please see nr-loader-spa-1.236.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={5763:(e,t,r)=>{r.d(t,{P_:()=>l,Mt:()=>g,C5:()=>s,DL:()=>v,OP:()=>T,lF:()=>D,Yu:()=>y,Dg:()=>h,CX:()=>c,GE:()=>b,sU:()=>_});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}var u=r(7056);const d=()=>{const e={blockSelector:"[data-nr-block]",maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:"*",maskAllInputs:!0,get blockClass(){return"nr-block"},get ignoreClass(){return"nr-ignore"},get maskTextClass(){return"nr-mask"},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=",".concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={...t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},f={};function l(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function h(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");f[e]=(0,i.D)(t,d()),(0,n.Qy)(e,f[e],"config")}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=l(e);if(r){for(var n=t.split("."),i=0;i {r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.236.0",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>a,IF:()=>u,Nk:()=>f,Tt:()=>s,_A:()=>o,il:()=>n,pL:()=>c,v6:()=>i,w1:()=>d});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=""+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&"undefined"==typeof SharedWorker,u=(()=>{const e=navigator.userAgent.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),d=Boolean(n&&window.document.documentMode),f=!!navigator.sendBeacon},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(2177),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u {let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},2177:(e,t,r)=>{r.d(t,{c:()=>f,ee:()=>u});var n=r(8632),i=r(2210),o=r(1284),a=r(5763),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:v,get:x,listeners:w,context:m,buffer:A,abort:h,aborted:!1,isBuffering:E,debugId:r,backlog:g?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return p;function m(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function v(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=m(n),s=w(e),d=s.length,f=0;fn,p:()=>i});var n=r(2177).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s {r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(2177),i=r(5546),o=r(8e3),a=r(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(Object.entries(e).forEach((e=>{let[t,n]=e;void 0===u[t]&&(s[t]?s[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n))})),Object.keys(s).forEach((e=>{void 0===u[e]&&(s[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(2177);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;return void(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"==document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>v,u5:()=>N,QU:()=>S,_L:()=>I,Gm:()=>L,Lg:()=>M,gy:()=>U,BV:()=>Q,Kf:()=>ee});var n=r(2177);const i="nr@original";var o=Object.prototype.hasOwnProperty,a=!1;function s(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c 2?n-2:0),o=2;o {r(A[T],e,w),r(E[T],e,w)})),r(l._A,"fetch",y),t.on(y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(y+"done",[null,r],n)}else t.emit(y+"done",[e],n)})),t}const O={},j=["pushState","replaceState"];function S(e){const t=function(e){return(e||n.ee).get("history")}(e);return!l.il||O[t.debugId]++||(O[t.debugId]=1,s(t).inPlace(window.history,j,"-")),t}var P=r(3239);const C={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!l.il||C[t.debugId])return t;C[t.debugId]=!0;var r=s(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function c(e,t){var r=e.match(a),n=r[1],i=r[3];return i?c(i,t[n]):t[n]}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,s=a.match(i),s?s[1]:null);var a,s;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:c(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,P.m$)(!1)),e.addEventListener("error",l,(0,P.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}var k=r(5763);const H={};function L(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!l.il||H[t.debugId])return t;H[t.debugId]=!0;var r=s(t),i=k.Yu.MO;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function M(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=n.c,o=s(t),a=k.Yu.PR;return a&&function(){function e(r){var n=t.context(),i=o(r,"executor-",n,null,!1);const s=Reflect.construct(a,[i],e);return t.context(s).getCtx=function(){return n},s}l._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,i=r(e);i.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c e())),t};function m(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}function b(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,f,"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,J,"-xhr-",E),r.on("send-xhr-start",(function(e,t){m(e,t),function(e){h.push(e),a&&(y?y.then(A):u?u(A):(w=-w,x.data=w))}(t)})),r.on("open-xhr-start",m),a){var y=c&&c.resolve();if(!u&&!c){var w=1,x=document.createTextNode(w);new a(A).observe(x,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e {r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{A:()=>i,t:()=>n});const n=r(3325).D.jserrors,i="nr@seenError"},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(3325).D.pageViewEvent,i="firstbyte",o="domcontent",a="windowload"},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>A,CB_END:()=>E,CB_START:()=>u,END:()=>x,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(5763);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",f="remaining",l="interaction",h="spaNode",g="jsonpNode",p="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",x="-end",A="-body",E="cb"+x,T="jsTime",_="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>o});var n=r(5763),i=r(2177);class o{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1}}},9144:(e,t,r)=>{r.d(t,{j:()=>m});var n=r(3325),i=r(5763),o=r(5546),a=r(2177),s=r(7894),c=r(8e3),u=r(3960),d=r(385),f=r(50),l=r(3081),h=r(8632);function g(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i 1?r-1:0),i=1;i {e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var p=r(2587);function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=arguments.length>2?arguments[2]:void 0,v=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:x={loaderType:m},exposed:A=!0}=t;const E=(0,h.gG)();y||(b=E.init,y=E.info,w=E.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,x),y.jsAttributes??={},d.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),g();const T=function(e,t){t||(0,c.R)(e,"api");const h={};var g=a.ee.get(e),p=g.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","inlineHit","addRelease"].forEach((e=>h[e]=x(m,e,!0,"api"))),h.addPageAction=x(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,x(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,f.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of was provided."))}else(0,f.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,f.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of was provided."))},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,g),function(){if(p.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw p.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{p.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,g),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,g),r?void 0:this}}function A(){r.e(439).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,f.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,g),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,g)},d.il?(0,u.b)((()=>A()),!0):A(),h}(e,v);return(0,h.Qy)(e,T,"api"),(0,h.Qy)(e,A,"exposed"),(0,h.EZ)("activatedFeatures",p.T),T}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({78:"page_action-aggregate",147:"metrics-aggregate",242:"session-manager",317:"jserrors-aggregate",348:"page_view_timing-aggregate",412:"lazy-feature-loader",439:"async-api",538:"recorder",590:"session_replay-aggregate",675:"compressor",733:"session_trace-aggregate",786:"page_view_event-aggregate",873:"spa-aggregate",898:"ajax-aggregate"}[e]||e)+"."+{78:"ac76d497",147:"3dc53903",148:"1a20d5fe",242:"2a64278a",317:"49e41428",348:"bd6de33a",412:"2f55ce66",439:"30bd804e",538:"1b18459f",590:"cf0efb30",675:"ae9f91a8",733:"83105561",786:"06482edd",860:"03a8b7a5",873:"e6b09d52",898:"998ef92b"}[e]+"-1.236.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d {s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=364,i.p="https://js-agent.newrelic.com/",(()=>{var e={364:0,953:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u {i.r(o);var e=i(3325),t=i(5763);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(9144);var s=i(5546),c=i(385),u=i(8e3),d=i(5938),f=i(3960),l=i(50);class h extends d.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler,this.featAggregate,this.onAggregateImported,n&&(0,u.R)(e,r)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const r=c.il&&!0===(0,t.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let t;try{if(r){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,l.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,u.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:r}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await r(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),n(!0)}catch(e){(0,l.Z)("Downloading and initializing ".concat(this.featureName," failed..."),e),this.abortHandler?.(),n(!1)}};c.il?(0,f.b)((()=>o()),!0):o()}shouldImportAgg(r,n){return r!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!n?.isNew||!!n?.state.sessionReplay)}}var g=i(7633),p=i(7894);class m extends h{static featureName=g.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,g.t9,i),("undefined"==typeof PerformanceNavigationTiming||c.Tt)&&"undefined"!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[g.Dz]=Math.max(Date.now()-n.offset,0),(0,f.K)((()=>n[g.qw]=Math.max((0,p.z)()-n[g.Dz],0))),(0,f.b)((()=>{const t=(0,p.z)();n[g.OJ]=Math.max(t-n[g.Dz],0),(0,s.p)("timing",["load",t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var v=i(1117),b=i(1284);class y extends v.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,b.D)(e,(function(e,r){t[e]=w(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,b.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=w(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=w(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i t.max&&(t.max=e),e 2&&void 0!==arguments[2])||arguments[2];super(e,r,j.t,n),c.il&&((0,t.OP)(e).initHidden=Boolean("hidden"===document.visibilityState),(0,N.N)((()=>(0,s.p)("docHidden",[(0,p.z)()],void 0,j.t,this.ee)),!0),(0,O.bP)("pagehide",(()=>(0,s.p)("winPagehide",[(0,p.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var P=i(3081);class C extends h{static featureName=P.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,r),this.importAggregator()}}var R,I=i(2210),k=i(1214),H=i(2177),L={};try{R=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(L.console=!0,-1!==R.indexOf("dev")&&(L.dev=!0),-1!==R.indexOf("nr_dev")&&(L.nrDev=!0))}catch(e){}function z(e){try{L.console&&z(e)}catch(e){}}L.nrDev&&H.ee.on("internal-error",(function(e){z(e.stack)})),L.dev&&H.ee.on("fn-err",(function(e,t,r){z(r.stack)})),L.dev&&(z("NR AGENT IN DEVELOPMENT MODE"),z("flags: "+(0,b.D)(L,(function(e,t){return e})).join(", ")));var M=i(6660);class B extends h{static featureName=M.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,M.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on("fn-start",(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on("fn-err",(function(t,r,n){o.abortHandler&&!n[M.A]&&((0,I.X)(n,M.A,(function(){return!0})),this.thrown=!0,(0,s.p)("err",[n,(0,p.z)()],void 0,e.D.jserrors,o.ee))})),o.ee.on("fn-end",(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on("internal-error",(function(t){(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=c._A.onerror,c._A.onerror=this.onerrorHandler.bind(this),c._A.addEventListener("unhandledrejection",(t=>{const r=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,D.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,s.p)("err",[r,(0,p.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,O.m$)(!1,this.removeOnAbort?.signal)),(0,k.gy)(this.ee),(0,k.BV)(this.ee),(0,k.em)(this.ee),(0,t.OP)(r).xhrWrappable&&(0,k.Kf)(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){"function"==typeof this.origOnerror&&this.origOnerror(...arguments);try{this.skipNext?this.skipNext-=1:(0,s.p)("err",[o||new F(t,r,n),(0,p.z)()],void 0,e.D.jserrors,this.ee)}catch(t){try{(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function F(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}let U=1;const q="nr@id";function G(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===c._A?0:(0,I.X)(e,q,(function(){return U++}))}function V(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.P)(e).length}catch(e){return}}}var X=i(7243);class W{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,_.M)(),s=(0,_.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof c._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,D.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i 2&&void 0!==arguments[2])||arguments[2];super(r,n,Z.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new W(r),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee),(0,k.u5)(this.ee),(0,k.Kf)(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){_(t,e)}),(0,O.m$)(!1)),c.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,O.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function u(e,n){var i=(0,t.DL)(r);i.xpid&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function d(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=V(i);a&&(r.txSize=a)}this.startTime=(0,p.z)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof o.end)&&o.end(t)}catch(e){try{n.emit("internal-error",[e])}catch(e){}}};for(var s=0;s 1?e[1]=i:e.push(i)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function x(e,t){this.params={},this.metrics={},this.startTime=(0,p.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof Y?r=i.url:c._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(""+(i&&i instanceof Y&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=V(n.body)||0}function A(t,r){var n;this.endTime=(0,p.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,p.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,e.D.ajax)}function E(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o 2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,_.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(m),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||"agent")),this.start()):(0,l.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t="features";try{const r=n(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const n=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);n.every((e=>r[e]))||(0,l.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,D.P)(n),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,T.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,l.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,T.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[J,m,S,class extends h{static featureName=oe;constructor(t,r){if(super(t,r,oe,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;const n=this.ee;let i;(0,k.QU)(n),this.eventsEE=(0,k.em)(n),this.eventsEE.on(se,(function(e,t){this.bstStart=(0,p.z)()})),this.eventsEE.on(ae,(function(t,r){(0,s.p)("bst",[t[0],r,this.bstStart,(0,p.z)()],void 0,e.D.sessionTrace,n)})),n.on(ce+ne,(function(e){this.time=(0,p.z)(),this.startPath=location.pathname+location.hash})),n.on(ce+ie,(function(t){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)}));try{i=new PerformanceObserver((t=>{const r=t.getEntries();(0,s.p)(te,[r],void 0,e.D.sessionTrace,n)})),i.observe({type:re,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},C,xe,B,class extends h{static featureName=de;constructor(e,r){if(super(e,r,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get("tracer"),a=(0,k._L)(this.ee),s=(0,k.Lg)(this.ee),u=(0,k.BV)(this.ee),d=(0,k.Kf)(this.ee),f=this.ee.get("events"),l=(0,k.u5)(this.ee),h=(0,k.QU)(this.ee),g=(0,k.Gm)(this.ee);function m(e,t){h.emit("newURL",[""+window.location,t])}function v(){i++,n=window.location.hash,this[ve]=(0,p.z)()}function b(){i--,window.location.hash!==n&&m(0,!0);var e=(0,p.z)();this[pe]=~~this[pe]+e-this[ve],this[ye]=e}function y(e,t){e.on(t,(function(){this[t]=(0,p.z)()}))}this.ee.on(ve,v),s.on(be,v),a.on(be,v),this.ee.on(ye,b),s.on(ge,b),a.on(ge,b),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),f.buffer([ve],this.featureName),u.buffer(["setTimeout"+le,"clearTimeout"+fe,ve],this.featureName),d.buffer([ve,"new-xhr","send-xhr"+fe],this.featureName),l.buffer([me+fe,me+"-done",me+he+fe,me+he+le],this.featureName),h.buffer(["newURL"],this.featureName),g.buffer([ve],this.featureName),s.buffer(["propagate",be,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),y(l,me+fe),y(l,me+"-done"),y(a,"new-jsonp"),y(a,"jsonp-end"),y(a,"cb-start"),h.on("pushState-end",m),h.on("replaceState-end",m),window.addEventListener("hashchange",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){m(0,i>1)}),(0,O.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})(),window.NRBA=o})(); window.jQuery || document.write(' ') CKEDITOR_BASEPATH='https://f1000research.com/js/vendor/ckeditor/' window.reactTheme = 'research'; window.MathJax = { CommonHTML: { linebreaks: { automatic: true } }, 'HTML-CSS': { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } }, AuthorInit: function() { MathJax.Hub.Register.MessageHook('End Process', function () { let timeout = false; // holder for timeout id const delay = 250; // delay after event is "complete" to run callback const reflowMath = function() { const dispFormulas = document.querySelectorAll('.disp-formula.panel'); if (!dispFormulas) { return; } for (const dispFormula of dispFormulas) { const child = dispFormula.querySelector('.MathJax_Preview').nextSibling.firstChild; const isMultiline = MathJax.Hub.getAllJax(dispFormula)[0].root.isMultiline; if (dispFormula.offsetWidth < child.offsetWidth || isMultiline) { MathJax.Hub.Queue(['Rerender', MathJax.Hub, dispFormula]); } } }; window.addEventListener('resize', function() { clearTimeout(timeout); // clear the timeout timeout = setTimeout(reflowMath, delay); // start timing for event "completion" }); }); }, }; if (window.location.hash == '#_=_'){ window.location = window.location.href.split('#')[0] } !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ;if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1641728616063202'); fbq('track', "PixelInitialized", {}); (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2318163,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); search file_upload Submit your research search menu close search Browse Gateways & Collections How to Publish Submit your Research My Submissions Article Guidelines Article Guidelines (New Versions) Open Data, Software and Code Guidelines Open Data and Accessible Source Materials Guidelines (HSS) Open Data, Software and Code Guidelines (PSE) Prepublication Checks Production Process Posters and Slides Guidelines Document Guidelines Article Processing Charges Peer Review Finding Article Reviewers About How it Works For Reviewers Our Advisors Policies Glossary FAQs For Developers Newsroom Contact My Research Submissions Content and Tracking Alerts My Details Sign In file_upload Submit your research { "@context": "https://schema.org", "@type": "ScholarlyArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://f1000research.com/articles/15-326" }, "headline": "Protocol for Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of...", "datePublished": "2026-02-27T06:25:03", "dateModified": "2026-02-27T06:25:03", "author": [ { "@type": "Person", "name": "Xolisile Cynthia Moyo" }, { "@type": "Person", "name": "Azwinndini Mudau" }, { "@type": "Person", "name": "Julia Mafumo" } ], "publisher": { "@type": "Organization", "name": "F1000Research", "logo": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 480, "width": 60 } }, "image": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 1200, "width": 150 }, "description": "Abstract* Background South Africa has made substantial national progress toward the UNAIDS 95-95-95 HIV targets; however, sub-district and facility level performance varies, with persistent gaps in testing coverage, timely ART initiation, retention, and viral load suppression. Tshwane District (Gauteng), including Sub-district 1, serves urban and peri-urban communities with high mobility and socio-economic vulnerabilities, where programmatic disparities (e.g., incomplete viral load capture and inconsistent follow-up) challenge cascade outcomes. Objective To quantify progress toward the 95-95-95 HIV targets in Tshwane Sub-District 1 (2018-2024) using routine health information systems, and to identify health system and implementation factors (via health care worker surveys) associated with gaps in testing, timely ART initiation, retention, and viral suppression. Methods This protocol outlines a repeated cross-sectional analysis of secondary data (TIER.Net, DHIS2; 2018-2024) across all 23 public sector facilities in Sub-District 1, combined with a cross-sectional survey of health care workers (HCWs) in purposively selected clinics with low testing coverage or high treatment interruption. Primary measures include (1) testing coverage/positivity, (2) timely ART initiation, (3) loss to follow-up (LTFU)/treatment interruption, and (4) viral suppression (<50 copies/mL). Analyses will include descriptive statistics, chi-square or t-tests, logistic regression to identify predictors of non-achievement of 95-95-95 sub-targets, and comparative evaluation of routine performance vs. HCW-reported implementation challenges. Data will be de-identified and managed in accordance with POPIA. Ethical approval has been obtained. Results This is a protocol; no results are presented. Pilot testing of instruments and extraction templates commenced in November 2025; full secondary data extraction and HCW surveys are scheduled from December 2025 to January 2026. Analyses are planned for January 2026-February 2026, with dissemination in mid-2026. Conclusions This protocol describes a pragmatic approach to local monitoring of UNAIDS 95-95-95 performance using routine systems and frontline insights. Findings will inform targeted improvement strategies for testing, ART initiation, retention, and viral suppression in Tshwane and comparable districts. " } { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": "1", "item": { "@id": "https://f1000research.com/", "name": "Home" } }, { "@type": "ListItem", "position": "2", "item": { "@id": "https://f1000research.com/browse/articles", "name": "Browse" } }, { "@type": "ListItem", "position": "3", "item": { "@id": "https://f1000research.com/articles/15-326", "name": "Protocol for Monitoring the Implementation of the 95-95-95 Strategy..." } } ] } Home Browse Protocol for Monitoring the Implementation of the 95-95-95 Strategy... ALL Metrics - Views Downloads Get PDF Get XML Cite How to cite this article Moyo XC, Mudau A and Mafumo J. Protocol for Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024. [version 1; peer review: 1 approved with reservations] . F1000Research 2026, 15 :326 ( https://doi.org/10.12688/f1000research.177052.1 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. Close Copy Citation Details Export Export Citation Sciwheel EndNote Ref. Manager Bibtex ProCite Sente EXPORT Select a format first Track Share ▬ ✚ Study Protocol Protocol for Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024. [version 1; peer review: 1 approved with reservations] Previously titled: "Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024." Xolisile Cynthia Moyo https://orcid.org/0009-0008-3519-7612 1 , Azwinndini Mudau https://orcid.org/0000-0001-9022-5286 1 , Julia Mafumo 2 Xolisile Cynthia Moyo https://orcid.org/0009-0008-3519-7612 1 , Azwinndini Mudau https://orcid.org/0000-0001-9022-5286 1 , Julia Mafumo 2 PUBLISHED 27 Feb 2026 Author details Author details 1 Department of Public Health, University of Venda, Faculty of Health Sciences, Thohoyandou, Limpopo, South Africa 2 Department of Advance Nursing Sciences, University of Venda, Faculty of Health Sciences, Thohoyandou, Limpopo, South Africa Xolisile Cynthia Moyo Roles: Conceptualization, Data Curation, Formal Analysis, Funding Acquisition, Investigation, Methodology, Project Administration, Resources, Software, Visualization, Writing – Original Draft Preparation, Writing – Review & Editing Azwinndini Mudau Roles: Supervision, Validation Julia Mafumo Roles: Supervision OPEN PEER REVIEW DETAILS REVIEWER STATUS Abstract Abstract* Background South Africa has made substantial national progress toward the UNAIDS 95-95-95 HIV targets; however, sub-district and facility level performance varies, with persistent gaps in testing coverage, timely ART initiation, retention, and viral load suppression. Tshwane District (Gauteng), including Sub-district 1, serves urban and peri-urban communities with high mobility and socio-economic vulnerabilities, where programmatic disparities (e.g., incomplete viral load capture and inconsistent follow-up) challenge cascade outcomes. Objective To quantify progress toward the 95-95-95 HIV targets in Tshwane Sub-District 1 (2018-2024) using routine health information systems, and to identify health system and implementation factors (via health care worker surveys) associated with gaps in testing, timely ART initiation, retention, and viral suppression. Methods This protocol outlines a repeated cross-sectional analysis of secondary data (TIER.Net, DHIS2; 2018-2024) across all 23 public sector facilities in Sub-District 1, combined with a cross-sectional survey of health care workers (HCWs) in purposively selected clinics with low testing coverage or high treatment interruption. Primary measures include (1) testing coverage/positivity, (2) timely ART initiation, (3) loss to follow-up (LTFU)/treatment interruption, and (4) viral suppression (<50 copies/mL). Analyses will include descriptive statistics, chi-square or t-tests, logistic regression to identify predictors of non-achievement of 95-95-95 sub-targets, and comparative evaluation of routine performance vs. HCW-reported implementation challenges. Data will be de-identified and managed in accordance with POPIA. Ethical approval has been obtained. Results This is a protocol; no results are presented. Pilot testing of instruments and extraction templates commenced in November 2025; full secondary data extraction and HCW surveys are scheduled from December 2025 to January 2026. Analyses are planned for January 2026-February 2026, with dissemination in mid-2026. Conclusions This protocol describes a pragmatic approach to local monitoring of UNAIDS 95-95-95 performance using routine systems and frontline insights. Findings will inform targeted improvement strategies for testing, ART initiation, retention, and viral suppression in Tshwane and comparable districts. READ ALL READ LESS Keywords Antiretroviral therapy, HIV, Viral suppression, 95-95-95 targets. Corresponding Author(s) Xolisile Cynthia Moyo ( [email protected] ) Close Corresponding author: Xolisile Cynthia Moyo Competing interests: No competing interests were disclosed. Grant information: The author(s) declared that no grants were involved in supporting this work. Copyright: © 2026 Moyo XC et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. How to cite: Moyo XC, Mudau A and Mafumo J. Protocol for Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024. [version 1; peer review: 1 approved with reservations] . F1000Research 2026, 15 :326 ( https://doi.org/10.12688/f1000research.177052.1 ) First published: 27 Feb 2026, 15 :326 ( https://doi.org/10.12688/f1000research.177052.1 ) Latest published: 27 Feb 2026, 15 :326 ( https://doi.org/10.12688/f1000research.177052.1 ) Introduction In 2020, approximately 38 million individuals globally were living with HIV. Out of these, around 6.1 million did not know they were living with HIV. 1 South Africa remains at the forefront of the global HIV epidemic, having the highest number of cases, with about 8.2 million individuals living with the virus. 1 The World Health Organization and UNAIDS want to end HIV by 2030. 2 To help make this happen, they set three important goals that every country should reach before 2025. 2 The implementation of the 95-95-95 strategy. First, 95 out of every 100 people who have HIV should know they have it. Second, 95% of those who know they have HIV should be getting treatment. Third, 95 out of the people on treatment should be virally suppressed. 3 It is a promising step forward in the fight to eliminate HIV, as it aims to significantly reduce the virus's impact. 1 Background HIV/AIDS persistently poses a global threat to public health. UNAIDS is focused on reaching the 9595-95 goals and eradicating HIV/AIDS as a global health threat by 2030. 4 Meeting these targets could slow down the rate of new infections, mother-to-child transmission (MTCT), and death related to HIV/AIDS. 5 Despite efforts achieve these goals, many countries are still behind. In 2019, only 67% of people living with HIV around the world were receiving ART. The very same year, up to 1.7 million people globally were newly infected, and around 690,000 died from HIV-related illnesses. These numbers were similar in 2018, showing there is a lot to be done. 5 Experts also estimated that 9.1 million more people globally would have needed to start treatment in 2020 to help the world reach the 95-95-95 goals. 5 The idea behind it is to achieve the U=U (Undetectable = Untransmittable) campaign goals. This means that when a person with HIV is on treatment and that person has an undetectable viral load, they cannot transmit the virus to others. 6 This includes primary prevention (preventing the spread of the virus to those who are not infected), secondary prevention (making sure people living with HIV receive regular viral load checks and health assessments), and tertiary prevention (enhancing the well-being and quality of life of those living with HIV). 6 The U=U message has been included in many public health initiatives and medical guidelines. 6 By the end of 2020, global efforts to fight HIV had shown good progress. Approximately 84% of people living with HIV (PLHIV) were aware of their HIV-positive status. Among those who knew their status, 87% were receiving antiretroviral therapy, and of those on treatment, 90% had suppressed the virus to undetectable levels. 7 Countries such as Eswatini and Switzerland reached high levels of viral suppression, exceeding 86% of all PLHIV, reflecting progress toward the global 95-95-95 treatment targets. Additionally, by 2020, six other nations, Rwanda, Qatar, Botswana, Slovenia, Uganda, and Malawi, had successfully met the earlier 90-90-90 treatment targets. 3 By 2018, South Africa saw a great improvement in HIV care: among the 8.2 million individuals living with HIV, 90% knew their status, 68% started antiretroviral treatment (ART), and 86% were virally suppressed. 1 This proves that these targets can be reached. Since 2016, all people who test positive have been able to start treatment immediately. 8 Many HIV programs are deployed to keep viral suppression rates high while also reducing the number of new infections. 9 To deal with this, the department of health on a district level has started community programs, such as door-to-door education, easier access to testing and treatment, and efforts to reduce stigma and support treatment adherence. 9 Inequalities in treatment mean that certain groups within the population are still left out and remain at risk of continued HIV transmission. 7 Modelling studies have shown that if some groups, such as men, young people, and key populations, do not get proper access to ART and support, the 95-95-95 targets may not be reached. For example, a study by Dimitrov 4 showed that different levels of treatment coverage and viral suppression across groups can greatly affect how much new HIV infections decline in South Africa. According to Tlhoaele, 10 a higher number of women accessed the clinic for ART medication and remained in care compared to men in Tshwane. The study highlighted differences in ART medication uptake and retention in care between male and female participants. 10 Rationale The rationale for this study lies in the critical need to assess and address the barriers preventing the successful implementation of the 95-95-95 targets for HIV care in the Tshwane District, Gauteng. The 95-95-95 targets aim to diagnose 95% of people living with HIV, ensure 95% of those diagnosed receive antiretroviral therapy (ART), and achieve viral suppression in 95% of those on treatment. UNAIDS 95-95-95 targets have been promising, but sub-national performance varies significantly. According to the District Health Barometer 11 and SANAC, 12 South Africa reports approximately 95% HIV status awareness, 91% ART coverage, and about 88% viral suppression among people on treatment. However, these averages can obscure important disparities at district and facility levels. Tshwane District, located in Gauteng Province, has one of the highest HIV burdens in the country and includes both urban and peri-urban populations with diverse healthcare needs. Tshwane Sub-District 1, in particular, serves areas with a high density of informal settlements, high patient mobility, and a mix of socio-economic challenges that can impact HIV service delivery. According to the Gauteng Department of Health, 13 reports from Tier. Net and DHIS suggest that while HIV testing and ART initiation are relatively high, some facilities in Sub-District 1 report viral suppression rates below 85%, falling short of the third UNAIDS target According to Ritshidze, 2023 several facilities have shown incomplete viral load data capture and inconsistent follow-up rates, which makes it difficult for programme managers to track progress or intervene effectively. There is currently no disaggregated public reporting at the sub-district or facility level, which creates a gap in understanding local implementation success and barriers. 14 The failure to address these challenges undermines national and global efforts to end the HIV/AIDS epidemic. This study is essential because it will provide a focused examination of the barriers faced by these populations in the Tshwane District, offering insights into how the implementation of the 95-95-95 targets can be improved. By investigating the current gaps in access to ART and care, the study will help inform the design of targeted interventions that are both inclusive and sensitive to the needs of these vulnerable groups. Furthermore, this research will contribute to strengthening the understanding of local health system limitations, policy implications, and resource allocation, ultimately helping to shape more effective HIV/AIDS strategies and ensure equitable healthcare access in the region. Study purpose The purpose of this study is to assess the implementation of 95-95-95 HIV targets in the Tshwane Sub-District 1, Gauteng, South Africa. Objectives The objectives of this study are: • To identify gaps in HIV testing coverage among people living with HIV status in the Tshwane sub-district 1. • To assess the timely initiation of ART for newly diagnosed HIV start ART patients in Tshwane Sub-district 1. • To describe factors associated with the timely initiation of antiretroviral therapy (ART) in Tshwane Sub-district 1. • To assess rates for loss to follow-up (Treatment interruption) among individuals on ART in Tshwane Sub-district 1. • To determine the proportion of individuals on ART who achieve viral suppression in Tshwane Sub-district 1. Methods Study design This study will employ a quantitative, cross-sectional design to assess progress toward achieving the UNAIDS 95-95-95 HIV targets in Tshwane Sub-District 1, Gauteng. Quantitative methods provide a structured and systematic approach to examining measurable phenomena, allowing the researcher to test hypotheses, identify patterns, and quantify relationships between variables while ensuring objectivity, consistency, and reproducibility. 15 Data will be collected at a single point in time, offering a clear snapshot of the current status of HIV testing, antiretroviral therapy (ART) initiation, and viral suppression among the population. This design is suitable for highlighting both progress and remaining gaps in reaching the 95-95-95 goals. Study setting The study will be conducted in purposively selected clinics within Tshwane Sub-District 1. Clinics were selected to reflect diversity in facility type, patient volume, and HIV program performance. All selected facilities provide comprehensive HIV testing, treatment, and care services and utilize electronic monitoring systems, including Tier. Net and DHIS2, to ensure the availability of reliable routine data. Tshwane was chosen due to persistent difficulties in meeting the 95-95-95 targets, 10 especially among vulnerable groups. Study population and sampling Target population This study will use both primary and secondary data sources. Primary data will come from healthcare workers directly involved in HIV care in Tshwane Sub-district 1, such as nurses, HIV counsellors, and community health workers. Secondary data will include records of people living with HIV (PLHIV) that are already captured in Tier.Net and DHIS between 2018 and 2024. Sampling methods For the primary data, clinics will be purposively selected based on low HIV testing coverage or high ART interruption rates. 16 Within those clinics, all eligible healthcare workers will be invited to participate using total sampling. For the secondary data, a census approach will be used to include all 23 public facilities in the sub-district. 17 At the patient level, all qualifying records that meet the inclusion criteria (HIV testing, ART initiation, viral load results) will be included. Sample size The sample size for the primary data depends on the number of healthcare workers who will consent to take part in the study from the facilities. For secondary data, all complete and valid records from tier.net and DHIS between 2018 and 2024 will be included. Data will be cleaned to remove any duplicates or incomplete entries before analysis. Inclusion and exclusion criteria The study will include healthcare workers involved in HIV programs within Tshwane Sub-district 1 who have at least six months of experience and willingly consent to participate. It will exclude those not directly involved in HIV care, temporary staff, and anyone working outside the sub-district. For secondary data, only records of people living with HIV diagnosed between 2018 and 2024 with complete Tier.Net or DHIS information will be used, while incomplete, duplicate, or unlinked records, as well as patients transferred without full records, will be excluded. Data collection Secondary data has been extracted from Tier.Net and DHIS2. Data cleaning procedures will include the removal of duplicates, correction of inconsistencies, and handling of missing values. Each 95-95-95 cascade indicator will be defined according to UNAIDS standards. Primary data will be collected through structured surveys designed for quantitative analysis, including Likert-scale, yes/no, and numeric responses. The instruments will be pretested to check that all questions are clear, relevant, and easy to understand before data collection begins. After that tools will be pretested to ensure reliability and consistency. Variables and measures The primary outcome variables are: the first 95 (proportion of PLHIV diagnosed), the second 95 (proportion of diagnosed PLHIV initiated on ART), and the third 95 (proportion of PLHIV on ART achieving viral suppression). Covariates will include age, sex (gender), type of facility, and HCW cadre. Primary data measures will focus on healthcare worker's reported indicators of service delivery and adherence to HIV program protocols. Data analysis All data will be analysed quantitatively. Descriptive statistics will summarize patient and HCW characteristics, while chi-square tests and t-tests will assess differences across facilities. Regression modelling will explore predictors of gaps in the 95-95-95 cascade indicators. Integration of primary and secondary quantitative data will allow comparison between routine program performance and HCW-reported implementation challenges. Data management and confidentiality Data will be stored on secured password-protected servers, and personal identifiers will be removed. Each participant and patient record will have a unique study ID. Access to data will be limited to study investigators, and all procedures comply with POPIA and local ethical requirements. Results This is a study protocol no results are presented. Pilot testing of data extraction templates and survey instruments began in November 2025. Full secondary data extraction and the survey of healthcare workers are scheduled from December 2025 to January 2026. Data analyses, including descriptive statistics, chi-square tests, t-tests, and logistic regression, will be conducted between January and February 2026, with dissemination of findings expected in mid-2026. Protocol will include a total sampling (Census) of the secondary data of all the 23 facilities in Tshwane sub-district 1 and a purposive selection of clinics for primary data, where all eligible healthcare workers will be selected. Data analysis will start in January 2026 till February 2026. The study will provide quantitative insights into HIV testing coverage, ART initiation, retention and loss to follow-up, viral suppression rates, and discrepancies between routine program data and healthcare worker-reported indicators. Findings will be submitted to publications in mid-2026. Dissemination Findings will be shared with district health Authorities, Policymakers, NGOs, and communities through reports, policy briefs, presentations, and possible journal publications. Community feedback sessions may be arranged to ensure affected populations have access to the results. Any amendments to the study protocol, such as changes in methodology or participant recruitment, will be submitted to ethics committees for approval before implementation. In the unlikely event of early study termination, collected data will be securely stored and stakeholders promptly informed of the rationale. Overall, despite its limitations, the study aims to provide practical, actionable insights to strengthen HIV service delivery, improve ART adherence support, address data gaps, and accelerate progress toward the 95-95-95 targets in Tshwane. Study status Pilot testing of the data extraction templates and survey instruments started in November 2025. The full extraction of routine data from Tier.Net and DHIS2, along with the survey of healthcare workers, is planned still progress. Data analysis is expected to take place in January-February 2026, with results and findings to be shared in mid-2026. Discussion Anticipated findings This study will assess how the UNAIDS 95-95-95 targets are being implemented in Tshwane sub-district 1, using both the routine program data and surveys of health care workers. By combining these sources, we aim to understand not just overall progress but also the practical challenges faced in the clinics with low testing coverage or high patient loss to follow-up. A key limitation of the study is its cross-sectional design, which provides only a snapshot in time and does not allow for assessment of trends or causal relationships. In addition, secondary data from 2018-2024 may be incomplete or inconsistent, particularly for vulnerable populations such as MSM or sex workers, which could affect the reliability of some analyses. Ethical considerations Ethical clearance and permission to conduct this study were granted by the Gauteng Province Department of Health through the National Health Research Database (NHRD) (Ref: GP_202510_024) and the University of Venda Ethics Committee (Ref: FHS/25/PDC/17/0110). Both the primary data (healthcare worker questionnaire) and the secondary data (patient records from Tier. Net and DHIS) that are used in this study were approved by the Gauteng Province Department of Health through the National Health Research Database (NHRD) (Ref: GP_202510_024). Access to the secondary patient data was authorised by Health Information Management through a formal data request and extraction form, which was reviewed and approved by the Department of Health through the National Health Research Database (NHRD) (Ref: GP_202510_024). The extracted data were fully Anonymize before analysis, and strict confidentiality and data protection measures were maintained. Individual patient consent was not required because the data were routinely collected and de-identified, and the ethics committee approved this. Written informed consent is being obtained from all healthcare workers who agree to participate, and their responses are collected anonymously and kept confidential. All study procedures follow the principles of the Declaration of Helsinki and applicable ethical guidelines. Data availability Underlying data The underlying data for this study are currently being collected from routine patient records in TIER.Net and aggregated facility-level data in DHIS, under the custodianship of the Gauteng Province Department of Health. These data contain sensitive information and are not publicly available due to ethical and confidentiality requirements. Access to the data may be granted for legitimate research purposes, subject to approval by the Gauteng Province Department of Health and adherence to relevant ethical and legal requirements. Access to request data should be directed to: Mr Lebogang Mokgethwa, email: [email protected] The requests should include the study title and purpose, institutional affiliation, a brief description of the data required, and evidence of ethical approval. Access will be granted only under conditions that protect patient confidentiality and comply with Department of Health regulations and the approved ethics protocol. Extended data Zenodo: Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024. https://doi.org/10.5281/zenodo.18244642 . 18 This project contains the following extended data: • Consent form (Participant consent form used in the study) • Questionnaire (Questionnaire used for data collection) • Health Information Management - Data Request Form (From Department of Health for requisition of secondary data extraction from DHIS and tier.net ) Data are available under the terms of the Creative Commons Attribution 4.0 International license (CC-BY 4.0). Reporting guidelines Zenodo: STROBE checklist for “Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024”, https://doi.org/10.5281/zenodo.18244642 . 18 Data are available under the terms of the Creative Commons Attribution 4.0 International license (CC-BY 4.0). Acknowledgements The author would like to sincerely thank the University of Venda for academic guidance and support throughout the development of this study protocol. I am especially grateful to Dr. Azwinndini Mudau for their expert supervision, mentorship, and valuable insights during the study design and protocol preparation. References 1. Nyasulu JCY, Maposa I: Progress towards 90-90-90 and 95-95-95 strategy implementation and HIV positivity trends in the City of Johannesburg. S. Afr. Med. J. 2024; 114 (1): 20–26. 2. Lundgren E, Locke M, Romero-Severson E, et al. : Sweden surpasses the UNAIDS 95-95-95 target: Estimating HIV-1 incidence, 2003-2022. Eurosurveillance. 2024; 29 (42): 2400058. 3. UNAIDS: Understanding measures of progress towards the 95-95-95 HIV testing, treatment, and viral suppression targets. Geneva: Joint United Nations Programme on HIV/AIDS; 2021. 4. Dimitrov D, Moore JR, Donnell DJ, et al. : Achieving 95-95-95 may not be enough to end the AIDS epidemic in South Africa. Conference on Retroviruses and Opportunistic Infections. Boston, MA: 2020. 5. Levi J, Hill A: The Joint United Nations Programme on HIV/AIDS 95-95-95 targets: Worldwide clinical and cost benefits of generic manufacture. AIDS. 2021; 35 (Suppl 2): S197–S203. Publisher Full Text 6. Okoli C, Van de Velde N, Richman B, et al. : Undetectable equals Untransmittable (U=U): Awareness and associations with health outcomes among people living with HIV in 25 countries. Sex. Transm. Infect. 2021; 97 (1): 18–26. PubMed Abstract | Publisher Full Text 7. Frescura L, Godfrey-Faussett P, Feizzadeh A, et al. : Achieving the 95-95-95 targets for all: A pathway to ending AIDS. PLOS ONE. 2022; 17 (8): e0272405. PubMed Abstract | Publisher Full Text 8. Maskew M, Brennan AT, Venter WDF, et al. : Retention in care and viral suppression after same-day ART initiation: One-year outcomes of the SLATE I and II randomized trials in South Africa. J. Int. AIDS Soc. 2021; 24 (10): e25825. PubMed Abstract | Publisher Full Text 9. Rautenbach SP, Whittles LK, Meyer-Rath G, et al. : Future HIV epidemic trajectories in South Africa and projected long-term consequences of reductions in general population HIV testing: A modelling study. The Lancet HIV. 2024; 9 (4): e218–e230. Publisher Full Text 10. Tlhoaele TE: Factors influencing initiation, adherence, and retention of PHC patients in HIV care in Tshwane, South Africa. University of Johannesburg; 2024. Master’s dissertation. 11. Health Systems Trust: District Health Barometer 2022/23. Durban: Health Systems Trust; 2024. 12. South African National AIDS Council (SANAC): Annual Report 2021/22. Pretoria: SANAC; 2022. 13. National Department of Health (NDoH): Annual Report 2022/2023. Pretoria: NDoH; 2023. 14. Ritshidze: State of Healthcare for Key Populations in South Africa. Johannesburg: Ritshidze; 2nd ed.2023. 15. Creswell JW, Creswell JD: Research Design: Qualitative, Quantitative, and Mixed Methods Approaches. Thousand Oaks: Sage; 5th ed.2018. 16. Etikan I, Musa SA, Alkassim RS: Comparison of convenience sampling and purposive sampling. Am. J. Theor. Appl. Stat. 2016; 5 (1): 1–4. 17. Singh AS, Masuku MB: Sampling techniques and determination of sample size in applied statistics research. International Journal of Economics, Commerce and Management. 2014; 2 (11): 1–22. 18. Moyo XC; Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024. [dataset]. Zenodo. 2026. Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 27 Feb 2026 ADD YOUR COMMENT Comment Author details Author details 1 Department of Public Health, University of Venda, Faculty of Health Sciences, Thohoyandou, Limpopo, South Africa 2 Department of Advance Nursing Sciences, University of Venda, Faculty of Health Sciences, Thohoyandou, Limpopo, South Africa Xolisile Cynthia Moyo Roles: Conceptualization, Data Curation, Formal Analysis, Funding Acquisition, Investigation, Methodology, Project Administration, Resources, Software, Visualization, Writing – Original Draft Preparation, Writing – Review & Editing Azwinndini Mudau Roles: Supervision, Validation Julia Mafumo Roles: Supervision Competing interests No competing interests were disclosed. Grant information The author(s) declared that no grants were involved in supporting this work. Article Versions (1) version 1 Published: 27 Feb 2026, 15:326 https://doi.org/10.12688/f1000research.177052.1 Copyright © 2026 Moyo XC et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Download Export To Sciwheel Bibtex EndNote ProCite Ref. Manager (RIS) Sente metrics Views Downloads F1000Research - - PubMed Central info_outline Data from PMC are received and updated monthly. - - Citations open_in_new 0 open_in_new 0 open_in_new SEE MORE DETAILS CITE how to cite this article Moyo XC, Mudau A and Mafumo J. Protocol for Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024. [version 1; peer review: 1 approved with reservations] . F1000Research 2026, 15 :326 ( https://doi.org/10.12688/f1000research.177052.1 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS track receive updates on this article Track an article to receive email alerts on any updates to this article. TRACK THIS ARTICLE Share Open Peer Review Current Reviewer Status: ? Key to Reviewer Statuses VIEW HIDE Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Version 1 VERSION 1 PUBLISHED 27 Feb 2026 Views 0 Cite How to cite this report: Ikumi N. Reviewer Report For: Protocol for Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024. [version 1; peer review: 1 approved with reservations] . F1000Research 2026, 15 :326 ( https://doi.org/10.5256/f1000research.195202.r465928 ) The direct URL for this report is: https://f1000research.com/articles/15-326/v1#referee-response-465928 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 28 Mar 2026 Nadia Ikumi , University of Cape Town, Cape Town, South Africa Approved with Reservations VIEWS 0 https://doi.org/10.5256/f1000research.195202.r465928 This study protocol describes a quantitative analysis of progress toward the UNAIDS 95-95-95 HIV targets in Tshwane Sub-District 1, Gauteng, South Africa, using routine health data from 2018 to 2024. The study aims to assess key components of the HIV ... Continue reading READ ALL This study protocol describes a quantitative analysis of progress toward the UNAIDS 95-95-95 HIV targets in Tshwane Sub-District 1, Gauteng, South Africa, using routine health data from 2018 to 2024. The study aims to assess key components of the HIV care cascade, including HIV testing coverage, timely initiation of antiretroviral therapy, retention in care, and viral suppression, and to identify health system factors contributing to gaps in these outcomes. The methodology combines analysis of routine data from Tier.Net and DHIS2 across all public facilities in the sub-district with cross-sectional survey data from healthcare workers in selected clinics. Overall, the study seeks to generate local, facility-level evidence to inform targeted interventions, strengthen HIV service delivery, and support progress toward achieving the 95-95-95 targets. The study is highly significant and addresses an important public health priority and has strong potential to contribute meaningful, insights into HIV programme performance at sub-district level. The integration of routine data with healthcare worker perspectives is a strength. Comments and suggestions for consideration are listed below: Title The title indicates a ‘quantitative analysis,’ yet the study includes both routine data and healthcare worker surveys. Consider clarifying whether this is a mixed-methods quantitative study or explicitly state the dual data sources. Rationale and Background The statement that ‘UNAIDS 95-95-95 targets have been promising, but sub-national performance varies significantly’ should be quantified or supported with examples and references. Where you state that ‘HIV testing and ART initiation are relatively high’, please provide specific percentages or ranges. The statement that ‘Tshwane District… has one of the highest HIV burdens in the country’ should be supported with prevalence or incidence data, the year of the report, and a reference. The phrase ‘diverse healthcare needs’ requires further elaboration. Specify the types of needs (e.g., high mobility populations, informal settlements, socio-economic disparities, key populations). The manuscript refers to ‘Tshwane Sub-District 1’ without sufficient context. Please describe how sub-districts are defined, clarify distinctions between them, and provide references where applicable. There is inconsistency in referring to Tshwane District versus Sub-District 1. Please ensure clarity and consistency throughout. Where national estimates are presented (e.g., District Health Barometer, SANAC), include the year of reporting to align with the 95-95-95 targets. The statement that ‘some facilities… report viral suppression rates below 85%’ should specify the type of facilities and the data source and timeframe. Additional context would strengthen the statement on incomplete viral load data capture and inconsistent follow-up. Briefly explain the underlying reasons (e.g., system constraints, patient mobility, staffing, data limitations). The reference to ‘vulnerable groups’ should be expanded. Specify which populations are being referred to (e.g., men, adolescents, MSM, sex workers, migrants). The rationale for selecting Sub-District 1 should be explicitly stated (e.g., poor performance indicators, high burden, representativeness, data availability). Objectives Some objectives require refinement for clarity and grammar. For example: ‘people living with HIV status’ is unclear ‘newly diagnosed HIV start ART patients’ should be rephrased Study Design The study is described as cross-sectional, yet several objectives (loss to follow-up, viral suppression, and trends) require assessment over time. Given the use of data from 2018 to 2024, the design is more appropriately described as a repeated cross-sectional or retrospective longitudinal study. A single timepoint approach would not adequately capture loss to follow-up or changes in ART initiation and viral suppression. Study Setting Consider providing a clearer rationale for selecting the clinics, beyond diversity. Consider including performance indicators, geographic distribution, or patient volume. Sampling Methods Clarify the definitions of ‘low HIV testing coverage’ and ‘high ART interruption rates’. Specify thresholds or criteria used to categorise facilities. Data Collection Clarify whether secondary data has already been extracted or will be extracted. The statement that each 95-95-95 cascade indicator will be defined according to UNAIDS standards should include a reference. For pretesting, specify the proportion of participants involved (e.g., 10%) and whether they will be excluded from the main study. Key outcomes should be explicitly defined in the methods section including, time thresholds for LTFU, definition of timely ART initiation and viral suppression cut-off and timeframe The authors mention Tier.Net and DHIS2. Consider distinguishing which one is the patient-level verses aggregated data and describing data linkage (if any) Variables and Measures Covariates currently include age, sex, facility type, and HCW cadre. Consider including additional variables such as years of experience, training, and exposure to HIV guidelines. It would also be useful to capture facility-level systems, such as availability of viral load monitoring, staffing levels, and data systems. Data Analysis Statistical tests (chi-square, t-tests) should be selected based on the distribution of the data. Consider specifying how non-parametric data will be handled and whether multivariable models will be used. Include how missing data will be handled Results Minor correction: ‘is planned still progress’ should read ‘is currently in progress’. Discussion The discussion would benefit from expanded expected outcomes. These could include identification of cascade gaps (testing, ART initiation, retention, viral suppression), facility-level variation, and system-level challenges such as data quality and follow-up systems. Consider discussing the implications for targeted interventions, policy, and programme improvement. Link the anticipated findings to broader relevance, including scalability to other districts. Overall Comment This is a relevant and well-conceived protocol addressing an important gap in sub-district HIV programme monitoring. Strengthening quantification, improving clarity of study design, and providing additional contextual detail will enhance the rigor and impact of the study. Is the rationale for, and objectives of, the study clearly described? Yes Is the study design appropriate for the research question? Yes Are sufficient details of the methods provided to allow replication by others? Partly Are the datasets clearly presented in a useable and accessible format? Not applicable Competing Interests: No competing interests were disclosed. Reviewer Expertise: Maternal and child health; HIV and/or ART; placenta; immunology I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Ikumi N. Reviewer Report For: Protocol for Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024. [version 1; peer review: 1 approved with reservations] . F1000Research 2026, 15 :326 ( https://doi.org/10.5256/f1000research.195202.r465928 ) The direct URL for this report is: https://f1000research.com/articles/15-326/v1#referee-response-465928 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Respond or Comment COMMENT ON THIS REPORT Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 27 Feb 2026 ADD YOUR COMMENT Comment keyboard_arrow_left keyboard_arrow_right Open Peer Review Reviewer Status info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Reviewer Reports Invited Reviewers 1 Version 1 27 Feb 26 read Nadia Ikumi , University of Cape Town, Cape Town, South Africa Comments on this article All Comments (0) Add a comment Sign up for content alerts Sign Up You are now signed up to receive this alert Browse by related subjects keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2026 Ikumi N. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 28 Mar 2026 | for Version 1 Nadia Ikumi , University of Cape Town, Cape Town, South Africa 0 Views copyright © 2026 Ikumi N. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (0) Approved With Reservations info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions This study protocol describes a quantitative analysis of progress toward the UNAIDS 95-95-95 HIV targets in Tshwane Sub-District 1, Gauteng, South Africa, using routine health data from 2018 to 2024. The study aims to assess key components of the HIV care cascade, including HIV testing coverage, timely initiation of antiretroviral therapy, retention in care, and viral suppression, and to identify health system factors contributing to gaps in these outcomes. The methodology combines analysis of routine data from Tier.Net and DHIS2 across all public facilities in the sub-district with cross-sectional survey data from healthcare workers in selected clinics. Overall, the study seeks to generate local, facility-level evidence to inform targeted interventions, strengthen HIV service delivery, and support progress toward achieving the 95-95-95 targets. The study is highly significant and addresses an important public health priority and has strong potential to contribute meaningful, insights into HIV programme performance at sub-district level. The integration of routine data with healthcare worker perspectives is a strength. Comments and suggestions for consideration are listed below: Title The title indicates a ‘quantitative analysis,’ yet the study includes both routine data and healthcare worker surveys. Consider clarifying whether this is a mixed-methods quantitative study or explicitly state the dual data sources. Rationale and Background The statement that ‘UNAIDS 95-95-95 targets have been promising, but sub-national performance varies significantly’ should be quantified or supported with examples and references. Where you state that ‘HIV testing and ART initiation are relatively high’, please provide specific percentages or ranges. The statement that ‘Tshwane District… has one of the highest HIV burdens in the country’ should be supported with prevalence or incidence data, the year of the report, and a reference. The phrase ‘diverse healthcare needs’ requires further elaboration. Specify the types of needs (e.g., high mobility populations, informal settlements, socio-economic disparities, key populations). The manuscript refers to ‘Tshwane Sub-District 1’ without sufficient context. Please describe how sub-districts are defined, clarify distinctions between them, and provide references where applicable. There is inconsistency in referring to Tshwane District versus Sub-District 1. Please ensure clarity and consistency throughout. Where national estimates are presented (e.g., District Health Barometer, SANAC), include the year of reporting to align with the 95-95-95 targets. The statement that ‘some facilities… report viral suppression rates below 85%’ should specify the type of facilities and the data source and timeframe. Additional context would strengthen the statement on incomplete viral load data capture and inconsistent follow-up. Briefly explain the underlying reasons (e.g., system constraints, patient mobility, staffing, data limitations). The reference to ‘vulnerable groups’ should be expanded. Specify which populations are being referred to (e.g., men, adolescents, MSM, sex workers, migrants). The rationale for selecting Sub-District 1 should be explicitly stated (e.g., poor performance indicators, high burden, representativeness, data availability). Objectives Some objectives require refinement for clarity and grammar. For example: ‘people living with HIV status’ is unclear ‘newly diagnosed HIV start ART patients’ should be rephrased Study Design The study is described as cross-sectional, yet several objectives (loss to follow-up, viral suppression, and trends) require assessment over time. Given the use of data from 2018 to 2024, the design is more appropriately described as a repeated cross-sectional or retrospective longitudinal study. A single timepoint approach would not adequately capture loss to follow-up or changes in ART initiation and viral suppression. Study Setting Consider providing a clearer rationale for selecting the clinics, beyond diversity. Consider including performance indicators, geographic distribution, or patient volume. Sampling Methods Clarify the definitions of ‘low HIV testing coverage’ and ‘high ART interruption rates’. Specify thresholds or criteria used to categorise facilities. Data Collection Clarify whether secondary data has already been extracted or will be extracted. The statement that each 95-95-95 cascade indicator will be defined according to UNAIDS standards should include a reference. For pretesting, specify the proportion of participants involved (e.g., 10%) and whether they will be excluded from the main study. Key outcomes should be explicitly defined in the methods section including, time thresholds for LTFU, definition of timely ART initiation and viral suppression cut-off and timeframe The authors mention Tier.Net and DHIS2. Consider distinguishing which one is the patient-level verses aggregated data and describing data linkage (if any) Variables and Measures Covariates currently include age, sex, facility type, and HCW cadre. Consider including additional variables such as years of experience, training, and exposure to HIV guidelines. It would also be useful to capture facility-level systems, such as availability of viral load monitoring, staffing levels, and data systems. Data Analysis Statistical tests (chi-square, t-tests) should be selected based on the distribution of the data. Consider specifying how non-parametric data will be handled and whether multivariable models will be used. Include how missing data will be handled Results Minor correction: ‘is planned still progress’ should read ‘is currently in progress’. Discussion The discussion would benefit from expanded expected outcomes. These could include identification of cascade gaps (testing, ART initiation, retention, viral suppression), facility-level variation, and system-level challenges such as data quality and follow-up systems. Consider discussing the implications for targeted interventions, policy, and programme improvement. Link the anticipated findings to broader relevance, including scalability to other districts. Overall Comment This is a relevant and well-conceived protocol addressing an important gap in sub-district HIV programme monitoring. Strengthening quantification, improving clarity of study design, and providing additional contextual detail will enhance the rigor and impact of the study. Is the rationale for, and objectives of, the study clearly described? Yes Is the study design appropriate for the research question? Yes Are sufficient details of the methods provided to allow replication by others? Partly Are the datasets clearly presented in a useable and accessible format? Not applicable Competing Interests No competing interests were disclosed. Reviewer Expertise Maternal and child health; HIV and/or ART; placenta; immunology I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above. reply Respond to this report Responses (0) Ikumi N. Peer Review Report For: Protocol for Monitoring the Implementation of the 95-95-95 Strategy in Tshwane: A Quantitative Analysis of Local Progress 2018-2024. [version 1; peer review: 1 approved with reservations] . F1000Research 2026, 15 :326 ( https://doi.org/10.5256/f1000research.195202.r465928) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/15-326/v1#referee-response-465928 Alongside their report, reviewers assign a status to the article: Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions Adjust parameters to alter display View on desktop for interactive features Includes Interactive Elements View on desktop for interactive features Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Stay Updated Sign up for content alerts and receive a weekly or monthly email with all newly published articles Register with F1000Research Already registered? Sign in Not now, thanks close PLEASE NOTE If you are an AUTHOR of this article, please check that you signed in with the account associated with this article otherwise we cannot automatically identify your role as an author and your comment will be labelled as a “User Comment”. If you are a REVIEWER of this article, please check that you have signed in with the account associated with this article and then go to your account to submit your report, please do not post your review here. If you do not have access to your original account, please contact us . All commenters must hold a formal affiliation as per our Policies . The information that you give us will be displayed next to your comment. User comments must be in English, comprehensible and relevant to the article under discussion. We reserve the right to remove any comments that we consider to be inappropriate, offensive or otherwise in breach of the User Comment Terms and Conditions . Commenters must not use a comment for personal attacks. When criticisms of the article are based on unpublished data, the data should be made available. I accept the User Comment Terms and Conditions Please confirm that you accept the User Comment Terms and Conditions. Affiliation ✕ refresh Please enter your institution. Note: To add your institution or organisation, start typing the name and then select the correct name from the list. Where applicable, the name will appear in both the original language and in English. Do not paste in the name. If the name does not appear in the drop-down list, we will display the information you have entered. ✕ refresh Country/Region * USA UK Canada China France Germany Afghanistan Aland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Cook Islands Costa Rica Cote d'Ivoire Croatia Cuba Cyprus Czech Republic Democratic Republic of the Congo Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and Mcdonald Islands Holy See (Vatican City State) Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Ireland Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kosovo (Serbia and Montenegro) Kuwait Kyrgyzstan Lao People's Democratic Republic Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Minor Outlying Islands of the United States Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestinian Territory Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russian Federation Rwanda Saint Helena Saint Kitts and Nevis Saint Lucia Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Is South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand The Gambia The Netherlands Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu UK USA Uganda Ukraine United Arab Emirates United States Virgin Islands Uruguay Uzbekistan Vanuatu Venezuela Vietnam Wallis and Futuna West Bank and Gaza Strip Western Sahara Yemen Zambia Zimbabwe Please select your country/region. You must enter a comment. Competing Interests Please disclose any competing interests that might be construed to influence your judgment of the article's or peer review report's validity or importance. Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Please state your competing interests The comment has been saved. An error has occurred. Please try again. Cancel Post var lTitle = "Protocol for Monitoring the Implementation...".replace("'", ''); var linkedInUrl = "http://www.linkedin.com/shareArticle?url=https://f1000research.com/articles/15-326/v1" + "&title=" + encodeURIComponent(lTitle) + "&summary=" + encodeURIComponent('Read the article by '); var deliciousUrl = "https://del.icio.us/post?url=https://f1000research.com/articles/15-326/v1&title=" + encodeURIComponent(lTitle); var redditUrl = "http://reddit.com/submit?url=https://f1000research.com/articles/15-326/v1" + "&title=" + encodeURIComponent(lTitle); linkedInUrl += encodeURIComponent('Moyo XC et al.'); var offsetTop = /chrome/i.test( navigator.userAgent ) ? 4 : -10; var addthis_config = { ui_offset_top: offsetTop, services_compact : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_expanded : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_custom : [ { name: "LinkedIn", url: linkedInUrl, icon:"/img/icon/at_linkedin.svg" }, { name: "Mendeley", url: "http://www.mendeley.com/import/?url=https://f1000research.com/articles/15-326/v1/mendeley", icon:"/img/icon/at_mendeley.svg" }, { name: "Reddit", url: redditUrl, icon:"/img/icon/at_reddit.svg" }, ] }; var addthis_share = { url: "https://f1000research.com/articles/15-326", templates : { twitter : "Protocol for Monitoring the Implementation of the 95-95-95 Strategy.... Moyo XC et al., published by " + "@F1000Research" + ", https://f1000research.com/articles/15-326/v1" } }; if (typeof(addthis) != "undefined"){ addthis.addEventListener('addthis.ready', checkCount); addthis.addEventListener('addthis.menu.share', checkCount); } $(".f1r-shares-twitter").attr("href", "https://twitter.com/intent/tweet?text=" + addthis_share.templates.twitter); $(".f1r-shares-facebook").attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + addthis_share.url); $(".f1r-shares-linkedin").attr("href", addthis_config.services_custom[0].url); $(".f1r-shares-reddit").attr("href", addthis_config.services_custom[2].url); $(".f1r-shares-mendelay").attr("href", addthis_config.services_custom[1].url); function checkCount(){ setTimeout(function(){ $(".addthis_button_expanded").each(function(){ var count = $(this).text(); if (count !== "" && count != "0") $(this).removeClass("is-hidden"); else $(this).addClass("is-hidden"); }); }, 1000); } close How to cite this report {{reportCitation}} Cancel Copy Citation Details $(function(){R.ui.buttonDropdowns('.dropdown-for-downloads');}); $(function(){R.ui.toolbarDropdowns('.toolbar-dropdown-for-downloads');}); $.get("/articles/acj/177052/195202") new F1000.Clipboard(); new F1000.ThesaurusTermsDisplay("articles", "article", "195202"); $(document).ready(function() { $( "#frame1" ).on('load', function() { var mydiv = $(this).contents().find("div"); var h = mydiv.height(); console.log(h) }); var tooltipLivingFigure = jQuery(".interactive-living-figure-label .icon-more-info"), titleLivingFigure = tooltipLivingFigure.attr("title"); tooltipLivingFigure.simpletip({ fixed: true, position: ["-115", "30"], baseClass: 'small-tooltip', content:titleLivingFigure + " " }); tooltipLivingFigure.removeAttr("title"); $("body").on("click", ".cite-living-figure", function(e) { e.preventDefault(); var ref = $(this).attr("data-ref"); $(this).closest(".living-figure-list-container").find("#" + ref).fadeIn(200); }); $("body").on("click", ".close-cite-living-figure", function(e) { e.preventDefault(); $(this).closest(".popup-window-wrapper").fadeOut(200); }); $(document).on("mouseup", function(e) { var metricsContainer = $(".article-metrics-popover-wrapper"); if (!metricsContainer.is(e.target) && metricsContainer.has(e.target).length === 0) { $(".article-metrics-close-button").click(); } }); var articleId = $('#articleId').val(); if($("#main-article-count-box").attachArticleMetrics) { $("#main-article-count-box").attachArticleMetrics(articleId, { articleMetricsView: true }); } }); var figshareWidget = $(".new_figshare_widget"); if (figshareWidget.length > 0) { window.figshare.load("f1000", function(Widget) { // Select a tag/tags defined in your page. In this tag we will place the widget. _.map(figshareWidget, function(el){ var widget = new Widget({ articleId: $(el).attr("figshare_articleId") //height:300 // this is the height of the viewer part. [Default: 550] }); widget.initialize(); // initialize the widget widget.mount(el); // mount it in a tag that's on your page // this will save the widget on the global scope for later use from // your JS scripts. This line is optional. //window.widget = widget; }); }); } close Error Close Add Reset F1000.MICROSERVICES.AFFILIATION = ''; $(document).ready(function () { $('.js-affiliations-form').each((index, form) => { new AffiliationForm({ formId: form.id, institutionErrorSelector: '.comment-enter-institution', departmentErrorSelector: '.comment-enter-department', placeSelector: '.js-add-comment-place', stateSelector: '.js-add-comment-state', zipCodeSelector: '.js-add-comment-zipcode', countrySelector: '.js-add-comment-country', countryErrorSelector: '.comment-enter-country', }); }); }); $(document).ready(function () { var reportIds = { "465927": 0, "465926": 0, "465925": 0, "465924": 0, "465923": 0, "465922": 0, "465921": 0, "465930": 0, "465929": 0, "465928": 4, "467479": 0, "467478": 0, "467477": 0, "467476": 0, "467485": 0, "467484": 0, "467483": 0, "467482": 0, "467481": 0, "467480": 0, "469423": 0, "469422": 0, "469421": 0, "469420": 0, "479159": 0, "479158": 0, "469429": 0, "479157": 0, "469428": 0, "479156": 0, "469427": 0, "479155": 0, "469426": 0, "479154": 0, "469425": 0, "479153": 0, "469424": 0, "479162": 0, "479161": 0, "479160": 0, "482535": 0, "463975": 0, "482534": 0, "463974": 0, "463973": 0, "463972": 0, "463971": 0, "463970": 0, "463969": 0, "482543": 0, "482542": 0, "482541": 0, "482540": 0, "482539": 0, "482538": 0, "463978": 0, "482537": 0, "463977": 0, "482536": 0, "463976": 0, }; $(".referee-response-container,.js-referee-report").each(function(index, el) { var reportId = $(el).attr("data-reportid"), reportCount = reportIds[reportId] || 0; $(el).find(".comments-count-container,.js-referee-report-views").html(reportCount); }); var uuidInput = $("#article_uuid"), oldUUId = uuidInput.val(), newUUId = "7dd3a125-04ce-4d06-bd82-f583855cb225"; uuidInput.val(newUUId); $("a[href*='article_uuid=']").each(function(index, el) { var newHref = $(el).attr("href").replace(oldUUId, newUUId); $(el).attr("href", newHref); }); }); An innovative open access publishing platform offering rapid publication and open peer review, whilst supporting data deposition and sharing. Browse Gateways Collections How it Works Contact For Developers Cookie Notice Privacy Notice RSS Submit Your Research Follow us © 2012-2026 F1000 Research Ltd. ISSN 2046-1402 | Legal | Partner of Research4Life • CrossRef • ORCID • FAIRSharing R.templateTests.simpleTemplate = R.template(' $text $text $text $text $text '); R.templateTests.runTests(); var F1000platform = new F1000.Platform({ name: "f1000research", displayName: "F1000Research", hostName: "f1000research.com", id: "1", editorialEmail: "[email protected]", infoEmail: "[email protected]", usePmcStats: true }); $(function(){R.ui.dropdowns('.dropdown-for-authors, .dropdown-for-about, .dropdown-for-myresearch');}); // $(function(){R.ui.dropdowns('.dropdown-for-referees');}); $(document).ready(function () { if ($(".cookie-warning").is(":visible")) { $(".sticky").css("margin-bottom", "35px"); $(".devices").addClass("devices-and-cookie-warning"); } $(".cookie-warning .close-button").click(function (e) { $(".devices").removeClass("devices-and-cookie-warning"); $(".sticky").css("margin-bottom", "0"); }); $("#tweeter-feed .tweet-message").each(function (i, message) { var self = $(message); self.html(linkify(self.html())); }); $(".partner").on("mouseenter mouseleave", function() { $(this).find(".gray-scale, .colour").toggleClass("is-hidden"); }); }); Sign In Remember me Forgotten your password? Sign In Cancel Email or password not correct. Please try again Please wait... $(function(){ // Note: All the setup needs to run against a name attribute and *not* the id due the clonish // nature of facebox... $("a[id=googleSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("GOOGLE"); $("form[id=oAuthForm]").submit(); }); $("a[id=facebookSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("FACEBOOK"); $("form[id=oAuthForm]").submit(); }); $("a[id=orcidSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("ORCID"); $("form[id=oAuthForm]").submit(); }); }); If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password. The email address should be the one you originally registered with F1000. Email address not valid, please try again You registered with F1000 via Google, so we cannot reset your password. To sign in, please click here . If you still need help with your Google account password, please click here . You registered with F1000 via Facebook, so we cannot reset your password. To sign in, please click here . If you still need help with your Facebook account password, please click here . Code not correct, please try again Reset password Cancel Email us for further assistance. Server error, please try again. If your email address is registered with us, we will email you instructions to reset your password. If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance. Please wait... Register $(document).ready(function () { signIn.createSignInAsRow($("#sign-in-form-gfb-popup")); $(".target-field").each(function () { var uris = $(this).val().split("/"); if (uris.pop() === "login") { $(this).val(uris.toString().replace(",","/")); } }); });

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Outcome instruments

MUSA

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. This is a recent paper (2026) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00