From e35c700974977bc05750076d429ce04e99d422f1 Mon Sep 17 00:00:00 2001 From: Sewbesew Bekele Date: Mon, 30 Sep 2024 14:03:24 -0400 Subject: [PATCH 1/4] Bug in 2018+ lung rule (#145) - Added a unit test to fail --- src/test/java/com/imsweb/mph/Mph2018RuleTests.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/java/com/imsweb/mph/Mph2018RuleTests.java b/src/test/java/com/imsweb/mph/Mph2018RuleTests.java index b8c9a4f..bf2ba5e 100644 --- a/src/test/java/com/imsweb/mph/Mph2018RuleTests.java +++ b/src/test/java/com/imsweb/mph/Mph2018RuleTests.java @@ -2724,6 +2724,13 @@ public void test2018Lung() { i2.setHistologyIcdO3("8083"); output = _utils.computePrimaries(i1, i2); Assert.assertNotEquals(ruleStepToTest, output.getStep()); + // Small cell carcinoma 8041/3 row: “Neuroendocrine carcinoma, NOS” removed from beneath Typical Carcinoid 8240/3 and added as its own subtype/variant with the code 8246/3 + i1.setHistologyIcdO3("8041"); + i2.setHistologyIcdO3("8240"); + i1.setBehaviorIcdO3("3"); + i2.setBehaviorIcdO3("3"); + output = _utils.computePrimaries(i1, i2); + Assert.assertNotEquals(ruleStepToTest, output.getStep()); //Histologies not in table-> i1.setHistologyIcdO3("8000"); i2.setHistologyIcdO3("8002"); From 1fe196024194fb3da169f3c18aeeee5bb57b89dd Mon Sep 17 00:00:00 2001 From: Sewbesew Bekele Date: Mon, 30 Sep 2024 14:25:11 -0400 Subject: [PATCH 2/4] Bug in 2018+ lung rule (#145) - Fixed table 3 of lung --- CHANGELOG.md | 4 ++++ src/main/java/com/imsweb/mph/MphConstants.java | 18 +++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6b41bc..f0d3477 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## Multiple Primary and Histology Coding Rules Version History +**Changes in version 1.36** + +- Fixed a bug in 2018 Lung rules Table 3 list. +- **Changes in version 1.35** - Fixed an exception happening in GroupUtility with invalid dates. The fix in previous version was not complete. diff --git a/src/main/java/com/imsweb/mph/MphConstants.java b/src/main/java/com/imsweb/mph/MphConstants.java index 44cca6e..d11afb2 100644 --- a/src/main/java/com/imsweb/mph/MphConstants.java +++ b/src/main/java/com/imsweb/mph/MphConstants.java @@ -736,16 +736,15 @@ private MphConstants() { content.put("8250/2", "8250/2"); content.put("8260", "8260"); content.put("8230", "8230"); + content.put("8045", "8045"); + content.put("8041", "8041"); + content.put("8249", "8249"); content.put("9043/3", "9043/3"); content.put("9042/3", "9042/3"); content.put("9137/3", "9137/3"); content.put("8842/3", "8842/3"); content.put("9041/3", "9041/3"); content.put("9040/3", "9040/3"); - content.put("8249/3", "8249/3"); - content.put("8045/3", "8045/3"); - content.put("8246/3", "8246/3"); - content.put("8240/3", "8240/3"); content.put("8083", "8083"); content.put("8071", "8071"); content.put("8072", "8072"); @@ -787,6 +786,11 @@ private MphConstants() { content.put("8720", "8720"); // Melanoma 8720 content.put("8430", "8430"); // Mucoepidermoid carcinoma 8430 content.put("8982", "8982"); // Myoepithelial carcinoma 8982 + content.put("8246", "8246"); //Neuroendocrine carcinoma (NEC) 8246 + content.put("8245", "8246"); //Neuroendocrine carcinoma (NEC) 8246 + content.put("8241", "8246"); //Neuroendocrine carcinoma (NEC) 8246 + content.put("8240", "8240"); //Neuroendocrine tumor, NOS (NET) 8240 + content.put("8249", "8240"); //Neuroendocrine tumor, NOS (NET) 8240 content.put("8023/3", "8023/3"); // NUT carcinoma 8023/3 content.put("8714/3", "8714/3"); // PEComa malignant 8714/3 content.put("8022", "8022"); // Pleomorphic carcinoma 8022 @@ -799,11 +803,7 @@ private MphConstants() { content.put("8842/3", "8800/3"); // Sarcoma NOS 8800/3 content.put("9041/3", "8800/3"); // Sarcoma NOS 8800/3 content.put("9040/3", "8800/3"); // Sarcoma NOS 8800/3 - content.put("8041/3", "8041/3"); // Small cell carcinoma/neuroendocrine tumors (NET Tumors) 8041 - content.put("8249/3", "8041/3"); // Small cell carcinoma/neuroendocrine tumors (NET Tumors) 8041 - content.put("8045/3", "8041/3"); // Small cell carcinoma/neuroendocrine tumors (NET Tumors) 8041 - content.put("8246/3", "8041/3"); // Small cell carcinoma/neuroendocrine tumors (NET Tumors) 8041 - content.put("8240/3", "8041/3"); // Small cell carcinoma/neuroendocrine tumors (NET Tumors) 8041 + content.put("8032", "8032"); // Spindle cell carcinoma 8032 content.put("8070", "8070"); // Squamous carcinoma 8070 content.put("8083", "8070"); // Squamous carcinoma 8070 From 8722da04185a503832d3d0fe86461fac6a1a9a35 Mon Sep 17 00:00:00 2001 From: Sewbesew Bekele Date: Mon, 30 Sep 2024 14:42:33 -0400 Subject: [PATCH 3/4] Bug in 2018+ lung rule (#145) - Fixed table 3 of lung --- src/main/java/com/imsweb/mph/MphConstants.java | 5 ++--- src/test/java/com/imsweb/mph/Mph2018RuleTests.java | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/imsweb/mph/MphConstants.java b/src/main/java/com/imsweb/mph/MphConstants.java index d11afb2..c55dea3 100644 --- a/src/main/java/com/imsweb/mph/MphConstants.java +++ b/src/main/java/com/imsweb/mph/MphConstants.java @@ -787,8 +787,8 @@ private MphConstants() { content.put("8430", "8430"); // Mucoepidermoid carcinoma 8430 content.put("8982", "8982"); // Myoepithelial carcinoma 8982 content.put("8246", "8246"); //Neuroendocrine carcinoma (NEC) 8246 - content.put("8245", "8246"); //Neuroendocrine carcinoma (NEC) 8246 - content.put("8241", "8246"); //Neuroendocrine carcinoma (NEC) 8246 + content.put("8045", "8246"); //Neuroendocrine carcinoma (NEC) 8246 + content.put("8041", "8246"); //Neuroendocrine carcinoma (NEC) 8246 content.put("8240", "8240"); //Neuroendocrine tumor, NOS (NET) 8240 content.put("8249", "8240"); //Neuroendocrine tumor, NOS (NET) 8240 content.put("8023/3", "8023/3"); // NUT carcinoma 8023/3 @@ -803,7 +803,6 @@ private MphConstants() { content.put("8842/3", "8800/3"); // Sarcoma NOS 8800/3 content.put("9041/3", "8800/3"); // Sarcoma NOS 8800/3 content.put("9040/3", "8800/3"); // Sarcoma NOS 8800/3 - content.put("8032", "8032"); // Spindle cell carcinoma 8032 content.put("8070", "8070"); // Squamous carcinoma 8070 content.put("8083", "8070"); // Squamous carcinoma 8070 diff --git a/src/test/java/com/imsweb/mph/Mph2018RuleTests.java b/src/test/java/com/imsweb/mph/Mph2018RuleTests.java index bf2ba5e..c4c88d5 100644 --- a/src/test/java/com/imsweb/mph/Mph2018RuleTests.java +++ b/src/test/java/com/imsweb/mph/Mph2018RuleTests.java @@ -2642,8 +2642,8 @@ public void test2018Lung() { Assert.assertEquals(ruleCountToTest, output.getAppliedRules().size()); Assert.assertTrue(output.getReason().contains("two or more different subtypes/variants in Column 3, Table 3")); Assert.assertEquals(ruleStepToTest, output.getStep()); - i1.setHistologyIcdO3("8246"); - i2.setHistologyIcdO3("8249"); + i1.setHistologyIcdO3("8045"); + i2.setHistologyIcdO3("8041"); i1.setBehaviorIcdO3("3"); i2.setBehaviorIcdO3("3"); output = _utils.computePrimaries(i1, i2); @@ -2795,7 +2795,7 @@ public void test2018Lung() { Assert.assertNotEquals(ruleStepToTest, output.getStep()); // Does not apply. i1.setHistologyIcdO3("8041"); - i2.setHistologyIcdO3("8240"); + i2.setHistologyIcdO3("8246"); output = _utils.computePrimaries(i1, i2); Assert.assertNotEquals(ruleStepToTest, output.getStep()); From 658e1e7e94c0af9f359764b78cef272febfba596 Mon Sep 17 00:00:00 2001 From: Sewbesew Bekele Date: Mon, 30 Sep 2024 14:47:09 -0400 Subject: [PATCH 4/4] hemato db update (#145) --- CHANGELOG.md | 1 + .../Hematopoietic2010SamePrimaryPairs.csv | 28 +++++++++---------- .../Hematopoietic2010TransformFromPairs.csv | 4 +-- .../Hematopoietic2010TransformToPairs.csv | 2 +- .../resources/hemato_data_info.properties | 4 +-- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0d3477..d2398bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ **Changes in version 1.36** - Fixed a bug in 2018 Lung rules Table 3 list. +- Updated HematoDB data with latest data from SEER API. - **Changes in version 1.35** diff --git a/src/main/resources/Hematopoietic2010SamePrimaryPairs.csv b/src/main/resources/Hematopoietic2010SamePrimaryPairs.csv index 35e913e..eb3c523 100644 --- a/src/main/resources/Hematopoietic2010SamePrimaryPairs.csv +++ b/src/main/resources/Hematopoietic2010SamePrimaryPairs.csv @@ -691,20 +691,20 @@ "9662/3","2001","2009","2001",,"9664/3" "9662/3","2001","2009","2001",,"9665/3" "9662/3","2001","2009","2001",,"9667/3" -"9659/3","2001",,"2001",,"9590/3" -"9659/3","2001",,"2001","2009","9596/3" -"9659/3","2001",,"2001",,"9650/3" -"9659/3","2001",,"2001",,"9651/3" -"9659/3","2001",,"2001",,"9652/3" -"9659/3","2001",,"2001",,"9653/3" -"9659/3","2001",,"2001",,"9654/3" -"9659/3","2001",,"2001",,"9655/3" -"9659/3","2001",,"2001",,"9661/3" -"9659/3","2001",,"2001",,"9662/3" -"9659/3","2001",,"2001",,"9663/3" -"9659/3","2001",,"2001",,"9664/3" -"9659/3","2001",,"2001",,"9665/3" -"9659/3","2001",,"2001",,"9667/3" +"9659/3","1992",,"2001",,"9590/3" +"9659/3","1992",,"2001","2009","9596/3" +"9659/3","1992",,"2001",,"9650/3" +"9659/3","1992",,"2001",,"9651/3" +"9659/3","1992",,"2001",,"9652/3" +"9659/3","1992",,"2001",,"9653/3" +"9659/3","1992",,"2001",,"9654/3" +"9659/3","1992",,"2001",,"9655/3" +"9659/3","1992",,"2001",,"9661/3" +"9659/3","1992",,"2001",,"9662/3" +"9659/3","1992",,"2001",,"9663/3" +"9659/3","1992",,"2001",,"9664/3" +"9659/3","1992",,"2001",,"9665/3" +"9659/3","1992",,"2001",,"9667/3" "9675/3","2001","2009","2001",,"9590/3" "9675/3","2001","2009","2001",,"9591/3" "9675/3","2001","2009","2001","2009","9596/3" diff --git a/src/main/resources/Hematopoietic2010TransformFromPairs.csv b/src/main/resources/Hematopoietic2010TransformFromPairs.csv index 3aae365..e3a882a 100644 --- a/src/main/resources/Hematopoietic2010TransformFromPairs.csv +++ b/src/main/resources/Hematopoietic2010TransformFromPairs.csv @@ -21,8 +21,8 @@ "9651/3","1978",,"2010",,"9761/3" "9652/3","2001",,"2010",,"9671/3" "9652/3","2001",,"2010",,"9761/3" -"9659/3","2001",,"2010",,"9671/3" -"9659/3","2001",,"2010",,"9761/3" +"9659/3","1992",,"2010",,"9671/3" +"9659/3","1992",,"2010",,"9761/3" "9655/3","2001",,"2010",,"9671/3" "9655/3","2001",,"2010",,"9761/3" "9867/3","2001",,"2010",,"9875/3" diff --git a/src/main/resources/Hematopoietic2010TransformToPairs.csv b/src/main/resources/Hematopoietic2010TransformToPairs.csv index f1fa58b..b2f04f3 100644 --- a/src/main/resources/Hematopoietic2010TransformToPairs.csv +++ b/src/main/resources/Hematopoietic2010TransformToPairs.csv @@ -102,7 +102,7 @@ "9962/3","2001",,"2010",,"9897/3" "9962/3","2001",,"2010",,"9910/3" "9962/3","2001",,"2010",,"9911/3" -"9659/3","2001",,"2010",,"9680/3" +"9659/3","1992",,"2010",,"9680/3" "9698/3","2001",,"2010",,"9680/3" "9653/3","2001",,"2010",,"9680/3" "9671/3","2001",,"2010",,"9650/3" diff --git a/src/main/resources/hemato_data_info.properties b/src/main/resources/hemato_data_info.properties index 84949c0..7921e25 100644 --- a/src/main/resources/hemato_data_info.properties +++ b/src/main/resources/hemato_data_info.properties @@ -1,2 +1,2 @@ -#Mon Jan 08 09:11:15 EST 2024 -last_updated=202401080911 +#Mon Sep 30 14:46:05 EDT 2024 +last_updated=202409301446