edits.seer.internal.rules.IFN6359.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.
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>