单项选择题

Why haven't you taken the medicine It ______ before dinner

A.should have been taken
B.has been taken
C.is taken
D.should have taken