def getParticipantSamples(self, ag_login_id, participant_name):
        sql = """SELECT DISTINCT
                        ag_kit_barcodes.barcode,
                        ag_kit_barcodes.site_sampled,
                        ag_kit_barcodes.sample_date,
                        ag_kit_barcodes.sample_time,
                        ag_kit_barcodes.notes,
                        barcodes.barcode.status
                 FROM ag.ag_login_surveys
                 JOIN ag.source_barcodes_surveys USING (survey_id)
                 JOIN ag.ag_kit_barcodes USING (barcode)
                 JOIN barcodes.barcode USING (barcode)
                 WHERE ag_login_id = %s
                 AND participant_name = %s
                 AND (site_sampled IS NOT NULL
                 AND site_sampled::text <> '')"""
        with TRN:
            TRN.add(sql, [ag_login_id, participant_name])
            rows = TRN.execute_fetchindex()
            return [dict(row) for row in rows]