Skip to main content

Error message

  • Warning: Undefined array key "title" in template_preprocess_links() (line 661 of core/includes/theme.inc).
    template_preprocess_links()
    call_user_func_array() (Line: 261)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 128)
    __TwigTemplate_9c468284e9d26e322b2a3d3149c31d21->block_content() (Line: 456)
    Twig\Template->yieldBlock() (Line: 76)
    __TwigTemplate_9c468284e9d26e322b2a3d3149c31d21->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 67)
    __TwigTemplate_6189542c58ee3c62a024a513de1ead33->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 111)
    __TwigTemplate_f2fdfa9edc7a6492a3b86d4105db5b32->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 177)
    __TwigTemplate_61ef858edd0669fb8c726db25524cf9f->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 503)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 46)
    __TwigTemplate_29b6bfc80338a93f0de70ca28bc6de70->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 123)
    __TwigTemplate_cb82490e8c8a86cb2e018713f9394ef2->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 158)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 153)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 185)
    Drupal\cloudflare\CloudFlareMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Warning: Undefined array key "title" in template_preprocess_links() (line 717 of core/includes/theme.inc).
    template_preprocess_links()
    call_user_func_array() (Line: 261)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 128)
    __TwigTemplate_9c468284e9d26e322b2a3d3149c31d21->block_content() (Line: 456)
    Twig\Template->yieldBlock() (Line: 76)
    __TwigTemplate_9c468284e9d26e322b2a3d3149c31d21->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 67)
    __TwigTemplate_6189542c58ee3c62a024a513de1ead33->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 111)
    __TwigTemplate_f2fdfa9edc7a6492a3b86d4105db5b32->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 177)
    __TwigTemplate_61ef858edd0669fb8c726db25524cf9f->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 503)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 46)
    __TwigTemplate_29b6bfc80338a93f0de70ca28bc6de70->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 123)
    __TwigTemplate_cb82490e8c8a86cb2e018713f9394ef2->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 158)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 153)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 185)
    Drupal\cloudflare\CloudFlareMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Warning: Undefined array key "title" in template_preprocess_links() (line 661 of core/includes/theme.inc).
    template_preprocess_links()
    call_user_func_array() (Line: 261)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 128)
    __TwigTemplate_9c468284e9d26e322b2a3d3149c31d21->block_content() (Line: 456)
    Twig\Template->yieldBlock() (Line: 76)
    __TwigTemplate_9c468284e9d26e322b2a3d3149c31d21->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 188)
    __TwigTemplate_6189542c58ee3c62a024a513de1ead33->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 111)
    __TwigTemplate_f2fdfa9edc7a6492a3b86d4105db5b32->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 177)
    __TwigTemplate_61ef858edd0669fb8c726db25524cf9f->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 503)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 46)
    __TwigTemplate_29b6bfc80338a93f0de70ca28bc6de70->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 123)
    __TwigTemplate_cb82490e8c8a86cb2e018713f9394ef2->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 158)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 153)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 185)
    Drupal\cloudflare\CloudFlareMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Warning: Undefined array key "title" in template_preprocess_links() (line 717 of core/includes/theme.inc).
    template_preprocess_links()
    call_user_func_array() (Line: 261)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 128)
    __TwigTemplate_9c468284e9d26e322b2a3d3149c31d21->block_content() (Line: 456)
    Twig\Template->yieldBlock() (Line: 76)
    __TwigTemplate_9c468284e9d26e322b2a3d3149c31d21->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 188)
    __TwigTemplate_6189542c58ee3c62a024a513de1ead33->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 111)
    __TwigTemplate_f2fdfa9edc7a6492a3b86d4105db5b32->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 177)
    __TwigTemplate_61ef858edd0669fb8c726db25524cf9f->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 503)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 46)
    __TwigTemplate_29b6bfc80338a93f0de70ca28bc6de70->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 123)
    __TwigTemplate_cb82490e8c8a86cb2e018713f9394ef2->doDisplay() (Line: 411)
    Twig\Template->yield() (Line: 366)
    Twig\Template->display() (Line: 381)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 490)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 158)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 153)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 185)
    Drupal\cloudflare\CloudFlareMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
In Musina, thousands of people queue daily for buses back to their home countries after being displaced by anti-migrant violence and harassment in South Africa

South Africa

Displaced people in Musina queue for buses to nearby countries after facing anti-migrant violence and harassment. Democratic Republic of Congo, July 2026.
© Kate Stegeman/MSF

In South Africa, we help people with their management of non-communicable diseases and assist undocumented people and migrants in accessing healthcare.

Our activities in 2025 in South Africa

Data and information from the International Activity Report 2025.

MSF in South Africa in 2025 In South Africa, Médecins Sans Frontières assisted foreign nationals physically blocked from accessing public health facilities by anti-migrant groups, while continuing to run a non-communicable diseases (NCDs) project in Butterworth.
Country map for the IAR 2025.
Country map for the IAR 2025.
© MSF

From July through September, anti-migrant groups camped outside dozens of clinics and hospitals in Gauteng, preventing foreign nationals, including pregnant women and people living with HIV, from seeking medical care. 

Our teams refilled antiretroviral medication for people living with HIV who could not collect it themselves at the blocked health facilities, and we referred patients to alternative health facilities unaffected by blockages. 

Throughout 2025, we continued to run an NCD project in Butterworth, Eastern Cape province, in partnership with the Department of Health. To strengthen skills for NCD management, we launched a side-by-side nurse mentorship and coaching programme across seven facilities, and classroom-based training for health professionals in 60 Department of Health facilities. In addition, to promote patient wellbeing, we piloted healthy lifestyle groups with two community-based organisations, focusing on educating members on nutrition, diet, and exercise. Participants were then encouraged to engage in healthy cooking and gardening activities, organised in collaboration with the Department of Agriculture. 

After training health staff, we piloted the use of HbA1c blood testing for diabetes* in five of the seven facilities. In addition, we donated equipment and supplies for NCD management and diagnosis, such as digital blood pressure monitors, vital signs monitors, height and weight scales, and glucometers. 

By the end of 2025, we had renovated and equipped an additional external pick-up point for medication, bringing the total number to four. Pick-up points provide reliable and accessible medicines for patients with chronic diseases. They are managed by trained community members, who distribute the medication free of charge to patients on behalf of the government. 



* This form of testing provides a longer-term understanding of glycaemic control, particularly for people who are pre-diabetic or living with Type 2 diabetes. 
 
In 2025
Filter Tips
  • Try a different country, year, format, or topic.
  • Clear one or more filters

MSF job opportunities in South Africa

Most recent Closing date CREATE ALERT

Contact us

Learners of Hhashi High School in the remote  Umlalazi Municipality under Uthungulu Districtict in KwaZulu-Natal stand in line to receive HIV Counselling and Testing at Medecins Sans Frontieres (MSF) Mobile 1-Stop Shop. MSF uses the vehicle to deliver HIV Counselling and Testing to people of all ages in rural KwaZulu-Natal, the South African province with the highest prevalence of HIV infection.
MSF South Africa

7th Floor, Zurich House
70 Fox Street, Marshalltown
Johannesburg
South Africa