Aside from the puzzle...
When I have someone who is weakened, I put them in the garden. They are not healed, but they go for a long walk. This takes time away from any stressful job, which allows them to get better. (Of course, I interchange doing that and having them eat and drink. So it's possibly a good combination of both.)

EDIT: They get weakened when they are hungry too long, sick too long, and when certain events happen.