Syndromic Surveillance! (Part 1)

Several Sophisticated Surveillance Specialists Systematically, Secretly Scrutinized Suspicious Subjects!



Disclaimers :

  1. Opinions expressed in this post (and in any of all my posts) are solely, unless otherwise specified, those of the authors, me. Those opinions absolutely do not reflect the views, policies, positions of any organizations, employers, affiliated groups.

  2. I don't agree with this, but my employer says I don't have the right to share the source code I've written in the course of my work. So, I'll try to say as much as I can without divulging any specific information.

  3. I've strived for accuracy throughout this piece, but if you catch any errors, please reach out—I'd be grateful for the feedback and happy to make updates!



TOC:



Hook:

From June 30 to July 2, 2025, a coordination meeting for the entire 4S network was recently held in Lomé, Togo. During this meeting, a new implementation of the 4S platform was presented to the participants.

Quote:

Le réseau 4S a été conçu pour répondre à un besoin crucial, celui de disposer d'un système régional de surveillance capable de détecter précocément les maladies de santé publique, de renforcer les capacités de laboratoires et de partager des données pour une réponse adéquate et adaptée aux problèmes sanitaires.

Quote :

The 4S network was designed to meet a crucial need: to have a regional surveillance system capable of early detection of public health diseases, strengthening laboratory capacities and sharing data for an adequate and appropriate response to health issues.

The striking disconnect that exists across many sectors, public health included. Officials excel at announcing initiatives and securing funding. Press releases about "implementing advanced early detection systems" generate buzz and demonstrate progress. But when it comes to the unglamorous technical work: database design, API development, system integration... Silence. These crucial implementation details, handled by anonymous engineers and developers, rarely see daylight in public discourse.

While policy makers avoid technical specifics, it's precisely these software choices that determine whether systems function during critical moments.

Great stories are told by some, written by others, and made by yet others. So, as a software engineer currently developing a regional syndromic surveillance system for West Africa using free and open source technologies, let me share with you who was behind the story and how it came to be.


Mother

Definition, context, history:

A syndromic surveillance system is a public health surveillance system that monitors symptom clusters rather than specific confirmed diagnoses. It aims to detect epidemics or public health events at an early stage, by analyzing data in real time.

2007:

Before 2007, Madagascar only had a passive, monthly paper-based reporting system that was too slow for outbreak response. The chikungunya outbreak in the Indian Ocean exposed critical gaps in Madagascar's disease surveillance.

The solution was to setup a real-time sentinel surveillance system using mobile phones for daily data transmission. This implementation was the first nationwide real-time-like surveillance system ever established in Madagascar.

2012:

The Syndromic Sentinel Surveillance System in Senegal, the 4S network, is Another syndromic sentinel surveillance system based on febrile syndromes. It was implemented in Senegal in 2012 and inpired by the Madagascar model.

The criteria of individual target diseases are based on World Health Organization recommended surveillance standards. This means: for each disease or syndrome there is a description of the rationale for surveillance, case definition, types of surveillance, minimum data elements, data analyses and principal uses of data for decision-making.

Data are transmitted on a daily basis by the general practitioners of the sentinel sites. They are validated and analyzed daily within the epidemiology unit of the Institution. These data are sent to the Ministry of Health in the form of a weekly newsletter.

2015:

The existing implementation faced significant challenges. The database consisted of scattered Excel files distributed across multiple locations, making studies and analyses complicated and time-consuming. There was an urgent need to organize, structure, and centralize these disparate files.

To address these issues, a new platform was developed: Teranga. Built using Apache, PHP, Javascript and MySQL, Teranga provides improved data management, enhanced tracking capabilities, modular architecture, and streamlined deployment during outbreak situations.

The new sentinel surveillance system included 17 health centers and identified 4 confirmed outbreaks. The system has proved the feasibility of improving disease surveillance capacity through innovative technological solutions.

2020:

When COVID-19 struck, Teranga rose to meet an unprecedented challenge, becoming the backbone of Senegal's pandemic response. Seamlessly coordinating patient care, traveler monitoring, financial operations, clinical research, and treatment center management across the entire country. The pandemic trully elevated Teranga to a mission-critical status.

2022:

What began as a surveillance system for on institution, evolved to become West Africa indispensable healthcare hub: The 4S network. Teranga is now expanding from Senegal into other West African countries: Gambia, Cape-Verde, Mauritania, Niger, Mali, Togo, Guinea, Guinea Bissau, Sierra-Leone and Benin. The goal being to provide broader coverage and improve health systems in a sustainable and effective manner.

2023:

I am hired by the Institution. I'm tasked with reimplementing the current system, rebuilding it from scratch while improving on what came before. I don't have much say in the tech stack, just enough freedom to go with what works for me. The usual lineup of Debian, Python, Django, Postgresql, Nginx, Podman, Git, Gitlab, Emacs, Tmux, etc ... More on that in the following episodes.

2025:

The surveillance platform my colleagues and I have spent two years developing has now been presented to the public. But public recognition is not really the source of my pride. What matters is that our system, our algorithms, our data structures, our functions, our for loops, our SQL queries are actively making a difference in saving lives. Phew!


Work in progress

4S overview:

identify unusual health events earlier and provide a quicker response.

I can't say it better.

Core principles:

It's really fascinating that these early systems already recognized the core principles we are trying to implement today:

1. Standardized data collection:

2. Data processing and storage:

3. Information sharing:

4. Alerting and notifications:

5. Integration with existing systems:

A drawing is worth more thatn thousand words:

                                    [Health facility]   [Hospital]         [Clinic]
                                          |                 |                  |
                                          |                 |                  |
                                     ┌────┴─────────────────┴──────────────────┴──────┐
                                     │                4S platform                     │
                                     │     • Data collection (Patients, symptoms, ...)│
                                     │     • Data validation & storage                │
                                     │     • Data treatment (Analyses, studies, ...)  │
                                     │     • Data sharing (Reports, alerts, ...)      │
                                     │     • Data dashboards (Statistics, plots, ...) │
                                     └────┬──────────────────┬──────────────┬─────────┘
                                          |                  |              |
                                     ┌────┴────┐             |         ┌────┴────┐
                                     │ Reports │             |         │ Alerts  │
                                     │Analytics│             |         │Warnings │
                                     └────┬────┘             |         └────┬────┘
                                          |                  |              |
                                          |                  |              |
                                     [Public Health]    [Research] [Emergency Response]
                                       Department

This is the platform we are trying to build :) I can stop the post here, thanks for reading ...

The technological stack:

Frontend:

The 4S platform frontend leverages AngularJS with TypeScript, providing a dynamic and type-safe user interface that ensures smooth interactions for healthcare providers.

One of the main component of our architecture is Keycloak, an identity & access management solution that handles user authentication, authorization accross the entire platform. Customizing the Django Rest Framework's authentication classes to handle different tokens sent by different realms was an adventure worthy of an article.

Backend:

The backend infrastructure centers around Python, Django, and Django Rest Framework. With each passing day, as we make progress on the project, I become more and more convinced that it was the right choice. Django is an amazing piece of software, thanks a lot to all its contributors.

Data management is handled by PostgreSQL, our primary database system. I can proudly say that I'm the one who made this choice. Postgresql is known for its reliability, strong adherence to SQL standards, powerful extensibility, support for complex data types, ACID compliance, robust security features, and excellent community support.

To handle real-time communication and event-driven processes such as email notifications, lab result updates, and system alerts, we've integrated Apache Kafka. Kafka ensures that critical healthcare information flows efficiently between different system components without data loss.

In order to detect outbreaks, samples (blood, urine, stool, etc.) must be collected. And to effectively manage vast biological sample collections, ensure data integrity, and streamline complex workflows, we need a Biobank and a Biobanking software. MBioLIMS is the biobanking software we use to manage our samples and their associated data. Here too, I would need to write a really long article telling you how we've managed to do the integration between Django and MBioLIMS :) Hehe!

Operations:

All code versioning and collaboration is managed through Git & Bitbucket, ensuring secure source code management, proper access controls and audit trails. While Bitbucket provides comprehensive version control and collaboration features, I'm still convinced it was not the right choice. Gitlab ? Gitea ? Github ? Come on!

The 4S platform is in fact a constallation of multiple running containers. Those containers are built using Docker and Podman technologies, enabling consistent deployment across different environments while simplifying development and testing workflows. I mean, I'm the only one using Podman while all my teammates are still using Docker :\

Our continuous integration and deployment pipeline is powered by Jenkins. Jenkins automates testing and deployment processes to maintain code quality and enable rapid, reliable updates. I prefer GitlabCI by 13 parsecs.

Kubernetes is used for container orchestration, deployment and operations. K8s provides automatic scaling, load balancing, and high availability to ensure our platform can handle varying loads and maintain uptime. My opinions on this tool are mixed.

In one side, K8s will allow us to easily scale our applications up or down based on demand. This is a critical requirement for managing sensitive healthcare information. In the other side, I live in a part of the world where most medical facilities (most people, let's be honest) do not even have a working domain name, website, and email address. How can we ask them for the DevOps expertise to manage a Kubernetes cluster?

Even more:

There are other components of this system that exist but which I am not familiar with. We have a DHIS2 intgration mecanism, we have an Apache Superset instance for data visualization and exploration. And we have a SonarQube instance for inspecting code quality and security.

The engineering team:

This article is also for my fellow developers who built the 4S network under impossible constraints—limited budgets, legacy infrastructure, unrealistic timelines. My colleagues engineers writing scripts to detect disease patterns, configuring servers that never get enough resources. My teammates who's written documentation that nobody reads but everyone depends on. I'm talking about the people who made the story:

Cisse:

Cisse a.k.a "Celui qui fait bouger le monde", plays a crucial role in coordinating activities across the Institution Digital Factory team. His expertise extends to managing and preserving the integrity of biomedical data within the Institution. He works closely with stakeholders to validate specifications of new health applications. To uncover more about him, follow this link.

Mame Astou:

As an integral member of the development team, Mame Astou a.k.a "Madame La Directrice", craft robust and dynamic web applications while maintaining a keen eye for intuitive user interface design. She knows how to create user experiences that prioritize both aesthetic appeal and seamless usability. What would we be without her? Absolutely nothing. To uncover more about her, please visit this page.

Diom:

Diom, a.k.a "Le Grand Marabout de l'Architecture", is a DevOps engineer who bridges the gap between development and operations. With expertise in containerization technologies, cloud platforms, and monitoring solutions, he design and maintain scalable deployment environments while ensuring system reliability and security.

Abdoul Karim:

Abdoul Karim is probably the pillar of the team, always ready to make concessions and take responsibility. His technical experience spans multiple domains. It would take me hours to explain why he is an excellent engineer. Just go and find out by yourself how great he is.

Mariama:

Mariama a.k.a "La Sauveuse De Tous Les Hommes", has a deep knowledge of Scrum and agile principles. She guide the team through iterative development cycles while fostering continuous improvement and team collaboration. We are still waiting for that one day she will finally write a few lines of TypeScript. Access Mariama's comprehensive profile by following this link.

Birante:

Birante has an exceptional expertise that encompasses everything from custom UI animations and state management to integrating native device features and third-party services. He is able to deliver native-quality experiences across both iOS, Android and Web platforms. He secretly dreams about rewriting all the 4s platform using RoR applications. Here is a link to get the complete picture about Birante.

Tidiane:

Tidiane, a.k.a "Le Sage", a.k.a "The Biobank expert", is probably the wisest and most reserved member of the team. Tidiane is a seasoned backend developer who brings deep expertise in Django framework development. He excel at designing robust APIs and implementing complex business logic that powers modern web applications. If you know anyone who works at Mbiolims, please tell them they should hire Tidiane. His background can be found here.

Adrien:

Aux âmes bien nées, la valeur n'attend point le nombre d'années. Adrien, the youngest in the team, is a software engineer with an extensive experience in developing RESTful APIs, managing database migrations, and implementing automated testing frameworks within Django projects. For additional information about Adrien, visit this link.

Guys, your dedication, your resilience, your ingenuity deserve recognition far beyond what they receive. Thank you.

The roadmap:

Right now we're developing comprehensive features related to "case management". Those features will enable healthcare providers to track patient journeys from initial consultation through treatment completion, ensuring continuity of care and improved outcomes.

We plan to extend our platform to handle a wider spectrum of medical conditions and syndromes, transforming it from a specialized tool into a comprehensive healthcare management solution.

Our platform will also align with the One Health approach, recognizing the interconnection between human, animal, and environmental health.

Data exchange with other healthcare systems, electronic health records, and medical devices, is something we need to work towards. We really need to meet evolving healthcare standards and prepare for international expansion. While I agree we didn't put enough efforts on this, compliance and interoperability remain central to our development strategy.

More on the topic:

Writing about 4S implementation could fill volumes. For those ready to dig deeper into the technical and policy dimensions of public health surveillance, and before I write the second part of this series, here are resources that expand on the key concepts discussed:

Some people we might want to collaborate with:

If you found this article interesting, please share it with your entourage. Tell them there are people here who save lives with free and open source software.