Not sure of the relationship you have between the Patient Business Object and the OutPatient Business Object
However I would assume each OutPatient record has a single Patient assigned and a Patient can be assigned to many OutPatient records.
Hence you probably have a Peer Many (pm_OutPatientRecords Attribute of type OutPatient) in Patient and the reverse Peer Single (ps_Patient Attribute of type Patient) in OutPatient.
Assuming that is correct...something like this should work....
FIND Patient WHERE COUNT OutPatient WHERE (OutPatient.ps_Patient = Patient AND OutPatient.EndDate>CURRENT_DATE)>0
OR
FIND Patient WHERE COUNT OutPatient WHERE (OutPatient IN Patient.ps_OutPatientRecords AND OutPatient.EndDate>CURRENT_DATE)>0