anchor.diff:          return dt;
       }
       
  -    function getHeadersMap(dataTable) {
  +    function getHeaderMap(dataTable) {
           var map = {};
           var cols = dataTable.getNumberOfColumns();
           for (var i=0; i<cols; i++) {
               map[dataTable.getColumnLabel(i)] = i;
  +        }
  +        return map;
  +    }
  +    
  +    function getCaseMap(dataTable) {
  +        var map = {};
  +        var rows = dataTable.getNumberOfRows();
  +        for (var i=0; i<rows; i++) {
  +            map[dataTable.getValue(i,0)] = i;
           }
           return map;
       }
  
positive.code:         loadCnaFraction(caseIds);
      });
      
      function setupCaseSelect(caseIds) {
          for (var i=0; i<caseIds.length; i++) {
              $('#case-select')
                  .append($("<option></option>")
                  .attr("value",caseIds[i])
                  .attr("id",caseIds[i]+"_select")
                  .text(caseIds[i]));
          }
      }
      
      function setCaseSelect(caseId) {
          if (caseId)
              $("#"+caseId+"_select").attr("selected","selected");
          else
              $("#null_case_select").attr("selected","selected");
      }
      
      var clincialDataTableWrapper = null;
  
negative.code:     function mergeTablesAndVisualize() {
          var dt = mergeDataTables();
          if (dt) {
              var headerMap = getHeaderMap(dt);
              var caseMap = getCaseMap(dt);
              
              var formatter = new google.visualization.PatternFormat(formatPatientLink('{0}'));
              formatter.format(dt, [0]);
              
  