So can't we say "The hospital is next to the bank." if there is a road inbetween? Then another problem arises: "opposite". If there is a road inbetween, should we use "opposite"?
If there is a road between them, you want, "The hospital is across the road from the bank" or, as you have already suggested, "The hospital is opposite the bank". Normally I would use "opposite" if the main entrances of the two faced each other, not in other cases.