# Beslisregels / DMN

<figure><img src="/files/49rO2zQ995VTZ5g1QaCb" alt=""><figcaption></figcaption></figure>

## Inleiding

De overheid heeft als taak om rechtvaardig en consistent te handelen in haar besluitvorming. Uitlegbaarheid en transparantie over hoe besluiten en beslissingen tot stand zijn gekomen (ook na een aantal jaar) is essentieel. Daarvoor is inzage nodig in de toegepaste processen, beslisregels en gegevens.

In de informatiekundige visie Common Ground komt dit ook tot uitdrukking in het vijflaagsmodel (<https://www.gemmaonline.nl/wiki/Common_Ground_vijflaagsmodel>). Daarin is een aparte laag opgenomen voor processen en bedrijfsregels.<br>

<figure><img src="/files/2YVCFCcfApkUCJYP5QhH" alt=""><figcaption></figcaption></figure>

Voor digitale afhandelprocessen leunt dit op geautomatiseerde toepassing van herbruikbare beslisregels (bedrijfslogica). Vanuit gemeentelijk perspectief heeft het de voorkeur de beslisregels centraal bij te houden en *executeerbaar* aan te bieden. Een gemeente wil 'in control' zijn. Dat geeft:

* Eenduidigheid in dienstverlening, doordat beslisregels over meerdere digitale kanalen en softwareoplossingen op eenzelfde manier toegepast worden.
* Privacy by design, één versie van de beslislogica wordt toegepast (met versiebeheer).
* Transparantie en uitlegbaarheid, doordat centraal inzichtelijk is langs welke processen en beslisregels een besluit of dienstverlening tot stand is gekomen (ook in de tijd). &#x20;
* Effectiever onderhoud van applicaties. Het voorkomt onderhoud van dezelfde regels en processen binnen meerdere applicaties. &#x20;
* Mogelijkheid kleinere standaard business-services aan te bieden, bijvoorbeeld voor de berekening van de hoogte van een uitkering, zaak/dossiervorming, verificatie van ingevoerde gegevens (controle email adres of bankrekeningnummer), e.d.  &#x20;
* De mogelijkheid om Burger inzage te bieden welke gegevens wanneer en door wie zijn gebruikt, regie op (eigen) gegevens.
* Toekomstvastheid, doordat de beslismodellen uitwisselbaar en benaderbaar zijn bovenstedelijk, maar ook toepasbaar zijn in toekomstige AI oplossingen.

Vaak zijn er binnen het bestaande informatielandschap van gemeenten al toepassingen die 'onder de motorkap' al gebruik maken van een BP/DMN engine, maar deze zijn dan specifiek gebonden aan een dergelijke toepassing en niet inzetbaar voor andere doeleinden.   &#x20;

### Beslisregels binnen het Platform Dienstverlening&#x20;

Ook binnen het Platform Dienstverlening is de beschikbaarheid van beslisregels noodzakelijk. Er wordt complexe en component overstijgende beslislogica toegepast. Dit vraagt om een structurele positionering van een voorziening voor executeerbare beslisregels in het platform. De behoefte is bijvoorbeeld:&#x20;

* Open Product: een catalogus en register waarin eigenschappen van gemeentelijke producten en diensten worden vastgelegd. Beslisregels zijn hier nodig om de juiste acties voor de inwoner of ondernemer te laten zien of de juiste prijs te berekenen.
* Open Formulieren: een component om verzoeken te verwerken, waarin logica wordt toegepast in relatie met beslisregels om de juiste vervolgstap/vraag te bepalen..&#x20;
* GZAC: een zaakafhandelcomponent waarin op basis van logica de vervolgstappen in het proces, de aanroep naar de juiste businessservice en het juiste gegeven wordt bepaald of het juiste knopje op het scherm getoond.
* Open Inwoner Platform: een portaal dat op basis van eigenschappen van de ingelogde persoon en zijn of haar producten bepaalde acties laat zien.&#x20;

### DMN

Een beslisregel is “*Een logisch of rekenkundig construct dat is gebaseerd op wet- en regelgeving of beleid en rechtstreeks sturing geeft aan de primaire taak van een uitvoeringsorganisatie*”.&#x20;

<figure><img src="/files/len4b5RE9gStv4EEyaSL" alt=""><figcaption><p>Voorbeeld DMN-diagram</p></figcaption></figure>

Een hulpmiddel om dit te realiseren, is het gebruik van gestandaardiseerde methoden voor het vastleggen en uitvoeren van beslisregels. Eén van deze standaarden is Decision Model and Notation (DMN), een wereldwijd erkende standaard voor het modelleren van beslissingen. &#x20;

Beslisregels die in DMN zijn vastgelegd, kunnen eenvoudig (geautomatiseerd) worden gedeeld en hergebruikt. Dit vermindert de kans op fouten en maakt efficiëntere uitvoering van beleid mogelijk.

DMN maakt het mogelijk om complexe beslisregels op een visuele en begrijpelijke manier weer te geven. Het DMN-diagram laat in eenvoudige stappen zien hoe een beslissing tot stand komt. Dit bevordert niet alleen de transparantie naar burgers, maar maakt het ook voor beleidsmakers en uitvoerders duidelijk hoe regels worden toegepast.\
\
DMN biedt voordelen:&#x20;

* de beslistabellen worden onderhouden door domeinspecialisten, waardoor er geen vertaling nodig is van domeinspecialisten naar programmeurs.&#x20;
* de tabellen zijn eenvoudig te versioneren. Daardoor kunnen regels bijvoorbeeld bij een jaarovergang worden geintroduceerd, en blijven oude regels inzichtelijk en eventueel bruikbaar.&#x20;
* de tabellen zijn deelbaar tussen overheden, doordat het een standaard is.&#x20;
* de tabellen zijn leesbaar voor burgers.&#x20;

Zie voor meer informatie: <https://en.wikipedia.org/wiki/Decision_Model_and_Notation>

### Beslisregels op landelijk en gemeentelijk en domeinniveau

Beslisregels zijn nodig:&#x20;

* Landelijk. Regels op landelijk niveau als resultante van wetgeving. Dit is het aandachtsgebied voor BZK en VNG. In samenwerking wordt gewerkt aan het federatief beschikbaar stellen van beslisregels vanuit de bronorganisatie. Dit om verschillende interpretaties van wetgeving, en dus verschillen in uitvoering, te voorkomen.  &#x20;
* Binnengemeentelijk. Als resultante van verordeningen. Regels op gemeentelijk niveau zijn relevant voor meerdere domeinen binnen een gemeente. Dit kunnen ook beslisregels betreffen, die nodig zijn om applicatiecomponenten goed te laten werken. &#x20;

### De uitvoering van beslisregels

'DMN engines' zijn software oplossingen die de DMN-tabellen lezen en interpreteren. Ze fungeren als een 'vraag - antwoord' dienst binnen het ICT-landschap. Met een aanvraag met de juiste paramaters wordt realtime het antwoord verstrekt.&#x20;

Voorbeelden van engines:&#x20;

* Camunda open source (7) en proprietary (8) <https://camunda.com/>
* Operaton <https://operaton.org/>
* Drools <https://www.drools.org/>
* Red Hat Decision Manager
* Kogito <https://kogito.kie.org/guides/>
* Trisotech DMN <https://www.trisotech.com/dmn/>
* Flowable DMN
* SAP DMN <https://www.signavio.com>
* Activiti DMN <https://www.activiti.org>

### Common Ground functionele eisen en wensen engine en eindgebruikersinterface

Vanuit de samenwerking Platform Dienstverlening is een generieke voorziening voor het geautomatiseerd uitvoeren van beslisregels ontwikkeld. Deze kent zowel een 'engine' (voor geautomatiseerde uitvoering) als een 'eindgebruikersinterface' (voor de 'niet-developer')'.\
\
Uitgangspunten voor de keuze van een engine component zijn:&#x20;

<table data-header-hidden><thead><tr><th width="105.435791015625" valign="top">Nummer</th><th width="277.4356689453125" valign="top">Requirements</th><th valign="top">Omschrijving</th></tr></thead><tbody><tr><td valign="top">Nummer</td><td valign="top">Requirements</td><td valign="top">Omschrijving</td></tr><tr><td valign="top">1</td><td valign="top">Gebaseerd op DMN modellering. Versie 1.2 compliant.</td><td valign="top">We gaan ervan uit dat we werken met DMN als modelstandaard. DMN is een industrie standaard voor beslismodellen. Waarbij het model kan worden geëxecuteerd middels de Rule-Engine software. (M.a.w. model is software) Hiermee sluiten we aan op de ontwikkelingen binnen ICTU.</td></tr><tr><td valign="top">2</td><td valign="top">Import en export van DMN model</td><td valign="top">De Rule engine moet DMN modellen kunnen importeren en exporteren. Dit om het model onafhankelijk te maken van de Rule engine en om hergebruik van het model mogelijk te maken. Dmn kan dus extern worden gemodelleerd en geimporteert in rule engine en visa versa. Dit betkenet dat kennis niet wordt verloren bij beeindiging of wijziging van de technologie keuze</td></tr><tr><td valign="top">3</td><td valign="top"><p>Versie beheer</p><p>Datum registratie/publicatie DMN model en geldigheidsperiode van het DMN model.</p></td><td valign="top">Binnen de Rule-Engine kan worden gewerkt met meerdere versies van een DMN model (bijv. bij indexering van normen per een bepaalde datum). En daarnaast moet o.b.v. een peildatum en tijd het juiste DMN schema kunnen worden aangeroepen. Zodat beslissingen altijd herleidbaar blijven naar een modelversie en zodat herbeoordelingen kunnen worden gedaan.</td></tr><tr><td valign="top">4</td><td valign="top">De Rule-Engine publiceert de service van een beslis of rekenmodel o.b.v. api.</td><td valign="top">Het is van belang de rule engine als een service component o.b.v. APi technologie te kunnen benaderen. Deze moeten stand-alone zijn van andere applicatie. Dus eigenlijk Rules as a Service (RaaS). Dit maakt dat deze RaaS vanuit verschillende applicaties kan worden aangeroepen.</td></tr><tr><td valign="top">5</td><td valign="top">DMN-modellen moeten leesbaar zijn</td><td valign="top"><p>De DMN modellen moeten als beslistabellen in normale taal leesbaar zijn. Dit moet niet in programmeer taal worden opgebouwd. Maar in leesbare beslistabellen. Dit omdat de business analist(en) en de jurist(en) dit moeten kunnen toetsen. Hiermee voorkomen we uitgebreide testcycli.</p><p><img src="/files/j0ldQUTSsdNa2y4vIfvj" alt="" data-size="original"></p><p>Voorbeeld beslismodel.</p></td></tr><tr><td valign="top">6</td><td valign="top">De Rule-Engine biedt geautomatiseerd testen aan op valide DMN</td><td valign="top">Binnen de Rule Engine moet het mogelijk zijn om geautomatiseerd de DMN-modellen te kunnen testen op volledigheid en validiteit</td></tr><tr><td valign="top">7</td><td valign="top">Het onderhoud van de DMN-modellen en gepubliceerde API-services moet dynamisch worden ingericht</td><td valign="top">We moeten de DMN modellen snel kunnen aanpassen en kunnen publiceren.  Zodat wet en regelgeving en evt. jurisprudentie snel kan worden verwerkt. </td></tr><tr><td valign="top">8</td><td valign="top">De Rule-Engine maakt alleen gebruik van geanonimiseerde data en verwijderd de aangeleverde data nadat het advies is geleverd</td><td valign="top">In DMN modellen wordt geen naar een persoon te herleiden data gevraagd. De Rule-Engine slaat tijdelijk de data op die wordt aangeleverd door de aanroepende applicatie. Zodra de hele DMN model is doorlopen en het advies wordt terug geleverd en ontvangen door de aanroepende partij (hand shake) wordt de data verwijderd in de Rule-Engine. De aanroepende applicatie logt het moment van aanroepen van de API-service en het moment van ontvangst van de advies rapportage. Zodat adviezen later herleidbaar zijn.</td></tr><tr><td valign="top">9</td><td valign="top">Open source tenzij<br>Dit geldt én voor de sourcecode van de engine zelf, maar ook voor de daarin aangemaakte DMN regelset </td><td valign="top">Oplossingen binnen de landelijke samenwerking zijn bij voorkeur open source om - transparantie te bieden inde source code en levering en verbetering van de oplossing door derde partijen te stimuleren. </td></tr><tr><td valign="top">10</td><td valign="top">Afnemer onafhankelijkheid</td><td valign="top">Het beschikbaar stellen van de beslisregels is zoveel mogelijk onafhankelijk van de aanroepende applicatie (immers een service is op zich zelf autonoom). </td></tr><tr><td valign="top">11</td><td valign="top">DMN - engine is Haven compliant </td><td valign="top">Zodat deze past binnen een op Common Ground gebaseerde infrastructuur. </td></tr></tbody></table>

Uitgangspunten voor de keuze van de eindgebruikers interface zijn:&#x20;

| Nummer | Requirement                                                                                                                                                                                                             | Omschrijving                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1      | Het DMN model doorloopt een workflow voor goedkeuring                                                                                                                                                                   | De tot standkoming van een DMN model wordt ondersteunt met een workflow, waarbij we van concept naar vastgesteld door Jurist  gemeente naar publicatie definitief kan worden ondersteund. Hiermee worden validatie stappen vastgelegd en afgedwongen.                                                                                                                                                                                                                                                                          |
| 2      | De resultaten van een beslistabel worden in het advies resultaat aan de service aanroepende applicatie in begrijpelijke taal gerapporteerd.                                                                             | Aan het systeem dat een regelservice aanroept wordt het totale overzicht van de beslistabellen terug gerapporteerd als antwoord op de service aanroep. Hiermee kan aan de eindgebruiker die informatie worden getoond waarop een besluit is gebaseerd en dit kan dan ook gebruikt worden in beschikkingen en evt. individualisering van mogelijk recht op een regeling. Dit moet zijn in begrijpelijk taal.                                                                                                                    |
| 3      | De functionaliteit biedt geautomatiseerd testen aan                                                                                                                                                                     | Binnen de functionaliteit moet het mogelijk zijn om de DMN-modellen te kunnen testen op de compleetheid en juistheid van het DMN-model.                                                                                                                                                                                                                                                                                                                                                                                        |
| 4      | Er moet een Rule-architectuur worden opgebouwd en onderhouden                                                                                                                                                           | Regelingen en haar beslistabellen zijn soms herbruikbaar in verschillende regelingen en ook kan er over regelingen heen een service vraag worden gesteld . Bijvoorbeeld waar heb ik recht op. Dit vraagt om ook een regelarchitectuur . Immers een goede structuur maakt hergebruik mogelijk en dit verlaagt de beheerlast. Denk bijvoorbeeld aan hergebruik van normen als minimumloon of postcode of leeftijdsgrenzen etc. bij een goede opzet kan een beslistabel dan in meerdere regelingen/berekening worden hergebruikt. |
| 5      | De DMN oplossing biedt een intuïtieve interface aan voor eindgebruikers om beslisregels te onderhouden, zodat de flow van het bouwen van de beslisregels los staat van de uitvoering in de engine. Alles DMN compliant. | Eindgebruikers (degene die regels maken en onderhouden) zijn medewerkers die verspreid zijn over een gemeentelijke organisatie. Dit zijn juristen, functioneel beheerders en medewerkers van publieke dienstverlening.                                                                                                                                                                                                                                                                                                         |
| 6      | Er moet Role based kunnen worden ingelogd                                                                                                                                                                               | Op basis van AD gebruikers laten inloggen en onderscheid kunnen maken tussen ‘designers’ vs ‘approvers/testers’. Designers kunnen drd en decision tabels aanpassen. Approvers/testers kunnen enkel reviewen/bekijken en een testrun draaien tegen een drd of decision tabel.                                                                                                                                                                                                                                                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dienstverleningsplatform.gitbook.io/platform-generieke-dienstverlening-public/onderzoeken/beslisregels-dmn.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
