I'm sorry about your son's condition.
This is unfortunately one of the problems with social security.
What began as a noble program to give the indigent elderly a choice other than either working until they died or starving to death has been corrupted by the government into a giant social welfare program.
Instead of supporting those in need (like your son) out of general revenue, the government in it's finite wisdom decided to pay for his care out of social security. Now, perhaps millions of persons (most far less deserving than your son) receive SSI- some for 'disabilities' such as obesity and drug addiction.
This constant 'mission creep' has resulted in social security payouts growing at a rate that is unsupportable by payroll taxes. Add this to the fact that there is not now and never was a "social security trust fund" (the monies having been spent on day-to-day operations, which lands you in jail if you manage a private pension fund) and you see why the system is in such trouble.
The only recourse is to either
1. reform the current system (which would require billions in new revenue to take over social security's off-mission responsibilities)or
2. throw it out entirely and copy Chile's successful system (which would again require trillions to meet the current and future obligations of the existing system.)
20% of Chile's "successful" system is eaten up in fees.