Dr Thurairajah Varatharajah, the region's most senior health official, said that the shells appeared to have been fired by the Sri Lankan army and caused extensive damage to the hospital.
More than 500 patients were inside the hospital, one of the few still operating in an area where government forces say they are conducting the final phase of operations to overcome the Tigers.
"We're shocked that the hospital was hit," Paul Castella, the head of the International Committee of the Red Cross in Colombo, Sri Lanka's capital, said.
Sophie Ramanens, an ICRC spokesperson, told Al Jazeera: "Humanitarian law has to be respected ... we call on both parties to respect their obligations to spare medical facilities."
The ICRC did not say who was responsible for the latest attack, but people injured by the ongoing fighting continued to arrive at the hospital.
"The staff are under acute stress, surrounded as they are by the sound of the ongoing fighting and the influx of new patients," Morven Murchison-Lochrie, an ICRC medical coordinator at the hospital, told the AFP news agency.
"Ambulances are constantly arriving, but people are also being brought in by wagon, pick-up truck, tractor and even motor scooter."
Brigadier Udaya Nanayakkara, a military spokesman, said that the army was not responsible for the attacks.
"Now the LTTE is firing very desperately everywhere artillery ... one of these shells may have fallen into that area," he said.
Al Jazeera's Tony Birtley, who recently returned from northeastern Sri Lanka, said: "The army is saying they are not shelling into that area [where the hospital is]. They say they have sophisticated equipment to target the Tamil Tigers directly.
"War is very murky. We don't know exactly what is going on.
"Civilians are being pushed to an ever decreasing area. We're being told the Tamil Tigers are finished fighting but we think there is a lot more fight in them. We think civilians are being used as human shields."
About 250,000 people are stuck in a 300sq km area near the northern town of Mullaittivu where advancing government troops are said to have surrounded the rebels, according to the ICRC.
The government puts the number at about 120,000.
Hundreds of civilians, including children, have been killed or wounded in fighting since last week, the Red Cross has said. Colombo disputes the figures.
| Aid groups continue to call for both sides to avoid civilian casualties [AFP]
No independently confirmed figures for casualties in the recent fighting are available.
The army has declared that rescuing civilians trapped by its offensive against the Tigers is one of its top priorities.
Colombo has accused the rebels of holding the civilian population hostage for use as human shields.
The LTTE denies the allegation and has said people are refusing to go as they fear being abused by the army.
S. Pasupathi, the co-ordinator of the World Tamil Relief Fund, told Al Jazeera that Tamil civilians "simply don't trust the Sri Lankan government".
"It is impossible for the LTTE, with a small number of soldiers, to hold onto 250,000 Tamils," he said.
"I think they [the people] feel safer in LTTE-controlled areas than the safe zone or army-controlled areas."
The Tigers have been fighting since 1983 for a separate homeland for ethnic minority Tamils in the north and east.
More than 70,000 people have been killed in the civil war.