"It is with regret to report that the doctor has passed away. He died this afternoon at Midmed private hospital, in Middelburg," spokesperson Mpho Gabashane said.
The SA Medical Association (Sama) named him as Senzosenkosi Mkhize.
A 32-year-old patient allegedly stabbed the doctor in the chest, and a security guard who tried to intervene, in the wrist, at about midday. At the time the doctor was working in the out-patient department, where the patient had gone for a follow-up consultation.
The guard was admitted to the same hospital in a stable condition. The doctor was transferred to a nearby private hospital in a critical condition.
The patient fled the scene and was still at large.
Provincial Health MEC Dikeledi Mahlangu was expected to visit the hospital on Wednesday.
Sama called for better safety measures in hospitals to protect doctors.
"Sama makes a strong call for action, not for yet another empty rhetoric and spin-doctoring, in addressing... safety and security in our hospitals," chairperson of public sector doctors Phophi Ramathuba said in a statement.
"How many more doctors must die? How many more must be robbed? And how many more female doctors must be raped before something is done about safety and security in our hospitals?"