Topic/disease cleanup

This part was hard to read, and had some duplicated code for handling corprus checks.  I think this should be easier to follow later.