Constitutional: If the government can force you to buy something from a private company there's not really much left that it can't do. In fact this was the argument the Supreme Court made when it refuted that governments argument that the Affordable Care Act was justified by the commerce clause--that such a broad interpretation of the commerce clause would essentially grant the federal government unlimited power. However, the justification that the Supreme Court actually went with, that the ACA was basically just a tax, is a bit ridiculous because it has almost all of the same problems.
Basically the difference according to the supreme court is that congress doesn't have the authority to make it illegal not to buy health insurance. They can't throw you in jail for not buying health insurance. But they can tax you for not paying health insurance and throw you in jail for refusing to pay the tax. The end result is pretty similar.
Practical: This has more to do with the Affordable Care Act after the Supreme Court made some alterations, rather than the bill that was passed. The subsidies provided by the ACA are only for people making an income above some multiple X of the poverty line, and below some multiple Y. People with very low incomes were supposed to be covered by an expansion of medicaid, but the Supreme Court ruled that congress can't force states to expand medicaid. So in more than half the states people making just above a certain threshold get essentially free healthcare, while people making below it get nothing. In these states the ACA has done almost nothing to help the very poorest.
I would have honestly supported a single payer system and a universal (but progressive) tax instead of this public private hybrid with punitive taxes.
However, i think removing the ability for insurance companies to charge based on preexisting conditions, and the supplements provided for most middle class people will go a long way towards decoupling employment and health insurance. I generally support anything that will increase personal autonomy and allowing more people to work for themselves is a great way to do that.