单项选择题

Why haven't you taken the medicine It ______ before dinner
A) should have been taken C) is taken
B) has been taken D) should have taken