Lorena Enebral Perez, 38, was shot inside the aid group's rehabilitation centre in the city of Mazar-i-Sharif, where she treated disabled children, women and men including amputees, the International Committee of the Red Cross said in a statement.
Perez was taken to the NATO military base hospital at Camp Marmal where she died of her wounds.
“Energetic and full of laughter, Lorena was the heart of our office in Mazar. Today, our hearts are broken,” said Monica Zanarelli, the ICRC's chief in Afghanistan.
— El Español (@elespanolcom) September 11, 2017
“Lorena was a skilled and caring physiotherapist who assisted patients, especially children. The violent fluctuations of life seem particularly cruel today.”
Two people have been arrested over the deadly attack, including the 21-year-old shooter whom police said was a “regular patient”.
“He had hidden the pistol in his wheelchair which he used to shoot the victim,” police spokesman Shir Jan Durrani told AFP.
Deputy police chief Abdul Razaq Qaderi said the man “opened fire on the doctor as soon as she entered the consultation room”. The motive for the attack was not clear.
It was the latest deadly assault on the Red Cross in northern Afghanistan, where Taliban and Islamic State militants have been terrorising the local population.
Aid workers have increasingly become casualties of a surge in militant violence in recent years.
Most of the Red Cross's programmes in the north have been on hold since February, after six Afghan employees of the ICRC were shot dead when their convoy was ambushed in Jowzjan province.
Two of their colleagues were abducted and only released by their captors last week.
No group claimed responsibility for the abduction or killings but Jowzjan police had blamed local IS jihadists.
Last December a Spanish Red Cross employee was abducted when workers from the charity were travelling between Mazar-i-Sharif and the neighbouring Taliban hotbed of Kunduz.
He was released several weeks later.