diff --git a/CHANGELOG.md b/CHANGELOG.md index 8734c6d..bec4c77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ **Changes in version 5.11 (not released yet)** +- Updated data for the EPH SubCountry algorithms and switched to the 2020 geographies; the three 2010 output variables were retired and replaced by 2020 variables. +- Updated data for the Persistence Poverty algorithm; added new variable based on 2020 geographies and added output value 2 (not available) in addition to the 0 and 1. +- Updated data for the Tract-Estimated Congressional Districts algorithm. +- Retired two Cancer Reporting Zone variables and replaced them on two sets of 2010/2020 variables all based on 2020 geographies. - Updated neoadjuvTherapyTreatmentEffect lookups (added missing schemas 09210, 09350 and 09360). - Updated the Yost/ACS algorithm to extend the second-to-last range of the "year for lookup" by one year and to implement the A,B,C,D codes that are found in other census tract lookups. - Added 2023 calculated field for Rural Urban Continuum algorithm. diff --git a/src/main/java/com/imsweb/algorithms/Algorithms.java b/src/main/java/com/imsweb/algorithms/Algorithms.java index b0a4ebd..b4c825c 100644 --- a/src/main/java/com/imsweb/algorithms/Algorithms.java +++ b/src/main/java/com/imsweb/algorithms/Algorithms.java @@ -206,14 +206,17 @@ public final class Algorithms { public static final String FIELD_ACS_POV_ASIAN_NHOPI = "acsPctPovAsianNHOPI"; public static final String FIELD_ACS_POV_WHITE_NON_HISP = "acsPctPovWhiteNonHisp"; public static final String FIELD_ACS_POV_HISP = "acsPctPovHispanic"; - public static final String FIELD_EPHT_2010_GEOID_5K = "epht2010GeoId5k"; - public static final String FIELD_EPHT_2010_GEOID_20K = "epht2010GeoId20k"; - public static final String FIELD_EPHT_2010_GEOID_50K = "epht2010GeoId50k"; + public static final String FIELD_EPHT_2020_GEOID_5K = "epht2020GeoId5k"; + public static final String FIELD_EPHT_2020_GEOID_20K = "epht2020GeoId20k"; + public static final String FIELD_EPHT_2020_GEOID_50K = "epht2020GeoId50k"; public static final String FIELD_TRACT_EST_CONGRESS_DIST_118 = "tractEstCongressDist118"; public static final String FIELD_TRACT_EST_CONGRESS_DIST_119 = "tractEstCongressDist119"; - public static final String FIELD_CANCER_REPORTING_ZONE = "cancerReportingZone"; - public static final String FIELD_CANCER_REPORTING_ZONE_TRACT_REQ = "cancerReportingZoneTractReq"; - public static final String FIELD_PERSISTENT_POVERTY = "persistentPoverty"; + public static final String FIELD_CANCER_RPT_ZONE_2010 = "cancerRptZone2010"; + public static final String FIELD_CANCER_RPT_ZONE_TRACT_REQ_2010 = "cancerRptZoneTractReq2010"; + public static final String FIELD_CANCER_RPT_ZONE_2020 = "cancerRptZone2020"; + public static final String FIELD_CANCER_RPT_ZONE_TRACT_REQ_2020 = "cancerRptZoneTractReq2020"; + public static final String FIELD_PERSISTENT_POVERTY_0711 = "perPov0711"; + public static final String FIELD_PERSISTENT_POVERTY_1721 = "perPov1721"; public static final String FIELD_SEER_BRAIN_CSN_RECODE_2020 = "seerBrainCnsRecode2020"; public static final String FIELD_SEER_LYMPH_NEO_RECODE_2021 = "seerLymphNeoplasmRecode2021"; public static final String FIELD_DERIVED_SUMMARY_GRADE_2018 = "derivedSummaryGrade2018"; @@ -368,14 +371,17 @@ public static void initialize() { addField(AlgorithmField.of(FIELD_ACS_POV_ASIAN_NHOPI, 9616, 6, "ACS Pct Poverty (2Asian/NHOPI)", "ACS Pov Asian/NHOPI", DATA_LEVEL_TUMOR, false)); addField(AlgorithmField.of(FIELD_ACS_POV_WHITE_NON_HISP, 9618, 6, "ACS Pct Poverty (White, Non-Hispanic)", "ACS Pov Non-Hispanic", DATA_LEVEL_TUMOR, false)); addField(AlgorithmField.of(FIELD_ACS_POV_HISP, 9619, 6, "ACS Pct Poverty (Hispanic)", "ACS Pov Hispanic", DATA_LEVEL_TUMOR, false)); - addField(AlgorithmField.of(FIELD_EPHT_2010_GEOID_5K, 9993, 11, "EPHT 2010 GEO ID 5K", "EPHT 5K", DATA_LEVEL_TUMOR, false)); - addField(AlgorithmField.of(FIELD_EPHT_2010_GEOID_20K, 9994, 11, "EPHT 2010 GEO ID 20K", "EPHT 20K", DATA_LEVEL_TUMOR, false)); - addField(AlgorithmField.of(FIELD_EPHT_2010_GEOID_50K, 9995, 11, "EPHT 2010 GEO ID 50K", "EPHT 50K", DATA_LEVEL_TUMOR, false)); + addField(AlgorithmField.of(FIELD_EPHT_2020_GEOID_5K, 9996, 11, "EPHT 2010 GEO ID 5K", "EPHT 5K", DATA_LEVEL_TUMOR, false)); + addField(AlgorithmField.of(FIELD_EPHT_2020_GEOID_20K, 9997, 11, "EPHT 2010 GEO ID 20K", "EPHT 20K", DATA_LEVEL_TUMOR, false)); + addField(AlgorithmField.of(FIELD_EPHT_2020_GEOID_50K, 9998, 11, "EPHT 2010 GEO ID 50K", "EPHT 50K", DATA_LEVEL_TUMOR, false)); addField(AlgorithmField.of(FIELD_TRACT_EST_CONGRESS_DIST_118, 9405, 4, "Tract-Estimated 118th Congressional District", "Tract-Est 118", DATA_LEVEL_TUMOR, false)); addField(AlgorithmField.of(FIELD_TRACT_EST_CONGRESS_DIST_119, 9406, 4, "Tract-Estimated 119th Congressional District", "Tract-Est 119", DATA_LEVEL_TUMOR, false)); - addField(AlgorithmField.of(FIELD_CANCER_REPORTING_ZONE, 9415, 10, "Cancer Reporting Zone", "Cancer Rpt Zone", DATA_LEVEL_TUMOR, false)); - addField(AlgorithmField.of(FIELD_CANCER_REPORTING_ZONE_TRACT_REQ, 9416, 1, "Census Tract Required for Cancer Reporting Zone", "Cancer Rpt Zone Tract Cert", DATA_LEVEL_TUMOR, false)); - addField(AlgorithmField.of(FIELD_PERSISTENT_POVERTY, 9625, 1, "Persistence Poverty", "Persist Pov", DATA_LEVEL_TUMOR, false)); + addField(AlgorithmField.of(FIELD_CANCER_RPT_ZONE_2010, 9435, 10, "Cancer Reporting Zone (2010 Defined)", "Cancer Rpt Zone 10", DATA_LEVEL_TUMOR, false)); + addField(AlgorithmField.of(FIELD_CANCER_RPT_ZONE_TRACT_REQ_2010, 9436, 1, "Census Tract Req for Cancer Rpt Zone (2010 Def)", "Cancer Rpt Zone Tract Req 10", DATA_LEVEL_TUMOR, false)); + addField(AlgorithmField.of(FIELD_CANCER_RPT_ZONE_2020, 9437, 10, "Cancer Reporting Zone (2020 Defined)", "Cancer Rpt Zone 20", DATA_LEVEL_TUMOR, false)); + addField(AlgorithmField.of(FIELD_CANCER_RPT_ZONE_TRACT_REQ_2020, 9438, 1, "Census Tract Req for Cancer Rpt Zone (2020 Def)", "Cancer Rpt Zone Tract Req 20", DATA_LEVEL_TUMOR, false)); + addField(AlgorithmField.of(FIELD_PERSISTENT_POVERTY_0711, 9626, 1, "Persistent Poverty 2007-2011", "Persist Pov 07-11", DATA_LEVEL_TUMOR, false)); + addField(AlgorithmField.of(FIELD_PERSISTENT_POVERTY_1721, 9627, 1, "Persistent Poverty 2017-2021", "Persist Pov 17-21", DATA_LEVEL_TUMOR, false)); addField(AlgorithmField.of(FIELD_SEER_BRAIN_CSN_RECODE_2020, 9455, 2, "SEER Brain/CNS Recode 2020", "Brain/CNS", DATA_LEVEL_TUMOR, false)); addField(AlgorithmField.of(FIELD_SEER_LYMPH_NEO_RECODE_2021, 9450, 2, "SEER Lymphoid Neoplasm Recode 2021", "Lymph 21", DATA_LEVEL_TUMOR, false)); addField(AlgorithmField.of(FIELD_CDC_SVI_2018, 9600, 5, "CDC/ATSDR Social Vulnerability Index 2018", "CDC/ATSDR SVI 18", DATA_LEVEL_TUMOR, false)); diff --git a/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneAlgorithm.java b/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneAlgorithm.java index f096ad7..e2d74c9 100644 --- a/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneAlgorithm.java +++ b/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneAlgorithm.java @@ -14,8 +14,10 @@ import com.imsweb.algorithms.StateCountyTractInputDto; import com.imsweb.algorithms.internal.Utils; -import static com.imsweb.algorithms.Algorithms.FIELD_CANCER_REPORTING_ZONE; -import static com.imsweb.algorithms.Algorithms.FIELD_CANCER_REPORTING_ZONE_TRACT_REQ; +import static com.imsweb.algorithms.Algorithms.FIELD_CANCER_RPT_ZONE_2010; +import static com.imsweb.algorithms.Algorithms.FIELD_CANCER_RPT_ZONE_2020; +import static com.imsweb.algorithms.Algorithms.FIELD_CANCER_RPT_ZONE_TRACT_REQ_2010; +import static com.imsweb.algorithms.Algorithms.FIELD_CANCER_RPT_ZONE_TRACT_REQ_2020; import static com.imsweb.algorithms.Algorithms.FIELD_CENSUS_2010; import static com.imsweb.algorithms.Algorithms.FIELD_COUNTY_AT_DX_ANALYSIS; import static com.imsweb.algorithms.Algorithms.FIELD_STATE_DX; @@ -31,11 +33,15 @@ public CancerReportingZoneAlgorithm() { _inputFields.add(Algorithms.getField(FIELD_COUNTY_AT_DX_ANALYSIS)); _inputFields.add(Algorithms.getField(FIELD_CENSUS_2010)); - _outputFields.add(Algorithms.getField(FIELD_CANCER_REPORTING_ZONE)); - _outputFields.add(Algorithms.getField(FIELD_CANCER_REPORTING_ZONE_TRACT_REQ)); + _outputFields.add(Algorithms.getField(FIELD_CANCER_RPT_ZONE_2010)); + _outputFields.add(Algorithms.getField(FIELD_CANCER_RPT_ZONE_TRACT_REQ_2010)); + _outputFields.add(Algorithms.getField(FIELD_CANCER_RPT_ZONE_2020)); + _outputFields.add(Algorithms.getField(FIELD_CANCER_RPT_ZONE_TRACT_REQ_2020)); - _unknownValues.put(FIELD_CANCER_REPORTING_ZONE, Arrays.asList(CANCER_REPORTING_ZONE_UNK_A, CANCER_REPORTING_ZONE_UNK_D)); - _unknownValues.put(FIELD_CANCER_REPORTING_ZONE_TRACT_REQ, Arrays.asList(CANCER_REPORTING_ZONE_UNK_A, CANCER_REPORTING_ZONE_UNK_D)); + _unknownValues.put(FIELD_CANCER_RPT_ZONE_2010, Arrays.asList(CANCER_REPORTING_ZONE_UNK_A, CANCER_REPORTING_ZONE_UNK_D)); + _unknownValues.put(FIELD_CANCER_RPT_ZONE_TRACT_REQ_2010, Arrays.asList(CANCER_REPORTING_ZONE_UNK_A, CANCER_REPORTING_ZONE_UNK_D)); + _unknownValues.put(FIELD_CANCER_RPT_ZONE_2020, Arrays.asList(CANCER_REPORTING_ZONE_UNK_A, CANCER_REPORTING_ZONE_UNK_D)); + _unknownValues.put(FIELD_CANCER_RPT_ZONE_TRACT_REQ_2020, Arrays.asList(CANCER_REPORTING_ZONE_UNK_A, CANCER_REPORTING_ZONE_UNK_D)); } @Override @@ -48,8 +54,10 @@ public AlgorithmOutput execute(AlgorithmInput input) { CancerReportingZoneOutputDto outputDto = CancerReportingZoneUtils.computeCancerReportingZone(inputDto); Map outputTumor = new HashMap<>(); - outputTumor.put(FIELD_CANCER_REPORTING_ZONE, outputDto.getCancerReportingZone()); - outputTumor.put(FIELD_CANCER_REPORTING_ZONE_TRACT_REQ, outputDto.getCancerReportingZoneTractReq()); + outputTumor.put(FIELD_CANCER_RPT_ZONE_2010, outputDto.getCancerReportingZone2010()); + outputTumor.put(FIELD_CANCER_RPT_ZONE_TRACT_REQ_2010, outputDto.getCancerReportingZoneTractReq2020()); + outputTumor.put(FIELD_CANCER_RPT_ZONE_2020, outputDto.getCancerReportingZone2010()); + outputTumor.put(FIELD_CANCER_RPT_ZONE_TRACT_REQ_2020, outputDto.getCancerReportingZoneTractReq2020()); Utils.addTumorOutput(outputPatient, outputTumor); } diff --git a/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneOutputDto.java b/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneOutputDto.java index 6db8437..4f003a3 100644 --- a/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneOutputDto.java +++ b/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneOutputDto.java @@ -5,23 +5,43 @@ public class CancerReportingZoneOutputDto { - private String _cancerReportingZone; + private String _cancerReportingZone2010; - private String _cancerReportingZoneTractReq; + private String _cancerReportingZoneTractReq2010; - public String getCancerReportingZone() { - return _cancerReportingZone; + private String _cancerReportingZone2020; + + private String _cancerReportingZoneTractReq2020; + + public String getCancerReportingZone2010() { + return _cancerReportingZone2010; + } + + public void setCancerReportingZone2010(String cancerReportingZone2010) { + _cancerReportingZone2010 = cancerReportingZone2010; + } + + public String getCancerReportingZoneTractReq2010() { + return _cancerReportingZoneTractReq2010; + } + + public void setCancerReportingZoneTractReq2010(String cancerReportingZoneTractReq2010) { + _cancerReportingZoneTractReq2010 = cancerReportingZoneTractReq2010; + } + + public String getCancerReportingZone2020() { + return _cancerReportingZone2020; } - public void setCancerReportingZone(String cancerReportingZone) { - _cancerReportingZone = cancerReportingZone; + public void setCancerReportingZone2020(String cancerReportingZone2020) { + _cancerReportingZone2020 = cancerReportingZone2020; } - public String getCancerReportingZoneTractReq() { - return _cancerReportingZoneTractReq; + public String getCancerReportingZoneTractReq2020() { + return _cancerReportingZoneTractReq2020; } - public void setCancerReportingZoneTractReq(String cancerReportingZoneTractReq) { - _cancerReportingZoneTractReq = cancerReportingZoneTractReq; + public void setCancerReportingZoneTractReq2020(String cancerReportingZoneTractReq2020) { + _cancerReportingZoneTractReq2020 = cancerReportingZoneTractReq2020; } } diff --git a/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneUtils.java b/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneUtils.java index 6eae2d3..38f9cca 100644 --- a/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneUtils.java +++ b/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneUtils.java @@ -11,7 +11,7 @@ public final class CancerReportingZoneUtils { public static final String ALG_NAME = "NAACCR Cancer Reporting Zones"; - public static final String ALG_VERSION = "version 1.0 released in August 2021"; + public static final String ALG_VERSION = "August 21, 2026"; //Unknown values for each code public static final String CANCER_REPORTING_ZONE_UNK_A = "A"; @@ -30,11 +30,11 @@ private CancerReportingZoneUtils() { * * All those properties are defined as constants in this class. *

- * The returned Cancer Reporting Zone will be a 5-digit or 7-digit alphanumeric code or it can be one of the unknown values listed below : + * The returned Cancer Reporting Zone will be a 5-digit or 7-digit alphanumeric code, or it can be one of the unknown values listed below : *