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

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

The newest version!
        <rule id="IFN6359" name="Mets at DX, NET, EOD Mets (SEER)" tag="N6359" java-path="lines.line" category="inter-field" depends="Year_of_Diagnosis">
            <expression><![CDATA[if (line.dateOfDiagnosisYear == null || line.dateOfDiagnosisYear < '2021' || line.typeOfReportingSource == '7')
    return true
if (line.eodMets == null || line.schemaId == null || !Functions.matches(line.schemaId, /^0[09](290|3(0[12]|[123]0))$/))
    return true
if (line.metsAtDxBone == null && line.metsAtDxBrain == null && line.metsAtDxDistantLn == null && line.metsAtDxLiver == null && line.metsAtDxLung == null && line.metsAtDxOther == null)
    return true

boolean metsAtDxBoneCondition = line.metsAtDxBone == null || ['0','9'].contains(line.metsAtDxBone)
boolean metsAtDxBrainCondition = line.metsAtDxBrain == null || ['0','9'].contains(line.metsAtDxBrain)
boolean metsAtDxDistantLnCondition = line.metsAtDxDistantLn == null || ['0','9'].contains(line.metsAtDxDistantLn)
boolean metsAtDxLiverCondition = line.metsAtDxLiver == null || ['0','9'].contains(line.metsAtDxLiver)
boolean metsAtDxLungCondition = line.metsAtDxLung == null || ['0','9'].contains(line.metsAtDxLung)
boolean metsAtDxOtherCondition = line.metsAtDxOther == null || ['0','9'].contains(line.metsAtDxOther)

if (line.metsAtDxLiver == '1' && metsAtDxBoneCondition && metsAtDxBrainCondition && metsAtDxDistantLnCondition && metsAtDxLungCondition && metsAtDxOtherCondition && line.eodMets != '10')
    return false
if (line.metsAtDxDistantLn == '1' && metsAtDxBoneCondition && metsAtDxBrainCondition && metsAtDxLiverCondition && metsAtDxLungCondition && metsAtDxOtherCondition && line.eodMets != '20')
    return false
if (['0','9'].contains(line.metsAtDxLiver) && (line.metsAtDxBone == '1' || line.metsAtDxBrain == '1' || line.metsAtDxLung == '1' || ['1','2'].contains(line.metsAtDxOther)) && line.eodMets != '30')
    return false
if (line.metsAtDxLiver == '1' && (line.metsAtDxBone == '1' || line.metsAtDxBrain == '1' || line.metsAtDxDistantLn == '1' || line.metsAtDxLung == '1' || ['1','2'].contains(line.metsAtDxOther)) && line.eodMets != '50')
    return false

if (['10','50'].contains(line.eodMets) && line.metsAtDxLiver != '1')
    return false
if (line.eodMets == '20' && line.metsAtDxDistantLn != '1')
    return false
return true]]></expression>
            <message>Mets at DX fields conflict with EOD Mets for NET</message>
            <description><![CDATA[This edit verifies that Mets at DX-Bone, Mets at DX-Brain,
Mets at DX-Distant LN, Mets at DX-Liver, Mets at DX-Lung, and Mets at DX-Other
are coded consistently with EOD Mets for Schema ID 00290 and 09290 NET Stomach,
00301 and 09301 NET Duodenum, 00302 and 09302 NET Ampulla of Vater,
00310 and 09310 NET Jejunum and Ileum, 00320 and 09320 NET Appendix,
and 00330 and 09330 NET Colon and Rectum


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 00290, 00301, 00302, 00310, 00320, 00330,
        09290, 09301, 09302, 09310, 09320, 09330
    c. Mets at DX-Bone, Mets at DX-Brain, Mets at DX-Distant LN,
        Mets at DX-Liver, Mets at DX-Lung, and Mets at DX-Other are all blank
    d. EOD Mets is blank
    e. Type of Reporting Source is 7 (Death Certificate Only)

2. If Mets at DX-Liver = 1 and (Mets at DX-Bone = 0,9, Mets at DX-Brain = 0,9,
       Mets at DX-Distant LN = 0,9, Mets at DX-Lung= 0,9, and Mets at DX-Other
        = 0,9, or fields are empty),
       then EOD Mets must = 10

3. If Mets at DX-Distant LN = 1 and (Mets at DX-Bone = 0,9, Mets at DX-Brain = 0,9,
      Mets at DX-Liver = 0,9, Mets at DX-Lung = 0,9 and Mets at DX-Other = 0,9, or
        fields are empty)
       then EOD Mets must = 20.

4. If Mets at DX-Liver = 0,9 and (Mets at DX-Bone = 1 or Mets at DX-Brain = 1 or
      Mets at DX-Lung = 1 or Mets at DX-Other = 1 or 2)
       then EOD Mets must = 30.

5. If Mets at DX-Liver = 1 (and Mets at DX-Bone = 1, Mets at DX-Brain = 1, Mets at
       DX-Distant LN = 1,Mets at DX-Lung = 1, or Mets at DX-Other = 1 or 2
       then EOD Mets must = 50.

6.  If EOD Mets = 10 or 50 (Liver)
      Mets at DX-Liver must = 1

7. If EOD Mets = 20 (Distant lymph nodes)
        Mets at DX-Distant LN must = 1]]></description>
            <history>
                <event version="SE21-021-04" user="beverung" date="2021-04-14" ref="68608">Edit created.</event>
                <event version="SE21-021-04" user="kirbyk" date="2021-05-12" ref="68654">Clarifying condition #4.</event>
                <event version="SE22-022-08" user="secristc" date="2022-06-23" ref="69011">Updated error message.</event>
                <event version="SE24-024-01" user="shearerw" date="2024-03-11" ref="69408">Add schemas to skip condition.</event>
            </history>
        </rule>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy