Officers confirmed that the suspected shooter, who was armed with a rifle and a handgun, was also dead.
Police arrived at the scene on Wednesday afternoon at St Francis Hospital in three minutes – which they say ensured the death toll wasn’t higher.
Multiple injuries had also been confirmed, officials added.
Speaking at a press conference on Wednesday, Deputy Police Chief Eric Dalgleish said: “Right now we have four civilians that are dead, and one shooter that is dead.”
He said the shooter, who has not yet been identified, sustained fatal gunshot wounds which were believed to have been self-inflicted.
The suspect “had one long gun and one hand gun on the scene at the time”, he said.
No information was available about a possible motivation for the attack.
Deputy Dalgleish said that police received a call about an active shooter at 16:52 local (20:52 GMT) and arrived at the scene within three minutes.
“The officers who did arrive did hear shots in the building and that’s what directed them to the second floor,” he said.
Officers are currently interviewing witnesses throughout the building, including those who were on the second floor – where the attack took place.
Speaking to ABC News, Captain Richard Meulenberg said that by the time police arrived at the medical campus they “found a few people have been shot” and some of them had already died.
It was a “catastrophic scene”, he said.
US President Joe Biden has been briefed on the Tulsa shooting, White House officials also said in a statement.
Last Saturday, President Biden urged Americans to make their voices heard to prevent further gun violence, following the killing of 19 children and two teachers at a school in Texas.