All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edits.seer.internal.rules.IFN6165.xml Maven / Gradle / Ivy

There is a newer version: 024-13
Show newest version
        <rule id="IFN6165" name="EOD Regional Nodes, Melanoma Skin, Sentinel Lymph Nodes Positive, Regional Nodes Positive (SEER)" tag="N6165" java-path="lines.line" category="inter-field" depends="Year_of_Diagnosis">
            <expression><![CDATA[if (line.dateOfDiagnosisYear == null || line.dateOfDiagnosisYear < '2021' || line.typeOfReportingSource == '7' || line.eodRegionalNodes == null)
    return true
if (line.schemaId == null || line.schemaId != '00470')
    return true

if (['000','300'].contains(line.eodRegionalNodes)) {
    if (line.sentinelLymphNodesPositive != null && !['00','98','99'].contains(line.sentinelLymphNodesPositive))
        return false
    if (line.regionalNodesPositive != null && !['00','98','99'].contains(line.regionalNodesPositive))
        return false
}
else if (line.eodRegionalNodes == '100') {
    if (line.sentinelLymphNodesPositive != null && !Functions.matches(line.sentinelLymphNodesPositive, /^0[01]|9[5789]$/))
        return false
    if (line.regionalNodesPositive != null && !['01','95','97'].contains(line.regionalNodesPositive))
        return false
}
else if (['200','350','500'].contains(line.eodRegionalNodes)) {
    if (line.sentinelLymphNodesPositive != null && !Functions.matches(line.sentinelLymphNodesPositive, /^0[01]|9[5789]$/))
        return false
    if (line.regionalNodesPositive != null && !Functions.matches(line.regionalNodesPositive, /^0[01]|9[5789]$/))
        return false
}
else if (line.eodRegionalNodes == '400') {
    if (line.sentinelLymphNodesPositive != null && !Functions.matches(line.sentinelLymphNodesPositive, /^0[0-3]|9[5789]$/))
        return false
    if (line.regionalNodesPositive != null && !Functions.matches(line.regionalNodesPositive, /^0[23]$/))
        return false
}
else if (['450','550'].contains(line.eodRegionalNodes)) {
    if (line.sentinelLymphNodesPositive != null && !Functions.matches(line.sentinelLymphNodesPositive, /^0[0-3]|9[5789]$/))
        return false
    if (line.regionalNodesPositive != null && !Functions.matches(line.regionalNodesPositive, /^0[0-3]|9[5789]$/))
        return false
}
else if (line.eodRegionalNodes == '600') {
    if (line.sentinelLymphNodesPositive != null && !Functions.matches(line.sentinelLymphNodesPositive, /^[0-8]\d|9[05789]$/))
        return false
    if (line.regionalNodesPositive != null && !Functions.matches(line.regionalNodesPositive, /^0[4-9]|[1-8]\d|9[057]$/))
        return false
}
else if (line.eodRegionalNodes == '999') {
    if (line.sentinelLymphNodesPositive != null && !['98','99'].contains(line.sentinelLymphNodesPositive))
        return false
    if (line.regionalNodesPositive != null && !['98','99'].contains(line.regionalNodesPositive))
        return false
}

if (Functions.matches(line.sentinelLymphNodesPositive, /^0[1-9]|[1-8]\d|9[0-7]$/) || Functions.matches(line.regionalNodesPositive, /^0[1-9]|[1-8]\d|9[0-7]$/))
    return line.eodRegionalNodes != '000'
return true]]></expression>
            <message>EOD Regional Nodes conflicts with Sentinel Lymph Nodes Positive and/or Regional Nodes Positive</message>
            <description><![CDATA[This edit verifies that EOD Regional Nodes is coded consistently with Sentinel
Lymph Nodes Positive and Regional Nodes Positive for Schema ID 00470, Melanoma
of Skin

1. The edit is skipped for the following conditions:
    a. Date of Diagnosis before 2021, blank (unknown), or invalid.
    b. Schema ID is blank or not 00470
    d. EOD Regional Nodes is blank
    e. Type of Reporting Source is 7 (Death Certificate Only)

2. If EOD Regional Nodes is 000 (no lymph node involvement) or 300 (no
    clinically occult or detected nodes),
    then Sentinel Lymph Nodes Positive if not blank must = 00, 98, or 99 and
    Regional Nodes Positive if not blank must = 00, 98, or 99

3. If EOD Regional Nodes = 100 (1 clinically occult node)
    then Sentinel Lymph Node Positive if not blank must = 00, 01, 95, 97, 98, or 99
    and Regional Nodes Positive if not blank must = 01 or 95 or 97

4. If EOD Regional Nodes = 200 (1 clinically detected node), 350 (1
    involved node unknown how detected), or 500 (1 clinically occult or
    detected node)
    then Sentinel Lymph Node Positive if not blank must = 00, 01, 95, 97, 98, or 99
    and Regional Nodes Positive if not blank must = 00, 01, 95, 97, 98, or 99

5. If EOD Regional Nodes = 400 (2 or 3 clinically occult nodes)
    then Sentinel Lymph Node Positive if not blank must = 00, 01-03, 95, 97, 98,
    or 99 and Regional Nodes Positive if not blank must = 02-03

6. If EOD Regional Nodes = 450 (2 or 3 involved nodes with 1 or
    greater clinically detected) or 550 (2 or 3 nodes unknown how
    detected)
    then Sentinel Lymph Node Positive if not blank must = 00, 01-03, 95,97,
    98, or 99 and Regional Nodes Positive if not blank must = 00, 01-03,95,97,
    98, or 99

7. If EOD Regional Nodes = 600 (4 or more clinically occult nodes),
   then Sentinel Lymph Node Positive if not blank must = 00, 01-90, 95, 97,
   98, or 99
    and Regional Nodes Positive if not blank must = 04-90, 95, or 97

8.If EOD Regional Nodes = 999 (unknown regional lymph nodes),
    then Sentinel Nodes Positive if not blank must = 98 or 99
    and Regional Nodes Positive if not blank must = 98 or 99

10. If Sentinel Lymph Nodes Positive = 01-97 or Regional Nodes Positive =
    01-97,
    then EOD Regional Nodes must not = 000]]></description>
            <history>
                <event version="SE21-021-04" user="beverung" date="2021-04-28" ref="68607">Edit created.</event>
                <event version="SE23-023-01" user="cooki" date="2023-03-07" ref="69186">Added and removed codes for Node fields.</event>
            </history>
        </rule>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy