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

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

There is a newer version: 024-13
Show newest version
        <rule id="IF582" name="TNM Path N, SSF 3, 4, 5 Breast (COC)" tag="N2260" java-path="lines.line" category="inter-field" depends="Behavior_Code_ICD-O-3,CS_Site-Specific_Factor_3,CS_Site-Specific_Factor_4,CS_Site-Specific_Factor_5,Histologic_Type_ICD-O-3,Primary_Site,TNM_Path_Descriptor,TNM_Path_N,Type_of_Reporting_Source,Year_of_Diagnosis">
            <expression><![CDATA[//Skip conditions 1, 2
if (line.dateOfDiagnosisYear == null || line.dateOfDiagnosisYear < '2016' || line.typeOfReportingSource == '7')
    return true

//Skip conditions 3, 5
if (line.behaviorCodeIcdO3 == '0' || line.behaviorCodeIcdO3 == '1' || line.tnmPathN == null || line.tnmPathN == '88')
    return true

//Skip conditions 6, 7
if (line.tnmPathDescriptor == '4' || line.tnmPathDescriptor == '6' || (line.tnmEditionNumber != '07' && line.tnmEditionNumber != 'U7'))
    return true

//Edit passes if case if not Breast (skip condition 4)
String hist = line.histologicTypeIcdO3
if (!(Functions.matches(line.primarySite, /^C50\d$/)) || !((hist >= '8000' && hist <= '8576') || (hist >= '8940' && hist <= '8950') || hist == '8980' || hist == '8981' || hist == '9020'))
    return true

if (line.csSiteSpecificFactor3 != null && line.csSiteSpecificFactor3 != '988') {
    if (Functions.matches(line.tnmPathN, /^p0([IM][\-+])?$/) && line.csSiteSpecificFactor3 != '000')
        return false
    else if ((line.tnmPathN == 'c0' || line.tnmPathN == 'pX') && !(Functions.matches(line.csSiteSpecificFactor3, /^09[789]$/)))
        return false
}

if (line.csSiteSpecificFactor4 != null || line.csSiteSpecificFactor5 != null) {
    if (line.csSiteSpecificFactor4 == '987' && line.csSiteSpecificFactor5 == '987' && line.tnmPathN == 'pX')
        return true
    else if (line.csSiteSpecificFactor4 == '987' && line.csSiteSpecificFactor5 == '987' && line.tnmPathN == 'p0I+')
        return true
    else if (line.csSiteSpecificFactor4 == '000' && line.csSiteSpecificFactor5 == '000' && line.tnmPathN == 'pX' && line.tnmClinN == 'c0')
        return true
    else if (line.csSiteSpecificFactor4 == '000' && line.csSiteSpecificFactor5 == '000' && line.tnmPathN == 'c0')
        return true
    else if (line.csSiteSpecificFactor4 != '988' || line.csSiteSpecificFactor5 != '988') {
        List codes = (List)((Map)((Map)Context.IF582_Table).getOrDefault(line.csSiteSpecificFactor4 ?: '', [:])).getOrDefault(line.csSiteSpecificFactor5 ?: '', null)
        if (codes == null)
            return true
        else if (codes.contains('ER'))
            return false
        else if (codes.contains('p1'))
            return Functions.matches(line.tnmPathN, /^p1[ABC]?|p1MI|p2[AB]?|p3[ABC]?$/)
        else if (!codes.contains(line.tnmPathN))
            return false
    }
}

return true]]></expression>
            <message>TNM Path N, SSF 3, 4, 5 conflict for Breast</message>
            <description><![CDATA[Purpose: This edit verifies for primary site of breast that pathologic TNM N must be consistent with CS SSF 3 (Number of positive ipsilateral level I-II Axillary Lymph Nodes), CS SSF 4 (Immunohistochemistry of Regional Lymph Nodes), and CS SSF 5 (Molecular Studies of Regional Lymph Nodes).

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. Site/histology group not = 032, Breast.
5. TNM Path N is blank or 88.
6. TNM Path Descriptor = 4 or 6 (classification after neoadjuvant treatment)
7. TNM Edition Number is not = 07, U7


The site/histology groups are identified by site and histology in the edit Primary Site, Stage Group 2016 - Ed 7.

For CS Site-Specific Factor 3:

1.  If TNM Path N = p0, p0I-, p0I+, p0M-, p0M+,
        then CS SSF 3 must = 000 (All ipsilateral axillary nodes examined negative).

2.  If TNM Path N = c0 or pX,
         then CS SSF 3 must = 097 (Positive nodes, number unspecified), 098 (No axillary nodes examined), or 099 (Unknown if axillary nodes are positive).

For CS Site-Specific Factor 4, CS Site-Specific Factor 5:

3.  TNM Path N is compared to the combination of CS SSF 4 and CS SSF 5 using a table lookup.  Findings on molecular studies (CS SSF 5) are given precedence to findings on IHC studies (CS SSF 4). An error is generated if the combination of CS SSF 4 and CS SSF 5 do not support the assigned pN category.  If either CS SSF 4 or CS SSF 5 is coded 988, TNM N is compared to the value of the CS SSF not coded 988.  If  both are coded 988, the edit check is skipped.  If either CS SSF 4 or CS SSF 5 is blank (not coded), TNM N is compared to the value of the coded CS SSF. If both are blank, the edit check is skipped.

Four situations not handled by table lookup are included in the edit logic:
The edit passes for TNM Path N = pX, CS SSF 4 = 987, CS SSF 5 = 987.
The edit passes for TNM Path N = p0I+, CS SSF 4 = 987, CS SSF 5 = 987
The edit passes for TNM Path N = pX, TNM Clin N = c0, CS SSF 4 = 000, CS SSF 5 = 000
The edit passes for TNM Path N = c0, CS SSF 4 = 000, CS SSF 5 = 000.]]></description>
            <history>
                <event version="SE16-015-01" user="kirbyk" date="2016-06-07" ref="67451">Edit created.</event>
                <event version="SE16-015-02" user="kirbyk" date="2016-06-30" ref="67482">Updated edit logic.</event>
                <event version="SE16-015-05" user="kirbyk" date="2016-07-20" ref="67496">Added c0 as valid Path N value when SSF4=000 and SSF5=000.</event>
                <event version="SE16-015-08" user="kirbyk" date="2016-09-19" ref="67532">Added skip condition for TNM Path Descriptor=4 or 6.</event>
                <event version="SE16-016-01" user="kirbyk" date="2016-12-01" ref="67551">Added valid combinations outside of the table.</event>
                <event version="SE16-016-01" user="kirbyk" date="2017-01-17" ref="67606">Added skip condition for TNM Edition Number; added valid code for SSF3.</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-01" user="schadega" date="2018-04-11" ref="67734">Added 2 pass conditions.</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>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy