modified recalculate_adherence