If you have an offer from a school (let's call it school X) but you have not yet heard from another school (let's call it School A), and School A is more desirable to you than School X, then I think around April 1 is a good time to contact School A and ask if you would be able to get some information on the status of your application soon. This is because you have the April 15 deadline from School X and if you have a chance at School A, then you don't want to accept School X until you know School A has rejected you.
So, you should contact School A soon and let them know you are interested in their program still. Ask about your status and whether or not they will be able to let you know more information before April 15 (or ask for a date estimate if it's after April 15). Then, depending on how they respond....
1) If they say they have already finished making decisions, then you are rejected so you should go ahead and accept School X (unless of course, there are other schools you are waiting for, then go through the same steps with these other schools).
2) If they say you will find out prior to April 15 then just be patient and see what happens.
3) If they say you are on a waitlist and probably will not find out until after April 15 then hopefully you can get a date estimate. Ask School X to extend your deadline to the same date. If you are not able to get this extension, then accept School X on April 15 and change your mind to School A if you get accepted later on (this is very very not ideal but in the current system, there is no better way for you to act)
4) If the school does not respond then try again next week and the week after. If you still get absolutely no information and it's April 15 then follow Step 3 above (again not ideal but you would have done everything you can to avoid this situation).