edits.seer.internal.rules.IF582.xml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of validation-edits-seer Show documentation
Show all versions of validation-edits-seer Show documentation
Java implemenation of the SEER edits.
<rule id="IF582" name="TNM Path N, SSF 3, 4, 5 Breast (COC)" tag="N2260" java-path="lines.line" category="inter-field" depends="Behavior_Code_ICD-O-3,CS_Site-Specific_Factor_3,CS_Site-Specific_Factor_4,CS_Site-Specific_Factor_5,Histologic_Type_ICD-O-3,Primary_Site,TNM_Path_Descriptor,TNM_Path_N,Type_of_Reporting_Source,Year_of_Diagnosis"> <expression><![CDATA[//Skip conditions 1, 2 if (line.dateOfDiagnosisYear == null || line.dateOfDiagnosisYear < '2016' || line.typeOfReportingSource == '7') return true //Skip conditions 3, 5 if (line.behaviorCodeIcdO3 == '0' || line.behaviorCodeIcdO3 == '1' || line.tnmPathN == null || line.tnmPathN == '88') return true //Skip conditions 6, 7 if (line.tnmPathDescriptor == '4' || line.tnmPathDescriptor == '6' || (line.tnmEditionNumber != '07' && line.tnmEditionNumber != 'U7')) return true //Edit passes if case if not Breast (skip condition 4) String hist = line.histologicTypeIcdO3 if (!(Functions.matches(line.primarySite, /^C50\d$/)) || !((hist >= '8000' && hist <= '8576') || (hist >= '8940' && hist <= '8950') || hist == '8980' || hist == '8981' || hist == '9020')) return true if (line.csSiteSpecificFactor3 != null && line.csSiteSpecificFactor3 != '988') { if (Functions.matches(line.tnmPathN, /^p0([IM][\-+])?$/) && line.csSiteSpecificFactor3 != '000') return false else if ((line.tnmPathN == 'c0' || line.tnmPathN == 'pX') && !(Functions.matches(line.csSiteSpecificFactor3, /^09[789]$/))) return false } if (line.csSiteSpecificFactor4 != null || line.csSiteSpecificFactor5 != null) { if (line.csSiteSpecificFactor4 == '987' && line.csSiteSpecificFactor5 == '987' && line.tnmPathN == 'pX') return true else if (line.csSiteSpecificFactor4 == '987' && line.csSiteSpecificFactor5 == '987' && line.tnmPathN == 'p0I+') return true else if (line.csSiteSpecificFactor4 == '000' && line.csSiteSpecificFactor5 == '000' && line.tnmPathN == 'pX' && line.tnmClinN == 'c0') return true else if (line.csSiteSpecificFactor4 == '000' && line.csSiteSpecificFactor5 == '000' && line.tnmPathN == 'c0') return true else if (line.csSiteSpecificFactor4 != '988' || line.csSiteSpecificFactor5 != '988') { List codes = (List)((Map)((Map)Context.IF582_Table).getOrDefault(line.csSiteSpecificFactor4 ?: '', [:])).getOrDefault(line.csSiteSpecificFactor5 ?: '', null) if (codes == null) return true else if (codes.contains('ER')) return false else if (codes.contains('p1')) return Functions.matches(line.tnmPathN, /^p1[ABC]?|p1MI|p2[AB]?|p3[ABC]?$/) else if (!codes.contains(line.tnmPathN)) return false } } return true]]></expression> <message>TNM Path N, SSF 3, 4, 5 conflict for Breast</message> <description><![CDATA[Purpose: This edit verifies for primary site of breast that pathologic TNM N must be consistent with CS SSF 3 (Number of positive ipsilateral level I-II Axillary Lymph Nodes), CS SSF 4 (Immunohistochemistry of Regional Lymph Nodes), and CS SSF 5 (Molecular Studies of Regional Lymph Nodes). This edit is skipped if any of the following conditions are true: 1. Year of Date of Diagnosis is less than 2016, blank (unknown), or invalid 2. Type of Reporting Source = 7 (Death Certificate Only) 3. Behavior Code ICD-O-3 = 0 (benign) or 1 (borderline) 4. Site/histology group not = 032, Breast. 5. TNM Path N is blank or 88. 6. TNM Path Descriptor = 4 or 6 (classification after neoadjuvant treatment) 7. TNM Edition Number is not = 07, U7 The site/histology groups are identified by site and histology in the edit Primary Site, Stage Group 2016 - Ed 7. For CS Site-Specific Factor 3: 1. If TNM Path N = p0, p0I-, p0I+, p0M-, p0M+, then CS SSF 3 must = 000 (All ipsilateral axillary nodes examined negative). 2. If TNM Path N = c0 or pX, then CS SSF 3 must = 097 (Positive nodes, number unspecified), 098 (No axillary nodes examined), or 099 (Unknown if axillary nodes are positive). For CS Site-Specific Factor 4, CS Site-Specific Factor 5: 3. TNM Path N is compared to the combination of CS SSF 4 and CS SSF 5 using a table lookup. Findings on molecular studies (CS SSF 5) are given precedence to findings on IHC studies (CS SSF 4). An error is generated if the combination of CS SSF 4 and CS SSF 5 do not support the assigned pN category. If either CS SSF 4 or CS SSF 5 is coded 988, TNM N is compared to the value of the CS SSF not coded 988. If both are coded 988, the edit check is skipped. If either CS SSF 4 or CS SSF 5 is blank (not coded), TNM N is compared to the value of the coded CS SSF. If both are blank, the edit check is skipped. Four situations not handled by table lookup are included in the edit logic: The edit passes for TNM Path N = pX, CS SSF 4 = 987, CS SSF 5 = 987. The edit passes for TNM Path N = p0I+, CS SSF 4 = 987, CS SSF 5 = 987 The edit passes for TNM Path N = pX, TNM Clin N = c0, CS SSF 4 = 000, CS SSF 5 = 000 The edit passes for TNM Path N = c0, CS SSF 4 = 000, CS SSF 5 = 000.]]></description> <history> <event version="SE16-015-01" user="kirbyk" date="2016-06-07" ref="67451">Edit created.</event> <event version="SE16-015-02" user="kirbyk" date="2016-06-30" ref="67482">Updated edit logic.</event> <event version="SE16-015-05" user="kirbyk" date="2016-07-20" ref="67496">Added c0 as valid Path N value when SSF4=000 and SSF5=000.</event> <event version="SE16-015-08" user="kirbyk" date="2016-09-19" ref="67532">Added skip condition for TNM Path Descriptor=4 or 6.</event> <event version="SE16-016-01" user="kirbyk" date="2016-12-01" ref="67551">Added valid combinations outside of the table.</event> <event version="SE16-016-01" user="kirbyk" date="2017-01-17" ref="67606">Added skip condition for TNM Edition Number; added valid code for SSF3.</event> <event version="SE16-016-08" user="depryf" date="2017-11-22" ref="67674">Edit syntax updated to allow pre-compilation optimization; no change in behavior.</event> <event version="SE18-018-01" user="schadega" date="2018-04-11" ref="67734">Added 2 pass conditions.</event> <event version="SE18-020-01" user="depryf" date="2020-02-04" ref="68281">Changed property names to align with NAACCR XML IDs.</event> </history> </rule>