Townies heal 1 hp everytime they sleep, it's actaully a bug.
After 24 hours (doesn't have to be continues) in the hospital, townies will go to 100% health
Then the part where this is an alpha come in, Soldiers only do three things, in this order, eat, sleep, seek out monsters. They do not worry about their health at all. They will fight themselves to death. Unless you change them into civilians while they are not seeking out enemies, and there are no enemies within 5 blocks of them, they will die. The suggested method of clearing dungeon floors is to issue a large mining order in the room you wish to clear, and set mining to be high in the priority list. Your townies will run down to mine, kill all the enemies, you then cancel the mining order, and they go back to doing other things.