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

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

The newest version!
        <rule id="SurvDateDXRecodeEdit" name="Surv-Date DX Recode (SEER)" tag="N1981" java-path="lines.line" category="inter-field" depends="Day_SurvDateDXRecode,Month_SurvDateDXRecode,Year_SurvDateDXRecode">
            <expression><![CDATA[Integer year = Functions.asInt(line.survDateDxRecodeYear)
Integer month = Functions.asInt(line.survDateDxRecodeMonth)
Integer day = Functions.asInt(line.survDateDxRecodeDay)
Integer yearCur = Functions.getCurrentYear()
Integer monthCur = Functions.getCurrentMonth()
Integer dayCur = Functions.getCurrentDay()

if (line.survDateDxRecodeYear == null && line.survDateDxRecodeMonth == null && line.survDateDxRecodeDay == null)
    return true

if (line.survDateDxRecodeYear == null || line.survDateDxRecodeMonth == null)
    return false

if (!Functions.between(year, 1930, yearCur) || month < 1 || month > 12 || (year == yearCur && month > monthCur))
    return false

if (year == yearCur && month == monthCur && day > dayCur)
    return false

Calendar cal = new GregorianCalendar(year, month - 1, 1)
return cal != null && day <= cal.getActualMaximum(Calendar.DAY_OF_MONTH)]]></expression>
            <message>Surv-Date DX Recode is not valid.</message>
            <description><![CDATA[This edit is skipped if Surv-Date DX Recode is blank.

The date checks are performed in this order:

A) If the year is blank, month and day must also be blank.

B) If the month is blank, the year and day must be blank.

C) If day is blank, the year and month cannot be greater than the current system year/month.

D) Year must be between 1930 and the current system year.

E) If day is known, then entire date is verified. The date must be a valid date (leap years checked) and must be less than or equal to the current system date.]]></description>
            <history>
                <event version="SE15-013-01" user="kirbyk" date="2015-01-20" ref="67148">Edit created.</event>
                <event version="SE16-015-01" user="kirbyk" date="2016-06-20" ref="67425">Fixed documentation.</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-017-01" user="schadega" date="2018-03-16" ref="67707">Allow blank day field.</event>
                <event version="SE22-022-13" user="kirbyk" date="2022-10-18" ref="69045">Fixing edit behavior for future dates.</event>
            </history>
        </rule>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy