COVID-19 AGENT-BASED MODEL: AN EPIDEMIOLOGICAL SIMULATOR APPLIED IN VACCINATION SCENARIOS FOR QUEZON CITY, PHILIPPINES

COVID-19 vaccines are rolling out in the Philippines but the supply remains limited; there is a need to optimize the distribution. In this study, we developed a COVID-19 agent-based model for Quezon City, a COVID-19 hotspot in the country. This model, in conjunction with a multi-objective linear programming model for equitable vaccine distribution, was then used to simulate four vaccination scenarios. Experiments were conducted with the front-line workers always added to the groups: mobile workers, elderly and low-income. Main results are: prioritizing the mobile workers minimizes infections the most (by 4.34%), while prioritizing the low-income groups minimizes deaths the most (by 1.93%). These results demonstrate that protecting the population with the most interactions (mobile workers) effectively reduces future infections. On the other hand, protecting the most vulnerable population (low income and elderly) decreases the likelihood of death. These results may guide the policy-makers in Quezon City.


INTRODUCTION
Worldwide, COVID-19 vaccines are rolling out, but the supply remains limited, and coverage is hampered by various factors, including vaccine hesitancy. As of October 28, 2021, "Our World in Data" reports only a 25% full or partial vaccine coverage for the Philippines. This limitation forces the Philippine national government to vaccinate in groups (e.g., front-line workers, elderly, mobile workers, and low-income earners) with minimizing infections and deaths as their primary objectives. Having these different priority groups raises questions on prioritization, resulting in different vaccination scenarios, but the outcome of these scenarios is unknown; hence we ask: How would we maximize these vaccines in a way that we minimize infections and deaths? We explore this question by simulating different vaccination scenarios in Quezon City, Philippines-a COVID-19 hot-spot in the country (has the highest number of reported cases in the country as of October 28, 2021, from Statista.com). We have four vaccination scenarios of interest): 1) no vaccination (control), 2) prioritizing the elderly and front-line workers, 3) prioritizing the mobile workers and front-line workers, and 4) prioritizing the low-income earners and frontline workers.

COVID-19 Agent-Based Model for Quezon City, Philippines
A COVID-19 agent-based model was developed for Quezon City. Agent-based models are computer models composed of autonomous entities called agents. These agents follow rules and are independent of each other. For our COVID-19 agent-based model, the agents represent human beings. We based this new model on the Age-Stratified Quarantine Modified SEIR with Non-Linear Incidence Rates (ASQ-SEIR-NLIR) (Bongolan et al., 2021;Rayo et al., 2020;and Minoza et al., 2020) compartmental model which is described by the following differential equations: From the classic SEIR model, S, E, I, and R represent the susceptible, exposed, infectious, and removed compartments, respectively. Moreover, β, σ, and γ are the transmission, incubation, and removal rates, and the three modifications to the classic SEIR account for quarantine Q(t), age-stratification (U), and behavioral and disease-resistance factors (α and ε).
Adopting the classic SEIR design, the model has four major compartments S, E, I, and R, representing the four major states of an agent: susceptible, exposed, infectious, and removed (dead, recovered, and vaccinated). The model assumes that once recovered from COVID-19, an agent is forever immune from the disease, a common simplifying assumption. Similarly, we assume a 100% efficacy for vaccines, providing permanent immunity for all the vaccinated. Newer work actually calculates the mathematical expectation for vaccine efficacy for the country, from data published by vaccine manufacturers. The transition from one state to another is a probability game.
A susceptible agent becomes exposed when it interacts with an infectious agent, is not wearing a mask, is not observing social distancing, and the transmission probability is hit. From the exposed state, an agent becomes infectious once the incubation probability is hit. Now from the infectious state, an agent may either die or recover (with permanent immunity, a common simplifying assumption). It recovers when it completes the average recovery period and the recovery probability is hit; it dies when the death probability is hit even before it completes the average recovery period; otherwise, it remains infectious.

Q(t)
is the quarantine parameter, which should be less than one, to slow down the transmission when susceptible meet infectious agents/people. For this parameter, the smaller the better, i.e., Q(t)=0.4 means a 60% successful quarantine, 0.10 means a 90% successful quarantine. Per "ADB Outlook 2020 Supplement", Philippine compliance with the strictest quarantine regime of the 24 countries surveyed was generally good, as evidenced by the resulting reduced mobility. Details of the Q(t) calculations are in Bongolan et al. (2021).
The U parameter is the effect of age-stratification, calculated as the normalized mathematical expectation (the vector of assumed infection probabilities is dotted with the vector of the agestratified population). This comes out as less than one, and it serves to dampen the infection term; details in Rayo et al. (2020).
Alpha and epsilon (α and ε) represent, respectively, behavioral and disease resistance factors in the population. They are in the denominator of the exposure term, and are ideally big (maximum value of one), to effectively dampen the exposure of susceptibles when they meet infectious agents. α <1 and ε<1 are worrisome situations, and it was the ε term that was calculated, per district, when we estimated the low-income groups in Quezon City. Details on non-linear infection rates are in Minoza et al. (2020).

Person Agent:
Our COVID-19 agent-based model is composed of agents. These agents represent human beings and were designed to follow the rules and assumptions of ASQ-SEIR-NLIR. To implement it, we wrote a Python class called the PersonAgent.
The PersonAgent class has the following attributes: age, status, mask-wearing, physical distancing, days incubating, and days infected. The age attribute is a positive integer or zero. The status attribute may hold one of the following strings: susceptible, exposed, infected, recovered, dead, or vaccinated. These values correspond to the SEIR compartments of our ASQ-SEIR-NLIR model, only that the removed compartment, R, has been disaggregated into three compartments: recovered, dead, and vaccinated. Next, mask-wearing and physical distancing attributes are boolean variables, i.e., true if wearing a mask or if observing physical distance. Finally, the days incubating and days infected attributes are positive integers or zero signifying the number of days elapsed since an agent was exposed or became infectious, respectively. These attributes allowed us to capture the effects of COVID-19 on human beings, and collectively, to the city.

GIS Feature:
The agents interact inside the space element of our model. We chose to implement this element through a GIS feature. Figure 1 shows the GIS implementation, with the map of Quezon City with its six districts and the agents in it. The green dots represent the susceptible agents, the orange ones are exposed, the red ones are infectious, and the grey ones are removed (dead, recovered, and vaccinated).
This feature allowed us to capture the density of the six districts of Quezon City, Philippines. Agents are initially placed within the bounds of their home districts. This way, districts with small areas and large populations will have larger densities.

Figure 1. GIS visualization of the agent-based model
The agents inside the bounded region interact with each other. Their interaction is determined by two factors: their age and the age restriction parameters, i.e., quarantine. Similar to real-life scenarios, agents under the minimum age restriction or above the maximum age restriction are not allowed to go out, which translates to the agent mobility range being zero in the model. For agents within the age restrictions, they are free to move in the space and interact with other agents. We also assumed that ingress and egress are allowed among the districts, but not outside Quezon City. This is a simplifying assumption to isolate and capture the case of Quezon City. These assumptions form the concept of space and mobility in our model.
The GIS feature was implemented using MesaGeo (Corvince, 2018). A shapely file containing the geospatial information of the six districts of Quezon City was fed to MesaGeo. In turn, this library renders the map of Quezon City showing the city's six districts.
The Mesa library, on one hand, provided the control mechanism and data collection feature of the model. It was responsible for agent instantiation, calling, and deletion, i.e., of Person Agents. It determined how the agents would be called, i.e., randomly. It also monitored the compartment changes concerning COVID-19, i.e., the SEIRDV compartment changes.
The model runs on any operating system as long as the mentioned dependencies are installed in the machine: Python (at least v3.8.5), Mesa, and MesaGeo application libraries. We designed the model this way so that the program could be easily migrated to any machine. However, when running the model, it must be noted that, as the number of agents increases, the memory consumption also increases. Hence, users must ensure that the machines they use are equipped with at least 8 gigabytes of RAM so that the model runs smoothly.
Finally, since our model uses randomization methods, i.e., order of agent calls, infection, recovery, and death probabilities, etc., the model produces different results for every run. This is expected behavior since agent-based models are naturally stochastic. To reduce the noise in the data, users may run the model N > 1 times then compute the average of the results. Higher N yields more accurate solutions. We recommend running the model more than 10 times.

Multi-objective Linear Programming Model for Equitable Vaccine Distribution
To ensure that vaccines are given fairly, it is critical to identify the locations and priorities. The Fair Priority Model (Emanuel et al., 2020) was proposed as an ethical framework for vaccine global allocation. Phase I of the Fair Priority Model would distribute vaccinations to minimize COVID-19-related premature mortality directly or indirectly; Phase II would attempt to mitigate major economic and social costs; and Phase III would strive to reduce and eventually eliminate community transmission. Furthermore, vulnerable groups are an important factor to consider for equitable distribution of vaccines. The definition of "most vulnerable" in society must not be limited to adults 65 years of age or older, persons with pre-existing comorbidities, and the economically deprived. Essential workers i.e in the medical field and the other most at risk should be considered. (Heaton, 2020) From that, we used a multi-objective linear programming model for equitable vaccine distribution designed and implemented by Jose Marie Antonio Minoza (2021). The optimization model aims to maximize the allocation of the vaccines available in the six districts. For each district (location), we consider 1) the number of available vaccines, 2) age distribution of the susceptible population per district, and 3) prioritization factors that can be based on the Fair Priority Model Framework.
The formal problem addressed by the optimization model is as follows. Given the following inputs: N, a limited number of vaccine doses (courses) that can be given to remaining susceptible populations; L, L locations where the vaccine will be distributed; A, age-stratified percentage of the population for each of the L locations (districts); P, set of prioritization factors for each of the L locations; The model determined the optimal allocation of available vaccines and the corresponding distribution for each location. The goal is to maximize the vaccine to be allocated for each location l

Set of Locations
and further optimize given with the priority factors P for each location l

Model Data
For this study, the prioritization factors considered are the percentage distribution of front-line workers, mobile workers, elderly, and the low-income earners across the six districts of Quezon City, and the assumed number of available vaccines is one million vaccine courses. Populations for these areas were taken from the Quezon City Government's (2018a) 2021 population projection. Finally, the model constraints were computed by getting the ratio of the priority groups' populations (QC Government, 2018a;PSA, 2018;QC Government, 2018b) with the total population of Quezon City.
For the transmission, death, and recovery probabilities, the values were taken from the age distribution of the infections, deaths, and recoveries, respectively, from the same DOH dataset. Similarly, the age-stratified infection expectation was also computed from the same. For the rest of the parameter values adopted for the simulations, see Table 1. The designation "Low-income earners" was estimated by district, and it appears as part of the ε (epsilon) in the non-linear infection rates (Minoza et al., 2020). Epsilon represents disease resistance factors (natural predisposition to disease, malnutrition, lack of exercise, pre-existing conditions). Based on QC Government 2018b, an ε value was calculated per district using a simple average of data on dengue deaths, population density, and percentage of informal settlers (in consultation with the Quezon City Statistics Office), see Table 2. The values generated from the multi-objective linear programming model were then treated as the number of vaccines allocated to the susceptible agents in each age group, resulting in the number of vaccinated agents in Quezon City. Meanwhile, the values for the initial infectious, dead, and recovered were taken from the COVID-19 data released on March 21, 2021 by the Department of Health (DOH) (2021). Due to the lack of reliable data, we only assumed that the number of exposed is twice the number of the infectious. Finally, for the susceptible, the sum of the exposed, infectious, dead, recovered, and vaccinated were subtracted from QC's projected 2021 population.

Parameters Values Adopted in this Study
We ran the model 10 times for each of the scenarios, with 150 steps each run. The averages of the results were then computed, and the results for the no vaccination scenario were validated with the COVID-19 data from March 21 to May 21, 2021 (60 days). Table 3 show that with respect to the no vaccination scenario, prioritizing the mobile and front-line workers minimizes exposures and infections the most (1.89% and 4.34%) while prioritizing the low-income earners and front-line workers minimize deaths the most (1.93%).

Results in
Since the pandemic began, we have known that COVID-19 spreads through the interaction of a susceptible and an infectious individual. The case of prioritizing the mobile workers and frontline workers demonstrates the effectiveness of vaccines in stopping this spread. Although these workers are the most exposed individuals among the groups considered in this study, especially in contrast with the elderly who were in quarantine since non-pharmacological measures were implemented in Quezon City, our model demonstrates that their frequent social exposure would not increase their infection risk once they get vaccinated.  With these results, we suggest prioritizing the mobile workers in the vaccination program of the Philippine government. This way, we afford these workers the protection that they need to fight COVID-19. Protecting the mobile workers will also allow our economy to roll. However, the elderly, together with the frontline workers, shall still be given the highest priority in the vaccination program. The front-line workers are the de facto priority of the vaccination, and this is intuitive. The front-line workers provide the primary services, i.e., health services, logistics, etc., that allow us to control the spread of the virus and reduce infections and deaths. Without the services of the front-line workers, our nation's fight against COVID-19 is bound to fail, resulting in avoidable deaths. Thus, the front-line workers are the default priority in the vaccination.
After the front-line workers, the case of the elderly shall be given attention, too. This is already reflected in the vaccination priority of the Philippine government. The elderly (60+) are placed after the front-line workers, i.e., group A2, in the prioritization, and we support this decision.
As early as March 2020, we already pointed out the bias of COVID-19 against the elderly from the Hubei data, inspiring our formulation of the Age Stratification Theory: that the younger individuals recover and the older ones die from COVID-19 (Bongolan et al., 2021). Later, the same dynamics is observed in the Philippines (Rayo et al., 2020 andMinoza et al., 2020). Now, our model also demonstrates the said age dynamics of COVID-19. Figure 3 shows that deaths are more common among older individuals (60+), while the younger ones tend to recover. We ground-truthed this result with the COVID-19 data from the Department of Health Philippines (2021) from March 21 to May 21, 2021 (60 days), and the projected dynamics validates with actual observation (see Figures 2 and 3). These results add to the catena of reasons why prioritizing the elderly is only right. Finally, our simulations offer new insights concerning the vaccination of low-income earners. Results in Table 3 show that prioritizing them in the vaccination will result in the least number of deaths. We speculate that there is an overlap among the groups of low-income earners, mobile workers, the elderly, and those with comorbidities, thus resulting in the lowest projection of deaths. However, it is also fitting to point out the financial difficulty of low-income earners. When infected, these individuals would not have the capacity to afford hospitalization and medication. Hence, the government shall also look at their status in the vaccination prioritization. The prioritization of the low-income earners is where we might disagree with some decisions made, but will otherwise hold off on making other judgments.
Since the two objectives of minimizing infections and deaths involve different priorities, most countries, including the Philippines, chose to minimize deaths, by prioritizing the elderly, and people with comorbidities. This decision was made in spite of the fact that infections peak at the younger age groups (where most of the mobile workforce is found), something observed in most countries.

CONCLUSION
In this study, we asked: How would we maximize the limited COVID-19 vaccines to minimize infections and deaths? Our COVID-19 agent-based model suggests that if we want to minimize exposures and infections, we shall prioritize the mobile workers and front-line workers; while if we want to minimize deaths, we shall continue to prioritize the elderly and consider the low-income earners in the prioritization, too. The policymakers of Quezon City may take insights from these results.