     # @param tumor the tumor object
     # @returns the RCB object extended with index and class properties
     residualCancerBurden: (tumor) ->
-      # Returns the RCB index.
+      # @param extent the tumor extent {length, width, depth} REST object
+      # @param rcb the RCB REST object
+      # @returns the RCB index
       rcbIndex = (extent, rcb) ->
         # The bidimensional tumor size metric.
         size = Math.sqrt(extent.length * extent.width)

          return 3

      # If the RCB object exists, return it extended with the index and class.
      if tumor.rcb?
        score = rcbIndex(tumor.extent, tumor.rcb)
        _.extend tumor.rcb,
          rcbIndex: score
          rcbClass: rcbClass(score)
      else
        return null


        inSitu = rcb.dcisCellDensity / 100
        # The invasive carcinoma proportion.
        invasion = (1 - inSitu) * overall
        # The RCB index invasion component.
        invasionFactor = 1.4 * Math.pow(invasion * size, 0.17)
        # The RCB index positive node component.
        posNodeFactor = 1 - Math.pow(0.75, rcb.positiveNodeCount)
        # The base of the RCB index node component.
        nodeBase =  4 * posNodeFactor * rcb.largestNodalMetastasisLength
        # The RCB index node component.
        nodeFactor = Math.pow(nodeBase, 0.17)

        # The RCB index is the sum of the invasion and node components.
        invasionFactor + nodeFactor

      # @returns the RCB class, which is based on RCB index cut-offs
      rcbClass = (rcbIndex) ->
        if rcbIndex == 0
          return 0
