edits.seer.internal.rules.IF617.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="IF617" name="TNM N, Size Nodes, Site Spec - Ed 7 (COC)" tag="N2244" java-path="lines.line" category="inter-field" depends="Behavior_Code_ICD-O-3,CS_Site-Specific_Factor_1,Histologic_Type_ICD-O-3,Primary_Site,TNM_Clin_N,TNM_Path_N,Type_of_Reporting_Source,Year_of_Diagnosis"> <expression><![CDATA[//Skip conditions 1, 2, 3 if (line.dateOfDiagnosisYear == null || line.dateOfDiagnosisYear < '2016' || line.typeOfReportingSource == '7' || line.histologicTypeIcdO3 == null) return true //Skip condition 6 if ((line.tnmClinN == null && line.tnmPathN == null) || (line.tnmClinN == '88' && line.tnmPathN == '88')) return true //Skip conditions 4, 7 if (line.behaviorCodeIcdO3 == '0' || line.behaviorCodeIcdO3 == '1' || (line.tnmEditionNumber != '07' && line.tnmEditionNumber != 'U7')) return true //If this site group is not in the table, pass edit (skip condition 5) String siteGroup = (String)((Closure)Context.AJCC7CodeLookup16).call(line) if (!(siteGroup ==~ /^00[367]|04[ABCD]|05[AB]|029$/)) return true String ssf = line.csSiteSpecificFactor1 if (siteGroup == '029') ssf = line.csSiteSpecificFactor16 if (ssf == '988' || ssf == '999') return true if (ssf ==~ /^99[0123]$/) ssf = '030' else if (ssf ==~ /^99[456]$/) ssf = '050' else if (ssf == '997') ssf = '061' boolean pathFail = false Map groupMap = (Map)((Map)Context.IF617_Table).getOrDefault(siteGroup, [:]) if (line.tnmPathN != null ) { //If Path N value is not in the table for this site group, check Clin N if (groupMap.containsKey(line.tnmPathN)) { List validNodes = (List)groupMap.getOrDefault(line.tnmPathN, []) if (validNodes.contains(Functions.asInt(ssf))) return true else pathFail = true } } if (line.tnmClinN == null && pathFail) return false if (line.tnmClinN != null && groupMap.containsKey(line.tnmClinN)) return ((List)groupMap.getOrDefault(line.tnmClinN, [])).contains(Functions.asInt(ssf)) return true]]></expression> <message>TNM N and Size Nodes conflict for site/hist combination</message> <description><![CDATA[This edit is skipped if any of the following conditions is 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. Histologic Type ICD-O-3 is blank 4. Behavior Code ICD-O-3 = 0 (benign) or 1 (borderline) 5. Site/Histology where numeric value for size of nodes is not collected 6. TNM Clin N and TNM Path N are both blank or 88 7. TNM Edition Number not = 07, U7 8. SSF1 for site/histo groups 3-7 = 988, SSF16 for site/histo group 29 = 988 Skip for numbers 5, 8 applied after determination of site/histology group TNM Clin N and TNM Path N may be blank. If one or both of these are entered, the field(s) will be edited site-specifically. A cN or pN category will be compared to the appropriate site- specific factor for the site/histology. The edit will first compare the number of nodes to pN category entered in TNM Path N, and then to cN category entered in TNM Clin N.The edit comparisons will proceed as follows: 1. If TNM PATH N is empty: a. TNM Clin N and Site-Specific Factor: Pass, edit passes b. TNM Clin N and Site-Specific Factor: Fail, edit fails 2. If TNM Path N is coded: a. TNM Path N and Site-Specific Factor: Pass, edit passes. b. TNM Path N and Site-Specific Factor: Fail 1. If TNM Clin N is empty, edit fails 2. If TNM Clin N is coded: a. TNM Clin N and Site-Specific Factor: Pass, edit passes b. TNM Clin N and Site-Specific Factor: Fail, edit fails "980", "980 millimeters or larger", is the largest possible size for nodes. Nonspecific size values are converted to numeric values for purposes of the edit. The edit passes if size of nodes is coded "999", unknown. The site-specific TNM N values with the corresponding size of nodal metastasis/size of nodes, and the Site-Specific Factor used to collect the information, are listed below. The number next to each site title indicates the respective chapter in the AJCC Cancer Staging Manual, Edition 7. The list includes only those sites/histology groups where pathologic N is based on the size of regional nodal metastasis/nodes. The site/histology groups are identified by site and histology in the edits Primary Site, AJCC Stage Group 2016 - Ed 7 (COC), Primary Site, Stage Group 2016 - Ed 7 (NPCR), and Primary Site, Stge Group 2016 - Ed 7 (SEER). NOTE: Size of lymph nodes is also involved in assignment of N category for Vulva, Renal Pelvis/Ureter, and Urethra, but this information is not collected in a separate site-specific factor. Node size is collected as a code rather than a numeric value in a site-specific factor for Testis. 3. Lip and Oral Cavity SSF 1 TNM N: 0 1 2 2A 2B 2C 3 Size of Nodes 000 001-030 001-060 031-060 001-060 001-060 061-980 4. Pharynx 4A. Oropharynx and Hypopharynx 4D. Oropharynx SSF 1 TNM N: 0 1 2 2A 2B 2C 3 Size of Nodes 000 001-030 001-060 031-060 001-060 001-060 061-980 4B. Nasopharynx 4C. Nasopharynx SSF 1 TNM N: 0 1 2 3A Size of Nodes 000 001-060 001-060 061-980 5. Larynx 5A. Supraglottis, Subglottis, Other 5B. Glottis SSF 1 TNM N: 0 1 2 2A 2B 2C 3 Size of Nodes 000 001-030 001-060 031-060 001-060 001-060 061-980 6. Nasal Cavity and Paranasal Sinuses SSF 1 TNM N: 0 1 2 2A 2B 2C 3 Size of Nodes 000 001-030 001-060 031-060 001-060 001-060 061-980 7. Major Salivary Glands SSF 1 TNM N: 0 1 2 2A 2B 2C 3 Size of Nodes 000 001-030 001-060 031-060 001-060 001-060 061-980 29. Cutaneous Squamous Cell Carcinoma and other Cutaneous Carcinomas SSF 16 TNM N: 0 1 2 2A 2B 2C 3 Size of Nodes 000 001-030 001-060 031-060 001-060 001-060 061-980]]></description> <history> <event version="SE16-015-01" user="kirbyk" date="2016-06-10" ref="67450">Edit created.</event> <event version="SE16-016-01" user="kirbyk" date="2017-01-18" ref="67596">Added skip condition for TNM Edition Number; updated description.</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-02" user="schadega" date="2018-05-18" ref="67743">Name change.</event> <event version="SE18-019-01" user="kirbyk" date="2019-04-01" ref="68134">Added valid combinations; edit will now fail for invalid TNM N values.</event> <event version="SE18-019-03" user="kirbyk" date="2019-08-07" ref="68211">Edit will not fail for invalid TNM N values; for groups 4B and 4C, changed TNM 3 to TNM 3A.</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>