Interface development and design
SLIM, or Slider Interface for MEDLINE/PubMed searches, is a Web-based application accessible through the Internet with a Web browser. The interface has three main components: the search form, the information box and the search results.
SLIM interface showing its three main components: search form, information box and search results. Green box: Information box. Red ellipse: Text link to display abstract
SLIM allows a preview of the number of results through the information box (Figure .) The information box is displayed below the search form for both previews and full searches. It also provides additional search information such as mapped MeSH Terms, mapped Subheadings and unmapped terms.
Citation view with abstract hidden. Green ellipse: Text link to show abstract
Citation view with abstract displayed. Red ellipse: Text link to hide abstract
Limits and filters
SLIM follows the search and syntax rules of PubMed. Limits and filters are implemented by appending phrases and search tags to the search terms before querying the MEDLINE/PubMed database through the Entrez Programming Utilities (E-Utilities) [10
]. The slider bars represent step implementations of common limits and filters in PubMed. Each slider bar holds values from 0 to 100, which are divided into subsets according to the number of options in that slider bar. When the slider is moved, the value where it stops is matched against the range of numbers assigned to a specific limit or filter. This scheme allows flexibility in designing the slider bar algorithms. Any changes (adding in or taking out filters) result in minor adjustments in the range of numbers in each subset.
The first three slider bars control search limits. These limits are Publication Date, Journal Subset and Age Groups. The three limits are modified versions of the Limits tab of PubMed. For the publication date, the slider has 11 steps and allows the user to choose different date ranges from 10 years back to the current year. The second slider contains 11 journal subset filters. Users have the option to search within the PubMed database, the MEDLINE subset [11
] or the Core Clinical Journals [12
]. Within each subset, users can limit results to availability of abstracts, full text or free full text. Full text articles provide links to publishers and may require subscription. Table lists the journal subset descriptions and the corresponding PubMed limits. The age group slider is a reordered version of the age group drop-down menu in PubMed. It has 13 options starting with "Newborn" and ending with "80 and over". Table lists the age group descriptions and the corresponding PubMed limits.
Journal subset slider bar limit descriptions and corresponding PubMed filters
Age group slider bar limit description and corresponding PubMed filters
The fourth slider bar is a study design filter based on publication types, study designs or citation subsets. Although each filter within the slider functions independently, the slider values are listed according to the hierarchy of levels of evidence [13
]. Three study designs, case-control studies, cohort studies and randomized controlled trials, are further divided into broad or narrow searches, giving a total of 9 slider levels. Research methodology filters for therapy [15
] were adopted for randomized control trials. Other filters from the Clinical Studies Categories [15
], e.g. diagnosis and prognosis, were not incorporated and will be evaluated for future versions of the application. The systematic reviews subset of PubMed was used unmodified for systematic review searches [16
]. Table lists the study design levels and the corresponding PubMed filters used for the slider control.
Study design slider bar limit descriptions and corresponding PubMed filters
Search mapping is a slider bar designed for intermediate to advanced users of PubMed. The filters use search tags and MeSH term operations to modify the search query. Search tags and MeSH term operations are short words or phrases enclosed in square brackets and appended to the keywords to refine search strategies. Initial modification substitutes the "[Text Word]" search tag with the "[TIAB]" search tag that redirects the search to keywords in the Title or Abstract. Subsequent levels in the slider involve adding mapped MeSH terms as filters, with options to search MeSH terms as major topics, or exclude MeSH terms below the current term in the MeSH tree. Table describes the search mapping algorithm.
Search mapping slider bar limit description and corresponding PubMed filter algorithm
MeSH subheadings are topical qualifiers that describe a particular aspect of a subject such as etiology or therapeutic use. Users have the option to require these qualifiers through a checkbox. The MeSH subheadings are grouped and appended as a filter to the search query. This feature is closely linked with the search mapping algorithm. The subheading filter is only added if the search mapping algorithm requires MeSH terms, i.e. second level and above.
System architecture and development
The application connects to the MEDLINE/PubMed database using tools from Entrez Programming Utilities (E-Utilities) [10
]. The ESearch tool searches and retrieves primary IDs and term translations. The EFetch tool retrieves records from a list of one or more primary IDs. The E-Utilities server generates remote XML documents for both processes. Custom PHP scripts were written to parse the XML files. SLIM sends two successive passes through the ESearch tool and one final pass through the EFetch tool when the search form is submitted.
Automatic term mapping is the process where terms entered in the PubMed query box without a search tag are matched against the Medical Subject Headings translation table, the journals translation table, the full author translation table and an author index [19
]. To optimize modifications done by SLIM on the search terms, it was essential to emulate the mapping and translation algorithms of Entrez PubMed. The first ESearch pass was designed to mimic this process. By sending unmodified search terms to the E-Utilities server and retrieving the translation stack from the XML document, a custom PHP function was able to build the detailed search query from the parsed XML elements. The goal was to capture the process found in the Details tab of PubMed. Using the translation stack, mapped MeSH terms and subheadings were identified and recorded. Terms tagged as "All Fields" were identified as unmapped terms.
Depending on slider bar and search form input, the detailed search query built on the first ESearch pass is modified by appending user-defined limits and study design filters, or by converting search tags. The modified query is processed once again through the ESearch tool to get the final list of PubMed IDs (PMIDs) from the second XML document. The ID list is sent to the EFetch tool to retrieve and display the details of the first 200 citations.
Performance and usability testing
To simulate performance testing, benchmarking timer functions were embedded in the PHP scripts to measure page loading and search times. All values generated during the alpha-testing with developers and beta-testing with users were recorded in a MySQL database for data analysis.
An online survey form was created to gather preliminary user opinion on stability and usability of the application. All seven questions used Likert scales to record answers. A call for participation in the usability testing was made on a mailing list of an international group of practicing physicians. Users were asked to use the system as a replacement for their regular PubMed search engine for two weeks. Comments and discussion on the application were encouraged.