 
           # TODO - Test cases for genetic expression.
 
-          it 'should show the tumor length', ->
-            biopsy.then (table) ->
-              table.find(By.binding('extent.length')).then (length) ->
-                expect(length,
-                       'The Breast tumor length table is missing')
-                  .to.exist
-                expect(length.isDisplayed(),
-                       'The Breast tumor length field is not displayed')
+          it 'should show the biopsy panel', ->
+            expect(biopsy, 'The Breast Biopsy panel is missing')
+              .to.eventually.exist
+
+          describe 'Pathology', ->
+            pathology = null
+
+            before ->
+              # The first (and usually only) tumor panel.
+              pathology = biopsy.then (biopsy) ->
+                biopsy.findAll(By.repeater('tumor in pathology.tumors')).then (tumors) ->
+                  tumors[0]
+
+            it 'should show the pathology panel', ->
+              pathology.then (table) ->
+                expect(table, 'The pathology panel is missing').to.exist
+                expect(table.isDisplayed(), 'The pathology panel is not' +
+                                            ' displayed')
                   .to.eventually.be.true
 
-          it 'should show the tumor width', ->
-            biopsy.then (table) ->
-              table.find(By.binding('extent.width')).then (width) ->
-                expect(width,
-                       'The Breast tumor width table is missing')
-                  .to.exist
-                expect(width.isDisplayed(),
-                       'The Breast tumor width field is not displayed')
-                  .to.eventually.be.true
-
-          it 'should show the tumor depth', ->
-            biopsy.then (table) ->
-              table.find(By.binding('extent.depth')).then (depth) ->
-                expect(depth,
-                       'The Breast tumor depth table is missing')
-                  .to.exist
-                expect(depth.isDisplayed(),
-                       'The Breast tumor depth field is not displayed')
-                  .to.eventually.be.true
-
-          it 'should show the TNM stage', ->
-            biopsy.then (table) ->
-              table.find(By.binding('tnm')).then (stage) ->
-                expect(stage,
-                       'The Breast TNM stage table is missing')
-                  .to.exist
-                expect(stage.isDisplayed(),
-                       'The Breast TNM stage field is not displayed')
-                  .to.eventually.be.true
-
-          it 'should show the Modified B-R tubular formation', ->
-            biopsy.then (table) ->
-              table.find(By.binding('grade.tubularFormation')).then (diff) ->
-                expect(diff,
-                       'The Modified B-R tubular formation table is missing')
-                  .to.exist
-                expect(diff.isDisplayed(),
-                       'The Modified B-R tubular formation field is not displayed')
-                  .to.eventually.be.true
-
-          it 'should show the Modified B-R nuclear pleomorphism', ->
-            biopsy.then (table) ->
-              table.find(By.binding('grade.nuclearPleomorphism')).then (count) ->
-                expect(count,
-                       'The Modified B-R nuclear pleomorphism table is missing')
-                  .to.exist
-                expect(count.isDisplayed(),
-                       'The Modified B-R nuclear pleomorphism field is not displayed')
-                  .to.eventually.be.true
-
-          it 'should show the Modified B-R mitotic count', ->
-            biopsy.then (table) ->
-              table.find(By.binding('grade.mitoticCount')).then (necrosis) ->
-                expect(necrosis,
-                       'The Modified B-R mitotic count is missing')
-                  .to.exist
-                expect(necrosis.isDisplayed(),
-                       'The Modified B-R mitotic count is not displayed')
-                  .to.eventually.be.true
-
-          it 'should show the TNM size', ->
-            biopsy.then (table) ->
-              table.find(By.binding('tnm.size')).then (size) ->
-                expect(size,
-                       'The Breast TNM size table is missing')
-                  .to.exist
-                expect(size.isDisplayed(),
-                       'The Breast TNM size field is not displayed')
-                  .to.eventually.be.true
-
-          it 'should show the TNM lymph status', ->
-            biopsy.then (table) ->
-              table.find(By.binding('tnm.lymphStatus')).then (status) ->
-                expect(status,
-                       'The Breast TNM lymph status table is missing')
-                  .to.exist
-                expect(status.isDisplayed(),
-                       'The Breast TNM lymph status field is not displayed')
-                  .to.eventually.be.true
-
-          it 'should show the TNM metastasis', ->
-            biopsy.then (table) ->
-              table.find(By.binding('tnm.metastasis')).then (metastasis) ->
-                expect(metastasis,
-                       'The Breast TNM metastasis table is missing')
-                  .to.exist
-                expect(metastasis.isDisplayed(),
-                       'The Breast TNM metastasis field is not displayed')
-                  .to.eventually.be.true
-
-        describe 'BreastSurgery', ->
+            it 'should show the tumor length', ->
+              pathology.then (table) ->
+                table.find(By.binding('extent.length')).then (length) ->
+                  expect(length,
+                         'The Breast tumor length table is missing')
+                    .to.exist
+                  expect(length.isDisplayed(),
+                         'The Breast tumor length field is not displayed')
+                    .to.eventually.be.true
+            
+            it 'should show the tumor width', ->
+              pathology.then (table) ->
+                table.find(By.binding('extent.width')).then (width) ->
+                  expect(width,
+                         'The Breast tumor width table is missing')
+                    .to.exist
+                  expect(width.isDisplayed(),
+                         'The Breast tumor width field is not displayed')
+                    .to.eventually.be.true
+            
+            it 'should show the tumor depth', ->
+              pathology.then (table) ->
+                table.find(By.binding('extent.depth')).then (depth) ->
+                  expect(depth,
+                         'The Breast tumor depth table is missing')
+                    .to.exist
+                  expect(depth.isDisplayed(),
+                         'The Breast tumor depth field is not displayed')
+                    .to.eventually.be.true
+            
+            it 'should show the TNM stage', ->
+              pathology.then (table) ->
+                # Note: By.binding('tnm') resolves to multiple elements,
+                # perhaps because the elements bound to tnm attributes,
+                # e.g. tnm.size, are included. Therefore, select the
+                # multiple tnm elements and test the first, which will
+                # be the stage element.
+                table.findAll(By.binding('tnm')).then (stages) ->
+                  stage = stages[0]
+                  expect(stage, 'The Breast TNM stage table is missing')
+                    .to.exist
+                  expect(stage.isDisplayed(),
+                         'The Breast TNM stage field is not displayed')
+                    .to.eventually.be.true
+            
+            it 'should show the Modified B-R tubular formation', ->
+              pathology.then (table) ->
+                table.find(By.binding('grade.tubularFormation')).then (diff) ->
+                  expect(diff,
+                         'The Modified B-R tubular formation table is missing')
+                    .to.exist
+                  expect(diff.isDisplayed(),
+                         'The Modified B-R tubular formation field is not displayed')
+                    .to.eventually.be.true
+            
+            it 'should show the Modified B-R nuclear pleomorphism', ->
+              pathology.then (table) ->
+                table.find(By.binding('grade.nuclearPleomorphism')).then (count) ->
+                  expect(count,
+                         'The Modified B-R nuclear pleomorphism table is missing')
+                    .to.exist
+                  expect(count.isDisplayed(),
+                         'The Modified B-R nuclear pleomorphism field is not displayed')
+                    .to.eventually.be.true
+            
+            it 'should show the Modified B-R mitotic count', ->
+              pathology.then (table) ->
+                table.find(By.binding('grade.mitoticCount')).then (necrosis) ->
+                  expect(necrosis,
+                         'The Modified B-R mitotic count is missing')
+                    .to.exist
+                  expect(necrosis.isDisplayed(),
+                         'The Modified B-R mitotic count is not displayed')
+                    .to.eventually.be.true
+            
+            it 'should show the TNM size', ->
+              pathology.then (table) ->
+                table.find(By.binding('tnm.size')).then (size) ->
+                  expect(size,
+                         'The Breast TNM size table is missing')
+                    .to.exist
+                  expect(size.isDisplayed(),
+                         'The Breast TNM size field is not displayed')
+                    .to.eventually.be.true
+            
+            it 'should show the TNM lymph status', ->
+              pathology.then (table) ->
+                table.find(By.binding('tnm.lymphStatus')).then (status) ->
+                  expect(status,
+                         'The Breast TNM lymph status table is missing')
+                    .to.exist
+                  expect(status.isDisplayed(),
+                         'The Breast TNM lymph status field is not displayed')
+                    .to.eventually.be.true
+            
+            it 'should show the TNM metastasis', ->
+              pathology.then (table) ->
+                table.find(By.binding('tnm.metastasis')).then (metastasis) ->
+                  expect(metastasis,
+                         'The Breast TNM metastasis table is missing')
+                    .to.exist
+                  expect(metastasis.isDisplayed(),
+                         'The Breast TNM metastasis field is not displayed')
+                    .to.eventually.be.true
+
+        describe 'Surgery', ->
           surgery = null
       
           before ->

                                          ' displayed')
                .to.eventually.be.true

          it 'should show the tumor site', ->
            biopsy.then (table) ->
              table.find(By.binding('tumor.location')).then (site) ->
                expect(site, 'The Sarcoma site table is missing').to.exist
                expect(site.isDisplayed(), 'The Sarcoma site field is not' +
                                           ' displayed')
                  .to.eventually.be.true

          it 'should show the tumor histology', ->
            biopsy.then (table) ->
              table.find(By.binding('tumor.histology')).then (histology) ->
                expect(histology, 'The Sarcoma histology table is' +
                                  ' missing').to.exist
                expect(histology.isDisplayed(), 'The Sarcoma histology field' +
                                                ' is not displayed')
                  .to.eventually.be.true

          it 'should show the TNM stage', ->
            biopsy.then (table) ->
              table.find(By.binding('tnm')).then (stage) ->
                expect(stage,
                       'The Sarcoma TNM stage table is missing')
                  .to.exist
                expect(stage.isDisplayed(),
                       'The Sarcoma TNM stage field is not displayed')
                  .to.eventually.be.true
                expect(stage, 'The stage is undefined').not.to.equal("undefined")

          it 'should show the FNCLCC differentiation', ->
            biopsy.then (table) ->
              table.find(By.binding('grade.differentiation')).then (diff) ->
                expect(diff,
                       'The FNCLCC differentiation table is missing')
                  .to.exist
                expect(diff.isDisplayed(),
                       'The FNCLCC differentiation field is not displayed')
                  .to.eventually.be.true

          it 'should show the FNCLCC mitotic count', ->
            biopsy.then (table) ->
              table.find(By.binding('grade.mitoticCount')).then (count) ->
                expect(count,
                       'The FNCLCC mitotic count table is missing')
                  .to.exist
                expect(count.isDisplayed(),
                       'The FNCLCC mitotic count field is not displayed')
                  .to.eventually.be.true

          it 'should show the FNCLCC necrosis score', ->
            biopsy.then (table) ->
              table.find(By.binding('grade.necrosis_score')).then (necrosis) ->
                expect(necrosis,
                       'The FNCLCC necrosis score is missing')
                  .to.exist
                expect(necrosis.isDisplayed(),
                       'The FNCLCC necrosis score is not displayed')
                  .to.eventually.be.true

          it 'should show the TNM size', ->
            biopsy.then (table) ->
              table.find(By.binding('tnm.size')).then (size) ->
                expect(size,
                       'The Sarcoma TNM size table is missing')
                  .to.exist
                expect(size.isDisplayed(),
                       'The Sarcoma TNM size field is not displayed')
                  .to.eventually.be.true

          it 'should show the TNM lymph status', ->
            biopsy.then (table) ->
              table.find(By.binding('tnm.lymphStatus')).then (status) ->
                expect(status,
                       'The Sarcoma TNM lymph status table is missing')
                  .to.exist
                expect(status.isDisplayed(),
                       'The Sarcoma TNM lymph status field is not displayed')
                  .to.eventually.be.true

          it 'should show the TNM metastasis', ->
            biopsy.then (table) ->
              table.find(By.binding('tnm.metastasis')).then (metastasis) ->
                expect(metastasis,
                       'The Sarcoma TNM metastasis table is missing')
                  .to.exist
                expect(metastasis.isDisplayed(),
                       'The Sarcoma TNM metastasis field is not displayed')
                  .to.eventually.be.true

          it 'should show the necrosis percent range', ->
            biopsy.then (table) ->
              table.find(By.binding('necrosis_percent')).then (range) ->
                expect(range,
                       'The Sarcoma necrosis percent range table is missing')
                  .to.exist
                expect(range.isDisplayed(),
                       'The Sarcoma necrosis percent range field is not' +
                       ' displayed')
                  .to.eventually.be.true

        describe 'Assessment', ->
          assessment = null
      
          before ->
            assessment = clinicalProfile.then (profile) ->
              profile.find('div[ng-switch-when="Assessment"]')
          
          it 'should show the assessment panel', ->
            assessment.then (table) ->
              expect(table, 'The Sarcoma assessment panel is missing').to.exist
              expect(table.isDisplayed(), 'The Sarcoma assessment panel is not' +
                                          ' displayed')
                .to.eventually.be.true

          it 'should show the TNM stage', ->
            assessment.then (table) ->
              table.find(By.binding('tnm')).then (stage) ->
                expect(stage,
                       'The Sarcoma TNM stage table is missing')
                  .to.exist
                expect(stage.isDisplayed(),
                       'The Sarcoma TNM stage field is not displayed')
                  .to.eventually.be.true 

          it 'should show the FNCLCC differentiation', ->
            assessment.then (table) ->
              table.find(By.binding('grade.differentiation')).then (diff) ->
                expect(diff,
                       'The FNCLCC differentiation table is missing')
                  .to.exist
                expect(diff.isDisplayed(),
                       'The FNCLCC differentiation field is not displayed')
                  .to.eventually.be.true

          it 'should show the FNCLCC mitotic count', ->
            assessment.then (table) ->
              table.find(By.binding('grade.mitoticCount')).then (count) ->
                expect(count,
                       'The FNCLCC mitotic count table is missing')
                  .to.exist
                expect(count.isDisplayed(),
                       'The FNCLCC mitotic count field is not displayed')
                  .to.eventually.be.true

          it 'should show the FNCLCC necrosis score', ->
            assessment.then (table) ->
              table.find(By.binding('grade.necrosis_score')).then (necrosis) ->
                expect(necrosis,
                       'The FNCLCC necrosis score is missing')
                  .to.exist
                expect(necrosis.isDisplayed(),
                       'The FNCLCC necrosis score is not displayed')
                  .to.eventually.be.true

          it 'should show the TNM size', ->
            assessment.then (table) ->
              table.find(By.binding('tnm.size')).then (size) ->
                expect(size,
                       'The Sarcoma TNM size table is missing')
                  .to.exist
                expect(size.isDisplayed(),
                       'The Sarcoma TNM size field is not displayed')
                  .to.eventually.be.true

          it 'should show the TNM lymph status', ->
            assessment.then (table) ->
              table.find(By.binding('tnm.lymphStatus')).then (status) ->
                expect(status,
                       'The Sarcoma TNM lymph status table is missing')
                  .to.exist
                expect(status.isDisplayed(),
                       'The Sarcoma TNM lymph status field is not displayed')
                  .to.eventually.be.true

          it 'should show the TNM metastasis', ->
            assessment.then (table) ->
              table.find(By.binding('tnm.metastasis')).then (metastasis) ->
                expect(metastasis,
                       'The Sarcoma TNM metastasis table is missing')
                  .to.exist
                expect(metastasis.isDisplayed(),
                       'The Sarcoma TNM metastasis field is not displayed')
                  .to.eventually.be.true

      describe 'Encounters', ->
        describe 'Biopsy', ->
          biopsy = null

          before ->
            biopsy = clinicalProfile.then (profile) ->
              profile.find('div[ng-switch-when="Biopsy"]')
