I don't think this is possible, given the output you want.
For example, this data won't be possible to put in the output format you want:
last name, first name, dob, id
gomez, allan, 10/1/2000, 1
gomez, allan, 10/1/2000, 2
doe, john, 10/1/2000, 3
doe, john, 10/1/2000, 4
That would result into:
col1 pat1 pat2 pat3 pat4
------------- ----------- ------------
last name gomez gomez doe doe
first name allan allan john john
dob 10/1/2000 10/1/2000 10/1/2000 10/1/2000
id 1 2 3 4
Which is not very readable.
To retrieve all duplicates you could use a query like:
SELECT [last name], [first name], dob, COUNT(1) [duplicate count]
FROM patient
GROUP BY [last name], [first name], dob
HAVING COUNT(1) > 1
This would return:
last name, first name, dob, duplicate count
gomez, allan, 10/1/2000, 2
doe, john, 10/1/2000, 2