In folgendem Therad hatte ich zwei funktionstüchtige (getestete) Beispiele angegeben.
https://forum.tomedo.de/index.php/16486/bugreport-aktionsketten-ausloser-privatrechnung-erzeugt-sql-error
Es fehlt also in Ihrem Beipsiel noch der konkrete Bezug zu dem Patienten, von dem Sie das Geburtsdatum haben wollen. Desweiteren ist es in Postgres-SQL nicht möglich, eine selbst erzeugte Spalte per 'where' zu überprüfen. Sie haben da zwei Möglichkeiten:
1. Eine Zwischentabelle anzulegen: select * from (select .. age from ...) A where A.age > 70.
2. Die Altersüberprüfung direkt im where-Teil zu machen: select .. from patient where date_part('year', age(geburtsdatum)) >70
Da es bei zweiter Abfrage unklar ist, wie performant das ganze ist , würd eich zu erster Variante tendieren. Für Ihr Beispiel also:
SELECT * from (SELECT date_part('year', age(geburtsdatum)) as age from patient where ident = $[patientident]$) A where A.age > 70
(ungetestet).