Three children are in critical condition after a collision between a school bus and a one-tonne truck north of Calgary.

Six other students are in hospital in non-life threatening condition. The female bus driver was also taken to hospital, but there has been no word on her condition.

The crash happened just after 8 a.m. MT Friday near Crossfield, Alta., which is about a 40-minute drive northeast of Calgary.

Amanda Albrecht, who arrived on scene not long after the crash, said she just started doing what she could before emergency crews could get to the rural location.

“You don’t really think, you just kind of act,” she said.

Albrecht spent most of her time with a five-year-old boy, who she says was in and out of consciousness. The boy was airlifted to Alberta Childrens' Hospital.

“[I] was just holding his hand and talking with him, trying to keep him calm,” she said.

Crossfield Mayor Nathan Anderson said Friday that he was seriously concerned about the boy.

"He's fighting for his life, but I understand he is doing a little bit better, marginal, but we hope we'll have a good outcome there," he said.

Students from Crossfield, Alta.

The nine children attended either Crossfield Elementary School or WG Murdoch School in Crossfield, part of the Rocky View School Division. Reports of how many children were on board the bus have been changing throughout the day. Emergency personnel who were at the scene confirmed Friday afternoon that there were nine children and one adult aboard the bus. ​

The scene of the accident at the intersection, that is northeast of Calgary, on Friday morning. (CBC)

Crisis teams are at both schools to help students, teachers and parents who may be in shock.

Anderson said he is also concerned about local firefighters, who were first on scene.

"These guys know these kids and these families, they've been here forever. So it shook a lot of them up to see the kids."

A STARS Air Ambulance transported the five-year-old to Alberta Children's Hospital in Calgary just before 9 a.m. MT, said RCMP Const. Robert Frizell.

The eight other students and the woman who was driving the bus were also taken to hospital with less serious injuries, said Judy Unsworth, Rocky View County’s district fire chief.

Parents of the children have been notified.

The driver of the Ford F-350 pickup truck also suffered minor injuries, said Unsworth.

Accident scene investigated

The school bus crash happened on Highway 791 at Township Road 290, north of Calgary and east of Crossfield, Alta. (Google)

The truck was travelling south when it collided with the westbound First Student Canada bus on Highway 791 at Township Road 290, RCMP said. The school bus did have a stop sign.

Eight ambulances from Calgary and emergency crews from Rocky View County responded to the accident scene.

A collision analyst is on scene to investigate how the accident happened.

While it is not clear what went wrong, there are questions about whether seatbelts in the bus would have helped.

Premier Alison Redford says the province has studied the issue of seatbelts in school buses, including a report in 2008, but the advice is conflicting.

"The work that we sought in the last report indicated that there is just as much risk, or some risk at least, of those seatbelts causing additional harm or additional safety concerns," she said.

Redford says it's an issue that will be revisited again, but for now she is advising everyone to wait for the facts to be determined about the accident before making the link to the use of seatbelts.

"My heart goes out to the families that are dealing with that," she said. "It's a very scary situation."

Alberta Minister of Education Jeff Johnson issued a statement Friday afternoon saying the students and driver were receiving the best level of care possible.

“My thoughts and prayers are with the families and school communities of all those involved in these unfortunate incidents," said Johnson, also referring to another incident where two children were hit by a vehicle and then pinned underneath it Friday morning in Calgary.