| Literature DB >> 30343662 |
Blake Camp1, Jaya Krishna Mandivarapu2, Nagashayan Ramamurthy2, James Wingo2, Anu G Bourgeois2, Xiaojun Cao2, Rajshekhar Sunderraman2.
Abstract
BACKGROUND: The Epi-Info software suite, built and maintained by the Centers for Disease Control and Prevention (CDC), is widely used by epidemiologists and public health researchers to collect and analyze public health data, especially in the event of outbreaks such as Ebola and Zika. As it exists today, Epi-Info Desktop runs only on the Windows platform, and the larger Epi-Info Suite of products consists of separate codebases for several different devices and use-cases. Software portability has become increasingly important over the past few years as it offers a number of obvious benefits. These include reduced development time, reduced cost, and simplified system architecture. Thus, there is a blatant need for continued research. Specifically, it is critical to fully understand any underlying negative performance issues which arise from platform-agnostic systems. Such understanding should allow for improved design, and thus result in substantial mitigation of reduced performance. In this paper, we present a viable cross-platform architecture for Epi-Info which solves many of these problems.Entities:
Keywords: Analytics; Cross-platform; Data-collection; Electron; Form-design; NoSQL; Pubic-health
Mesh:
Year: 2018 PMID: 30343662 PMCID: PMC6196404 DOI: 10.1186/s12859-018-2334-8
Source DB: PubMed Journal: BMC Bioinformatics ISSN: 1471-2105 Impact factor: 3.169
Fig. 1System Architecture - Local PouchDB clients sync automatically with a central CouchDB cloud server,allowing for seamless online-offline transition
Fig. 2Client Side Architecture - An AngularJS app, Python Analytics Module, and local PouchDB
Fig. 3System Data-Flow - Each step requires time, see Table 1
Approximate time-requirements for critical data-flow processes
| Process | Time (Data: 50k x 200) | |
|---|---|---|
| (300MB) | ||
| 1 | Retrieve data from PouchDB | 1 minute |
| 2 | HTTP POST, send JSON data to Python | 30 seconds |
| 3 | Convert JSON to Pandas DataFrame | 30–45 seconds |
| 4 | Compress/Write JSON to HDF | <1 second (compresses |
| to only 21MB) | ||
| 5 | Analytics | varies, but fast |
| 6 | HTTP POST, return results to Angular | varies |
Test Data: 50k records, by 200 features
Fig. 4Screenshot of Angular-based drag-and-drop Form Designer
Fig. 5Typical Epi-Info workflow
Fig. 6Screenshot of GSU Epi-Info Analytics interface
Fig. 7High level view of step-by-step analytics optimization using multiple cores