A man opened fire early Saturday at St. Vincents Hospital in Alabama, wounding a police officer and two hospital employees before being shot and killed by another officer, authorities said.