The U.S. House of Representatives and Senate have passed sweeping legislation to reform the government health care program for the elderly known as medicare. It is a top domestic priority for President Bush.

Under the plan, older Americans could choose between plans put forward by private insurance companies and those partially subsidized by the federal government to help pay for prescription medicines. Lower income senior citizens would receive greater government aid to pay for their drugs.

Under the current system, many poor elderly people often do without doctor-prescribed medicines because they cannot afford to pay for them.

Senator Charles Grassley, an Iowa Republican, a co-sponsor of the Senate bill, spoke as lawmakers neared a vote. "This issue has momentum. After five years of talk about prescription drugs, this Congress is within reach of helping senior citizens with life-enhancing medicines and to strengthen medicare both for the consumers and for the tax-payers," he said.

Some Democrats said the legislation did not go far enough. But Senator Max Baucus, a Montana Democrat who co-sponsored the bill, said it is a good start. "This is just a first step, this is a down-payment, this is the beginning," he said. "There is a lot more we have yet to do."

President Bush invited lawmakers to the White House Wednesday to press them to pass the legislation, which represents the most far-reaching overhaul of the medicare system since it was signed into law by President Johnson in 1965.

Differences in the House and Senate versions of the legislation will have to be reconciled before a final bill is signed by President Bush.

Older Americans are becoming a fast-growing segment of the U.S. population, and Mr. Bush could tout the legislation as he campaigns for reelection next year.