1. Study area
This cross-sectional study used retrospective data of TB cases in the district of Gombak, Selangor, Malaysia. Gombak is one of the administrative districts in Selangor, covering a total area of 650.08 km2. It is between longitude 101°34′ and 14°6′ East and latitude 3°16′ and 27.3°North′, which lies from the middle to the eastern part of Selangor state. The district of Gombak is divided into four sub-districts or mukim: Rawang, Batu, Setapak, and Hulu Kelang. Each mukim is defined as the minimal area of analysis in this study. The location of mukims is displayed in Fig 1. Gombak’s residential population is about 815,200 in 2018, which ranks fourth (after Petaling, Hulu Langat, and Klang) among the eight districts in Selangor; with approximately 90% of the population living in urban areas [25].
The annual average temperature in Gombak is 27.1 °C, reflecting the tropical climate, which is hot and humid throughout the year. Furthermore, this district experiences a significant average rainfall at approximately 2535 mm annually [26]. Moreover, the terrain is hilly in the eastern and parts of the northern and west regions, whereby most of them are still covered with forests within the altitude of 100 and 500 m above sea level. On the other hand, the central and south-west areas of Gombak are relatively low, with lowlands with an average elevation between 30 and 70 m above sea level [27].
Gombak district is a part of the Klang Valley, consisting of major municipal areas in the south and west. Moreover, Kuala Lumpur city's rapid urbanization has spread to the southern part of Gombak in recent decades, especially in the industrial processes. Aside from that, the health sector comprises of two government hospitals, eighteen government clinics, three private hospitals, and three private clinics [28]. In 2018, Selangor accounted for the highest TB burden with 5,071 cases, among which Gombak was the district that reported the highest TB incidence at approximately 700 cases each year [29]. The geographical location of Gombak is presented in Fig 1.
2. Data sources
2.1 Sociodemographic data of TB cases
All healthcare providers in hospitals, clinics, disease prevention, control institutions, and all other designated healthcare establishments are obligated to promptly report active TB cases into the TBIS database of the respective health districts. After that, the data would be electronically transferred into the myTB by MOHM’s officers. In this study, the TB data between 1 January 2013 and 31 December 2014 were collected from the Government Health Clinic in Rawang, while TB data between January 2015 and December 2017 were collected from the TB/Leprosy Unit of Gombak District Health Office in Batu Caves. The confidential data were retrieved upon the approval from the Director of Gombak District Health Office via myTB and double checked from TBIS to prevent errors. The TB patients were diagnosed based on X-ray findings, pathogen detection, and pathological diagnosis according to the criteria set by the MOHM (2008).
The sociodemographic variables of the TB patients including age (years <15, 15–64, 64>), gender (male, female), race (Malay, Chinese, Indian, and others), country of birth (Malaysia, Indonesia, Myanmar, Bangladesh, others), nationality (Malaysian, non-Malaysian), educational level (secondary school and below, secondary school and above), employment status (employed, unemployed), healthcare worker status (health care worker and non-healthcare worker), residency (urban, rural), income status (permanent income/not permanent income), and smoking status (smoking, not smoking) were collected for the current study. These data were acquired via myTB selected by considering the reality of Malaysia’s TB situation reported in earlier literature [62-64] and double checked from TBIS to prevent errors. Additionally, data such as individuals' ID, type of TB (smear-positive, smear-negative, extra-pulmonary, and drug-resistance), and date of diagnosis (month, year) were also retrieved, while the “year” and “month” were recorded according to the date when the TB diagnosis was confirmed.
Out of the 3,590 TB cases retrieved, 181 cases (5.04%) were excluded, of which 2.53% were residents outside the study zone, while another 2.51% were not diagnosed within the study period. After removing cases that could not be geocoded (2.46%) due to incorrect, missing, or unclear address information, only 3,325 (97.54%) cases from January 2013 to December 2017 were included in the final analysis, which was then aggregated at the mukim level.
2.2 Geographical data
Firstly, the data obtained were imported into the spatial district data attribute table to display the spatial distribution of TB cases and their sociodemographic factors. The Universal Transverse Mercator coordinates of the patients’ residences were geocoded from their home addresses recorded in the database using Google Earth™ version 7.15 (Alphabet Inc., Mountain View, CA, USA). However, some of the patients’ addresses in rural areas were not detected by Google Earth; thus, coordinates of the bigger geographical areas such as village and street names were recorded. Then, the extracted data were georeferenced with the district polygons using ArcGIS version 10.7 (Environmental Systems Research Institute [ESRI], Redlands, CA, USA)
3. Web application
3.1 Input data preparation
Initially, the app user is required to prepare several types of TB data that include patients ID, address coordinates, mukim, month of diagnosis, year of diagnosis, and sociodemographic variables of TB cases (age, gender, race, nationality, country of birth, educational level, employment status, healthcare worker status, income status, residency status, and smoking status). The established data table form of a .csv file consisting of one column per data type and one row per individual TB case (patient). Aside from that, the data file containing information were categorized into numbers, as presented in Table 1.
3.2 System architecture and design
Portal TB Gombak is a web-based application to plot locations of TB cases based on sociodemographic factors from years 2013 to 2017 in the Gombak district. The application can be access through https://tbgisgombak.com/arcgis/ by single or multiple users (a group of users) at one time. The web is already hosted on the dedicated server with a presented architecture comprising of CodeIgniter Framework as the Application layer, Web ArcGIS Service and Environmental Systems Research Institute (ESRI) Map as Service layer, and SQL Server database as the Data layer. Furthermore, the CodeIgniter Framework consists of four main components such as HyperText Markup Language 5 (HTML), Cascading Style Sheet (CSS), JavaScript, and Python Shapefile (PHP) to build the server’s interface and combined with web GIS technology to develop the server for JavaScript API on ArcGIS software (Fig 2). In addition, the app interfaces allow users to insert and modify the TB data directly from the browser and control the application's layout using CodeIgniter Framework, which will automatically change the input.
3.2.1 Application layer
The HTML and CSS widget was used for interactive web data visualization (HTML and CSS Standards, 2020). HTML is used because it has the elements to support multimedia without using Flash or other third-party plugins. Apart from that, PHP was utilized as the MapServer to import the data file to the website page using HTML code, acting as a platform to display geographic information. To achieve an online display of spatial inundation information, MapServer has four necessary files: start webpage, spatial information, and HTML template. This platform is displayed on browser pages, and after it captures the spatial data, the results are presented in the users’ web browsers according to the template files. Besides, the templates files also show the webpage image and the control panel for the design layer, such as opening/closing, zooming, panning, and other operations.
On the other hand, JavaScript is a scripting language written by the users by embedding them into HTML documents and accessible offline. It supports the development of highly responsive interfaces and maintains user interface presentation besides offering dynamic functionality without waiting for the server response. Furthermore, a JavaScript program can control what is visible on the screen by showing, hiding, or changing the characteristics of the page elements (text, tables, page regions, buttons) defined in HTML. The purpose of JavaScript is to geocode reported TB cases and its sociodemographic variables of the Gombak district. An additional feature of the application is the geocoding of the TB patients’ addresses according to the base map using JavaScript. Geolocation detection by JavaScript is compatible with different devices such as laptops, tablets, and mobile devices, creating a responsive web application and cross platform, besides supporting several browsers such as Chrome, Mozilla Firefox, Safari, and Opera.
Additionally, Data Tables display interactive tables containing information on the TB cases and their sociodemographic variables. It supports filtering, pagination, and sorting, which helps locate and provide information on a particular area or show the areas with higher or lower values.
3.2.2 Service layer
ESRI Map is a free, editable world map server that allows the sharing of visualization of the target areas without copyright restrictions [30]. The user interface base map in the current application is an ESRI Map, with several basic controls for panning, zooming, and switching views, which is very convenient when the map contains small areas. This part of the interface is built when the page is loaded and the starting map location is a default location. Furthermore, the ESRI Map is selected so that the user will be able to operate the app like the other mass-market internet mapping sites such as Google Earth and Google Map. In this study, the ESRI Map is used as a platform to facilitate the detection of high-risk areas of TB cases and provide visualization on the web.
Contrary to the complex, multifunctional, and established version of the GIS system, Web GIS integrated with the internet is broadly used in many fields. It focuses on the conversion of data format as well as usual function inquiry and display. This study used ArcGIS JavaScript API 3.7 developed by ESRI Map as the Web GIS technology (JavaScript API for ArcGIS Guide, 2020). Furthermore, the API key was added to the JavaScript code of the ESRI Map along with latitude and longitude of the TB cases. Thus, API displays TB data on the Portal TB Gombak map, which substantially simplifies the information and allows sharing with other users without any software.
3.2.3 Data layer
My Structured Query Language (MySQL) is an open-source relational database management system that can retrieve rows of data, and there is a request of string named "Query." The SQL Server 2008 database preserves spatial information for the reported TB data in the current study.
3.2.4 Web GIS technology
Unlike the complex standalone version of GIS system, web GIS combined with the internet is extensively used in all fields. This is because it focuses on the conversion of data format as well as the common function survey and display and is an effective tool for displaying spatial data. Furthermore, rate of data transmission and user convenience should also be recognized in the advancement of technology. The client uses a web browser and the server provides the client with information and services. Web GIS has not only be able to perform the functions of traditional GIS, yet has also be able to perform the functions of data acquisition, storage, processing, compilation, management analysis, and visualisation of geographic information. In this study, the functions of web GIS application is map visualization. It could be carried out by retrieving graphics and attribute data of TB cases, as well as allowing clients in other regions to be able to operate these data by interacting with the browser. This study used ArcGIS API, in which the common web GISs developed by ESRI, TIGER (Topologically Integrated Geographic Encoding and Referencing) developed by the United States Census Bureau and MapServer owned by the Open Source Geospatial Foundation (OSGeo).
3.3 Functionality of the web
The application consists of four tabs: (i) an ‘Introduction’ tab where the user can read the summary of the information about the web; (ii) a ‘GIS Application’ tab where the data can be uploaded and downloaded; and TB cases and its sociodemographic factor can be plotted and displayed; (iii) a ‘Download’ tab containing a flow diagram on designing the web, publication for references regarding the sociodemographic factor of TB cases in Malaysia, and a user manual and tutorial on how to use the web; and (iv) ‘Contact’ tab whereby the user can send queries to the authors via e-mail and letter using their affiliation address.
Meanwhile, the ‘GIS Application’ tab includes several control widgets for users to interact by sending messages or instructions to the application. However, it is not an open-access web because the user needs to fill in the ‘Username’ and ‘Password’ columns to enter the web. Furthermore, the ‘GIS Application’ page comprises two components: ‘Upload Map’ and ‘Map List’ buttons. There are several functions in the ‘Upload Map’ option, including ‘Map Name’ column, ‘Choose File,’ ‘Submit,’ and ‘Reset’ button. Moreover, there is a ‘Search’ column, ‘Data,’ ‘Map,’ ‘Download,’ and ‘Remove’ button in the ‘Map List.’ In addition, there is the navigation (+/-), ‘Search address,’ Legend of ‘Year of TB cases,’ scale bar, coordinate, ‘Filter,’ ‘Sociodemographic variables,’ and ‘Reset’ buttons on the map generation page. The flow of design for Portal TB Gombak is presented in Fig 3.