A maneira típica de fazer isso no Oracle seria:
DELETE FROM patient
WHERE dis_date < TRUNC(ADD_MONTHS(SYSDATE, -7*12));
A razão pela qual sugiro usar
ADD_MONTHS() em vez de intervalos de ano é que ADD_MONTHS() é seguro para anos bissextos. DELETE FROM patient
WHERE dis_date < TRUNC(ADD_MONTHS(SYSDATE, -7*12));
ADD_MONTHS() em vez de intervalos de ano é que ADD_MONTHS() é seguro para anos bissextos.