I would recommend a hospital plan like a Discovery Core plan or even the Smart plan, do not get a plan with a medical savings account, I don't think its worth it, you're basically giving them your own money to keep and pay for day to day medical expenses, you can do that savings on your own.
Then get GAP cover by either Discovery or Stratum.
Stratums GAP cover also pays for casualty stuff if you're not admitted, like if you twist your ankle and need an xray. (That's what their website says, I haven't used it)
Discovery Vitality isn't really worth it if you don't fly or stay in hotels alot, so just keep your current gym contract.
The only downside from all this is that you won't get any cover for Dentist visits.