Validaties & Condities

Soms worden er regels gesteld aan een waarde die op een variabele wordt ingevuld óf is het van belang dat een variabele slechts onder bepaalde omstandigheden wordt ingevuld. Deze ‘regels’ en ‘omstandigheden’ worden ‘validaties’ en ‘condities’ genoemd. 

De validaties en condities kunt u terugvinden in de datadictionary van een registratie. De datadictionaries zijn te downloaden van de documentatie module op de registratie pagina.

Validaties en condities

Met een validatieregel kan worden gecontroleerd of een ingevoerde waarde correct (waar) is. Met een conditie regel  kan worden aangegeven wanneer een variabele ‘van toepassing’ is. 

Wanneer een variabele niet van toepassing is hoeft geen waarde voor de variabele aangeleverd te worden. Wanneer toch een waarde wordt aangeleverd, wordt deze wel verwerkt maar zal de waarde vanwege de conditie niet effectief gebruikt worden.

Als door de validatieregel of conditie blijkt dat een ingevoerde waarde respectievelijk niet correct is of niet van toepassing is, wordt een melding afgegeven. De validatie en conditie melding vindt u in de validatie & import rapportage.

Expressie

Validaties en condities worden opgeschreven in een zogenaamde expressie. Een expressie is een berekening die een ‘waar’- of ‘niet waar’-antwoord oplevert. 

Bij een validatie-expressie betekent een ‘waar’ antwoord dat de ingevoerde waarde correct is. Een ‘onwaar’ antwoord betekent dat de ingevoerde waarde fout is. 

Bij een conditie-expressie betekent een ‘waar’ antwoord dat de variabele ‘van toepassing’ is. Een ‘onwaar’ antwoord betekent dat de variabele niet ‘van toepassing’ is. 

De opbouw van een expressie

Een expressie kan er als volgt uit zien: 

VariabeleConditie
pressehminuut[pressehuur]!=99

De expressie, in dit geval een conditie, geeft aan dat de variabele ‘pressehminuut’ alleen van toepassing is indien de variabele ‘pressehuur’ niet (!=) gelijk is aan de waarde 99.

Een expressie wordt opgebouwd uit een combinatie van één of meerdere variabele en de waarde(n) op deze variabele(n), operators en functies.

De variabele en de waarde op de variabele

Een expressie kan aan de waarden van andere variabelen refereren. Zo kan, zoals duidelijk wordt uit bovenstaand voorbeeld, een expressie worden ingezet om een variabele pas van toepassing te laten zijn wanneer op een andere variabele een specifiek antwoord is gegeven of juist niet is gegeven. Je herkent een variabele referentie aan de hand van de vierkante haken ‘[‘ en ‘]’. 

Operators

Een operator is een karakter of combinatie van karakters dat een specifieke actie vertegenwoordigt. In bovenstaand voorbeeld is gebruik gemaakt van de operator ‘!=’. Deze operator betekent ‘niet gelijk aan’. 

In de tabel hieronder worden de meest frequent gebruikte operators opgesomd. 

[variabele 1]==[variabele 2]WAAR als variabele 1 gelijk is aan variabele 2 
[variabele 1]===[variabele 2]WAAR als variabele 1 gelijk is aan variabele 2 
[variabele 1]!=[variabele 2]WAAR als variabele 1 niet gelijk is aan variabele 2 
[variabele 1]!==[variabele 2]Waar als variabele 1 niet gelijk is aan variabele 2
[variabele 1]<[variabele 2]WAAR als variabele 1 kleiner is dan variabele 2
[variabele 1]>[variabele 2]WAAR als variabele 1 groter is dan variabele 2
[variabele 1]<=[variabele 2]WAAR als variabele 1 kleiner of gelijk is aan variabele 2
[variabele 1]>=[variabele 2]WAAR als variabele 1 groter of gelijk is aan variabele 2
<expr1> && <expr2>WAAR als expressie 1 waar is EN expressie 2 ook waar is
<expr1> || <expr2>WAAR als expressie 1 waar is OF expressie 2 waar is
!<expr1>WAAR als expressie 1 NIET waar is

Functies

Expressies kunnen ook functies bevatten. Een functie voert een specifieke actie uit dat leidt tot een bepaald resultaat, bijvoorbeeld ‘waar’. Met dit resultaat kan binnen de expressie vervolgens weer verder worden gerekend. 

Een paar voorbeelden van functies:

time(), now()Geeft de huidige datum/tijd terug.
totime([okdat])Converteert de tekst naar een datum/tijd zodat deze bijvoorbeeld vergeleken kan worden.
is_bsn([bsnnum])Geeft ‘waar’ terug als de parameter een geldig BSN is volgens de elfproef.
dateadd([okdat],’D’,-1)Deze functie maakt rekenen met datums mogelijk. 
age([gebdat],now())Berekent de leeftijd aan de hand van de variabele gebdat.

Een aantal voorbeelden
Hieronder leest u een aantal conditie- en validatie expressies, inclusief de uitleg wat de expressie betekent. 

Validatie expressieError melding
[variabele 1] > 1De ingevoerde waarde moet groter zijn dan 1
[variabele 1] > [../variabele 2]De ingevoerde waarde moet groter zijn dan de waarde van variabele 2 uit de ‘parent’ dataset
totime([okdat]) >= totime([gebdat])De operatiedatum moet op of na de geboortedatum liggen
totime([gebdat]) >= totime(‘1900-01-01’)De geboortedatum moet na 1900 liggen
totime([gebdat]) < totime(‘2020-01-01’)De geboortedatum moet voor 2020 liggen
(totime([gebdat]) != totime(‘1808-08-08’)) && (totime([gebdat]) != totime(‘1809-09-09’))De geboortedatum mag niet onbekend zijn noch niet van toepassing
is_bsn([bsnnum])Dit is niet een valide bsn
Conditie expressieToepassing
[variabele 1] === nullAls voor variabele 1 geen waarde is ingevuld
[variabele 1] !== nullAls voor variabele 1 een willekeurige waarde is ingevuld
[variabele 1] == 1Als de waarde van ‘variabele 1’ gelijk is aan 1
[variabele 1] != 1Als de waarde van ‘variabele 1’ niet gelijk is aan 1
[variabele 1]==1&& [variabele 2] == 2Als de waarde van ‘variabele 1’ gelijk is aan 1 EN de waarde van ‘variabele 2’ gelijk is aan 2
[variabele 1] ==1 || [variabele 1] == 2Als de waarde van ‘variabele 1’ gelijk is aan 1 OF de waarde van ‘variabele 1’ gelijk is aan 2
([variabele 1] == 1 || [variabele 2] == 2) && [variabele 3] == 3Als (de waarde van ‘variabele 1’ gelijk is aan 1 OF de waarde van ‘variabele 2’ gelijk is aan 2) EN de waarde van ‘variabele 3’ gelijk is aan 3

Servicedesk

Als u vragen heeft staan wij voor u klaar.
Bel of mail ons op onderstaand telefoonnummer of e-mailadres.