No-show patients cost the NHS £162m a year