edits.seer.internal.rules.IF439.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="IF439" name="CS SSF 9, SSF 10, Prostate Schema (CS)" tag="N1755" java-path="lines.line" category="inter-field" depends="Behavior_Code_ICD-O-3,CS_Site-Specific_Factor_10,CS_Site-Specific_Factor_25,CS_Site-Specific_Factor_9,CS_Tumor_Size_Ext_Eval,Histologic_Type_ICD-O-3,Primary_Site,RX_Summ--Surg_Prim_Site,Type_of_Reporting_Source"> <expression><![CDATA[if (line.typeOfReportingSource == '7' || (line.registryId == '0000001562' && line.dateOfDiagnosisYear < '2003')) return true if (line.csSiteSpecificFactor9 == null || line.csSiteSpecificFactor10 == null || line.csSiteSpecificFactor9 == '988' || line.csSiteSpecificFactor10 == '988') return true if (line.behaviorCodeIcdO3 == '0' || line.behaviorCodeIcdO3 == '1') return true if (line._csSchemaId != 'prostate') return true if (Functions.matches(line.rxSummSurgPrimSite, /(^[3578]0$)/) || line.typeOfReportingSource == '6' || line.csTumorSizeExtEval == '3' || line.csTumorSizeExtEval == '8') { if (line.csSiteSpecificFactor9 == '998' || line.csSiteSpecificFactor10 == '998') return false } if (!(Functions.matches(line.rxSummSurgPrimSite, /(^[3578]0|99$)/)) && line.typeOfReportingSource != '6' && line.typeOfReportingSource != null && line.csTumorSizeExtEval != '3' && line.csTumorSizeExtEval != '8' && line.csTumorSizeExtEval != '9' && line.csTumorSizeExtEval != null) { if (line.csSiteSpecificFactor9 != '998' || line.csSiteSpecificFactor10 != '998') return false return true } if (line.csSiteSpecificFactor9 == '011' && line.csSiteSpecificFactor10 != '002') return false if (line.csSiteSpecificFactor9 == '012' && line.csSiteSpecificFactor10 != '003') return false if (line.csSiteSpecificFactor9 == '013' && line.csSiteSpecificFactor10 != '004') return false if (line.csSiteSpecificFactor9 == '014' && line.csSiteSpecificFactor10 != '005') return false if (line.csSiteSpecificFactor9 == '015' && line.csSiteSpecificFactor10 != '006') return false if (line.csSiteSpecificFactor9 == '019' && !(['002','003','004','005','006','999'].contains(line.csSiteSpecificFactor10))) return false if (line.csSiteSpecificFactor9 == '021' && line.csSiteSpecificFactor10 != '003') return false if (line.csSiteSpecificFactor9 == '022' && line.csSiteSpecificFactor10 != '004') return false if (line.csSiteSpecificFactor9 == '023' && line.csSiteSpecificFactor10 != '005') return false if (line.csSiteSpecificFactor9 == '024' && line.csSiteSpecificFactor10 != '006') return false if (line.csSiteSpecificFactor9 == '025' && line.csSiteSpecificFactor10 != '007') return false if (line.csSiteSpecificFactor9 == '029' && !(['003','004','005','006','007','999'].contains(line.csSiteSpecificFactor10))) return false if (line.csSiteSpecificFactor9 == '031' && line.csSiteSpecificFactor10 != '004') return false if (line.csSiteSpecificFactor9 == '032' && line.csSiteSpecificFactor10 != '005') return false if (line.csSiteSpecificFactor9 == '033' && line.csSiteSpecificFactor10 != '006') return false if (line.csSiteSpecificFactor9 == '034' && line.csSiteSpecificFactor10 != '007') return false if (line.csSiteSpecificFactor9 == '035' && line.csSiteSpecificFactor10 != '008') return false if (line.csSiteSpecificFactor9 == '039' && !(['004','005','006','007','008','999'].contains(line.csSiteSpecificFactor10))) return false if (line.csSiteSpecificFactor9 == '041' && line.csSiteSpecificFactor10 != '005') return false if (line.csSiteSpecificFactor9 == '042' && line.csSiteSpecificFactor10 != '006') return false if (line.csSiteSpecificFactor9 == '043' && line.csSiteSpecificFactor10 != '007') return false if (line.csSiteSpecificFactor9 == '044' && line.csSiteSpecificFactor10 != '008') return false if (line.csSiteSpecificFactor9 == '045' && line.csSiteSpecificFactor10 != '009') return false if (line.csSiteSpecificFactor9 == '049' && !(['005','006','007','008','009','999'].contains(line.csSiteSpecificFactor10))) return false if (line.csSiteSpecificFactor9 == '051' && line.csSiteSpecificFactor10 != '006') return false if (line.csSiteSpecificFactor9 == '052' && line.csSiteSpecificFactor10 != '007') return false if (line.csSiteSpecificFactor9 == '053' && line.csSiteSpecificFactor10 != '008') return false if (line.csSiteSpecificFactor9 == '054' && line.csSiteSpecificFactor10 != '009') return false if (line.csSiteSpecificFactor9 == '055' && line.csSiteSpecificFactor10 != '010') return false if (line.csSiteSpecificFactor9 == '059' && !(['006','007','008','009','010','999'].contains(line.csSiteSpecificFactor10))) return false return true]]></expression> <message>CS Site Specific Factor 9 and CS Site-Specific Factor 10 are not coded consistently for Prostate</message> <description><![CDATA[Purpose: This edit verifies that, for cases coded using the Prostate Schema, CS Site Specific Factor 9 (Gleason's Primary Pattern and Secondary Pattern Values on Prostatectomy/Autopsy) and CS Site-Specific Factor 10 (Gleason's Score on Prostatectomy/Autopsy) are coded consistently. If CS schema is Prostate: If RX Summ--Surgery Prim Site = 30, 50, 70, 80 (codes indicating prostatectomy) OR Type of Reporting Source = 6 (autopsy only) OR CS Tumor Size/Ext Eval = 3 or 8 (codes indicating evidence derived from autopsy), then the recorded CS Site-Specific Factor 9 and 10 codes must correspond to each other as specified in the table below AND both CS Site-Specific Factor 9 and 10 codes must not = 998 (no prostatectomy/autopsy performed). If RX Summ--Surgery Prim Site not = 30, 50, 70, 80, 99 AND [Type of Reporting Source not = 6 or blank] AND [CS Tumor Size/Ext Eval not = 3, 8, 9 or blank], then the recorded CS Site-Specific Factor 9 and 10 codes must both = 998 (no prostatectomy/autopsy performed). CS Site-Specific Factor 9 CS Site-Specific Factor 10 ------------------------------------------------------- 011 002 012 003 013 004 014 005 015 006 019 002-006, 999 021 003 022 004 023 005 024 006 025 007 029 003-007, 999 031 004 032 005 033 006 034 007 035 008 039 004-008, 999 041 005 042 006 043 007 044 008 045 009 049 005-009, 999 051 006 052 007 053 008 054 009 055 010 059 006-010, 999 This edit is skipped if any of the following conditions are true: 1. CS Site-Specific Factor 9 is blank or 988 2. CS Site-Specific Factor 10 is blank or 988 3. Type of Reporting Source = 7 (DCO) 4. CS schema is invalid 5. Registry ID = 0000001562 (New York) and Year of Diagnosis is < 2003 This edit first determines the CS schema by doing a function call to the CS Dynamic Link Library (dll). The function call passes Primary Site, Histologic Type ICD-O-3, and CS Site-Specific Factor25 (schema discriminator) to the dll and the CS schema name is returned.]]></description> <history> <event version="SE13-009-01" user="murphyr" date="2012-12-05" ref="66774">Edit created.</event> <event version="SE16-015-01" user="kirbyk" date="2016-05-04" ref="67370">Changed edit to use schema IDs instead of schema names</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-019-02" user="kirbyk" date="2019-05-07" ref="68179">Edit now skipped for New York cases when DX Year < 2003.</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>