intel p3600 SSD no increase in read speed - postgres rdbms vs hdd
You should store your value for FIELD1 in a TABLE, instead of in a bunch of variables.  Make a three level index, a COVERED index specifically. 

your IN clause is preposterous. I mean.. Learn how to Normalize.

THIS:

WHERE Field1 IN ('aaaaaaa','bbbbbbb','ccccccc',...,'nnnnnnn' )   


is actually SLOWER than this: 

SELECT Field1,Date  
FROM schema.table1  
WHERE Field1 = 'aaaaaaa'   
patientid = 'abcdefg'  
AND Date &lt;= 'xxxx-xx-xx'  
UNION
SELECT Field1,Date  
FROM schema.table1  
WHERE Field1 = 'bbbbbbb'   
patientid = 'abcdefg'  
AND Date &lt;= 'xxxx-xx-xx'  
UNION
SELECT Field1,Date  
FROM schema.table1  
WHERE Field1 = 'ccccccc'   
patientid = 'abcdefg'  
AND Date &lt;= 'xxxx-xx-xx'  
UNION
SELECT Field1,Date  
FROM schema.table1  
WHERE Field1 = 'nnnnnnn'   
patientid = 'abcdefg'  
AND Date &lt;= 'xxxx-xx-xx'  
order by Field1,Date