Learning causal effects from observational data is not straightforward, because of two reasons:
you have strong confounder bias: treatments are not assigned at random (unlike in an active experiment setup like an RCT). Patients who are more sick will receive more treatment. And
you never observe counterfactuals (if you treat a patient, you do not observe what would have happened if you had not treated this patient).
ML can help tackling the first issue by learning proper representations for your treated and non-treated groups. Simplified: if you manage to find representations for your control and treatment groups so that the distributions of your representations (which contain your confounding factors), you can make unbiased treatment effect estimates.
The second issue can be solved by using (semi-) synthetic data.
Learning causal effects from observational data is not straightforward, because of two reasons:
ML can help tackling the first issue by learning proper representations for your treated and non-treated groups. Simplified: if you manage to find representations for your control and treatment groups so that the distributions of your representations (which contain your confounding factors), you can make unbiased treatment effect estimates.
The second issue can be solved by using (semi-) synthetic data.