When to choose an attribute vs. a new dimension?
To make gender a freestanding "dimension" is, more likely than not, an attempt to normalize your dimensional model. Unless you have attributes associated with gender then how is it a dimension? Is it possible to have a conformed gender dimension?

As for diagnosis are you modeling the process or the values? Very different requirements and issues to deal with. I would imagine a series of dimensions and facts to accurately keep track of the diagnosis process.

Disk space... considering our modern computing environment, space is your last optimization/design concern. If it truly is, you should know this for certain.


  what if gender changes? How can I track that?


SCD Type 2 Dimension


  how can I track a patient's flow/change of diagnoses?


Transactional or Accumulating Snapshot Fact table(s)