540co/ads-bpa

View on GitHub

Showing 168 of 168 total issues

Similar blocks of code found in 15 locations. Consider refactoring.
Open

    describe('GET /searches (list)', function(){

      it('respond with HTTP STATUS CODE 200', function(done){
        request(app)
          .get(baseUrl + '/searches')
Severity: Major
Found in server/test/routes.js and 14 other locations - About 3 hrs to fix
server/test/routes.js on lines 161..172
server/test/routes.js on lines 174..187
server/test/routes.js on lines 189..202
server/test/routes.js on lines 204..217
server/test/routes.js on lines 219..232
server/test/routes.js on lines 234..247
server/test/routes.js on lines 505..518
server/test/routes.js on lines 520..533
server/test/routes.js on lines 535..548
server/test/routes.js on lines 550..563
server/test/routes.js on lines 580..593
server/test/routes.js on lines 595..608
server/test/routes.js on lines 610..623
server/test/routes.js on lines 625..638

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 95.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 2 locations. Consider refactoring.
Open

Searches.getCount = function(db_connection, callback) {
  var collection = db_connection.collection(config.searches_collection);
  var cursor = collection.find({ }).sort({count:-1});

  cursor.count(function(err, count) {
Severity: Major
Found in server/models/searches.js and 1 other location - About 2 hrs to fix
server/models/reactions.js on lines 147..155

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 94.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 2 locations. Consider refactoring.
Open

Reaction.getCount = function(db_connection, callback) {
  var collection = db_connection.collection(config.reactions_collection);
  var cursor = collection.find({ }).sort({count:-1});

  cursor.count(function(err, count) {
Severity: Major
Found in server/models/reactions.js and 1 other location - About 2 hrs to fix
server/models/searches.js on lines 46..54

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 94.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

File reactions.js has 280 lines of code (exceeds 250 allowed). Consider refactoring.
Open

var config = require('../config');
var express = require('express');
var async = require('async');

require('../models/service-manager.js');
Severity: Minor
Found in server/routes/reactions.js - About 2 hrs to fix

    Function exports has 66 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    module.exports = function(config) {
      'use strict';
    
      config.set({
        // enable / disable watching file and executing tests whenever any file changes
    Severity: Major
    Found in client/test/karma.conf.js - About 2 hrs to fix

      Function getDefinitionsFromDictionaryApi has 57 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      serviceManager.getDefinitionsFromDictionaryApi = function (term, api_key, callback) {
      
          // TODO: Further investigate ability to use HTTPS in calls to API
          var url = "http://www.dictionaryapi.com/api/v1/references/medical/xml/" + encodeURIComponent(term.toLowerCase()) + "?key=" + api_key;
      
      
      Severity: Major
      Found in server/models/service-manager.js - About 2 hrs to fix

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                    topCountries: function (drugKeyword) {
                        var url = '&count=occurcountry.exact&limit=25';
                        if (drugKeyword)
                            url = '&search=(patient.drug.openfda.brand_name:' + encodeURIComponent(drugKeyword) + '+patient.drug.openfda.substance_name:' + encodeURIComponent(drugKeyword) + ')' + url;
        
        
        Severity: Major
        Found in client/app/scripts/services/openFDA.js and 5 other locations - About 2 hrs to fix
        client/app/scripts/services/openFDA.js on lines 38..46
        client/app/scripts/services/openFDA.js on lines 56..64
        client/app/scripts/services/openFDA.js on lines 65..73
        client/app/scripts/services/openFDA.js on lines 74..82
        client/app/scripts/services/openFDA.js on lines 83..91

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

            before(function(done) {
        
              dataManager(function(db_connection) {
                db = db_connection;
        
        
        Severity: Major
        Found in server/test/reactions.js and 3 other locations - About 2 hrs to fix
        server/test/reactions.js on lines 219..233
        server/test/reactions.js on lines 246..260
        server/test/reactions.js on lines 297..309

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

            before(function(done) {
        
              dataManager(function(db_connection) {
                db = db_connection;
        
        
        Severity: Major
        Found in server/test/reactions.js and 3 other locations - About 2 hrs to fix
        server/test/reactions.js on lines 246..260
        server/test/reactions.js on lines 272..286
        server/test/reactions.js on lines 297..309

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                    genderCount: function (drugKeyword) {
                        var url = '&count=patient.patientsex&limit=25';
                        if (drugKeyword)
                            url = '&search=(patient.drug.openfda.brand_name:' + encodeURIComponent(drugKeyword) + '+patient.drug.openfda.substance_name:' + encodeURIComponent(drugKeyword) + ')' + url;
        
        
        Severity: Major
        Found in client/app/scripts/services/openFDA.js and 5 other locations - About 2 hrs to fix
        client/app/scripts/services/openFDA.js on lines 38..46
        client/app/scripts/services/openFDA.js on lines 56..64
        client/app/scripts/services/openFDA.js on lines 65..73
        client/app/scripts/services/openFDA.js on lines 74..82
        client/app/scripts/services/openFDA.js on lines 92..100

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

            before(function(done) {
        
              dataManager(function(db_connection) {
                db = db_connection;
        
        
        Severity: Major
        Found in server/test/reactions.js and 3 other locations - About 2 hrs to fix
        server/test/reactions.js on lines 219..233
        server/test/reactions.js on lines 272..286
        server/test/reactions.js on lines 297..309

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                    topBrandNames: function (drugKeyword) {
                        var url = '&count=patient.drug.openfda.brand_name.exact&limit=25';
                        if (drugKeyword)
                            url = '&search=(patient.drug.openfda.brand_name:' + encodeURIComponent(drugKeyword) + '+patient.drug.openfda.substance_name:' + encodeURIComponent(drugKeyword) + ')' + url;
        
        
        Severity: Major
        Found in client/app/scripts/services/openFDA.js and 5 other locations - About 2 hrs to fix
        client/app/scripts/services/openFDA.js on lines 38..46
        client/app/scripts/services/openFDA.js on lines 56..64
        client/app/scripts/services/openFDA.js on lines 74..82
        client/app/scripts/services/openFDA.js on lines 83..91
        client/app/scripts/services/openFDA.js on lines 92..100

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                    topSymptoms: function (drugKeyword) {
                        var url = '&count=patient.reaction.reactionmeddrapt.exact&limit=25';
                        if (drugKeyword)
                            url = '&search=(patient.drug.openfda.brand_name:' + encodeURIComponent(drugKeyword) + '+patient.drug.openfda.substance_name:' + encodeURIComponent(drugKeyword) + ')' + url;
        
        
        Severity: Major
        Found in client/app/scripts/services/openFDA.js and 5 other locations - About 2 hrs to fix
        client/app/scripts/services/openFDA.js on lines 56..64
        client/app/scripts/services/openFDA.js on lines 65..73
        client/app/scripts/services/openFDA.js on lines 74..82
        client/app/scripts/services/openFDA.js on lines 83..91
        client/app/scripts/services/openFDA.js on lines 92..100

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

              before(function(done) {
                dataManager(function(db_connection) {
                  db = db_connection;
        
                  reaction = new Reaction("test");
        Severity: Major
        Found in server/test/reactions.js and 3 other locations - About 2 hrs to fix
        server/test/reactions.js on lines 219..233
        server/test/reactions.js on lines 246..260
        server/test/reactions.js on lines 272..286

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                    topManufacturers: function (drugKeyword) {
                        var url = '&count=patient.drug.openfda.manufacturer_name.exact&limit=25';
                        if (drugKeyword)
                            url = '&search=(patient.drug.openfda.brand_name:' + encodeURIComponent(drugKeyword) + '+patient.drug.openfda.substance_name:' + encodeURIComponent(drugKeyword) + ')' + url;
        
        
        Severity: Major
        Found in client/app/scripts/services/openFDA.js and 5 other locations - About 2 hrs to fix
        client/app/scripts/services/openFDA.js on lines 38..46
        client/app/scripts/services/openFDA.js on lines 65..73
        client/app/scripts/services/openFDA.js on lines 74..82
        client/app/scripts/services/openFDA.js on lines 83..91
        client/app/scripts/services/openFDA.js on lines 92..100

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 6 locations. Consider refactoring.
        Open

                    severityCount: function (drugKeyword) {
                        var url = '&count=serious&limit=25';
                        if (drugKeyword)
                            url = '&search=(patient.drug.openfda.brand_name:' + encodeURIComponent(drugKeyword) + '+patient.drug.openfda.substance_name:' + encodeURIComponent(drugKeyword) + ')' + url;
        
        
        Severity: Major
        Found in client/app/scripts/services/openFDA.js and 5 other locations - About 2 hrs to fix
        client/app/scripts/services/openFDA.js on lines 38..46
        client/app/scripts/services/openFDA.js on lines 56..64
        client/app/scripts/services/openFDA.js on lines 65..73
        client/app/scripts/services/openFDA.js on lines 83..91
        client/app/scripts/services/openFDA.js on lines 92..100

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 79.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Function getEventPageUrlsPerDay has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
        Open

          var getEventPageUrlsPerDay = function (apiUrl, callback) {
              request(apiUrl.url, function (error, response, body) {
                if (!error && response.statusCode == 404) {
                    console.log('[' + apiUrl.year + '' + apiUrl.month + '' + apiUrl.day + '] ' + 0 + ' records found | ' + 0 + ' pages');
                }
        Severity: Minor
        Found in harvest/prepopulateDictionary.js - About 2 hrs to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

                    symptomCount: function(drugKeyword) {
                      var url = '';
                      if (drugKeyword)
                        url='&search=(patient.drug.openfda.brand_name:' + encodeURIComponent(drugKeyword) + '+patient.drug.openfda.substance_name:' + encodeURIComponent(drugKeyword) + ')';
        
        
        Severity: Major
        Found in client/app/scripts/services/openFDA.js and 1 other location - About 2 hrs to fix
        client/app/scripts/services/openFDA.js on lines 101..109

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 75.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

                    eventCountByDate: function (drugKeyword) {
                      var url = '&search=receivedate:[20140601+TO+20150101]&count=receivedate';
                      if (drugKeyword)
                          url = '&search=(receivedate:[20140601+TO+20150101]+AND+(patient.drug.openfda.brand_name:' + encodeURIComponent(drugKeyword) + '+patient.drug.openfda.substance_name:' + encodeURIComponent(drugKeyword) + '))&count=receivedate';
        
        
        Severity: Major
        Found in client/app/scripts/services/openFDA.js and 1 other location - About 2 hrs to fix
        client/app/scripts/services/openFDA.js on lines 47..55

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 75.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Function setDashboard has 47 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            $scope.setDashboard = function(keyword) {
        
              $scope.noResults = false;
        
              loadSymptoms(keyword)
        Severity: Minor
        Found in client/app/scripts/controllers/main.js - About 1 hr to fix
          Severity
          Category
          Status
          Source
          Language