A simple method for serving Web hypermaps with dynamic database drill-down
International Journal of Health Geographics volume 1, Article number: 1 (2002)
HealthCyberMap http://healthcybermap.semanticweb.org aims at mapping parts of health information cyberspace in novel ways to deliver a semantically superior user experience. This is achieved through "intelligent" categorisation and interactive hypermedia visualisation of health resources using metadata, clinical codes and GIS. HealthCyberMap is an ArcView 3.1 project. WebView, the Internet extension to ArcView, publishes HealthCyberMap ArcView Views as Web client-side imagemaps. The basic WebView set-up does not support any GIS database connection, and published Web maps become disconnected from the original project. A dedicated Internet map server would be the best way to serve HealthCyberMap database-driven interactive Web maps, but is an expensive and complex solution to acquire, run and maintain. This paper describes HealthCyberMap simple, low-cost method for "patching" WebView to serve hypermaps with dynamic database drill-down functionality on the Web.
The proposed solution is currently used for publishing HealthCyberMap GIS-generated navigational information maps on the Web while maintaining their links with the underlying resource metadata base.
The authors believe their map serving approach as adopted in HealthCyberMap has been very successful, especially in cases when only map attribute data change without a corresponding effect on map appearance. It should be also possible to use the same solution to publish other interactive GIS-driven maps on the Web, e.g., maps of real world health problems.
HealthCyberMap (HCM – http://healthcybermap.semanticweb.org) is a Web-based service that aims at mapping parts of medical/health information resources in cyberspace in novel semantic ways to improve their retrieval and navigation. This is achieved through intelligent categorisation and interactive hypermedia visualisation of the medical/health information cyberspace using metadata (information about information resources), clinical codes (to describe resource topics) and GIS (Geographic Information Systems) technologies. HCM pilot currently provides six different interfaces to its metadata base, which has over 1600 resource records in it. Some of these interfaces are visual (maps – Figure 1), while others are textual (list of topical categories and a semantic subject search engine).
HCM features a novel and unconventional use of GIS to map conceptual spaces occupied by collections of medical/health information resources. Besides mapping the geographical provenance of these resources, HCM also collects and maps some non-geographical and semantic aspects of these resources (e.g., clinical subject or topic) using suitable metaphors like human body organs/systems maps. The resultant maps are conceptual information space maps used as a visual navigational aid for browsing mapped resources.
From desktop GIS to the Web
Old  describes two main steps when using GIS to map conceptual information spaces (as in HCM):
– First, information in non-spatial data is spatialised, analysed, browsed, and processed using (desktop) GIS and cartographic methods; then
– The resultant information maps and their connections to the underlying data are shared on the Web as sensitive clickable maps for Internet browsing and navigation of mapped spaces.
This paper focuses on the second step in this process. Two main options exist to deliver this step:
– Dynamic publishing to the Web using a dedicated Internet map server that maintains a live connection with the underlying GIS project/database; or
– Publishing a static snapshot of the project (representing the project's maps and underlying data at time of publishing) as clickable client-side imagemaps using tools like ImageMapper from alta4, Germany http://www.alta4.com/eng/products_e/im/im30/index_e.htm and WebView from Zebris, Germany http://www.zebris.com/english/main_webview.htm. (HCM method is a modified version of this option to partially compensate for its limitations as shall be described below.)
Dedicated internet map server solutions for serving maps with dynamic database drill-down functionality
Advanced mapping applications running on the server side can be linked to the server software, e.g., using CGI (Common Gateway Interface). These applications can be used to provide live database access (browsing/querying a map database on the server). Using a dedicated map server, users could get a map depicting the latest figures from a database, which can come from another remote server, visualised with the colours and classification the user has requested (Figure 2) [2, 3].
ESRI Internet Map Server solutions allow for an existing ArcView project to be transparently ported to the Web with minimal effort (updates carried on the original project in ArcView will also show automatically in real time in the Web front-end). Almost all major GIS vendors have already done this and although their approaches differ in detail, most use a combination of server-side and client-side components. In one typical ESRI set-up, the ArcView GIS program takes on a role "similar to conventional CGI applications" running on the server. An ArcView extension, called Internet Map Server (IMS), is installed to receive commands from the Web browser via the Web server. A command can be for example a map query. It will be passed to and processed by ArcView GIS and the result (a map view) will be converted to a GIF (Graphic Interchange Format) or JPEG (Joint Photographic Experts Group Format) file and sent to the browser. A Java applet called MapCafe is used to implement in the Web browser an interface similar to the standard ArcView GIS interface (Figure 3). Users can for example click the zoom button and drag a rectangle on the map displayed by the applet. This would result in the applet building a command to implement the required zoom action (IMS will receive this command and hand it to ArcView). The last item in this set-up is a plug-in to the Web server software called esrimap.dll that enables the server to find the appropriate ArcView GIS application to handle the request. ArcView GIS can be run on another computer to decrease server load and the server plug-in can even distribute requests among a multitude of computers running the same ArcView application. The Java applet can be customised and the IMS can handle all functionality within ArcView, including its built-in scripting language. This makes the system very flexible but also expensive and more difficult to set-up and run [2, 4].
ESRI Internet Map Server allows users to easily look up places on the map, e.g., by typing the names of the places they want to locate on the map. However, typing errors and disagreement about correct spelling of map features can severely limit the usefulness of such feature .
Costs associated with dedicated internet map servers
Unfortunately, all these excellent features of dedicated Internet map server solutions do come at a cost:
- Price (several thousands of US dollars);
- Expertise is required to install, customise and manage the Internet map server;
- Full access to the hosting Web server is required to install and manage software components (not always possible with mainstream (cheap) shared virtual hosting packages offered by most Web Hosting Providers; for example, HCM current Web hosting package does not allow full access to the hosting server to install extra software); and
- ESRI MapCafe Java applet might be slow to download (depending on speed of client's Internet connection).
This paper describes a simple, low-cost way that has been developed for HCM to serve hypermaps with dynamic database drill-down functionality (dynamic database links) without the need for a dedicated Internet Map Server.
HCM has been developed as an ArcView GIS project and features GIS-driven spatialisation based on an underlying resource metadata base where ICD-9-CM codes (WHO International Classification of Diseases, ninth revision, US Clinical Modification) describing the topics of mapped resources are stored alongside other useful information about theses resources, including their geographic provenance and Web addresses . We used ESRI ArcView GIS Version 3.1 for Windows http://www.esri.com. WebView 1.1, the Internet extension to ArcView GIS, was then used to translate HCM Views (maps) from ArcView to the Web in the form of client-side imagemaps in JPEG format. The authors also used another ArcView extension in HCM project, namely BodyViewer v2.1 for ICD-9 codes from GeoHealth, Inc. to generate HCM human body maps (see below).
A WebView wizard leads users through the necessary steps in ArcView GIS and creates the project's Web pages (based on the active view in ArcView at the time the wizard is launched – Figures 4, 5 and 6). These pages can then be edited manually if necessary in any HTML editor. The created map pages and interface can provide the following functionality :
– Detail and overview maps (Figure 1 above). The detail map displays all visible themes of the active view in the chosen scales; it only displays part (one tile) of the whole view area at a time. The overview map displays the overview themes of the whole area at once in miniature form. A red positional rectangle moves over the overview map to show the location of the area currently displayed in the detail map. Users can also navigate to a different area in the detail map by clicking in the overview map.
– Panning in the detail map is also possible using four arrow buttons for the four directions (up, down, right, left).
– Legend for map contents.
– Scale bar.
– WebView offers three-way hotspots with two-way clicks depending on which toolbar button (Identify button with a blue 'i' icon or HotLink button with a yellow spark icon) is selected when the user clicks a map object:
– attribute information can be displayed on mouse over (map feature ToolTip, e.g., in HCM maps, country name or body organ/system name);
– other attribute information can be displayed on mouse click while the Identify button is selected, e.g., to display more country information in a message box based on one or more attribute fields (Figure 23 below); and
- mouse clicks while the HotLink button is selected can be associated with an image, video, sound file, Web page or email address. (In HCM, we associated them with database query pages to be executed on HCM Web server.)
- Zoom in and zoom out in the detail map (up to three zoom levels in WebView 1.1).
- Up to five themes can be selected as interactive layers for each of the three zoom levels; attributes of these themes can be associated with the different mouse events outlined above (Figure 5). Different themes (layers) can be associated with the different zoom levels. This allows for different map contents and detail at different zoom levels (scales). This zooming strategy is called static stepped zooming.
Version 2.1 of WebView provides additional features (not available in WebView v1.1). These include five zoom levels, transparent layers (users can switch layers visible/invisible) and object layers (Figure 7). The latter provides a client-side map feature lookup functionality "similar" to, though not as powerful or sophisticated as that provided by dedicated map servers. Developers select up to two themes as object layers. An object layer is a theme, in which the user may search for certain attribute value. The attribute values are listed in a combo box, e.g., a list of country names as in the screenshot above. Selecting a country from the list, will cause the detail map (on the left) to zoom to that country and mark its exact position on the map (Figure 7) .
Although it saves users the trouble of setting-up and running more complex Internet Map Server software while offering similar user interface features, the basic WebView set-up does not support any real GIS database drill-down functionality (the generated maps cannot communicate with the corresponding underlying databases). Moreover, projects published by WebView on the Web are uncoupled or disconnected from the original corresponding projects in ArcView.
"Patching" the basic WebView set-up
In HCM, the authors developed their own (partial) workarounds for these limitations of WebView (Figure 8). This solution makes use of WebView HotLink functionality to implement a dynamic database drill-down that will always reflect the latest updates to this database. By clicking different hotspots on the client-side imagemaps in HCM, users are actually triggering server-side pre-formulated SQL (Structured Query Language) queries against an underlying database of resource metadata. The database is registered on HCM server (a Windows 2000/NT 5 IIS Server – Microsoft Internet Information Server/Services) as an ODBC (Open DataBase Connectivity) Data Source (Figure 9) and is the same database we are connecting to in ArcView. We coded the SQL queries in ASP (Active Server Pages) pages for execution on the server. The ASP pages returned to users in their browsers only contain query results in the form of formatted HTML. The actual SQL and ASP code as found in the ASP pages stored on the server is never sent to the end user.
HCM metadata base (based on Dublin Core metadata set)
Candidate Internet resources are hand-selected (to ensure quality). Their attributes, including Web address and ICD-9-CM codes representing their subjects, are compiled in HCM metadata base based on the Dublin Core (DC – http://www.dublincore.org/) metadata set scheme with HCM own extensions for resource quality and geographical provenance.
HCM allows for three DC subject fields per resource record permitting up to three ICD-9-CM codes to be used to unambiguously describe the topic(s) of each selected resource.
The resource metadata base was implemented in Microsoft® Access (Figure 10). We used ArcView "SQL Connect" feature to connect to HCM metadata base and import all fields and records from it into an ArcView table that will refresh each time the project is opened in ArcView (Figures 11 and 12). This is the same database currently registered on HCM server as an ODBC Data Source (Figure 9 above), which users query by clicking the hypermaps.
Using ArcView's BodyViewer extension
BodyViewer is an ArcView GIS extension from GeoHealth, Inc. http://www.geohealth.com/ that combines the power of GIS with computerised body organ system diagrams. It lets users see where their ICD-coded healthcare data (medical/health Internet resources in our case) map onto the human body based on the body region(s) they cover .
We used this extension to generate the human body topical maps in HCM. These maps allow the navigation of resources by body location/system according to ICD-9-CM. In BodyViewer human body maps, map symbols are miniature simplified drawings or icons of the different body organs and systems. They act as visual labels to the different resource categories that have been classified and mapped according to their DC subject fields (ICD-9 codes). These icons (on the corresponding Web hypermaps) are linked to respective ASP query pages that are executed on HCM Web server to retrieve the appropriate resources based on the ICD-9 codes represented by the clicked icon. For example, if the cardiovascular icon is clicked, a query will be launched to retrieve resources with cardiovascular ICD-9 codes. Our bibliographic/cybergraphic use of this extension to map ICD-coded medical/health Internet resources is the first of its kind and was never suggested in BodyViewer documentation by GeoHealth, Inc. (the manufacturer of BodyViewer).
We used BodyViewer "Setup Wizard" to map the Internet resources listed in HCM onto the human body (Figures 13 and 14). These resources have been indexed in the metadata base that we imported into ArcView in the previous step (see Figure 12 above). The mapping is based on the three ICD-9 fields in the imported table. BodyViewer can aggregate more than one ICD-9 code field at a time, and so was able to use all three DC subject fields in HCM metadata table combined to compute resource counts by clinical subject category/body region. BodyViewer classifies resource counts per body region into ranges and associates each range with a colour shade or tint, i.e., a choropleth rendition (darker colours meaning more resources). This allows us to visually spot infogaps (topical coverage gaps) and infoclusters. (Infogaps can be also due to insufficient indexing by HCM.)
In ArcView, BodyViewer views are not hot-linked to the underlying resource metadata table (within ArcView) until we perform what is called "Link Patients" in BodyViewer, though in this case we will be linking resources not patients. Although BodyViewer was able to aggregate three ICD fields in the previous step, the linking can only be done using one DC subject field at a time (Figure 15). The result of the linking in ArcView is shown in Figure 16. In this regard, the corresponding HCM human body maps on the Web are superior since the linking query (running on HCM Web server) looks in all three DC subject fields in the underlying metadata base. To export BodyViewer maps (views) to the Web using WebView, we have to first select a Map Unit ("meters") for the view or else WebView will not be able to determine a scale for rendering the detail map and will abort the process (Figure 17). We inserted a HotLink field in BodyViewer map tables to store the Web addresses of corresponding ASP query pages that will run on HCM Web server; this field is associated with the HotLink mouse event feature of WebView (Figure 18).
HCM World map in ArcView
The authors used the basic World map dataset that ships with ArcView GIS 3.1 as a project example (world.apr), and added a HotLink field to the "Countries ('98)" table (Figures 19 and 20). This field was associated with the HotLink mouse event in WebView wizard when the authors generated HCM World Map for the Web. Clicking a country on HCM World Map (on the Web) will launch the appropriate country query to retrieve only those resources authored in and/or published in the clicked country. Query results will always reflect the latest updates carried on the metadata base without the need to change any code.
It is also possible to join the resource metadata and World Countries tables (within ArcView) based on the values of a common field (country names – Figure 21). This kind of functionality is not possible with WebView.
Results and Discussion
HCM Web Interface
(Only components generated using the "patched" WebView method are described below.)
HCM BodyViewer maps are available on the Web at the following address: http://healthcybermap.semanticweb.org/bodyviewer (Figure 22). These human body topical maps can be used to visually browse selected medical/health resources on the Web by clinical subject according to ICD-9-CM classification.
Clicking a human body icon on these maps triggers a server-side dynamic query. This is for example the pre-formulated SQL query that currently runs on HCM server in real-time to retrieve resources having E codes (codes for External Causes of Injury and Poisoning) in any of their DC subject fields http://healthcybermap.semanticweb.org/bodyviewer/e-codes.asp – see Example ASP page from HCM in "Additional file" for full code of this page):
sql = "SELECT hcm. [dc:Creator], hcm. [dc:Title],
hcm. [dc:Subject:1], hcm. [dc:Subject:2], hcm. [dc:Subject:3],
hcm. [dc:Description], hcm. [dc:Publisher], hcm. [dc:Date],
hcm. [dc:Type], hcm. [dc:Identifier], hcm. [dc:Language],
hcm. [dc:Coverage], hcm. [hcm:Location:city],
hcm. [hcm:Location:country], hcm. [hcm:Quality], hcm. [hcm:Comment] FROM hcm WHERE (((hcm. [dc:Subject:1]) Like 'E%')) OR (((hcm. [dc:Subject:2]) Like 'E%')) OR (((hcm. [dc:Subject:3]) Like 'E%'))"
All three DC subject fields in each resource record are searched for matching ICD-9-CM codes.
HCM World Map Web interface is available on the Web at the following address: http://healthcybermap.semanticweb.org/world_map/ (Figures 1 and 23). The maps can be used to browse Web resources by country of provenance.
Online Help is available for both BodyViewer and World Map Web interfaces. Clicking the green question mark '?' button in Figures 22 and 23 above will display Help instructions in a separate pop-up window (Figure 24).
Maintenance of HCM Web maps
Since WebView does not allow the dynamic generation of Web maps from ArcView, some of HCM Web maps will ultimately need to be manually regenerated using WebView when the underlying data change if this change has implications on the maps' appearance. In cases when only map attribute data change without a corresponding effect on map appearance, e.g., updating the address of a Web resource in the metadata base, nothing needs to be done; the same ASP query pages (unmodified) will retrieve the latest updates. HCM GIS-generated Web maps can be grouped into:
– Choropleth maps that need to be regenerated when the underlying data are updated, e.g., the BodyViewer maps as the colour shades of the various body organ systems in these maps reflect the number of resources associated with them, and so will change whenever the database is updated (resources added and/or deleted). In this case, the Web maps must recreated in ArcView using WebView then uploaded to the Web server to replace older ones. Associated query pages need not be changed.
– Chorochromatic maps that don't usually need to be updated, e.g., the world maps. Whenever new resources are added (or existing ones updated/deleted), they will automatically appear (or disappear) in the query results when the corresponding countries on the map are clicked. There is no need to change the map as long as the addresses of the dynamic ASP query pages on HCM server don't change (e.g., http://healthcybermap.semanticweb.org/canada.asp). The only reason to regenerate these maps would be if some of their underlying attribute values that are used with WebView Identify function change, or if the political boundaries between some countries change (which is not very frequent).
In this paper, we have described in detail HCM cost-effective method for serving Web hypermaps with dynamic database links/drill-down functionality on the Web. The proposed solution is currently used for publishing HCM GIS-generated navigational information maps on the Web while maintaining their links with the underlying resource metadata base. The authors believe their map serving approach as adopted in HCM has been very successful, especially in cases when only map attribute data change without a corresponding effect on map appearance. However, the main benefits of HCM solution are that it is much cheaper and simpler to deploy and maintain (doesn't need full access to the hosting Web server to install and manage extra software components) compared to a full-fledged Internet mapping server solution. It should be also possible to use the same solution to publish other interactive GIS-driven maps on the Web, e.g., maps of real world health problems.
Old LJ: Web Access to Non-spatial Data using Internet Map Servers. In: Proceedings of the 21st Annual ESRI International User Conference. 2001, San Diego, California, http://gis.esri.com/library/userconf/proc01/professional/papers/pap237/p237.htmhttp://gis.esri.com/library/userconf/proc01/professional/papers/pap237/p237.htm
Kraak MJ, Brown A: Web Cartography: Developments and Prospects. London, Taylor & Francis. 2001
Frappier J, Williams D: An overview of the National Atlas of Canada. In: Proceedings of the 19th International Cartographic Conference ICC99. Edited by: Keller CP. 1999, Ottawa, Canadian Institute of Geomatics, 261-267.
Environmental Systems Research Institute, Inc. (USA): ArcView Internet Map Server Frequently Asked Questions. 2002, http://www.esri.com/software/arcview/extensions/imsfaq.html
Kamel Boulos MN, Roudsari AV, Carson ER: A Semantic Visual Browser of Medical Internet Resources Based on Clinical Codes and the Human Body Metaphor. Health Information and Libraries Journal. 2002,
ZEBRIS (München Germany): WebView – The Internet Extension for ArcView GIS. 11 July 2002, http://www.zebris.com/english/main_webview.htm
GeoHealth, Inc. (USA): BodyViewer Extension for ArcView GIS. 11 July 2002, http://www.geohealth.com/bodyviewer.html
The authors would like to thank Dr. Christopher Austin president of GeoHealth, Inc., USA, who supplied BodyViewer v2.1 Extension Version (ICD-9) free of charge for the purpose of this research.
All authors contributed equally to this work.
Electronic supplementary material
Additional file: Example ASP page from HCM In HCM, the Web maps are used to launch different SQL queries against an underlying resource metadata base on the server (this is what we call "dynamic database links"). This PDF file lists the source code of the ASP page that retrieves all resources associated with E codes (ICD-9-CM) and then loops through the resultant recordset to format and display the results (resource bibliographic cards) in HTML (to see the page running, go to: http://healthcybermap.semanticweb.org/bodyviewer/e-codes.asp). (PDF 13 KB)
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
About this article
Cite this article
Boulos, M.N., Roudsari, A.V. & Carson, E.R. A simple method for serving Web hypermaps with dynamic database drill-down. Int J Health Geogr 1, 1 (2002). https://doi.org/10.1186/1476-072X-1-1