@naa123 - appreciate the confirmation of the situation. You have indicated you do data cleansing using the spreadsheets. Does this include ensuring, for instance that the same patient attending, if they attend more than one clinic (not the same clinic multiple times) that the records for the appointment point to the same patient - not by name - but by a common ID?
Also I saw in your Word doc that you capture postcode and age. As age is provided and not DoB then that is specific to the appointment and not the patient (age at attendance) . I presume you will not calculate back to DoB. Also for postcode - if this is to assign the patient to a geographic location at the time of attendance - which may vary (the patient may move) - and if that is important (retain the postcode at the time of attendance) - as that may be important for epi reasons- it is also an attribute of the appointment? These are questions for your benefit in design/ assignment of attributes to the appropriate tables in the database as well as others that may read this case, as it may not be what is normally encountered.
In the process of data acquisition, your database can / should use stages where the process
acquires the extract and logs its receipt, then applies
cleansing routines and reporting on results of cleansing: what do you do if data is not acceptable - there may be data records that must be rejected entirely, others may have accepted but with errors logged. You can assign "red tape" fields - from which batch did it originate, does it have an associated error record? etc. And you probably need to
assign foreign keys (such as for the Patient ID if there is not a common source for this across the data collection). These are the ETL : Extract, Transformation, Load step(s) These can be built as your sophistication develops with the business needs. If you are OK with handling the ETL through the spreadsheets.
Once ready in the staging tables you can then load into the tables supporting analyses.
A preliminary. high level view (much dependent on a limited concept of what data you do have):
However, with respect to the survey data the structure is extended:
Note the 1:1 relationship of Appointment to each survey response - these could all be combined - but as you have encountered if they were placed in one table the items extend beyond 255 items.
The data sets/ queries are selectable by the dimensions of clinic/patient (type), Clinician/Dr to obtain the relevant appointments and the associated survey responses (as needed for detailed analysis. As said this high level conceptual view - there may be other dimensions not represented (eg Calendar date/periods- if you are not just selecting on the basis of appointment date).
You may also need to rigorously manage the definition of surveys (assuming variations may occur over time), your Clinicians - (presuming name is not sufficient - a medical practice ID?), and Clinics/Providers.
Your spreadsheets are identical in structure, so if all data is good, then you need to work out a standard process by which the Patient, Appointment and (Survey)Response tables are populated from each.