Overall Description

RequirementOverall Description
Section2
JIRA Task
EIR-14 - Getting issue details... STATUS

Product Functions

Epi Info™ 7 is used worldwide for the rapid assessment of disease outbreaks; for the development of small to mid-sized disease surveillance systems; as ad hoc components integrated with other large scale or enterprise-wide public health information systems; and in the continuous education of public health professionals learning the science of epidemiology, tools, and techniques.


Form Designer

As a suite of tools for collecting and analyzing- data, Epi Info™ 7 must support the creation of smart data entry forms that facilitate systematic data collection and perform data validation in real time. These steps are accomplished using Form Designer.  This module's functionality can be divided into two components.  First, Form Layout supports project origination, the structure and relationship of forms, and the selection and positioning of data entry fields on pages, their properties and tab order. Second, Check Code, specifies  the needed input validation, skip patterns, automatic calculation of data, and intelligent field navigation.

Starting with an empty canvas, the user can select data-entry fields including text fields, pull-down menus, check boxes, and radio buttons, as well as a graphic, calendar-driven fields for entering dates and auto-formatting fields for entering data such as phone numbers and times. Titles and supporting text can be added to the form; data fields can be grouped, arranged, and aligned to enhance the form's readability and aesthetics.  A form can contain one or more pages, each corresponding to a database table to be populated using the Enter (data entry) module and processed by Classic Analysis or Visual Dashboard

Enter

The Enter module is the primary mechanism for data entry in Epi Info™ 7. Using the data table or tables constructed when the form was created and any subsequent check code added to the form, Enter can be used to enter new data, modify existing data, or search for records.  The Find function allows records to be located that match values specified for any combination of variables on the form. In Enter, the cursor moves from field-to-field and then page-to-page, flagging invalid data according to the user-defined check code rules (if any) and then automatically saving data. Navigation buttons provide access to new, previous, next, first, and last records, as well as to their related tables, if any.  The user can also return to Form Designer to edit the form and jump ahead to Classic Analysis or Visual Dashboard for data analysis, visualization, and reporting.

Classic Analysis

The Epi Info™ 7 Classic Analysis (CA) module is used for the statistical analysis of data. Data to be analyzed may be collected using questionnaires created in Form Designer and populated using Enter or may be imported from external sources. It is the core analytical component of Epi Info™ 7 and has remained largely unchanged in form and function through many versions and implementations of the package. The user can execute commands from the interactive, menu-driven Command Explorer or the text-based Program Editor. Output is generated in HTML format and organized by a paging system that allows users to navigate forward and backward through the results using anchors embedded in the output of each command. The Explorer lists 46 commands organized into groups according to function: manipulation of datasets, individual variables, statistical analyses, defining new commands and generating output. A user can create a sequence of commands representing a complex workflow in the Program Editor, save it as a file and execute it in batch mode, independently of the Classic Analysis GUI.

Visual Dashboard

The Epi Info™ Visual Dashboard complements Classic Analysis with a more modern, graphically-oriented interface for configuring analytical tools and displaying their results. Whereas the largely text-based output of Classic Analysis accumulates in a scrolling output page, with HTML anchors to facilitate navigation, the analytical tools in Visual Dashboard, known as "gadgets", are intended to be positioned on a canvas, like gauges on a dashboard, allowing the user to take in the status of the project in a single view. While Visual Dashboard does not support programming for automated processing, the ability to update the analyses (with a single button-click) when new data becomes available, eliminates the need for it, in all but the most sophisticated use cases.

The requirements for this module are divided into three sections. Navigation covers the Toolbar and Status Bar, located at the top and bottom, respectively, of the Visual Dashboard window. Canvas discusses the requirements for functionality residing in the Dashboard itself. The final section, Menu Commands, covers the tools accessed from the master menu including populating the canvas with gadgets, charts, and calculators, as well as loading and saving canvas and project data. In many cases, there are multiple ways to access a given functionality between, and even within, the canvas and Toolbar. The first two sections indicate how the various functions are accessed; Menu Commands describes the functions in detail.

Epi Map

The Epi Info™ Map module enables the user to plot the locations associated with study data on a global coordinate system overlaid with geophysical ("satellite") or geopolitical ("streets") maps. The street and satellite maps are, in essence, built-in Base Layers that supply geographic reference information onto which study data can be layered. User-defined Base Layers can be provided in the form of local shapefiles or remote data from KML/KMZ files or a map server on the Internet. Study data is applied in Data Layers, which can be divided into two groups. Both choropleth and dot density maps associate quantitative data with map regions, such as those defined in shapefiles or Keyhole data files. These map layers are useful for displaying large-scale public health information, where the number of cases, for example, is represented by color of, or dot density in, the jurisdictions drawn on the map. The other Data Layer group, consisting of case-cluster and spot maps, uses latitude and longitude to map the locations of subjects or other physical entities relevant to the study. The coordinates may be entered from GPS units in the field or translated from street addresses by the Check Code command GEOCODE. The user can also add markers, labels, and zones manually, by clicking on the map display.

StatCalc

The StatCalc component of Epi Info™ 7 enables the user to evaluate the performance of different study designs and statistical tests by supplying high-level information on the properties of hypothetical data sets and the criteria used for evaluation. StatCalc tools can be divided into three broad categories: 1). sample size and power calculations for unmatched case-control studies, population surveys, cohort or cross-sectional studies, chi-square for trend by the Mantel extension of the Mantel-Haenszel summary odds ratio, and chi square (tests for the presence of a trend in dose-response or other case-control studies where a series of increasing or decreasing exposures is being studied); 2). analysis of 2×2 tables to produce odds ratios and risk ratios (relative risks) with confidence limits, Fisher exact tests, and 1- and 2-tailed p-values, with Mantel-Haenszel summary odds ratios, chi square tests and associated p-values for stratified data; 3). distribution-based event probabilities, 2-tailed p-values and confidence intervals for deviations from binomial (proportions) and Poisson (rare events) distributions given the number of observed and expected events. The StatCalc tools can be accessed as an independent module from the main menu or as part of the Visual Dashboard.

System Configuration

Epi Info™ 7 has several mechanisms that allow the user to configure the system, set options and defaults, and get help with program usage. The primary device is the Options window, which can be accessed from Form Designer, Enter, Classic Analysis and StatCalc. Options allows the user to set values for parameters controlling language and translation, data analysis, code plug-ins, data access from web surveys and cloud capture, and general items such as the default file format and working directory.



User Characteristics

The typical Epi Info™ user is a college-educated professional who is familiar with the terminology used in health care, statistics, and epidemiology.  The user is also familiar with basic computer usage and associated terminology (variables, data fields, functions, parameters, arguments, etc.).  There is limited space within the application to give instructions and guidance to the user; these cues are sufficient for prompting the user to perform the next task but are not voluminous enough to also teach concepts.

From that body of users, we anticipate two specific user levels.  The advanced user is capable of using all aspects of the program.  Principal investigators, lead epidemiologists and other individuals responsible for the scientific direction of public health investigations are likely to be advanced Epi Info™ users. This individual creates the data entry forms, including the potentially complex check-code logic that validates data and guides the user of the through the data entry fields.  The advanced user may also set up the analyses using the Visual Dashboard and Classic Analysis tools.  Based on knowledge and expertise acquired in the field, the advanced user will know the most appropriate statistics to calculate during data collection and can decide how best to present that data using graphs, tables and maps.  In contrast, basic users, with limited experience and training, can use Epi Info™ in the field to administer questionnaires to subjects during interviews and update the prepared analyses with new data after collection.


Product Perspective

System Interfaces

System components and constraints identified:

    • File system
      • Purpose
        • Stores form data, analytical results, shape files
        • Location of Epi Info™ executables, Dynamically Linked Libraries (DLLs), config files
      • Constraints
        • Limit on maximum file size
        • Limit on length of file name
        • Syntax for file references in different directories (relative and absolute)
        • Syntax for file references on other file systems (hard disks or partitions)
        • File access permissions
    • Database Engine
      • Purpose
        • Stores form configuration and collected form data
        • Receives data from Enter module as SQL
        • Supplies data to Classic Analysis and Visual Dashboard
      • Constraints
        • Local Microsoft Access
        • Local or remote SQL Server
        • Receives data from Enter module as SQL
        • Supplies data to analytical modules
    • User input
      • Keyboard and locale-dependent character mappings
      • Mouse, three button, middle button click and scroll wheel
      • Touch screen, pointer, gestures and keyboard emulation
    • Program output
      • Video display terminal
      • Printer, postscript


Epi Info System Block Diagram, System Interfaces.  Figure shows data flow in and out of Epi Info.  Epi Info is represented as the central object with user input modes, keyboard, Touchscreen and Mouse, on the left with arrows pointing to Epi Info.  On the right, arrows leading out of Epi Info represent output modes, Display and Printer.  Below, system storage, FileSystem and Database, connect to and from EpiInfo.  Above, Internet resources including Reference Data and GIS data connect with Epi Info with a bidirectional arrow (although data flow is primarily to Epi Info).

User Interfaces

Keyboard

The keyboard generates signals in response to keystrokes which are translated by the operating system into a string of characters and made available to a program as Standard Input.  The keystrokes can represent alphanumeric characters, punctuation, and symbols as well as control characters and cursor-movement commands.  The relationship between the byte (or bytes) generated by a keystroke and the character represented is determined by the system's character set (ASCII, UTF-8, UNICODE, etc.). The character set is, in turn, controlled by the system's locale, the linguistic and geographic environment in which the user and system operate.  Epi Info™ must be flexible enough to support input in multiple languages based on locale in order to accurately record, for example, the names of subjects, and locations. 

Mouse

The mouse, or substitute such as a touch pad or track ball with buttons, takes user input to move the system pointer (or cursor) relative to its current position on the screen.  Through the use of buttons or tapping gestures, it also takes logical input, often based on the position of the cursor on regions of the screen such a buttons or fields.  The use of motion and button input together enable graphical user interface (GUI) interactions such as pull-down menus and scrolling.  The ability of a program to draw a picture on the screen and use it to prompt the user for specific input using the mouse and keyboard is the hallmark of modern interface design; its ability to guide a relatively untrained user through a complex series of interactions greatly increases the number of potential users for an application.

Touch Screen

Touch-sensitive screens are becoming more common on laptop PCs and are nearly ubiquitous on tablets and mobile devices.  The touch screen, like the mouse, moves the system pointer in response to user input, essentially mirroring the movement of the user's digit over the screen on the screen.  However, unlike the mouse, the absence of buttons necessitates a means for emulating them.  This is typically accomplished by gestures such as the "tap" and "double-tap" movements used in place of the left and right mouse buttons, respectively.  Other gestures are possible, such as "pinching" (two widely-separated fingers on the screen which are then drawn together) and "stretching" (the opposite movement: two fingers together then moving apart), used to effect zooming in and zooming out.  A touch screen can also emulate a keyboard by displaying an image of a keyboard and mapping a touch event that occurs over a particular letter to the appropriate character code. The operating system translates gestures and keystrokes on virtual keyboards on the touch screen into equivalent codes, making the choice of input devices essentially invisible from the programmer's perspective. 

Hardware Interfaces

The Epi Info™ launch screen and main menu is 682 × 496 (pixels), allowing it to operate with a standard 800 × 600 (SVGA) screen. This is adequate for data entry, although scrolling is required to see all fields on the form.  The analytical and mapping functions will also work with this resolution but usability suffers.  Higher resolution is always better; a minimum resolution of 1024 × 768 (XGA) is recommended.

Software Interfaces

Epi Info™ 7 is intended to run on x86-based personal computers running the Microsoft Windows operating system.  It has the following requirements:

    • Windows XP or above
    • Microsoft .NET Framework 4.0 or above

Communications Interfaces

There is a button on the main menu labeled "Epi Info Website" that identifies the default browser and forks a process calling the browser program with the appropriate command-line options to open the URL "http://wwwn.cdc.gov/epiinfo/".

Epi Info™ 7 must read and write from the following data sources/formats:

    • MS Excel 97-2003 Workbook (.xls) or MS Excel 2007 Workbook (.xlsx)
    • ASCII text file
    • MS Access 2002-2003 (.mdb) or MS Access 2007(.accdb)
    • Microsoft SQL Server Database

See also: Interfaces to other applications under Constraints.

CPU and Memory Constraints

Epi Info™ 7 is intended for use on portable computers or computers located in the region affected by a disease outbreak.  Because these outbreaks often occur in third-world countries or remote areas with limited resources, the application needs to be able to run on relatively antiquated hardware.  The benchmark system should have the following configuration:

    • CPU: 1 GHz Intel Pentium III class
    • RAM: no more than 256 MB
    • HDD: 5400 RPM SATA I (150 MB/sec)

The minimal system must be able to support the complete workflow for a realistic epidemiological study.  Specific parameters for what constitutes a "realistic epidemiological study" will be described in more detail under performance requirements.

Operations

The mode of operation shall be exclusively user-initiated/interactive.


Constraints

Regulatory policies

Clinical data, alone or in combination with personal identifiers such as name, address or social security number (Personally Identifiable Information (PII)), may constitute Protected Health Information (PHI) and thus fall under the jurisdiction of the Health Insurance Portability and Accountability Act of 1996 (HIPAA).  Title II of HIPAA defines PHI and the circumstances in which PHI can be disclosed to third parties without the patient's written consent, and provides for both civil and criminal penalties for violations of its privacy provisions.  Unless explicit efforts are made to prevent the collection of PII, Epi Info datasets should be considered PHI and safeguarded with the same procedures used to protect other confidential medical records.  There is no requirement for the Epi Info™ application to safeguard this information; that responsibility is incumbent on the individual user.

Interfaces to other applications

Epi Info™ 7 has a limited number of interfaces to external applications. The system uses the operating systems's default browser to display the User Guide, "How To" videos, Epi Info™ Q&A and to contact the Help Desk and access other "Epi" resources such as ActivEpi and OpenEpi.   The most important interface of Epi Info™ 7 is with its underlying database, MS Access or MS SQL Server.  Access is the database typically used for stand-alone installations where Epi Info™ 7 and the database are running on the same platform.  This configuration allows self-contained form design, data collection and analysis without Internet connectivity.  Epi Info™ 7 can operate with SQL Server in the same manner.  However, SQL Server is more commonly deployed as a remote database server with Epi Info™ 7 connecting via the Internet as the client.  Several mapping functions must also interface with external applications over the Internet.  The Check Code command Geocode accesses a GIS database to translate geographical locations (e.g., country, state/province, city, address) to latitude and longitude. These coordinates can then be plotted on detailed and up-to-date maps retrieved from the Bing Maps Portal.

Reliability requirements

Specific reliability requirements, such a "mean time between failures" and other quantitative measures, have not been specified.  

Criticality of the application

Epi Infoplays a crucial role in enabling epidemiologists to respond to disease outbreaks and other public health emergencies, and to take direct action to mitigate the associated morbidity and mortality, the ability of the application to faithfully record and analyze data is of primary importance; the consequences of data loss are manifold.  Replacing lost data by repeating patient interviews is costly in resources and manpower; in most cases, it is either impossible or wholly impractical.  More importantly, data loss can delay or even prevent scientific findings that could enable life-saving interventions.  Similarly, errors in data analysis can result in missed opportunities or false leads that divert resources from more productive pursuits.  For this reason, comprehensive testing of all aspects of the application is required.


Assumptions and Dependencies

The requirements discussed in this software requirements specification (SRS) assume the continued availability of the Microsoft Windows 7 operating system supporting the Microsoft .NET Framework 4.0 or above, or an operating system that is backward compatible with Windows 7 and the .NET framework.
 

Apportioning of Requirements

All requirements discussed in this SRS reflect functionality implemented in Epi Info™ version 7.2.