Adam gensurvey

Missing:

- triggering of supplementals
- not all field types are right (height/weight units are free text)

...but I think this should be reviewed for merge to make parallelizing on remaining issues easier

its safer than the existing behavior of `get_postgres_cursor`...