Perhaps Catholic institutions shouldn't be forced to perform actions against their beliefs, but then they don't get to use the word "hospital" in relation to whatever their building does.
I feel this should apply to pharmacies too. If you want to have pharmacists that can deny you valid prescriptions from your doctor, then they don't get to call that building a "pharmacy". Just like cigarettes there should be a large lettered warning on the door to the establishment informing you that the person inside has indicated they will deny you a prescription if they feel like it. If the pharmacists want to exercise their moral discretion, they don't get to use the word "pharmacy" for whatever building/business they're doing it in.