At least 47 people were killed today and more than 50 injured when a shell struck the last hospital inside the so-called no-fire zone in north-eastern Sri Lanka, where casualties of the country's brutal civil war are being treated.

A doctor working in the hospital said the shell appeared to have been fired from government positions. The United Nations described what appeared to have happened as a war crime.

The attack was confirmed by members of the medical staff working in the hospital, set up in Mullaivaikal East primary school. The Sri Lankan military has denied using heavy weapons against civilians in the area.

But one of the doctors working in the hospital at the time of the attack was able to say later that the shell appeared to have been fired from government positions.

Following the shelling, the tiny group of medical professionals continued their campaign to save the lives of those trapped by the fighting and to bring the killing to the attention of the wider world.

Doctors, nurses and medical administrators working out of a single room in their makeshift hospital in the school have become the eyes and ears of the world in this conflict. The government in Colombo has sought to dismiss them, to claim that they are pawns of the Liberation Tigers of Tamil Eelam (LTTE), or even to claim that some do not exist.

Yet the medics continue to provide a running commentary on the slaughter. Todaytheir number was reduced by one more, as a government-appointed administrator joined the toll of the dead. He and two volunteer workers were among at least 47 people killed when a shell struck the hospital at about 7.30am.

The hospital was packed with more than 1,000 patients awaiting evacuation by a ship operated by the International Committee of the Red Cross. Many of the patients fled after the attack and staff in the hospital said shells continued to fall around the perimeter.

Dr V Shanmugarajah said that 47 people died and 56 were injured. Shanmugarajah said he was in the operating theatre when the shell struck. He added that the shell appeared to have come from the direction of Puthukkudiyiruppu, an area held by government forces.

Yesterday afternoon, another member of staff at the hospital – who gave his name only as Stephen – said: "Today at 7.30am one shell fell in the hospital admission ward near a temporary shelter. At the time of the shell there were 47 deaths. This includes already injured patients and bystanders and our staff.

"Now also heavy shelling is going on in this area and heavy fighting is going on. Today the situation is worse because all of the patients ran away from the hospital after this incident." A second doctor, Thurairaja Varatharajah, the government-appointed regional health director for Mullaitivu, put the death toll at 49 and said it was expected to rise.

In a video recording released later through the group War Without Witness, Shanmugarajah was seen talking to patients and then addressing the camera. "Both the patients and their helpers were sleeping next to each other in tarpaulin sheets," he said. "We didn't have the facility of a safe bunker. The artillery hit directly on the hospital and caused this damage. When the shell hit, all people were running to save their lives ... it was chaos ... it is difficult for me to ask other staff to stay and work."

According to the Sri Lankan ministry of defence, its forces continue to advance into the last remaining stronghold of the LTTE.

The UN estimates that between 50,000 and 100,000 civilians remain trapped inside the tiny pocket of land.