edits.seer.internal.rules.IFN3046.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="IFN3046" name="LN Head and Neck Levels, EOD Regional Nodes (SEER)" tag="N3046" java-path="lines.line" category="inter-field" depends="Year_of_Diagnosis"> <expression><![CDATA[if (line.dateOfDiagnosisYear == null || line.dateOfDiagnosisYear < '2019' || !['00060', '00140'].contains(line.schemaId) || line.eodRegionalNodes == null) return true String ln13 = line.lnHeadAndNeckLevels1To3 String ln45 = line.lnHeadAndNeckLevels4To5 String ln67 = line.lnHeadAndNeckLevels6To7 String lnOther = line.lnHeadAndNeckOther if ((ln13 == null || ln13 == '8') && (ln45 == null || ln45 == '8') && (ln67 == null || ln67 == '8') && (lnOther == null || lnOther == '8')) return true if (Functions.matches(ln13, /^[1-7]$/) || Functions.matches(ln45, /^[1-3]$/) || Functions.matches(ln67, /^[1-3]$/) || Functions.matches(lnOther, /^[1-7]$/)) return !['000', '800', '999'].contains(line.eodRegionalNodes) if (ln13 == '9' && ln45 == '9' && ln67 == '9' && lnOther == '9') return ['800', '999'].contains(line.eodRegionalNodes) if (line.dateOfDiagnosisYear > '2020' && !['000', '800', '999'].contains(line.eodRegionalNodes)) return ln13 != '0' || ln45 != '0' || ln67 != '0' || lnOther != '0' return true]]></expression> <message>LN Head and Neck codes conflict with EOD Regional Nodes</message> <description><![CDATA[This edit verifies that the LN Head and Neck SSDIs are coded consistently with EOD Regional Nodes for Schema IDs 00060 Cervical Lymph Nodes and and Unknown Primary Tumor of the Head and Neck, 00140 Melanoma Head and Neck 1. The edit is skipped for the following conditions: a. Date of Diagnosis before 2019, blank (unknown), or invalid. b. Schema ID is not 00060 or 00140 c. LN Head and Neck Levels I-III, LN Head and Neck levels IV-V, LN Head and Neck Levels VI-VII, and LN Head and Neck Other are all blank or not applicable. d. EOD Regional Nodes is blank 2. If LN Head and Neck Levels I-III = 1-7 (lymph nodes involved) or LN Head and Neck Levels IV-V = 1-3 (lymph nodes involved)or LN Head and Neck Levels VI-VII = 1-3 (lymph nodes involved) or LN Head and Neck Other = 1-7 (lymph nodes involved) EOD Regional Nodes must not = 000 (no nodes involved), 800 nodes involved NOS) or 999 (unknown if nodes involved) 3. If LN Head and Neck Levels I-III = 9 (unknown if lymph nodes involved) and LN Head and Neck Levels IV-V = 9 (unknown if lymph nodes involved) and LN Head and Neck Levels VI-VII = 9 (unknown if lymph nodes involved) and LN Head and Neck Other = 9 (unknown if lymph nodes involved) EOD Regional Nodes must = 800 (nodes involved NOS) or 999 (unknown if nodes involved) 4. If Date of Diagnosis 2021 or greater, and EOD Regional Nodes not = 000, 800, or 999 and not blank, LN Head and Neck Levels I-III and LN Head and Neck Levels IV-V and LN Head and Neck Levels VI-VII and LN Head and Neck Levels Other must not all = 0. NOTE: 000 not included in 00060, EOD Regional Nodes]]></description> <history> <event version="SE18-019-02" user="kirbyk" date="2019-05-14" ref="68146">Edit created.</event> <event version="SE18-020-02" user="kirbyk" date="2020-03-27" ref="68322">Changed edit name; removed Schema ID 00060 from skip condition.</event> <event version="SE18-020-05" user="beverung" date="2020-08-03" ref="68425">Changed edit name and updated logic.</event> </history> </rule>