edits.seer.internal.rules.IF586.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.
The newest version!
<rule id="IF586" name="TNM Path T, SSF 1, 2, 3 Kidney (COC)" tag="N2269" java-path="lines.line" category="inter-field" depends="Behavior_Code_ICD-O-3,CS_Site-Specific_Factor_1,CS_Site-Specific_Factor_2,CS_Site-Specific_Factor_3,Histologic_Type_ICD-O-3,Primary_Site,TNM_Path_T,Type_of_Reporting_Source,Year_of_Diagnosis"> <expression><![CDATA[if (line.dateOfDiagnosisYear == null || line.dateOfDiagnosisYear < '2016' || line.typeOfReportingSource == '7' || line.behaviorCodeIcdO3 == '0' || line.behaviorCodeIcdO3 == '1' || line.tnmPathT == null || line.tnmPathT == '88') return true //Skip conditions 6, 7 if ((line.tnmEditionNumber != '07' && line.tnmEditionNumber != 'U7') || line.tnmPathDescriptor == '4' || line.tnmPathDescriptor == '6') return true //Check for Kidney cases (skip condition 4) String hist = line.histologicTypeIcdO3 if (line.primarySite != 'C649' || !((hist >= '8000' && hist <= '8576') || (hist >= '8940' && hist <= '8950') || hist == '8980' || hist == '8981')) return true // Check SSF 1 String ssf1 = line.csSiteSpecificFactor1 String ssf2 = line.csSiteSpecificFactor2 if (ssf1 != '988' && ssf1 != null) { if (ssf1 == '000' && ssf2 == '000' && !(Functions.matches(line.tnmPathT, /^p[12][AB]?|pX$/))) return false else if ((ssf1 == '010' || ssf1 == '020' || ssf1 == '030' || ssf1 == '991') && !(Functions.matches(line.tnmPathT, /^p3[ABC]?|p4$/))) return false else if (ssf1 == '998' && line.tnmPathT != null && line.tnmPathT != 'pX') return false } // Check SSF 2 if (ssf2 != '988' && ssf2 != null) { if (ssf2 == '010' && !(Functions.matches(line.tnmPathT, /^p3[ABC]?|p4|pX$/))) return false else if (ssf2 ==~ /^0[2457]0$/ && !(Functions.matches(line.tnmPathT, /^p3[BC]|p[4X]$/))) return false else if (ssf2 ==~ /^0[3689]0$/ && !(Functions.matches(line.tnmPathT, /^p3C|p[4X]$/))) return false else if (ssf2 == '998' && line.tnmPathT != null && line.tnmPathT != 'pX') return false } // Check SSF 3 String ssf3 = line.csSiteSpecificFactor3 if ((ssf3 == '010' || ssf3 == '030' || ssf3 == '040') && line.tnmPathT != 'p4') return false return true]]></expression> <message>TNM Path T, SSF 1, 2, 3 conflict for Kidney</message> <description><![CDATA[Purpose: This edit verifies that TNM Path T is coded consistently with CS SSF 1, Invasion Beyond Capsule, CS SSF 2, Vein Involvement, and CS SSF 3, Ipsilateral Adrenal Gland Involvement, for Kidney parenchyma. 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. Primary site is not site/histology group 043 (Kidney) 5. TNM Path T is blank or 88 6. TNM Edition Number not = 07, U7 7. TNM Path Descriptor = 4,6 For Kidney, SSF 1: A. If SSF 1 = blank or 988, edit checks are skipped. B. If SSF 1 = 000 (Invasion beyond capsule not present/not identified and SSF 2 = 000 ((Vein involvement not present/not identified), then TNM Path T = p1, p1A, p1B, p2, p2A,p2B, or pX (tumor limited to kidney or unknown) C. If SSF 1 = 010 (Lateral invasion, Perinephric fat), 020 (Medial invasion, Renal sinus, Perisinus fat), 030 (020 + 010), 991 (Invasion beyond capsule NOS) then TNM Path T must = p3 (Tumor extends into major veins or perinephric tissues) or higher. D. IF SSF 1 = 998 (No surgical resection of primary site), then TNM Path T must = pX or blank. For Kidney, SSF 2: A. If SSF 2 = blank or 988, edit checks are skipped. B. If SSF 2 = 010 (Involvement of renal vein only) then TNM Path T must = p3 (Tumor extends into major veins or perinephric tissue) or higher. C. If SSF 2 = 020 (Involvement of Inferior vena cava below the diaphragm),040 (Involvement of IVC NOS), 050 (Involvement of IVC below diaphragm plus involvement of renal vein), or 070 (Involvement of IVC NOS plus involvement of renal vein) then TNM Path T must = p3B (Tumor grossly extends into vena cava below diaphragm) or higher D. If SSF 2 = 030 (Involvement of IVC above diaphragm),060 (Involvement of IVC above diaphragm plus involvement of renal vein),080 (Involvement of IVC above diaphragm plus involvement of IVC below diaphragm), or 090 (Involvement of IVC above diaphragm plus involvement of IVC below diaphragm plus involvement of renal vein) then TNM Path T must = p3C (Tumor grossly extends into vena cava above diaphragm or invades wall of vena cava) or higher. E. If SSF 2 = 998 (No surgical resection of primary site), then TNM Path T must = pX or blank For Kidney, SSF 3: A. If SSF 3 = blank or 988, edit checks are skipped B. If SSF 3 = 010 (Contiguous involvement of ipsilateral adrenal gland), 030 (Noncontiguous plus contiguous involvement of ipsilateral adrenal gland), or 040 (Involvement of ipsilateral adrenal gland, not stated whether contiguous or noncontiguous) then TNM Path T must = p4 (Tumor invades beyond Gerota's fascia including contiguous extension into the ipsilateral adrenal gland)]]></description> <history> <event version="SE16-015-01" user="kirbyk" date="2016-05-20" ref="67409">Edit created.</event> <event version="SE16-015-02" user="kirbyk" date="2016-07-01" ref="67483">Updated edit logic and description for SSF 2.</event> <event version="SE16-016-01" user="kirbyk" date="2017-01-17" ref="67613">Added skip conditions for TNM Edition Number and TNM Path Descriptor.</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-017-01" user="kirbyk" date="2018-04-02" ref="67722">Updated logic and description for SSF1.</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>