← Alle berichten

5 juli 2021 · Joeri Bekker · community

Deel 1: Waarom Open Zaak?

Tijdens de Demodam Hackathon (5 t/m 9 juli 2021) heb ik er voor gekozen om eens niet te programmeren maar een aantal artikelen te schrijven over de VNG API standaarden voor Zaakgericht werken (ZGW API's). Meer specifiek kijk ik naar Open Zaak omdat dit een open source component is dat de ZGW API's aanbiedt.

Wat is Open Zaak?

Veel gemeenten werken zaakgericht. Het is daarom belangrijk dat oplossingen voor (dienstverlenings)vraagstukken die in het kader van Common Ground worden ontwikkeld het zaakgericht werken ondersteunen.

Open Zaak is een open source software product, dat de "VNG API standaard voor Zaakgericht werken" implementeert. Er is voor gekozen om 5 van de 6 API-standaarden te implementeren in Open Zaak, te weten: Zaken API, Catalogi API, Besluiten API, Documenten API en de Autorisaties API. Open Zaak is hiermee 1 component dat meerdere API's aanbiedt, die vrij nauw met elkaar verbonden zijn. Het is overigens mogelijk om elke API apart uit te schakelen en dezelfde API van een ander product te gebruiken, maar dat laten we hier buiten beschouwing. Ten slotte is er de Notificaties API, die in een apart component wordt ontsloten: Open Notificaties. Open Notificaties is in hetzelfde project als Open Zaak ontwikkeld. In Open Zaak moet een Notificaties API zoals Open Notificaties geconfigureerd zijn.

Bovenop Open Zaak is een vrij rudimentaire beheer interface beschikbaar die met name voorziet in het configureren van Zaaktypen zoals deze worden ontsloten door de Catalogi API.

Open Zaak wordt in productie gebruikt bij o.a gemeente Delft, Den Haag, Utrecht, Haarlem en Súdwest-Fryslân.

Wat is zaakgericht werken?

Zaakgericht werken is een vorm van procesgericht werken. Informatie die tijdens het uitvoeren van een proces wordt gecreëerd of ontvangen wordt gebundeld in een gestandaardiseerd "zaakdossier". Een zaakdossier bevat dus typisch zaak informatie (zoals opgeslagen in de Zaken API), documenten (in de Documenten API) en besluiten (in de Besluiten API). Dit zaakdossier is zo op uniforme wijze toegankelijk voor betrokkenen bij het verloop van de zaak. Verschillende doelgroepen profiteren van het feit dat zaakgericht wordt gewerkt:

  • Inwoners kunnen worden geïnformeerd over de behandeling van hun eigen zaken (per mail, brief, MijnOverheid of de website van de gemeente);
  • Behandelafdelingen kunnen processen die zij uitvoeren monitoren en sturen (bijvoorbeeld het bewaken van behandeltermijnen);
  • Klantcontactcentra kunnen vragen over lopende zaken beantwoorden op basis van alle relevante informatie, en kunnen zaakgegevens gebruiken voor het creëren van een klantbeeld;
  • Management kan zaakgegevens gebruiken voor het creëren van managementrapportages op organisatieniveau, en
  • Informatiebeheerders gebruiken bij zaakdossiers vastgelegde metagegevens om zaakinformatie conform geldende wet- en regelgeving te beheren.

Zaken worden afgehandeld volgens voorgedefinieerde afspraken. Deze afspraken zijn vastgelegd in zogenoemde zaaktypen (zoals opgeslagen in de Catalogi API). Zaaktypen zijn als het ware het sjabloon voor zaak instanties, en geven o.a. aan welke statussen een zaak doorloopt, welke type documenten een rol spelen, de doorlooptijden en wat mogelijke resultaten zijn.

Versimpeld voorbeeld

Een aangifte, bijvoorbeeld voor de geboorte van een kind, doorloopt 3 statussen: 1. Intake afgerond, 2. Inhoudelijk behandeld, en 3. Zaak afgerond. Er zijn 2 betrokkenen: De "initator" (degene die de aangifte doet) en de "behandelaar" (degene die de aangifte behandeld). Het resultaat kan zijn "verwerkt" of "afgewezen". Indien de aanvraag is verwerkt is typisch de gemeentelijke basisregistratie bijgewerkt waarbij is geregistreerd welke ouders een kind hebben gekregen.

Het volledige zaaktype staat hier beschreven als referentiezaaktype.

Waarom Open Zaak?

Als een applicatie zelf statussen, documenten en "zaak"-informatie bijhoudt, dan gaat het centrale overzicht - de kern van zaakgericht werken - op gemeentebreed niveau verloren. Het is uiteraard wel eenvoudiger, want je hoeft je (op korte termijn!) niet bezig te houden met allerlei van buitenaf opgelegde bedrijfsregels en externe koppelingen. Op de iets langere termijn zul je zien dat er toch allerlei regels geïntroduceerd moeten worden voor archivering en communicatie naar MijnOverheid bijvoorbeeld, simpelweg door wetgeving. Open Zaak voorziet al in veel van die bedrijfsregels en maakt het mogelijk centraal te acteren op informatie in plaats van in elke applicatie dezelfde logica te realiseren.

Om de voordelen van zaakgericht werken te behalen, is een centraal component nodig dat de ZGW API's aanbiedt. Open Zaak is dat en geeft invulling aan de standaarden die zaakgericht werken ondersteunen. Open Zaak doet dat op een manier die in lijn is met de Common Ground principes; het project is open en open source beschikbaar. Gegevens in Open Zaak staan bij - en zijn eigendom van - de gemeente.

Daarnaast is Open Zaak eenvoudig te draaien voor ontwikkelaars om tegen aan te testen, via bijvoorbeeld Docker Compose. Hoe fijn is het om te ontwikkelen tegen een testomgeving die je zelf kan neerzetten en zelf kan beheren? Het klinkt zo vanzelfsprekend maar dit is iets wat met de vorige versie van de standaarden en veel bestaande software bijna ondenkbaar is.

Open Zaak lost ook een kip-ei probleem op. Immers, als er applicaties zijn die kunnen koppelen met de ZGW API's dan moeten die ZGW API's wel draaien. Alleen het draaien al van Open Zaak maakt het mogelijk voor applicaties om er mee te koppelen, mits er wat zaaktypen zijn ingericht. Dit is een van de hoofdredenen waarom veel gemeenten Open Zaak al aan het proefdraaien zijn.

Maar, het IT-landschap moet wel meer bevatten dan alleen Open Zaak om echt voordeel te behalen. Dit is waar we met de community naar toe werken, door diverse projecten, samenwerkingen, hackathons en proeftuinen.

Praktijk

Gemeenten zetten Open Zaak in op verschillende manieren. Zo laat de ene gemeente applicaties opnieuw realiseren zodat ze volgens Common Ground principes gebouwd worden, en koppelen met Open Zaak. De ander laat een bestaande applicatie aanpassen om deze met Open Zaak te koppelen. Weer een ander gebruikt de Open Zaakbrug om berichten van de oude naar de nieuwe standaard om te zetten zodat een bestaande applicatie niet omgebouwd hoeft te worden.

In deel 2: Koppelen met Open Zaak

Nabrander

Wat is Open Zaak niet?

Open Zaak is niet de VNG API standaard voor Zaakgericht werken. Het is puur een implementatie van deze standaard in een software product, genaamd Open Zaak. Ook is Open Zaak geen zaaksysteem. Open Zaak biedt functionaliteiten voor de opslag en het beheren van zaakgegevens (zaken, documenten, besluiten en zaaktypen) die ontsloten worden via API's. Er is geen gebruikersfunctionaliteit voor het afhandelen van zaken maar de API biedt wel alle mogelijkheden om een applicatie te maken die dit kan.

Disclaimer

Een deel van de informatie is eerder gepubliceerd in een VNG publicatie waaraan de auteur heeft meegewerkt.

Over de auteur

Joeri Bekker is een software ontwikkelaar in hart en nieren maar de laatste jaren vooral bezig met Common Ground projecten bij Maykin, in de rol van projectmanager. Al weer een paar jaar geleden heeft Joeri meegeholpen om RESTful API's bij VNG Realisatie te introduceren wat samenviel met de opkomst van Common Ground. In dat verlengde is Joeri aangehaakt bij het team dat de ZGW API's heeft ontwikkeld waarvoor hij ook heeft meegeholpen om de referentie implementatie ("werkende software") te realiseren op basis van de API specificaties.