Yes, people with self-inflicted diseases or conditions should be required to take health promotion classes, because they cost us all money. Now that we have socialized medicine, if a person has a self-inflicted disease, we all have to pay for their health insurance, because they cannot deny pre-existing conditions. So they have to learn how not to have these problems that cost us all.
I don't necessarily agree that they should be forced to take a class (unless they broke a law and it is legally required) but I do believe that educating people on how to stop spreading disease and how to keep it from happening to them is a valid reason for a prevention class. I believe the class should be voluntary.
No, if that's what they want themselves then the world should just leave them alone. We can't control people and usually, when you try to control a person, they just do what you're trying to prevent and harder. Trying to force them to take classes would do nothing for the vast majority of people who hurt themselves.
I don't really understand what agency would be responsible for providing health promotion or disease prevention classes. What qualifies as a self-inflicted disease or condition. People should understand the processes that affect their body, but its primarily their own responsibility but doctors should encourage them to learn. I don't see the purpose in using taxpayer money to provide classes for such things when the information is widely available on the Internet.