Buhos Logo

Systematic Literature Revision Management Software

User Manual

Version 1.1.0 - Revision 10 June 2024

Author: Claudio Bustos

Reviewers: Maria Gabriela Morales, Fabiola Sáez, Astrid Sarmiento

Translation to English: Elizabeth Medina

© Copyright Claudio Bustos 2018-2024

Introduction

Buhos is an application that enables the development and management of systematic literature reviews. It may be used individually, on the researcher's computer or online for developing collaborative reviews. The software supports and records each step of the systematic review process: document search, screening of useful documents for the research, information extraction and reports generation.

Buhos is a cross-platform software that runs on multiple operating systems. To install the software for individual use, you may use the Windows installer available in the Buhos Windows Toolkit. Packages for Debian, Linux and CentOS can be downloaded from https://packager.io/gh/clbustos/buhos. To install directly from the source code, it can be downloaded from https://github.com/clbustos/buhos.

Buhos is delivered under the BSD-3 free code license, which allows you and your organization to copy, modify and distribute the program, on condition that the author's name not be used to promote derivative products without his express permission.

Claudio Bustos Navarrete is the software developer and maintainer. Any questions, please e-mail clbustos@gmail.com

Buhos software development collaborators:

Main Software Features

Buhos is a development and management software that covers all phases and aspects of the systematic literature review process. To this end the software's features are:

Stage Requirements Characteristics
Startup

Clearly define the objectives, article inclusion and exclusion criteria, a time window, as well as the approach to be adopted.

Assign reviewers to perform article evaluations and analyses.

Each systematic review is provided with a specialized form to record all the required information.

Groups are generated to organize the assignment of document reviewers. Each reviewer may participate in one or more reviews.

In each review, a member is chosen to act as the administrator.

The administrator of a systematic review has the following functions: (a) assign documents to reviewers, (b) resolve which documents are to be included and excluded at each stage, (c) manage the review's canonical documents, along with their files, and (d) decide to proceed to the next review stage.

Search

Carry out an exhaustive follow-up of the searches done in different bibliographic bases, on Google or other media.

Integrate the records obtained from each database into a common list, eliminating duplicates.

Include in the theoretical or methodological reviews, texts frequently cited in the records obtained in the search, that do not necessarily pertain directly to the search domain.

The searches may be directly imported in BibTeX format, with specific support for Wos, Scopus and Ebscohost.

Supplemental information can be obtained from Crossref, using DOI to eliminate duplications.

Information is obtained on citations by articles in the searches.

The original records with their references are standardized in a single format called canonical document.

Document Screening

Rapidly select useful articles based on the information in their titles and abstracts.

Include the citations found in articles but not included in the original searches (backward snowballing).

Whole or partial documents can be assigned to the reviewers.

The decisions of each reviewer evaluating the documents are recorded, and it is the administrator's function to select which articles will go forward to the full-text review stage.

Reasons for including or excluding an article may be recorded as comments or tags, common to all the reviewers.

In order for a reference to a specific document to be selected as eligible for inclusion in the literature review process, the reference must appear in a minimum number of articles flagged as relevant during the screening of title and abstract stage. This number is pre-defined by the administrator (Backward Snowballing).

Full-text review and information extraction

A repository or warehouse is provided of the articles in full format -- usually PDF -- for reading.

Extract information from a text using forms customized for each review.

Identify the relationship between the articles analyzed.

There is a repository of the files per systematic review that can serve to document the process or that can be assigned to the canonical documents that are pending review.

There is a work interface in which each document is shown and a single form per systematic review that enables the extraction of required information and the addition of comments to the citations of other canonical documents. This, along with the use of tags, makes it possible to obtain more information on the net of citations.

Reporting

Report on the systematic review process according to established standards, considering:

  1. Process for reporting how many documents are incorporated in the search phase, and which documents are included and excluded in each phase, specifying the reasons.
  2. Process of reporting the data obtained from the extraction phase, so as to generate the final document in the most efficient manner possible.

Complete information on the included and excluded documents is submitted, following the PRISMA protocol.

A report on the process is submitted, with the decisions taken by each evaluator and by the administrator at each stage of the process.

Data extraction reports are provided for subsequent presentation in a final document.

Installation

Buhos software can be used locally or online. In the case of local use, the application deploys a web server that can only be accessed by a computer that the software is installed in. In distributed form, the application integrates with a web server such as Apache or Nginx, using Passenger.

Vagrant configurations are available for using Buhos in virtual server mode.

Windows

There is a Windows installer for local use of the application. The latest version is available in:

https://github.com/clbustos/buhos-windows-tk/tree/master/windows_installer

Debian / Ubuntu /CentOS

For Debian, Ubuntu and CentOS, packages and installation instructions are available on https://packager.io/gh/clbustos/buhos. For example, to install on Ubuntu 16.04 and configure the application as a service on port 4567,

wget -qO- https://dl.packager.io/srv/clbustos/buhos/key | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/buhos.list \
https://dl.packager.io/srv/clbustos/buhos/master/installer/ubuntu/16.04.repo
sudo apt-get update
sudo apt-get install buhos
sudo buhos config:set PORT=4567
sudo buhos scale web=1
sudo buhos restart

Vagrant should be run

In the directories vendor/vagrant_alpine and vendor/vagrant_ubuntu_16 configurations of Vagrant can be found for Alpine and Ubuntu 16.04, respectively. They can be run using:

vagrant up

By default, the application is configured to run on port 4567.

From Source Code

As a prerequisite for installing the software, Ruby 2.4 or higher should be installed, with development libraries for MySQL and SQlite. In addition, the bundler gem must be installed to download the gems needed for the software to work.

In Ubuntu 16, the following instructions install all the required dependencies:


apt-get update
apt-get upgrade -y

apt-get install -y \
  cloc \
  gdal-bin \
  gdebi-core \
  git \
  libcurl4-openssl-dev \
  libgdal-dev \
  libproj-dev \
  libxml2-dev \
  libxml2-dev \
  build-essential \
  libmysqlclient-dev \
  libsqlite3-dev

gpg --keyserver hkp://keys.gnupg.net \
      --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s $1

In Alpine, the instructions required to install the dependencies are:


apk update
apk upgrade
apk --update add --virtual \
    build-dependencies \
    ruby-dev \
    build-base \
    ruby \
    libffi-dev \
    libxml2-dev \
    libxslt-dev \
    mariadb-dev \
    sqlite-dev \
    ruby-json \
    ruby-bigdecimal \
    ruby-etc

Once the dependencies have been obtained, the source code must be copied from github, using:


git clone git@github.com:clbustos/buhos.git
cd buhos

The gems needed are obtained using the gem bundler.

bundler install

If you wish to use MySQL, the data base must be created beforehand. As a root user, a script similar to the following can be used:

CREATE DATABASES buhos;
CREATE USER buhos_user@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON buhos.* TO buhos_user@localhost;
FLUSH PRIVILEGES;

To run the application locally, you can deploy a web server (thin in *nix o puma in Windows), using:

ruby app.rb

The program can be accessed using any browser in the URI: http://localhost:4567

If you wish to deploy the software online, you can provide the application via Nginx or Apache, with Passenger. Instructions for integrating a Passenger application into a Linux web server are found in:

https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/integration_mode.html

As a reference, the Buhos configuration in Nginx for a typical web server is:


server {
listen 80
root /home/<user>/<base_dir>;
passenger_enabled on;
passenger_ruby <ruby_location>
}

In this case, the application could be accessed using:

http://localhost/

Post-Install Configuration

The first time the application is run, it must be configured. There are 4 steps:

  1. Language selection.
  2. Configuration of basic features (database to be used, institutional proxy connection and Scopus use).
  3. Verify the connection to the database.
  4. Restart the application.

As a first step of the configuration the installation language must be selected.

Secondly, basic information for the operation of the system must be provided. This means selecting the use of a SQLite database for local use, or a MySQL database for distributed use. If you’re not sure what choice to make, use SQLite. If you have a Scopus development key, you can enter it; the proxy settings will be used if you must use one for your university or work.

Once the application is configured, it tries to connect to the database. If the process is successful, a confirmation message appears and a button to start populating the database is displayed. This process lasts from 30 to 60 seconds, depending on the computer.

If the process result is successful, the following screen is displayed:

At the end of the process, restart the application. By default, a user with administrator permissions will receive 'admin' as their user name and password.

To close the application in Linux, Ctrl+C can be used in the console. In Windows, close the window displaying the system logs.

Quick User Guide

For a local installation, enter the respective URL (http://localhost:4567) to enter the application. For an installation that has just been carried out, remember that the user name and password are both 'admin'.

The dashboard is the main working interface, accessed by clicking on the application name or the 'My Dashboard' link.

The software functionality is demonstrated by the systematic review of a group (cluster) of articles on software for the performance of systematic reviews.

Preparation of the Systematic Review

The systematic review is created by pressing the "New Systematic Review" button. A form is then displayed in which the main features of the research must be entered, including the period of years within which the search should be performed, and the categories that the study falls under according to Cooper's taxonomy.

Once the systematic review has been created, a technical sheet is displayed. A wide variety of possible actions will emerge for deploying the systematic review.

As shown here, three objectives were defined, thus a customized form can be created for the systematic review. To do this, click on the 'Analysis Fields' button.

Each form is made up of one or more fields. First, indicate where the field should be located inside the form. Second, the text to be contained in the form will be included in the description. Third, indicate the code that the field will have in the database. Said code may only consist of lowercase letters, numbers and underscores. Finally, indicate the field type (short text, long text, multiple choice). When you have finished, click ‘Create New Field'.

In the sample case, three fields are required: tools, stage and function. When the form definition is complete, generate the form by pressing the button 'Update Customized Field Record Table'.

Search Stage

By default, the system will initiate the search stage of the systematic review. At this stage, the searches done by the different evaluators must be recorded, whether carried out in bibliographic databases or informally, on different search engines.

To simplify the process of recording searches, the user dashboard can be accessed by clicking on the application name, which will call up the following interface.

The principal medium for incorporating search information is the entry of BibTeX files, available in virtually all bibliographic reference systems. Some examples: EndNote, Refwords and Mendeley.

For demonstration purposes, in the software's installation directory there is a manual. bib file with six texts, selected from the developer's customized Mendeley repository. To enter this search, click on the appropriate dashboard button.

Before filling out the form, the source type must first be specified. The following search modalities are offered: search in a indexed databases, informal search, backward snowballing (search in references contained in selected texts), and forward snowballing (search for articles that cite already-selected texts). The example given is that of an informal search. Secondly, entry of the database is requested from which the search was obtained. In the case shown, upon being obtained directly from Mendeley, the' general' option applies. Thirdly, the search criterion is left blank, as the indexed database is no longer used, and the description is completed. Finally, enter the manual. bib file in the last space on the form.

When the searches have been incorporated, they must be processed and later validated. To process them, click on the respective check box and click ‘Process searches’.

As the system processes the search, it captures as much information as possible from the records stored in the BibTeX file. It can be verified that the system has detected six records.

Upon entering 'Records', the system is seen to have entered information on the authors, year of publication, title, as well as the documents' DOI. In the example BibTeX contains the abstract of each article, and can be checked by pressing the corresponding button. Each search record is assigned a ‘canonical document’ that corresponds to the unique reference in the system to that document. Consequently, if various records of the same text with the same DOI come up in different searches, the system will assign all such records to one same canonical document.

Since the references are the ones expected, the search that was performed can then be validated. To validate, return to the search screen, click on the appropriate check box, and click the 'Valid' button. The result should be as follows

Once each and every search has been defined as valid or invalid, then we can proceed to the next stage: screening of titles and abstracts. To do this, enter the dashboard, pressing on the application title. To manage the validations, click on the line ‘Total number of review searches: 1’

In the search management screen, all searches performed by the various users are displayed, and the option offered of validating or invalidating them. Since an option already exists for all the searches, the option to advance to the next stage is offered.

Title and Abstract Screening Stage

Once the records have been defined, they should be reviewed to confirm whether they are useful or not. To determine this, the first criterion is to see whether the article title and abstract evidence eligibility for inclusion of the document into the study.

In the next stage, the system displays the administration interface.

By default, Buhos considers two users: an administrator with all the permissions to administer the system, and an analyst with an 'analyst' username and password, who is authorized to check the systematic reviews assigned to him/her. In the example, all documents were assigned to both users to show the resolution of divergences. To view, click on the 'CD Allocations' button.

All the documents can be assigned to a user, using the 'Assign All' buttons or assigning each document individually. In this case, the two 'Assign All' buttons were pressed.

The result should be similar to the following:

Upon entering the user dashboard, it will be seen that, as an administrator, we have six documents to resolve. As an evaluator, it is shown that six documents must be decided on. Next, click on the final link to begin the evaluation process.

The upper portion of the evaluation interface provides general information on the stage in question, the review objectives, and how far advanced it is. In this case there are six documents that have not been decided upon.

Each document pending assessment is submitted forthwith. The title and abstract of each document is shown, its reference in APA format, and how many citations it has. It is on the basis of this information that it must be decided whether the document provides enough information. It is observed that the sample abstract does not provide information on systematic review software, but rather refers to a study on how reviews are conducted. Therefore the decision should be marked ‘No’ and its status as research on reviews can be added on as a tag.

When the above-referenced decision is made, the color of the frame is seen to change and the selected tag is added.

The abstract of the following text on GAPScreener presents some of the key words that were established when the systematic review was defined. Judging from the document title and abstract the document is clearly relevant to the research. In fact, a tag can even be added indicating that the software refered on document is useful for the screening stage.

During the review of all the documents, the user dashboard display indicates when there are no unchecked documents left.

The same review process will now be performed, but this time by the user analyst. To proceed, log out by clicking on the 'Logout' link at the top of the site,

then log into the system as an analyst. By default, both the username and the password are 'analyst'.

The analyst’s user's dashboard indicates that he/she has no access to administration tools, but he/she does indicate that he/she has documents awaiting decisions.

In this example, the analyst points out that all the documents are important for the investigation.

Once all the users have decided on the texts, the administrator must decide whether it is necessary for him/her to resolve whether each document should or should not proceed to the following stage. We log into the system as administrator (user: admin, password: admin) and go to the link 'Unresolved Review 6 canonical documents'.

The' Decision statistics' box shows five documents with the decision pattern of two affirmatives ('Yes'), one document that one user decides that it is relevant, and another that it is not.

Since there is unanimity on five documents, click on the ‘Accept' button in the corresponding row. The resolutions for the texts will have changed from 'No resolution' to 'Yes'.

To see which texts the discrepancy occurred in, click on the 'View' button. That text will be precisely the one that an administrator pointed out was invalid.

In this instance various alternatives exist, depending on the systematic review protocol: the technical sheet can be used to report the discrepancy to the researchers, a third researcher can be incorporated to resolve the issue or to exercise the administrator's function and issue a resolution. In the example, the last option was taken by clicking on the 'Yes' button, leaving the decision for the subsequent stage of full-text review.

When the page is uploaded again, it is stated that the status of all the canonical documents has been resolved, thus allowing you to proceed to the next stage. Prior to this, references must be generated using Crossref. The process can take several minutes. If you want to verify the references that have been made, you can check them in the search interface.

Once the system resolves the Crossref references, you can advance to the next stage. In this next stage, you check whether there are any references to more than a certain number of documents selected in the title and abstract review stage. The number of references is listed in the reference data sheet as 'Minimum number of RTR documents for reference review'; by default, it is set at two. In our example, there is no reference that meets this condition, therefore proceed to the full-text review stage.

Full-Text Review

In full-text review, aside from the interfaces for assigning users to documents and issuing resolutions on them, files can be assigned to each canonical document. Four of these documents are open-access, so they are in the tutorial's resource directory and can be massively incorporated with the 'Batch File Management' button.

To enter the files, click on the 'Browse' button and select the four PDF files contained in the folder.

The four documents have been uploaded, but are not assigned to any canonical documents. If you click on 'Automatically Assign to Canonical Documents', the system will try to assign them using metadata from the PDFs.

The automatic assignment is quite satisfactory, as it correctly assigns three of the four documents. To assign the missing document for the ExaCT file, simply click on the selection box 'No Canonical Document', and select the appropriate canonical document.

Two of the selected articles are not free access. For purposes of our example, they will be excluded from review as they are considered texts without access, although in a real review the authors should be contacted directly to obtain a copy. To do this, as was done in the text and title review stage, go to the decisions per document section and click on the 'No' button to resolve not to include them.

The remaining four texts will be assigned manually to the administrator only. To do this, go to the 'CD Assignments' button, and click on the buttons for the specific texts to make the corresponding assignments.

The user dashboard will indicate that just four documents lack resolution and four still to be analyzed.

The interface of this stage shows whether or not there were specific instructions at the time of document assignment for each user, as well as whether any decisions have been made regarding the document.

To decide if the document is pertinent after reading it completely, as well as to extract information from it, click on the 'Extract information' button.

The decision and information extraction interface displays a box with the PDF file. It is the same decision box as the one for the title and screening review stage, with the questions added that were defined in the custom analysis fields at the time of the systematic review's preparation.

Upon completion of the process, from the dashboard we proceed to the management of the review and accept all the studies, then advance to the final stage.

Reporting

The systematic review report includes 3 online reports and 2 export types, to BibTeX and GraphML. The latter format, which stores the directed network of citations by the canonical documents, can be viewed in programs such as yEd or Gephi.

First, we have a PRISMA flowchart that can be edited in a vector drawing program such as Inkscape.

The data extraction report gives us the list of live codes displayed on each form, with the number of times it appears and the text where it is located.

A complete breakdown of the data extracted on each document is also provided.

The process report shows all decisions and resolutions of the administrator and the evaluators.

After the main features of the Systematic Review have been defined, the articles that are relevant (i.e., that meet the purposes of the research), should be identified. The section on Importing from indexed databases shows how to obtain the required BibTeX files from different databases.

The processing of imported files involves obtaining their Records and References. The Records correspond to the documents listed in each file. In some databases, such as WoS and Scopus, each Record also lists the articles cited in it. In the system, each of these documents is called a Reference.

Duplication is a major issue in the work with Records and References, i. e., records and references that appear in the databases as different, but that actually point to the same paper or document. Within the system, this unique representation of a document is designated as a Canonical Document.

Each Register is necessarily associated with a Canonical Document. When each search is processed, if a Record's DOI, or its Scopus or WoS identifier, matches that of a previously existing Canonical Document, the Record is associated with the Canonical Document. Otherwise, a new Canonical Document is created.

The situation is different from References. There are great disparities between how different bases describe references, and if these are entered manually, they can appear in many different formats. Therefore, the system literally saves the text of each Reference and, if possible, tries to associate it with an existing Canonical Document. Thus it is possible, for example, that a Record may have references from various sources -- WoS, Scopus and manual references -- and each one can contribute different clues to associate this document with the respective Canonical Documents.

The following Entity-Relationship diagram shows the existing relationship between the different entities related to the searches.

Occasionally it is interesting to know to what extent the Records coincide between different Searches. In the Search interface, the button 'Compare Records by Search' displays each Canonical Document and the Search it is found in.

Importing from indexed databases

Buhos mainly uses BibTeX to import and export from bibliographic reference systems and indexed databases. It is the method that RefWorks uses, for example, to interact with different databases.

Occasionally, databases export defective BibTeX files. If the system rejects them, we recommend importing your search into a bibliographic reference system and exporting BibTex from there. Mendeley has been used successfully for this.

Web of Science

1. Formulate a query in the search box. It is advisable to learn how to use the advanced box, as it allows for greater flexibility.

2. Select the "Save to Other File Formats" option in the export box.

3. Select the following options in the dialog box.

4. Download the BibTeX file into a dedicated folder.

Scopus

1. Formulate a query in the search box. It is advisable to learn how to use the advanced box, as it allows for greater flexibility.

2. Click on the' All' link in the upper part of the searches and select the check box 'Select All'.

3. Click on the “Export” button. A dialogue box will appear.

4. Select BibTeX as the format and select all the information boxes to be exported.

5. Click the' Export' button to download the BibTeX file to its dedicated folder.

Ebscohost

1. Formulate a query in the search box. It is advisable to learn how to use the advanced box, as it allows for greater flexibility.

2. Click on the save icon for all records

3. - Select "Saved" on the left toolbox and select all items, using the checkbox besides the icons.

4. Once all the items have been selected, click on the "Export" icon.

5. Select "Export in RIS Format", and download the file in a dedicated folder

Software Specifications

Technical Features

Buhos is a web application that uses the client server model. The server runs in Sinatra, a framework for web development, on Ruby. Any browser can be used as a client if it is standard-compliant, and accepts HTML5 and Javascript.

To access the database, Sequel is used, an abstraction database layer supporting over 10 types of database. The system has been extensively tested in SQLite for local use, and in MySQL for online use by multiple users.

On the client side, Bootstrap is used, which is a toolkit for generating HTML, CSS and Javascript. It was chosen because of the ease with which it allows during development and the compatibility it ensures between different types of browsers.

User Specifications

Software Objective: Manage the complete process of systematic literature review

Functionalities:

Glossary

Forward snowballing
Incorporation of documents citing the texts that were selected in the review. At this time Buhos is not yet equipped to perform this action automatically. However, once the documents are selected, a search can be done in an important bibliographic base and the results stored in the Search interface.
Backward snowballing
Incorporation of the documents that are significantly or frequently cited in the texts selected by the review. This process is carried out automatically during the stage of reference screening, for the references of texts selected in the Title and Summary Screening stage.
Search
Search performed in an indexed bibliographic database, an informal search, or the result of a forward or backward snowballing. The system has full compatibility with BibTeX for importing and exporting the searches.
Canonical Document
Unique representation of a document in the system. Both the records that appear in the searches and the references listed in these records can be assigned to a canonical document.
DOI®

DOI is an acronym for 'Digital Object Identifier'.

The DOI system is designed to work on Internet. A DOI name is permanently assigned to an object to provide a persistent link related to the object, including where the object or the information on it is found on the Internet. While information on the object may change over time, its DOI name should not change.

Source: https://www.doi.org/doi_handbook/1_Introduction.html

Reference
Reference created based on a Record. It may or may not be assigned to a Canonical Document. The system allows different sources of references to be imported for each record, thus it is possible that two references within a Record may be for the same text. Should this be the case, it must be ensured that the Canonical Document to which they refer is the same one as well.
Record
Document listed in a Search Always assigned to a Canonical Document. If one same text appears in two or more searches, each time it comes up it will be a different Record, but all of them will point to the same Canonical Document.

BSD 3-Clause License

Copyright (c) 2016-2023, Claudio Bustos Navarrete

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.