Introductie Decision Model and Notation (DMN): Deel 3

Sinds september 2015 is de ‘business rule management wereld’ / ‘decision management wereld’ weer een standaard rijker: The Decision Model and Notation (DMN). De Object Management Group (OMG) heeft deze nieuwe standaard uitgebracht met als doel een standaardtaal te creëren om 1) requirements voor beslissingen en 2) de beslissingen zelf te modelleren. De adoptie van DMN heeft een wat lange aanloop gehad, maar begint nu serieuze vormen aan te nemen. Om deze reden brengen wij een vierdelige serie over DMN en het gebruik van DMN uit. In deel 1 zijn we ingegaan op de basis van The Decision Model and Notation. In deel 2 hebben we de eerste drie stappen doorlopen om een  DRD  te creëren. In dit deel (deel 3) wordt er verder gegaan met stap 4.

4. Wat zijn de benodigde feittype om de beslissing te nemen?

In de vorige stap: “identificeren eind beslissing” (beschreven in deel 2) is de beslissing die genomen dient te worden geïdentificeerd. Nu dienen de feittypen die benodigd zijn om deze beslissing te maken aan de beslissing gekoppeld te worden. Deze stap is erg rechtdoorzee omdat dit betekent dat alle in stap 2: “initiële analyse van de/het touchpoint(s)” geïdentificeerde zelfstandig naamwoorden minus de eindbeslissing dienen te worden toegevoegd, zie figuur 1.

Figuur 1: Beslissing: Bepaal Risico op Ondervoeding

 

Wanneer het gevoel ontstaat dat een aantal van de feittypen, geen feittypen zijn, maar op zichzelf staande beslissingen, dan is dit gevoel juist. Wanneer je als modelleur vaker DRD’s maakt zal het identificeren van beslissingen ook meer automatisme worden. Maar voor een beginnend modelleur is het aan te raden om deze te stappen te volgen.

5. Is het feittype een beslissing (afleiding) of een grondterm?

Het resultaat van stap 4: “Wat zijn de benodigde feittypen voor de beslissing?” is een DRD met daarin één beslissing en één of meerdere feittype(n). In deze stap (stap 5) wordt nu voor elk feittype bepaald of het feittype een grondfeit of een afgeleid feittype (en daarmee een beslissing) is.

Hoe wordt bepaald of een feittype een grondfeit of een afgeleid feittype is? In simpele woorden stellen we voor elk feittype de volgende vraag: “zijn er geen andere/aanvullende feittype(n) benodigd om dit feittype te bepalen?” Omdat deze vraag soms lastig te beantwoorden is, zijn er ook een aantal ‘alternatieve’ vragen:

  • Staat het feittype opgeslagen in een basisregister?
  • Staat het feittype opgeslagen in een database?

Wanneer het antwoord op één van de voorgaande drie vragen positief (“ja”) is, is het feittype een grondfeittype.

Let op, bij het beantwoorden van de voorgaande vragen gaat het om deze specifieke situatie en de bijbehorende DRD!

Waarom is bovenstaande statement belangrijk? Soms is een feittype een afgeleid feittype in één DRD en een grondfeit in een andere DRD. In de DRD dat het feittype een grondfeit is wordt deze beschouwd als een black box en toegevoegd als een data element. In de DRD dat het feittype een afgeleid feit is wordt deze toegevoegd als beslissing. 

5.1 Is het feittype een beslissing (afleiding) of een grondterm?

Tot nu toe is steeds eerst het theoretisch kader en daarna het voorbeeld aan de hand van het formulier van Kees besproken. Omdat het puur theoretisch uitleggen van het creëren van de DRD lastig kan zijn wordt hier nu van afgeweken. Eerst worden de stappen voor het creeren van een DRD getoond in het proces (BPMN), zie Figuur 2. Daarna wordt stap voor stap het proces voor elk element doorlopen.

Figuur 2. Procesbeschrijving om te komen tot de initiële DRD

 

In het formulier om de kans op ondervoeding te bepalen staan negen feittypen: 1) body mass index, 2) gewichtsverlies, 3) voedselinname, 4) dagen, 5) risicopunten body mass index, 6) riscopunten gewichtsverlies, 7) risicopunten voedselinname, 8) risicopunten voedseliname en 9) risicopunten ondervoeding. Voor de volgende analyse activiteiten geldt dat deze stap voor stap worden beschreven. Ook hier geldt weer dat het voor een beginnend modelleur handig is om deze stappen expliciet te volgen. Een meer ervaren modelleur zal uiteindelijk een aantal stappen samenvoegen of simultaan uitvoeren.

Tijdens de eerste stap (analyseer feittype, zie figuur 2) wordt voor elke feittype bepaald of het daadwerkelijk een feittype is en of het feittype een grondfeit is. In dit geval wordt er begonnen met het feittype: “body mass index”. Op basis van alleen het formulier kan deze vraag niet éénduidig worden beantwoord. Waarom kan deze vraag niet eenduidig worden beantwoord?

Op het formulier, zie figuur 3, dient een kruisje te worden gezet achter de betreffende body mass index. In dit specifieke geval “> 20”, “18,5 – 20” of “<18,5”. Hoe er tot één van de hiervoor genoemde antwoorden wordt gekomen is via het formulier niet te herleiden. Er zijn daarom een aantal opties: de vraag kan 1) aan de patiënt worden gesteld, 2) worden overgeschreven vanaf een ander formulier, via 3) een ander formulier of doormiddel van een computerprogramma worden berekend.

 

figuur 3. Body Mass Index

 

In dit geval wijst analyse uit dat de “body mass index” wordt afgeleid. Hiervoor gebruikt de arts een tweede formulier. In dit artikel wordt niet ingegaan op het tweede formulier. Nu bekend is dat “body mass index” wordt afgeleid dient “body mass index” als beslissing te worden toegevoegd en verwijderd te worden bij de ‘hoofdbeslissing’: “bepaal risico op ondervoeding” als data input, zie figuur 4.

figuur 4. Verwijderen van de body mass index

 

Nadat de beslissing is toegevoegd wordt de initiële conditie / conclusie test uitgevoerd. De conditie/conclusie toets controleert of een conclusie feit van een individuele beslissing wordt gebruikt als conditiefeit in één of meerdere andere beslissingen in de DRD. In dit geval staan er nog maar twee beslissingen en is de vraag of de conclusie van de beslissing “bepaal body mass index” als conditie geldt voor de beslissing “bepaal risico op ondervoeding”?

Op basis van het formulier kan gesteld worden dat het antwoord op deze vraag “nee” is. Hoe kan tot deze conclusie worden gekomen? Tijdens de initiële analyse van figuur 5 (linkerkader) van het formulier is al gebleken dat wanneer het formulier ideaal voor analyse was geschreven, dit eruit ziet als figuur 5 (rechterkader).

figuur 5. Detail evaluatie Body Mass Index

 

Op basis van het originele formulier (linkerkader) kan in eerste instantie iemand zeggen dat “risicopunten body mass index” ook van het formulier wordt afgelezen en dat het daarom een grondfeittype is. Maar wanneer het formulier beter bekeken wordt dan zien we dat de risicopunten worden gebaseerd op de ingevulde BMI, dit wordt aangegeven door het blauwe pijltje. Daarmee is “body mass index” het conditie feittype benodigd om te komen tot conclusie feittype “risicopunten body mass index”. En daarmee is “body mass index” geen conditiefeit voor “bepaal risico op ondervoeding” maar voor “risicopunten body mass index”. Deze laatste staat op dit moment nog niet als aparte beslissing op het canvas, maar als feittype voor de beslissing “bepaal risico op ondervoeding”.

De vraag is nu of dit feittype daar kan worden verwijderd en worden toegevoegd als beslissing in de DRD. Het antwoord hierop is “ja”. Maar voor nu dient de procedure te worden gevolgd, en is daarmee het resultaat van de van stap “initiële conditie / conclusie verificatie”, zie figuur 6.

figuur 6. Verwijderen van de body mass index

 

Ook hier geldt weer dat voor een beginnend modelleur het handig is om de procedure en stappen exact te volgen. Een meer ervaren modelleur zal uiteindelijk een aantal stappen samenvoegen of simultaan uitvoeren. En “risicopunten body mass index” dus ook al toevoegen als beslissing aan de DRD.

Bovenstaande exercitie wordt nu voor elk van de resterende feittype herhaald te worden: 2) gewichtsverlies, 3) voedselinname, 4) dagen, 5) risico op ondervoeding, 6) risicopunten body mass index, 7) risicopunten gewichtsverlies, 8) risicopunten voedselinname en 9) risicopunten ondervoeding. Na de analyse van het feittype “gewichtsverlies” leidt dit tot figuur 7.

figuur 7. Verwijderen van gewichtsverlies

 

Nadat gewichtsverlies is geanalyseerd en toegevoegd als beslissing en verwijderd als feittype, dient het volgende feittype te worden geanalyseerd: “voedselinname”. Voedseliname wordt niet doormiddel van een ander formulier of via een computerprogramma verkregen, maar doormiddel van een directe vraag aan een patient. Deze vraag is: “hoeveel dagen is het sinds de laatste voedselinname?” Voedseliname wordt daarmee niet afgeleid en is daarom een grondfeit. Dit betekent dat “voedselinname” blijft staan en het volgende feittype wordt overgegaan, zie figuur 8.

figuur 8. Evaluatie Voedseliname

 

Nu “voedselinname” is verwerkt dient het feittype “dagen” te worden geanalyseerd. “Dagen” staat genoemd in het grijze vakje in het formulier, zie figuur 9.

figuur 9. Detail evaluatie Voedseliname

 

Waarbij de vorige analyses het antwoord op de vraag “is het potentiele feittype een feittype?” positief beantwoord kan worden is dat nu een vraagteken. Dit vraagteken wordt o.a. opgewekt door de positie van het woord “dagen” op het formulier. Het aantal dagen geeft in dit geval invulling aan het feittype “Voedselinname” en is daarmee een feitwaarde. Een feitwaarde heeft op het niveau van de DRD geen toegevoegde waarde en dient daarom verwijderd te worden, zie figuur 10. Wanneer het optimaal leesbare model gecreëerd zou worden zou de naam van het feittype aangepast dienen te worden. Hier wordt in dit artikel niet verder op ingegaan en wordt in een later artikel (verificatie-toetsen) op teruggekomen.

figuur 10. Verwijderen van Dagen

 

Nu het potentiele feittype “dagen” is verwijderd, dient het feittype “Risicopunten Body Mass Index” geanalyseerd te worden. Dit feittype is een beslissing en dient daarom als nieuwe beslissing te worden toegevoegd, zie figuur 11. Bij de procestap “voer initiële conditie-conclusie uit” wijkt het proces af van de analyse van voorgaande potentiele feittype. In dit specifieke geval wordt de conclusie van de beslissing ”bereken gewichtsverlies” als input gebruikt voor de beslissing “Bepaal Risicopunten Body Mass Index”. Om deze reden dienen deze twee aan elkaar verbonden te worden, zie figuur 14.

figuur 11. Verwijderen van “Risicopunten Gewichtsverlies”

 

Vanaf nu geldt in deze analyse dat elk feittype een beslissing is en wordt gekoppeld aan een andere beslissing. Deze feittypen worden niet expliciet besproken. Om toch een overzicht te geven volgen hier, drie figuren (figuur 12, 13 en 14) die een overzicht geven van de analyse.

figuur 12. Verwijderen van “Risicopunten Body Mass Index”

 

Figuur 13. Verwijderen van “Risicopunten voedselinname

 

Figuur 14. Verwijderen van “Risicopunten ondervoeding”

 

Wat in figuur 13 en 14 opvalt, is dat de beslissing “Bepaal Risico op ondervoeding” ‘netjes’ gesloten is. Hiermee bedoelen we dat er geen beslissingen zijn die niet verbonden/gekoppeld zijn in de DRD. Let op dat dit in de praktijk niet altijd het geval hoeft te zijn. Als resultaat van stap 5 is er geen bezwaar als er nog beslissingen niet verbonden zijn met de tot nu toe gecreerde DRD. Dit wordt in stap 7 (besproken in Deel 4) correct gemaakt.

6. Regelsets en Bronnen

Zoals beschreven in deel 1 bestaat een standaard beslissing in een DRD uit vier elementen: een beslissing, bedrijfslogica, een of meerdere feittypen en een of meerdere bronnen. In de stappen 4 en 5 is alleen gefocust op de beslissingen en de bijbehorende feittype(n). In stap 6 worden als eerste de bedrijfsregelsets en als tweede de bronnen toegevoegd.

Voor de bedrijfsregelsets geldt dat voor elke beslissing een bedrijfsregelset wordt toegevoegd met als naam de combinatie van de beslissing en het woord bedrijfsregelset, zie figuur 15. Deze wordt nog zo generiek mogelijk toegevoegd omdat we nog niet de notatievorm of het element willen/kunnen definieren. Deze worden op een later moment aangepast.

Figuur 15. Toevoegen Bereken risicopunten ondervoeding regelset

 

Als tweede dienen de bronnen te worden toegevoegd. In het geval van een scenario-analyse kan bij elke beslissing het bijbehorende touchpoint als bron worden opgevoerd, zie figuur 16.

Figuur 16. Toevoegen bronnen situatie touchpoint vs. achterliggende bron

 

Het opvoeren van de het touchpoint lijkt handig, maar is in veel gevallen niet het geval. In de meeste gevallen ligt er aan een touchpoint een stuk wetgeving, regelgeving of beleid ten grondslag. Als de onderliggende bron van een touchpoint niet kan worden geïdentificeerd kan de touchpoint alsnog als bron worden opgevoerd. Maar dan is er wel een belangrijke vraag te beantwoorden: “is er een grondslag voor de manier waarop de beslissing wordt genomen?”

De initiële DRD (versie 0.1) is nu klaar, zie figuur 17. Op basis van deze initiële versie kan worden doorgegaan met stap 7. Welke wordt behandeld in deel 4 van deze reeks.

Figuur 17. De uitwerking van de initiële DRD (versie 0.1)

 

Mede-Auteur: Koen Smit

Verder Bericht

Vorige Bericht

Copyright Martijn Zoet (2017), except for the background photo, which is photographed by Oliver Dodd and released under Creative Commons License: Attribution 2.0 Generic

Thema door Anders Norén