An enraged gunman, said to be dressed as a doctor, has killed at least one medical worker before talking his own life at a hospital in New York, police have said.

At least six people are believed to have been shot when gunfire rang out in the Bronx-Lebanon Hospital, in New York, at around 2.50pm (local time) on Friday (30 June).

The New York Police Department has urged the public to avoid the area around the hospital at 1650 Grand Concourse.

Police cars and firetrucks rushed to the scene and officers were seen on the roof of the building with their guns drawn.

A law enforcement official told The Associated Press (AP) that the gunman, wearing a lab coat and carrying a rifle, had killed himself.

Police were forced into checking the building floor-by-floor .

The New York Daily News said that sources identified the shooter as disgruntled former family physician Dr. Henry Bello, 35, who may have used an M-16 type rifle.

It was not reported why Bello was no longer working at the hospital.

Despite reportedly wearing a lab coat the NYPD Special Operations Division posted to Twitter: "Active shooting in Bronx Lebanon Hospital... Man dressed all in black. Smoke from the 16th floor".

Crazy police presence out here in the Bronx on Grand Concourse

A post shared by Avens (@sneva81) on

The gunman is believed to have barricaded himself on the 16th floor while the hospital was evacuated.

"I heard two doctors got shot 20 times, both of them," said Jasmine Mercado, 24. "They said the person was going from the ninth floor to the eighth floor shooting."

Patient Felix Puno was trapped on the fourth floor radiology department, and told the New York Daily News: "Building is in complete shut down, I was in the middle of getting an x-ray when security alerted us to the active shooter situation and locked us in.

"As far as we know police are here doing a floor-by-floor sweep."

EMS Counterterrorism also attended the 972-bed hospital to help search for victims.

Bronx Lebanon Hospital
Shots were fired at the Bronx Lebanon Hospital in New York. Google maps