A doctor, a newly graduated pharmacist and a police officer were killed after a gunman opened fire at a hospital in Chicago, police say.
The gunman was seen arguing with the doctor, Tamara O'Neal, who he had been in a relationship with, before shooting her and turning his gun on others.
The shooter, named as Juan Lopez, 32, also died but it is not clear if he was killed by police or took his own life.
Mayor Rahm Emanuel said the attack "tears at the soul of our city".
"It is the face and a consequence of evil," he said, adding that the three victims were "all going about their day, all doing what they loved".
The shootings began with a row in the Mercy Hospital car park between the gunman and Dr O'Neal at about 15:00 local time (21:00 GMT) on Monday.
When a friend of the doctor's tried to intervene "the offender lifted up his shirt and displayed a handgun", Chicago Police Superintendent Eddie Johnson said.
As the friend ran for help, gunfire broke out, witnesses said.
One witness, James Gray, told reporters he saw Dr O'Neal fall to the ground and then the gunman "stood over her and shot her three more times".
When police arrived, the gunman then moved into the hospital, shooting at random and killing pharmacist Dayna Less who was getting off an escalator at the time.
In an exchange of fire with the gunman, police officer Samuel Jimenez was killed. A second police officer avoided injury after a bullet fired in his direction became lodged in his gun in his holster.
Hospital patients scrambled to find cover under desks, police and Swat teams moved through the hospital in search of the gunman, and officers locked down hospital wings, including the nursery.
Hector Avitia, who was in the hospital waiting room with his wife, told the Chicago Tribune that he tried to get people away from windows as the bullets started flying.
"I've heard shootings," he said. "I've known people that have died in the neighbourhood like that. But something like that? No."
"He was just shooting like a maniac," he continued. "And he obviously knows how to shoot because he was holding the gun with both hands."
What more do we know of the victims?
Dr O'Neal was an emergency physician at Mercy Hospital on Chicago's South Side. Dr Patrick Connor, director of the hospital's emergency department, said she had been "dedicated to caring for her community - a wonderful individual".
The gunman and Dr O'Neal had been engaged, and were had been planning to marry on 27 October - but that date passed without a wedding, according to CBS Chicago.
Dr Connor said Dr O'Neal had graduated from the University of Illinois College of Medicine in Chicago in 2016, and had been raising money for disadvantaged children while also leading her church choir.
After completing her first degree from Purdue University, she worked two jobs before beginning medical school, according to her hospital bio.
Dr Connor also paid tribute to 25-year-old Dayna Less, saying she had joined the hospital in July as a first-year pharmacy resident and was a recent graduate of Purdue University.
#ChicagoPolice Officer Samuel Jimenez died a hero today. He was killed doing what cops do — running into the danger to save others. Sending our condolences and prayers to Officer Jimenez’s family and everyone at @Chicago_Police. #NeverForget pic.twitter.com/Uv4Zkr7Cg2— Chief Terence Monahan (@NYPDChiefofDept) November 20, 2018
Police officer Samuel Jimenez was a 28-year-old married father of three young children. "We cannot thank him enough for his courage and bravery today," Dr Connor said.
The officer who was shot at but escaped injury during the incident shared images of a bullet embedded in the side of his gun, Chicago news broadcaster ABC7 reported.
Shots were fired at a 2nd CPD officer in the Mercy Hospital Shooting, but he wasn't injured. Instead, the bullet struck his holster and embedded itself in his gun: https://t.co/hVPwgbrkXv pic.twitter.com/OvMI0ln3l6— ABC 7 Chicago (@ABC7Chicago) November 20, 2018