NAADSM is a modeling application that simulates the spread of disease among livestock. The project has been developed for many years, at times funded by a variety of educational, health and government institutions in both the United States and Canada, including Colorado State University, the US Department of Agriculture, the University of Guelph, the Canadian Food Inspection Agency, and other organizations.
The NAADSM.org website has been a labor of love since 2006 when we originally developed it. Growing continuously over time to meet a variety of audiences, the site has many levels of complexity. The outward-facing site contains all information the general public would want to have access to, including distribution of the application, documentation and support. Interactive features include support forums both anonymous and registered users can participate in.
The next group of users are the Beta Testers. Upon logging into the site, the testers have access to download test versions of the application, log and track bugs via an issue tracker, and upload test application files. By allowing testers to share their application files, the developers can much more easily pinpoint the cause of errors. Productivity is also increased by sharing issues which have been reported, opening the dialogue to all users experiencing the same problems.
The next group of users are the Development Team. These are the most active users of the site. In addition to everything mentioned previously, these people also have the ability to list their contact information on the site, edit the content on the site, author news items on the home page, post new project releases, moderate the forums, and schedule meetings and conference calls via a common team calendar. By allowing multiple members of the team to update information, manage the issue tracker and moderate the forums, the site is more easily kept current and timely. The calendar has streamlined the process for conference calls, allowing all users to go to one location to find the time and phone access information to join the call, eliminating the need for multiple emails each time a date, time or number has changed.
In addition to these, the site editor has access to dynamically-generated reports that allow him to analyze issue tracker events, such as the number of issues that are bug reports or feature requests, the length of time it takes for issues to be completed, the number of issues each developer posted and/or fixed, etc. These reports are created on the fly at any point in time, allowing the site editor to manage the workflow and provide his superiors with reports in a productive manner.
The site design is a minimalistic design, focused on keeping the user experience as simple as possible. The primary menus are located on the left sidebar, the secondary menus on the rigth sidebar, per the direction of the site editor. Very few photographs or graphic elements are included, to keep the load time of the pages as quick as possible.
Using Drupal, the site was developed and easily expanded each time new features have been requested. User accounts and permissions are easily granted, allowing the site editor to add users and give them only the level of access they should have, without jeopardizing the security of the site content. Editing the content is as easy as completing a form, and in advanced cases, using a rich text editor, a built-in editor that functions similar to any standard word processor, e.g., Microsoft Word.
The development of epidemiologic simulation models requires a great deal of data and information. The process of collecting, organizing, and verifying this information can be time-consuming. Many advantages could be realized by establishing a shared repository for the storage, documentation, review, and use of parameters for epidemiologic models.
In collaboration with the NAADSM Development Team, Reeves Digital developed a searchable online repository known as the NAADSM Parameter Library, used for the storage and retrieval of model parameters and associated references for NAADSM-developed models.
User registration is free but required to moderate the online community. Browsing the content does not require registration, but in order to utilize the application fully, registration is strongly encouraged. The portal was designed to facilitate the sharing of said parameters, not only their values but the research and bibliographic sources to validate the data. Furthermore, the ability to share parameters during development with select individuals as well as the ability to comment on others' parameters extended this community application into a peer-review site.
All content is managed via online forms that work with any standard browser. Each of the 27 NAADSM Parameters has its own input form, and is grouped together by a parent grouping, the "Scenario." Each scenario can also be grouped per "Project" to form a family of scenarios. Registered users can be added at any one of the levels (Project, Scenario or Parameter) and inherit permissions to view or edit any children of that level and additional descendents.
The site is highly personalized to the user. Upon logging in, each parameter developer is presented with a custom screen listing "My Active Projects," "My Projects in Review," and "My Completed Projects." Each project lists the associated scenarios. Drilling down gives access to each related parameter.
In addition to being associated to a scenario, parameters may also have dependencies on other parameters within the project. The application walks each user through step by step, prohibiting the parameter developer from completing values when the dependencies have not yet been met.
User roles designating specific types of access per parameter can be granted to any registered user by any parameter developer. In addition to the general public, three roles are recognized on a per-parameter, per-scenario or per-project basis: the Author, additional Investigators (granted the ability to edit any related information), and additional Reviewers (granted the ability to view related information and comment for peer review).
Adding another layer of complexity, each project, scenario and parameter has four separate levels of publication status, as might be used in a work-flow situation: Under development, In review, Published, Final but not publicly available. Accessibility to the data is dependent not only on the user's role, but also on the publication status, ensuring a very complex and highly-secure system.
Content can be viewed by browsing, filtering through tags, and searching. Projects can also be found through user profiles and institutions.
Recognizing that registered users would come from across the globe, the application was designed to work on all current, standard web browsers. No special software is required. Additionally, the site can accommodate foreign characters and sanitize file uploads. It has also been designed to be as direct and simple to use as possible. Training was given to local users, and in-situ help is available throughout the application via help pop-ups, Frequently Asked Questions, Support links, and a Quick Start Guide.
The application uses over 90 additional modules and one custom module, as well as extensive custom PHP scripts, JavaScripts, and 35 custom template files. Special module uses include:
The project took a year to complete, from project definition through development and testing to use. It is unfortunately currently unavailable.