Skip to content

Commit

Permalink
Head and Neck - Table 6 updates
Browse files Browse the repository at this point in the history
  • Loading branch information
bekeles committed Dec 26, 2024
1 parent 8bc4745 commit e8f170d
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 14 deletions.
27 changes: 13 additions & 14 deletions src/main/java/com/imsweb/mph/MphConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -1172,18 +1172,16 @@ private MphConstants() {
thisTableSubTypes.put("8147", "8147");
thisTableSubTypes.put("8941", "8941");
thisTableSubTypes.put("8310", "8310");
thisTableSubTypes.put("8201", "8201");
thisTableSubTypes.put("8144", "8144");
thisTableSubTypes.put("8012", "8012");
thisTableSubTypes.put("8520", "8520");
thisTableSubTypes.put("8470", "8470");
thisTableSubTypes.put("8480", "8480");
thisTableSubTypes.put("8430", "8430");
thisTableSubTypes.put("8450", "8450");
thisTableSubTypes.put("8525", "8525");
thisTableSubTypes.put("8500", "8500");
thisTableSubTypes.put("8020", "8020");
thisTableSubTypes.put("8013", "8013");
thisTableSubTypes.put("8041", "8041");
thisTableSubTypes.put("8265/3", "8265/3");
thisTableSubTypes.put("8481/3", "8481/3");
thisTableSubTypes.put("8290/3", "8290/3");
thisTableSubTypes.put("8033/3", "8033/3");
for (String site : HEAD_AND_NECK_2018_TABLE6_SITES)
content.put(site, thisTableSubTypes);

Expand Down Expand Up @@ -1359,16 +1357,10 @@ private MphConstants() {
thisTableRows.put("8147", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8941", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8310", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8201", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8144", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8012", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8520", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8470", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8480", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8430", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8450", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8525", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8500", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8020", "8140"); // Adenocarcinoma 8140
thisTableRows.put("8200", "8200"); // Adenoid cystic carcinoma 8200
thisTableRows.put("8980", "8980"); // Carcinosarcoma 8980
thisTableRows.put("8440", "8440"); // Cystadenocarcinoma 8440
Expand All @@ -1379,9 +1371,16 @@ private MphConstants() {
thisTableRows.put("8013", "8246"); // Neuroendocrine carcinoma 8246
thisTableRows.put("8041", "8246"); // Neuroendocrine carcinoma 8246
thisTableRows.put("8290", "8290"); // Oncocytic carcinoma 8290
thisTableRows.put("8525", "8525"); // Polymorphous adenocarcinoma 8525
thisTableRows.put("8500", "8500"); // Salivary duct carcinoma 8500
thisTableRows.put("8265/3", "8500"); // Salivary duct carcinoma 8500
thisTableRows.put("8481/3", "8500"); // Salivary duct carcinoma 8500
thisTableRows.put("8290/3", "8500"); // Salivary duct carcinoma 8500
thisTableRows.put("8033/3", "8500"); // Salivary duct carcinoma 8500
thisTableRows.put("8410", "8410"); // Sebaceous adenocarcinoma 8410
thisTableRows.put("8502", "8502"); // Secretory carcinoma 8502
thisTableRows.put("8070", "8070"); // Squamous cell carcinoma 8070
thisTableRows.put("8020/3", "8020/3"); // Undifferentiated carcinoma 8020/3
for (String site : HEAD_AND_NECK_2018_TABLE6_SITES)
content.put(site, thisTableRows);

Expand Down
25 changes: 25 additions & 0 deletions src/test/java/com/imsweb/mph/Mph2018RuleTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -1798,6 +1798,21 @@ public void test2018HeadAndNeck() {
Assert.assertEquals(MpResult.MULTIPLE_PRIMARIES, output.getResult());
Assert.assertEquals(ruleStepToTest, output.getStep());
Assert.assertEquals(ruleCountToTest, output.getAppliedRules().size());
//table 6
i1.setPrimarySite("C089");
i2.setPrimarySite("C089");
i1.setHistologyIcdO3("8470");
i2.setHistologyIcdO3("8450");
output = _utils.computePrimaries(i1, i2);
Assert.assertEquals(MphConstants.SOLID_TUMOR_2018_HEAD_AND_NECK, output.getGroupName());
Assert.assertEquals(MpResult.QUESTIONABLE, output.getResult());
i1.setHistologyIcdO3("8265");
i2.setHistologyIcdO3("8290");
output = _utils.computePrimaries(i1, i2);
Assert.assertEquals(MphConstants.SOLID_TUMOR_2018_HEAD_AND_NECK, output.getGroupName());
Assert.assertEquals(MpResult.MULTIPLE_PRIMARIES, output.getResult());
Assert.assertEquals(ruleStepToTest, output.getStep());
Assert.assertEquals(ruleCountToTest, output.getAppliedRules().size());

// Rule M8 Abstract multiple primaries when separate, non-contiguous tumors are on different rows in the appropriate site table (Tables 1-9) in the Equivalent Terms and Definitions. Timing is irrelevant.
ruleStepToTest = "M8";
Expand Down Expand Up @@ -1972,6 +1987,16 @@ public void test2018HeadAndNeck() {
Assert.assertEquals(MpResult.QUESTIONABLE, output.getResult());
Assert.assertEquals("M7", output.getStep());
Assert.assertEquals(5, output.getAppliedRules().size());
//table 6
i1.setPrimarySite("C089");
i2.setPrimarySite("C089");
i1.setHistologyIcdO3("8070");
i2.setHistologyIcdO3("8020");
output = _utils.computePrimaries(i1, i2);
Assert.assertEquals(MphConstants.SOLID_TUMOR_2018_HEAD_AND_NECK, output.getGroupName());
Assert.assertEquals(MpResult.MULTIPLE_PRIMARIES, output.getResult());
Assert.assertEquals(ruleStepToTest, output.getStep());
Assert.assertEquals(ruleCountToTest, output.getAppliedRules().size());

//Table 9: Histologies are given in each row for pre-2021 and post-2021.
// Treat them as if they are the same row. For example, 8690/3 in 2020 and a 8692/3 in 2021 should be considered same row.
Expand Down

0 comments on commit e8f170d

Please sign in to comment.