De uitdaging
Het e-loket van het Departement Zorg ondersteunt organisaties en professionals bij uiteenlopende gereguleerde zorgprocessen. De server-side MVC- en jQuery-applicatie had doorheen de jaren veel thematische trajecten, integraties en operationele afhankelijkheden verzameld. De modernisering mocht daarom geen ontwrichtende herschrijving worden: gebruikers, bestaande URL’s, authenticatie en nog niet gemigreerde functionaliteit moesten tijdens de volledige overgang beschikbaar blijven.
David leidde de technische migratie als full-stack developer en solution architect. Hij vormde het bestaande loket om tot een platform dat domein per domein kon worden vernieuwd terwijl de reguliere oplevering doorging.
Een nieuwe full-stackbasis
De huidige interface is gebouwd met Next.js, React en TypeScript volgens de App Router-opzet. Herbruikbare layouts, getypeerde formulieren, runtimevalidatie, querycaching en centrale clientstate vervangen paginaspecifiek jQuery-gedrag door voorspelbare applicatiepatronen. De responsieve Nederlandstalige interface omvat publieke pagina’s, organisatiegegevens, berichten, dossiers, administratie en talrijke zorgspecifieke thema’s.
Een ASP.NET Core-API levert geversioneerde endpoints aan de nieuwe frontend. De solution scheidt domein, applicatie, infrastructuur en presentatie, zodat frameworkcode buiten de bedrijfsregels blijft en elke laag gericht kan evolueren.
Migreren zonder dienstverlening te onderbreken
Een afzonderlijke YARP reverse proxy vormt de kern van de overgang. Expliciete routeregels sturen gemigreerde trajecten naar de nieuwe frontend en API, terwijl een gecontroleerde catch-all de overige pagina’s op de legacyapplicatie houdt. Feature flags ondersteunen geleidelijke activatie en redirects bewaren bestaande toegangspunten en deeplinks.
Deze strangler-aanpak maakte de migratie meetbaar en omkeerbaar. Afzonderlijke thema’s konden worden overgezet, gevalideerd en vrijgegeven zonder te wachten tot het volledige oude systeem opnieuw was gebouwd.
Onderhoudbare bedrijfsflows
Backenduse-cases zijn opgezet als commands en queries met MediatR, FluentValidation en dunne FastEndpoints-adapters. Entity Framework Core ontsluit operationele, logging- en jobdata, terwijl globale behaviors validatie en toegangsregistratie consequent afhandelen. Hangfire verwerkt geplande en asynchrone taken zoals synchronisatie, mail en statusverwerking buiten interactieve requests.
De architectuur brengt ook koppelingen voor adressen, documentgeneratie, opslag en sectorspecifieke diensten onder achter gerichte interfaces.
Beveiliging en operationele controle
De proxy centraliseert eHealth SAML-authenticatie, beveiligde cookies, claimmapping en tokenuitwisseling naar backendservices. Rol- en policygebaseerde autorisatie beschermt administratie- en dossierflows. Correlatie-ID’s, structured logging, centrale foutafhandeling, security headers en rate limiting maken productiegedrag traceerbaar en beheersbaar.
Geautomatiseerde unit-, integratie- en architectuurtests bewaken de grenzen. Afzonderlijke Azure DevOps-pipelines bouwen en valideren frontend, API en proxy.
Resultaat
Modernisatie 1.0 ging in december 2025 live, waarna verdere domeinen naar de nieuwe basis bleven verhuizen. Departement Zorg kreeg een modern loket zonder risicovolle eenmalige omschakeling: oude en nieuwe functionaliteit kunnen naast elkaar bestaan, teams kunnen afgebakende onderdelen migreren en het platform kan actuele frameworkversies blijven volgen. Het resultaat is een duidelijkere architectuur, een rijkere gebruikerservaring en een veiliger pad voor verdere digitale overheidsdienstverlening.
