edits.seer.internal.rules.IF2613DG_P2.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="IF2613DG_P2" name="EOD--Old 13 digit, Primary Site (SEER IF2613DG)" tag="N0317" java-path="lines.line" category="inter-field" depends="Coding_System_for_EOD,EOD--Old_13_Digit,IF2613DG_P1,Primary_Site"> <expression><![CDATA[if ('2' != line.codingSystemForEod) return true if (Functions.matches(line.primarySite, /^C16\d$/)) /* STOMACH */ return Functions.matches(line.eodOld13Digit, /^(0&|\d\d|--)--[-0-9][-0-9][-&0-689]--[-01]-[01][&0-9]$/) if (line.primarySite == 'C180') /* CECUM */ return Functions.matches(line.eodOld13Digit, /^(0&|[0-8][0-9]|9[0-8]|--)--[-0-9]-[-0-9][-0-7]-[-01]-[01][&0-9]$/) if (line.primarySite == 'C182') /* ASCENDING_COLON */ return Functions.matches(line.eodOld13Digit, /^(0&|[0-8][0-9]|9[0-8]|--)--[-0-9]-[-0-9][-0-7]-[-01]-[01][&0-9]$/) if (Functions.matches(line.primarySite, /^C18[345]$/)) /* TRANSVERS_COLON */ return Functions.matches(line.eodOld13Digit, /^(0&|[0-8][0-9]|9[0-8]|--)--[-&0-9]-[-&0-9][-0-7]-[-01]-[01][&0-9]$/) if (line.primarySite == 'C186') /* DESCENDING_COLON */ return Functions.matches(line.eodOld13Digit, /^(0&|[0-8][0-9]|9[0-8]|--)--[-0-9]-[-&0-9][-0-7]-[-01]-[01][&0-9]$/) if (line.primarySite == 'C187') /* SIGMOID_COLON */ return Functions.matches(line.eodOld13Digit, /^(0&|[0-8][0-9]|9[0-8]|--)--[-0-9]-[-&0-9][-0-7]-[-01]-[01][&0-9]$/) if (line.primarySite == 'C199') /* RECTOSIGMOID */ return Functions.matches(line.eodOld13Digit, /^(0&|[0-8][0-9]|9[0-8]|--)--[-0-9]-[-&0-79][-0-7]-[-01]-[01][&0-9]$/) if (line.primarySite == 'C209') /* RECTUM */ return Functions.matches(line.eodOld13Digit, /^(0&|[0-8][0-9]|9[0-8]|--)--[-0-689]-[-&0-9][-0-7]-[-01]-[01][&0-9]$/) if (Functions.matches(line.primarySite, /^C34[01236789]$/)) /* BRONCHUS_LUNG */ return Functions.matches(line.eodOld13Digit, /^(0[-&]|[0-9][0-9]|--)-[-&0-9][-&0-9][&0-9][0-9][&0-9][-0-9][-01][01][01][&0-589]$/) if (Functions.matches(line.primarySite, /^C(44[0-7]|51[01289]|60[0189])$/)) /* MALIGNANT_MEL */ return Functions.matches(line.eodOld13Digit, /^[-0-9][-0-5]-[&1-9][-1-9][0-4][01][0-5][-0-4][-0-2][01][01][&0-9]$/) if (Functions.matches(line.primarySite, /^C50\d$/)) /* BREAST */ return Functions.matches(line.eodOld13Digit, /^[-&0-9][-&0-9]-[-&0-9][-&0-24-9]-[-0-4][-0-9]([0-9][0-9]|--)-[01][&0-9]$/) if (Functions.matches(line.primarySite, /^C53\d$/)) /* CERVIX_UTERI */ return Functions.matches(line.eodOld13Digit, /^([0-9][0-9]|--)-[&02-9][-&0-9][&0-9][&0-9]-[-0-3][-01][01][01][&0-9]$/) if (Functions.matches(line.primarySite, /^C54\d$/)) /* CORPUS_UTERI */ return Functions.matches(line.eodOld13Digit, /^([0-8][0-9]|9[0-8]|--)-[-0-6][-0-9][0-8][0-8]-[-0-3][-01][01][01][&0-9]$/) if (line.primarySite == 'C619') /* PROSTATE */ return Functions.matches(line.eodOld13Digit, /^[0-8][-&0-8]-[&0-9][-&0-9]--[0-8][0-3][-01][01][01][&0-9]$/) if (Functions.matches(line.primarySite, /^C67[0-689]$/)) /* BLADDER */ return Functions.matches(line.eodOld13Digit, /^[-0-8][-&0-8]--[-&0-9][&0-9][&0-9]-[0-3][-01][01][01][&0-9]$/) if (Functions.matches(line.primarySite, /^C(024|09[89]|111|142|379|422|77\d)$/)) /* LYMPH */ return Functions.matches(line.eodOld13Digit, /^[-&0-57-9][-0-3][-0-3][-0-3][-0-3][0-7][0-7][0-7][0-7][0-3][0-7][0-7]-$/) return true]]></expression> <message>Primary Site, EOD--Old 13 digit, Coding System for EOD conflict</message> <description><![CDATA[For cases coded using the EOD--Old 13 digit[840] (Coding System for EOD[870]=2) this edit validates extent of disease according to the 13-digit Extent of Disease codes allowable for each site/morphology as defined in the Extent of Disease - Codes and Coding Instructions Manual (1977). If the case is in situ (Behavior = 2), the Extent of Disease code must also indicate an in situ behavior: A zero in the fifth position of the 13-digit extent disease indicates in situ for all sites except: 1. melanomas of the skin (Primary site = C440-C447, C510-C519, C600-C601, C608, C609 and histology = 8720-8790) where a '1' in the fifth position indicates in situ, 2. lung (Primary site C340 - C349) where a '00', '01' or '10' in the fourth and fifth positions indicate in situ, 3. lymph nodes and lymphoid tissues (Primary Sites CO24, CO98-CO99, C142, C379, C422, C770-C779) where as code is provided for in situ. Similarly an invasive case (Behavior = 3) may not have an in situ extent of disease. Thus the above codes valid for in situ cases are invalid for invasive cases.]]></description> <history> <event version="SE11-001-01" user="greend" date="1985-11-29">Added an edit that if the histology behavior code is in situ, and the site is C340-C349, then the fourth and fifth column positions of the thirteen digit Extent of Disease must be "01" or "10". The Extent of Disease fields are now three separate fields, one for each of the four distinct types of extent of disease coding. The thirteen digit extent of disease field is therefore a separate field and the call sequence and handling of this field have been modified.</event> <event version="SE11-001-07" user="greend" date="1991-09-15">Conversion of topography and morphology codes from ICD-O-1 to ICD-O-2.</event> <event version="SE11-001-08" user="greend" date="1992-07-15">Modified program to reflect changes made to 13 digit extent of disease in 1978.</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-020-01" user="depryf" date="2020-02-04" ref="68281">Changed property names to align with NAACCR XML IDs.</event> <event version="SE24-024-06" user="shearerw" date="2024-07-25" ref="69510">Remove reference to ICD-O-2 from description.</event> </history> </rule>