
E.care Flow – Workflow-engine met Kafka & No-Code Builder
Een krachtige workflow-oplossing voor ziekenhuizen, met no-code builder, Kafka-integratie en volledige monitoring. Gebouwd met .NET, React, GraphQL en Azure.
Project & Organisatie
E.care, onderdeel van Mesalvo Turnhout, ontwikkelt digitale oplossingen voor spoedgevallen en kritieke ziekenhuisafdelingen.
Tijdens mijn stage werkte ik mee aan het ontwerp en de ontwikkeling van E.care Flow. Een modulaire workflow-engine voor medische processen, gebaseerd op event-streaming (Kafka) en een no-code interface.
Omwille van vertrouwelijkheid kunnen inhoudelijke schermen of technische documenten niet publiek getoond worden.
Doel van het Project
Het doel was een configureerbare workflow-tool bouwen waarmee medische teams zelf processen kunnen opstellen, valideren en volgen zonder te moeten programmeren.
Concreet omvat dit:
- No-code builder met expressievalidatie (bv. `input.age > 65`)
- Eventgestuurde afhandeling via Kafka-topics
- Monitoring en loggingoverzicht
- Extensibele architectuur via Microsoft Rules Engine & GraphQL
Mijn Rol & Verantwoordelijkheden
Ik was als stagiair verantwoordelijk voor een belangrijk deel van de front-end:
- UI/UX design en implementatie van de no-code builder
- Integratie met GraphQL voor dynamische data-opvraging
- Samenwerking met back-end voor flow-verificatie
- Schrijven van componenttests
- Back-end ontwikkeling voor event-verwerking en logging
Mijn focus lag op het gebruiksvriendelijk maken van complexe logica, zodat zorgprofessionals eenvoudig workflows kunnen configureren.
Technische Architectuur
Binnenkomende gebeurtenissen worden verwerkt via Kafka-topics.
Een .NET background-service zet deze events om in flow-actiepunten, rekening houdend met business rules.
Services communiceren via microservicestructuur met GraphQL.
Gebruik van Microsoft Rules Engine voor flow-logica, gecombineerd met automatische logging en validatie.
Gebouwd met React, Vite, TypeScript en Material UI.
State management via Jotai, navigatie met React Router.
Logging wordt opgeslagen bij iedere trigger. De logging kan bekeken worden op de front-end.
Systeemfouten of mis-triggers worden via front-end direct zichtbaar.
Flexibel model ondersteund door een combinatie van relationele structuren en dynamische JSON-velden, geschikt voor meerdere event-types.
No-Code Builder
De visuele builder is ontworpen voor medische gebruikers, zonder technische voorkennis.
Functies:
- Expressies opbouwen met dropdowns (AND/OR-logica)
- Dynamisch laden van velden (via GraphQL)
- Real-time validatie en preview van logica
Voorbeeld van expressie: `payload.age > 65 AND payload.symptom == "pain"`
Testing & Validatie
Grotendeel van alle componenten zijn getest via xUnit.
Complexere logica werd gemockt met Moq.
Focus op:
- Controllers & services
- Background tasks
- Validatie van expressies
Testcoverage over het hele .NET back-end: 75%+
Uitdagingen & Oplossingen
Kafka-integratie
Bij complexe topicstructuren waren edge-cases moeilijk te debuggen. Opgelost via uitgebreidere logging & mapping-testroutines.
GraphQL-flexibiliteit
Voor dynamische formulieren implementeerden we een veld-template structuur, zodat toekomstige datavelden automatisch beschikbaar worden in de UI.
MUI-theming
De migratie naar een custom Mesalvo-theme zorgde in het begin voor conflicts, maar leverde uiteindelijk een betere en duidelijkere codebase op.
Resultaat & Impact
E.care Flow is een krachtige workflow-oplossing waarmee ziekenhuizen processen kunnen digitaliseren en automatiseren.
Dankzij de no-code interface is technische kennis geen vereiste, en dankzij Kafka-integratie is schaalbaarheid gegarandeerd.
Aanbevelingen voor doorontwikkeling:
- Koppeling met FHIR-standaarden
- Rechtenbeheer verfijnen per roltype
- Integratie van AI voor leesbaarheid in de builder en expressie
Projectdocumentatie
Realisatiedocument
Situering, analyse en technische specificaties van het project
Stage Reflectie
Reflectie op mijn rol, verantwoordelijkheden en leerervaringen
Projectplan
Overzicht van de projectdoelen, scope en planning