Het VIPLive Spoed EPD wordt geleidelijk aan volledig vernieuwd. Het startpunt hiervan was de uitdaging om voor huisartsenposten NAW’ers[1] een plek te geven in het VIPLive Spoed EPD. Hierbij is gebruik gemaakt van de nieuwste frontend en backend technologie. Deze technologie wordt straks ook voor andere gebruikers van het Spoed EPD toegepast; ook in ZCC context. Tijmen Kolkman, ontwikkelaar bij Topicus, licht het toe.
[1] telefonisten die de triagist ondersteunen door kort de zorgvraag te noteren en patiëntgegevens te controleren.
Huh? Frontend, backend - wat betekent dat allemaal, Tijmen?
Goede vraag! De frontend van een applicatie is alles wat je in je browser ziet als je werkt met onze applicatie. De knoppen, de invoervelden, maar ook alle tekst die je op het scherm ziet, maken onderdeel uit van de frontend. De frontend is dus eigenlijk het gezicht van het VIPLive Spoed EPD. De backend is de plek waar alle informatie die je op het scherm ziet, wordt verwerkt en opgeslagen. Dat is de achterkant van de applicatie. Je kunt dit ook zien als de hersenen van de applicatie. Samen vormen de frontend en de backend de applicatie zoals je hem kent.
"Vergelijk het met het pureren van een banaan; dit gaat beter met een blender dan met een vork."
En dan zijn er nog wat andere termen die handig zijn om te kennen. Het zou veel tijd kosten om de frontend en de backend helemaal vanaf de grond af op te bouwen. Gelukkig kunnen we hiervoor gebruik maken van zogenaamde frameworks. Dit zijn stukjes software die je kunt gebruiken om een heleboel standaardhandelingen eenvoudiger uit te voeren. Een goed framework helpt ons om sneller een goede een applicatie te bouwen. Je kunt het een beetje vergelijken met het pureren van een banaan; dit gaat beter met een blender dan met een vork.
Verder moet je er bij het ontwikkelen van software voor zorgen dat een stuk code zoveel mogelijk één verantwoordelijkheid heeft (het single responsibility principe). Code die veel dingen tegelijk doet wordt vaak complex en dat maakt het moeilijk om te onderhouden en uit te breiden.
Oké, en wat heeft dit te maken met het Spoed EPD?
Dat zal ik je vertellen. Bij het ontwikkelen van de NAW-ondersteuning hadden we twee eisen: 1. de nieuwe code moet goed te onderhouden zijn en 2. de code moet eenvoudig uit te breiden zijn. Deze eisen hebben we meegenomen in de keuze voor frameworks en het herontwerpen van de code.
We hebben gekozen voor het Angular framework (frontend) en het Spring Boot framework (backend). Naast de kwaliteit en toepasbaarheid van deze frameworks, speelde bij onze keuze ook mee dat ze open-source zijn. Hierdoor maken we optimaal gebruik van de nieuwste internationale inzichten op het gebied van databeveiliging.
Het werkproces van de NAW’er zou ‘modulair’ zijn opgebouwd. Kun je uitleggen wat dat betekent?
Jazeker. Het aantal mogelijkheden binnen het VIPLive Spoed EPD is over de jaren sterk toegenomen. Hierdoor hebben veel blokjes waarmee het EPD is opgebouwd meerdere taken gekregen. Dit staat haaks op het single responsibility principe en is iets dat we graag willen verbeteren, omdat de applicatie hierdoor lastiger te onderhouden en uit te breiden is.
Om het single responsibility principe toe te passen, hebben we het werkproces van de NAW’er opgedeeld in taken. Eén is bijvoorbeeld het opzoeken van een patiënt in het systeem. Een ander is het controleren van persoonsgegevens. Weer een andere is het aanmaken van een call, en ga zo maar door. Deze taken zetten we om in modules (daar zijn ze!) van de frameworks Angular en Spring Boot. Als we deze modules slim kiezen, is het bouwen van nieuwe functionaliteit een kwestie van het aan elkaar knopen van de juiste modules.
"Als code simpel en goed leesbaar is, kosten aanpassingen veel minder tijd."
Eén van de voordelen van het werken met modules is dat de code heel ‘leesbaar’ wordt. Hiermee bedoelen we dat wanneer een ontwikkelaar de code leest, hij of zij direct snap wat de code doet. Als code simpel en goed leesbaar is, kosten aanpassingen veel minder tijd én is de kans kleiner dat door de aanpassing iets anders opeens niet meer werkt. Een ander voordeel is dat je de modules kunt hergebruiken. Als we een ander proces willen ondersteunen, kunnen we gebruik maken van de modules die wel al gebouwd hebben. Zo hebben we nu al bedacht dat we voor contactaanname door de triagist dezelfde drie modules als voor de NAW’er kunnen gebruiken. We hoeven er dan alleen een module bij te bouwen voor het uitvoeren van een triage. Dit scheelt een hoop werk. We gaan daarom de meeste software geleidelijk omzetten in herbruikbare modules. Zo kunnen we software sneller vernieuwen en inspelen op vragen van jou en andere klanten.
Maar waarom worden jullie hier zo enthousiast van?
Ik ben blij dat je dat vraagt! In het kort zorgen de nieuwe technologieën ervoor dat de applicatie nog veiliger wordt, soepel blijft functioneren én sneller kan worden doorontwikkeld. Het is dus gemakkelijk én veilig. Daar worden we blij van!
Heeft u vragen over het VIPLive Spoed EPD?
Neem dan contact op met Joliene Brouwer