If interested to get you started on the correct path to enlightenment. I ran some code to put all responses tables (>100) into a single table.
There are 2685 responses. I kept the old table name to help Identify what the Response Category is.
Even being non familiar with the subject matter, I can figure out in many cases what a descriptive category name is. Some I cannot.
However notice that you unnecessarily repeat response sets. So this list can get even smaller. You have a separate table for ambulance assistance for admittance and prior with all the same responses. Even in your current design that is not necessary. Either way you can clean this list up further by removing duplicate response sets. Only Need a single "Ambulate Assistance" category and you can respond to an admit, prior, post question.
Now you can categorize the response sets
Assign a response value if needed
Assign a sort order that you want the response to appear
Assign a type (Text, Boolean, Numeric)
A lot of the patient demographic information probably remains in individual tables. Especially those fields you query a lot, but a lot is just questions to surveys and can remain related to this single response choice as shown by
@Pat Hartman and
@GaP42