edits.seer.internal.rules.SEER_IR08.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="SEER_IR08" name="Date of Last Contact not Consistent for Patient (SEER IR08)" tag="S031" java-path="lines" category="inter-record"> <expression><![CDATA[if (lines.isEmpty()) return true for (line in lines) { if ( line.dateOfLastContactYear != null && !(Functions.matches(line.dateOfLastContactYear, /^[12]\d\d\d$/)) && !Functions.between(line.dateOfLastContactYear, 1930, Functions.getCurrentYear()) ) return true if ( line.dateOfLastContactMonth != null && !(Functions.matches(line.dateOfLastContactMonth, /^(0?[1-9]|1[0-2])$/) ) ) return true if ( line.dateOfLastContactDay != null && !(line.dateOfLastContactDay ==~ /^(0?[1-9]|[12][0-9]|3[01]|\s\s)$/) ) return true } String day = lines[0].dateOfLastContactDay String month = lines[0].dateOfLastContactMonth String year = lines[0].dateOfLastContactYear for (line in lines) { if (day != line.dateOfLastContactDay || month != line.dateOfLastContactMonth || year != line.dateOfLastContactYear) { Functions.forceFailureOnEntity(binding, lines[0]) Functions.forceFailureOnEntity(binding, line) return false } } return true]]></expression> <message>Date of Last Contact Inter-Record Error</message> <description><![CDATA[This edit is skipped if any record for the person has the "Date of Last Contact is not valid." inter-field edit flag triggered. Date of Last Contact[1750] must be equal on all records.]]></description> <history> <event version="SE11-001-22" user="greend" date="2008-01-21">Edit now uses Day of Last Contact.</event> <event version="SE14-011-04" user="depryf" date="2014-04-21" ref="67077">Now reporting all the tumors when this edit fails.</event> <event version="SE16-016-07" user="kirbyk" date="2017-11-09" ref="67672">Now reporting only the two tumors that fail the edit.</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> </history> </rule>