Cardinal Health pays $34M settlement