There are many causes for a villager to become weakened. They can be weakened by starvation, disease, on-the-job injuries, old age, and Island Events, to name a few. Some occupations are more hazardous than others, so moving them to a different job can help.
The only way to get them completely healthy again is to eliminate the cause of their deterioration (get more food, heal them, etc.) and allow them to rest and eat. Taking them to the food supply and repeatedly making them eat (at least 8-10 times) will improve their health, but they will get better on their own as long as they don't suffer further damage to their health.
_________________________
Barbara
Unicorn
Last Day of Work