FACULTY OF AUTOMATION AND COMPUTER SCIENCE Abstract of the PhD Thesis Intelligent monitoring and early warning system of pandemic viruses PhD Student: eng. Adina-Violeta Pop Thesis advisor: Prof.Dr.Eng. Mihail Abrudean The present thesis aims to develop mathematical models of pandemic influenza virus propagation and, based on these models, a system that will help to prevent its spreading in the populated area and to warn population about it. The thesis proposes the use of the models to determine the avian influenza spreading for Romania. A similar system called HPAI (Highly Pathogenic Avian Influenza) exists in the USA, and, together with the program for pandemic response, are part of the National Strategy for pandemic influenza. The architecture of the system is based on the Model View - Controller architectural pattern. The basic Model View - Controller relationship is presented in figure 1.
Figure 1: Model-View-Controller relationship Model - the domain specific representation of the data on which the application operates. Domain logic adds meaning to raw data. Many applications use a persistent storage mechanism (such as a database) to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the model. View - renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes. Controller - processes and responds to events (typically user actions) and may indirectly invoke changes on the model. The Model The model not only represents the data for the application, but it also represents persistent data, that is, data that persists beyond the life of the application. In other words, the model represents an application's persistent business domain objects. The model contains various Java classes. Some of the classes are entity classes typical Java Persistence API entity objects. In the Java Persistence API, an entity instance, an instance of an entity object, represents a row of data in a database table. For example, Judete is an entity class that maps to the Judete table in the database. An instance of the Judete entity represents a row of data in the Judete table. Some of the main database tables and the relationships between them are: Judete (Counties) Denumire text County name Rec2007 int County population in 2007 Suprafata int The area of county Densitate double Density of population Localitati (Localities) Denumire text Locality name Rec2007 int Population in 2007 Latitudine float Latitude Longitudine float Longitude Suprafata double Area of locality Densitate decimal Density of locality Tip varchar Type of locality (town or village) Gara tinyint 1 if railway station exists
Aeroport tinyint 1 if airport exists Port tinyint 1 if seaport exists Judete_fk int Foreign key that points to primary key from the table Judete Localitati vecine (Neighbor localities) Sosea tinyint 1 if in the locality with the id Localitate_fk is neighbor, on the road, with the Tren tinyint 1 if in the locality with the id Localitate_fk is neighbor, on the railway, with the Avion tinyint 1 if in the locality with the id Localitate_fk is neighbor, on the airport, with the Naval tinyint 1 if in the locality with the id Localitate_fk is neighbor, on the seaport, with the Loc_vecin_fk int Foreign key that points to primary key from the table Localitati Alerta (Warning) Nr_cazuri int The number of infected people Alerta simulare celulare (Simulation warning) Stare_localitate int 0 if the state of the locality is the initial state (uninfected), 1 if the state of the locality is infected and 2 if the state of the locality is recovered Pas_predictie int The prediction step Cazuri simulare (Simulation cases) PrSuspecti double Susceptible people (in %) PrInfectati double Infected people (in %) PrRecuperati double Recovered people (in %) PrDecedati double Dead people (in %) NrZilePredictie int Prediction days horizon Data date The time when simulation start The View The view of this application is a GUI based on Romanian territory maps. The maps are split into two levels: The first level represents the administrative map of Romanian territory (Fig. 2); The second level represents the Romanian counties (Fig. 3);
Figure 2: Romanian territory map Figure 3: Two county maps (Bistrita and Cluj) The Controller The controller is the brain of the application. The controller decides what the user's input was, how the model needs to change as a result of that input, and which resulting view should be used. The controller has four parts: Controller 1 - reads the input given by the user (for example the locality from where the virus is starting to spread); Controller 2 execute the SIR simulation model; Controller 3 execute the Bayesian network simulation model; Controller 4 execute the Cellular Automata simulation model; The SIR model is used to model the virus spreading into a populated area. The Bayesian networks are used to estimate the probability of virus spreading in the neighborhood of an infected area, and the Cellular Automata are used to predict the virus propagation. An extended SIR model (called Susceptible - Infected - Removed) was proposed, by introducing a new parameter which allows removing individuals (people that can die from the disease) during the simulation. In this model, the individuals can be: susceptible to contact
the disease, infected, removed (recovered or dead) and immune to the disease. As a result, our data is a time series (Fig. 4) where we have a number of infected individuals at each point in time. Similarly, we also have a number of susceptible and recovered individuals at each point in time. This model is applied in order to simulate the disease evolution in each affected locality. The Bayesian network is composed by a set V of vertexes which represent localities and the set of oriented arches the communication paths between them. On the arches, the virus spreading probability is labeled. We have to take into account different probability depending on the type of the link between two neighbor nodes: direct neighborhood, neighborhood due to roads, railroads or air transport. The probability is also highly dependent on the geographical parameters (for example, the probability of direct virus spreading is higher on valleys than over the hills or on national roads than on local roads, etc.). The total probability on an arch is computed as the weighted sum of the probabilities depending on the link type. Figure 4. Virus spreading inside an area A cellular automata is a discrete model studied in computability theory, mathematics, theoretical biology and Microstructure Modeling. It consists of a regular grid of cells, each in one of a finite number of states. The grid can be in any finite number of dimensions. Time is also discrete, and the state of a cell at time t is a function of the states of a finite number of cells (called its neighborhood) at time t 1. These neighbors are a selection of cells relative to the specified cell, and do not change. Every cell has the same rule for updating, based on the values in this neighborhood. Each time the rules are applied to the whole grid, a new
generation is created. In this case, the cells represent the Romanian map areas. Each cell can have 3 states: 0 for the susceptible areas; 1 for the infected areas; 2 for the recovered areas; The cells can change their states only from 0 to 1 or from 1 to 2. A cell passes from 0 to 1 only if it has at least one neighbor in state 1. A cell passes from 1 to 2 only after a period of time assigned by the SIR model. The simulation applied on the Romanian territory map is presented in figure 5 and figure 6. Figure 5. The evolution of epidemic
Figure 6. Different steps of simulation inside a locality In Table 1, the risk code used to represent the virus evolution in time is presented. Table 1: The risk code used to represent the virus evolution Risk code Color Color Description 6 Red Maximum value of the infected population 5 Braun Average value of the infected population 4 Beige Minimum value of the infected population 3 White First part of the recovering process 2 Yellow Second part of the recovering process 1 Green Uninfected or totally recovered population In conclusion, a map based simulation for the spreading of avian influenza virus was presented, and solutions for some problems concerning the modeling of virus spreading and the processing of images that contain maps are given. Three different models were developed and used in order to simulate the magnitude of an infection inside a locality as well as the spread of the infection in the national territory. The models were tested and the results are presented above. The spreading model can be used in order to generate early warnings if the condition of a pandemic disease apparition is satisfied. Also, this simulation and accordingly, the early warning generation, can be extended to the EU territory. The application is built for H5N1 virus. Because all the features of the virus and its spreading can be managed by users, the application can be easily extended to other viruses, such as H1N1.