Termijnstappen
Per proces kunnen een of meer termijnbewakingsstappen worden gedefinieerd. Termijnstappen zijn de stappen die in het termijnbewakingsscherm bij een zaak een streefdatum (ook wel deadline genoemd) hebben en een afgehandeld datum die ingevuld kan worden. Die deadlines worden berekend op basis van wat hier bij een termijnbewakingsstap wordt gedefinieerd. Dat gaat op de volgende wijze:
Bij termijnstap A wordt aangegeven dat de volgende termijnstap de stap B is, waarbij de deadline van stap B X dagen verder is dan de deadline van A. Het verschil in dagen tussen deadline van A en die van B geeft dus de termijn aan waarbinnen stap B moet zijn afgehandeld.
Een deadline die binnen nu (systeemdatum) en een Y aantal dagen dreigt te verlopen, komt op de takenlijst van de verantwoordelijke medewerker.
Het aangeven van de volgende stap en de termijnen kan in de praktijk ingewikkelder zijn dan hierboven beschreven. De volgende variaties zijn bijvoorbeeld mogelijk:
- Bij termijnstap A wordt aangegeven dat de volgende termijnstap de stap B is, waarbij de deadline van stap B X dagen verder is dan de ingevulde afgehandeld datum van A. Het verschil in dagen tussen afgehandeld A en deadline B geeft dan de termijn aan waarbinnen stap B moet zijn afgehandeld.
- Bij termijnstap A wordt aangegeven dat de volgende termijnstap:
- de stap B is indien aanvinkstap C aangevinkt is, waarbij de deadline van stap B X dagen verder is dan de deadline van A;
- de stap D is indien aanvinkstap C niet is aangevinkt, waarbij de deadline van stap D X dagen verder is dan de ingevulde afgehandeld datum van A.
Door termijnstappen te relateren aan afvinkstappen kunnen termijnbewakingsregels bij een zaak in de ene situatie wel ingevuld worden en in de andere situatie niet (zij krijgen in dat laatste geval een afwijkende kleur en de streefdatums worden onzichtbaar).
Bijzondere stapdefinities Startregel en Tussenregel
Er kunnen twee soorten termijnstappen worden gedefinieerd die niet aan de voorkant terug te vinden zijn:
- Een stap met de naam Startregel waarbij volgnummer de waarde 0 heeft, wordt door OpenWave niet opgenomen bij de uit te voeren processtappen, maar enkel onder water gebruikt om twee processen aan elkaar te koppelen: zie hieronder bij uitleg Volgnummer = 0.
- Een stap met de naam Tussenregel wordt wel opgenomen bij de uit te voeren processtappen aan de voorkant, maar is altijd onzichtbaar. Deze stap krijgt bij de aanroep van de wizard sluitzaak automatisch als afhandeldatum de streefdatum van deze tussenstap. De Tussenregel wordt ook niet opgenomen in de vwfrmeersteprocesstapperzaak en ook niet in de vwfrmeerstestapperproces, zodat er geen openstaande taak op deze stap kan staan.
Toepassing voor de Tussenregel is de situatie waarbij in een proces bijv. ontvankelijkheid een vork (A en B) is gedefinieerd:
- In A wordt vervolgproces X gekozen
- In B wordt vervolgproces Y gekozen
Beide vorken A en B verwijzen naar dezelfde eindstap: bijv. Einde Ontvankelijkheid. Door deze naam te wijzigen in Tussenregel wordt deze laatste stap onzichtbaar en komt voor de gebruiker direct de eerste stap van de gekozen vervolgproces in beeld.
Kolommen uit blok termijnstap
Naam
Vervaldatum
Berekende streefdatum door gebruiker aan te passen
Omschrijving/naam van stap door gebruiker aanpasbaar?
Streefdatum van deze stap blijft kleiner dan fatale datum
Afhandeldatum niet rechtstreeks in te vullen (maar via action of invoerkolom)
Default behandelaar of team
Hyperlink
Blok Volgende stap
Volgende stap (nummer, termijn, eenheid) In dit kader kunnen de kolommen die gaan over de volgende termijnstap worden ingevoerd wanneer de kolom tenzij afvinkstap met volgnr van stap leeg is.
Het volgnummer van die volgende stap moet hier worden aangegeven en daarbij hoe de berekening van de deadline van die volgende stap moet plaatsvinden. Dat kan door het aangeven van de termijn tussen de onderhavige stap en de volgende stap. Die termijn kan worden aangegeven (keuzelijst eenheden) in dagen, arbeidsdagen, weken, maanden, kwartalen of jaren. Bij arbeidsdagen worden alleen doordeweekse dagen geteld. OpenWave gaat er vanuit dat er minimaal één dag verschil ligt tussen de opeenvolgende termijnstappen.
Tenzij afvinkstap met volgnr (nummer, termijn, dan afgehandeld, dan deadline) In dit kader kunnen de kolommen die gaan over de volgende termijnstap worden ingevoerd die gebruikt worden wanneer:
- De kolom afhankelijk van stap hierboven in de beheerapplicatie is ingevuld en
- de afvinkstap aangevinkt wordt.
Het volgnummer van die volgende stap moet hier worden aangegeven en daarbij hoe de berekening van de deadline van die volgende stap moet plaatsvinden. Dat kan door het aangeven van de termijn tussen de onderhavige stap en de volgende stap. Die termijn kan worden aangegeven (keuzelijst) in dagen, arbeidsdagen, weken, maanden, kwartalen of jaren. Bij arbeidsdagen worden alleen doordeweekse dagen geteld.
Indien er geen volgende stap is (laatste termijnstap van een proces) moet in ieder geval de kolom volgende stap leeg blijven.
Wanneer n aantal arbeidsdagen wordt opgeteld bij een datum, dan gebeurt dat stapje voor stapje met een dag tegelijk. Indien de uitkomst van zo'n stapje een zaterdag of zondag oplevert, dan wordt een extra stapje gedaan.
De deadline van de volgende stap kan nu berekend worden door de termijn op te tellen bij de afgehandeld datum of bij de deadline van de onderhavige stap.
Hierin zijn drie mogelijkheden aan te geven:
- streefdatum vorige stap. Met deze keuze geldt altijd de streefdatum van de onderhavige stap als als uitgangspunt voor de berekening van de streefdatum van de nieuwe stap.
- afhandeldatum vorige stap. Indien deze keuze is aangevinkt wordt altijd de afgehandelddatum van de onderhavige stap genomen als uitgangspunt voor de berekening van de streefdatum van de nieuwe stap. Ook als deze afgehandeld-datum groter is dan de streefdatum.
- minimum afgehandeld/streefdatum. Dit betekent dat de termijn om de streefdatum van de volgende stap te berekenen wordt opgeteld bij het minimum van de afgehandeld-datum en streefdatum van de onderhavige stap. Dus indien de afgehandeld-datum groter is dan de streefdatum geldt de streefdatum als uitgangspunt.
In alle gevallen geldt dat als de afgehandeld datum nog leeg is dat dan de streefdatum als uitgangsdatum wordt genomen.
Blok Action
Aan een processtap kan een action worden toegevoegd. Dat heeft tot gevolg dat er op het detailscherm van de betreffende processtap bij het afhandelen van de zaak een blok action zichtbaar wordt met het hier te definiëren label en een knop om de action uit te voeren. Tevens wordt er een uitvoerbare knop zichtbaar op het lijstscherm van de processtappen om de actie uit te voeren.
Bij een aantal actions is het mogelijk deze zo te parameteriseren dat met het uitvoeren van de action ook de afgehandeld datum van de betreffende stap wordt gevuld. De knop die de action triggert is alleen enabled bij een lege afgehandeld datum. Een aantal voorbeelden geredeneerd vanuit een proces bij een omgevingszaak: Let goed op de komma's en puntkomma's. Luistert nauw. Zie verdere documentatie over actions: Actions.
Voorbeelden actions creeer document (wizard maakDocument)
Voorbeelden actions kiezen vervolgproces (wizard maakNieuwProces)
Voorbeelden actions kiezen vervolgzaak (wizard maakNieuweZaak)
Voorbeelden actions afhandelen/sluiten of intrekken zaak
Voorbeeld action aanroep wizard insertOpschorten
Voorbeelden actions aanroep wizard insertAdvies
Voorbeeld action aanroep wizard actualiseerZaak in DMS
Voorbeeld action aanroep wizard Stuur DSO ontvangsbevestiging
Voorbeeld action aanroep wizard Nieuwe behandelaar bij zaak
Voorbeeld action aanroep wizard InsertInspectieTraject
Voorbeeld action aanroep wizard InsertLegesRegel
Voorbeeld action aanroep wizard insertZaakProduct
Voorbeeld action aanroep wizard insertSWFRuimte
Voorbeeld action aanroep wizard wijzigBevoegdGezagDSO
Voorbeeld action aanroep wizard insertToestemming
Voorbeeld action aanroep wizard koppelZaakAanInrichting
Voorbeeld action aanroep wizard StuurMailAanBAGBeheerder
Voorbeeld action aanroep wizard PubliceerZaken
Voorbeeld action aanroep wizard InsertRolContact
Hoe werkt action aan de voorkant in tbtermijnbewstappen?
Aan de voorkant op het detailscherm van een termijnbewaking- c.q. processtap is de action bij de wizardknop in blok Action standaard als volgt gedefinieerd in het detailscherm (in de mddc_geefprocesdetail.xml):
%query(termijnstappen_mddc_getdvaction,%keypointer%)%. Dit is een systeemquery die door OpenWave wordt beheerd. OpenWave evalueert deze query. Deze query vervangt de action die bij de aanmaak van de termijnstappen overgenomen is vanuit tbprocitems (in de kolom dvaction) bij de betreffende termijnstap waarbij de variabelen %keypointer% en %keyparent% worden vervangen met hun echte waardes.
Voor evaluatie bijvoorbeeld: startWizard(maakDocument,6578,tbdocumenten;;tbomgvergunning;%keyparent%,W)
Na evaluatie: startWizard(maakDocument,6578,tbdocumenten;;tbomgvergunning;85842,W)
En vervolgens wordt de wizard gestart waarbij in dit voorbeeld een brief op grond van documentsjabloon met dnkey 6578 wordt gemaakt. Wanneer in de action na evaluatie nog een query aanwezig, dan wordt deze recursief alsnog geëvalueerd. Bijvoorbeeld na eerste evaluatie: startWizard(maakDocument,%query(docsjabloonperzaaktype,%keyparent%)%,tbdocumenten;;tbomgvergunning;%keyparent%,W)
Dan na tweede evaluatie: startWizard(maakDocument,8890,tbdocumenten;;tbomgvergunning;85842,W)
Blok extra Invoerkolommen
Aan een processtap kunnen één of meer kolommen worden toegevoegd waar de gebruiker bij het afhandelen van de stap waardes aan kan toekennen. Er zijn 5 soorten extra kolommen:
- Datum. Indien aangevinkt dan verschijnt op het detailscherm van de termijnbewakingsstap een datum-editbox onder het hier ingevulde label. De kolomnaam in tbtermijnbewstappen waar de ingevulde waarde wordt opgeslagen is ddinvoerdatum
- Integer. Indien aangevinkt dan verschijnt op het detailscherm van de termijnbewakingsstap een integer-editbox (geheel getal) onder het hier ingevulde label. De kolomnaam in tbtermijnbewstappen is dninvoerint
- Float. Indien aangevinkt dan verschijnt op het detailscherm van de termijnbewakingsstap een float-editbox (decimale invoer) onder het hier ingevulde label. De kolomnaam in tbtermijnbewstappen is dfinvoerfloat
- String. Indien aangevinkt dan verschijnt op het detailscherm van de termijnbewakingsstap een string-editbox (200 karakters) onder het hier ingevulde label. De kolomnaam in tbtermijnbewstappen is dvinvoerstring
- Dropdown. Indien aangevinkt dan verschijnt op het detailscherm van de termijnbewakingsstap een dropdownbox(100 karakters) onder het hier ingevulde label. De kolomnaam in tbtermijnbewstappen is dvinvoerdropd. Bij de dropdown kan het SQL-statement worden gedefinieerd op grond waarvan de keuzelijst wordt gemaakt. De resultset moet bestaan uit twee kolommen van type string genaamd id en omschrijving.
Bij deze 5 mogelijkheden kan ook de kolom Autom. vullen afhandeldatum worden aangevinkt. In dat geval zal de afgehandelddatum van de stap worden gevuld met de systeemdatum bij met het wijzigen van een waarde. Bij de dropdownkolom kan ook een defaultwaarde worden opgegeven. Bij het creëren van het proces aan de voorkant komt deze waarde in de kolom dvinvoerdropd te staan. Met een keuze uit het dropdownmenu wordt deze waarde weer overschreven.
Voorbeelden dropdown
select 'kwik' id, 'kwik' omschrijving Union select 'kwek' id, 'kwek' omschrijving Union select 'kwak' id, 'kwak' omschrijving order by id.
De gebruiker kan dan een keuze maken uit kwik, kwek of kwak.
select distinct a.dnkeyaardbesluit id, coalesce(a.dvomschrijving,' ') omschrijving from vwaardbeslsoortzaak a where a.dnkeysoortomgverg in (select dnkey from tbsoortomgverg where dvsoortproc in ('U','R'))
De gebruiker kan kiezen uit de omschrijvingen van de coderingstabel tbcodeaardbesluit is zoverre deze gekoppeld zijn aan een omgevingzaaktype zaaktype (regulier/uitgebreid). De bijbehorende tbcodeaardbesluit.dnkey van de omschrijving is de dropdownwaarde.
Waarschuwing
Het is raadzaam wanneer de keuze gekoppeld is aan het automatisch vullen van de afhandeldatum of aan een kolomkopkoppeling de gebruiker duidelijk te maken dat de keuze nog gemaakt moet worden, juist wanneer ook een default is ingebracht, want de trigger voor de afhandeldatum en kolomkoppeling zit in het wijzigen van deze kolom dvinvoerdropd. De defaultwaarde bij kwik, kwek en kwak kan bijvoorbeeld opgegeven worden als 'Kwik (bevestig deze keuze in dropdown)'.
De gekozen dropdownwaarde wordt uiteindelijk opgeslagen in de betreffende rij van tbtermijnbewstappen in de kolom dvinvoerdropd en is in het detailscherm van de processtap aan de voorkant zichtbaar. In bovenstaand voorbeeld kiest de gebruiker uit een lijst aardbesluit omschrijvingen maar wordt de bijbehorende dnkey dus in de kolom tbtermijnbewstappen.dvinvoerdropd geplaatst. Indien dit tot verwarring leidt kunnen de kolommen id en omschrijving van de dropdownquery identiek worden gemaakt: bijvoorbeeld:
select distinct a.dnkeyaardbesluit ||':'|| coalesce(a.dvomschrijving,' ') id, a.dnkeyaardbesluit ||':'|| coalesce(a.dvomschrijving,'') omschrijving from vwaardbeslsoortzaak a where a.dnkeysoortomgverg in (select dnkey from tbsoortomgverg where dvsoortproc in ('U','R'))
Blok Canvas
Zie Grafische weergave.
Blok kolom-koppeling
In drie kolommen kan hier bewerkstelligd worden dat bij het vullen van de afhandeldatum van een stap, een ander veld in de bovenliggende zaak (dus van tbomgvergunning, tbhandhavingen, tbapvoverige etc.) automatisch wordt gevuld. De tabelnaam van hoofdzaak (DvTabelnaam) ligt eigenlijk al vast omdat het proces waarde termijnstap aanhangt al aan een module is gekoppeld. In de kolom Veldnaam uit hoofdzaaktabel (dvkolomnaam) kan een kolomnaam worden aangewezen uit de hoofdzaak met uitzondering van de kolomnamen dnkeycompoverrule, dnkeyproducten en dnkeyproductklanten.
In de combobox-kolom Veldnaam vullen met (dvomschrijvingvv) kan (indien de box nog leeg is) gekozen worden uit:
- ddafgehandeld. In dat geval wordt de gekozen kolom uit de hoofdzaak gevuld met dezelfde waarde als de afgehandeld datum van de stap.. Data type moet natuurlijk wel overeenkomen!!
- ddinvoerdatum. In dat geval wordt de gekozen kolom uit de hoofdzaak gevuld met dezelfde waarde als de ingevoerde waarde in de extra kolom InvoerDatum bij die stap
- dvinvoerstring. In dat geval wordt de gekozen kolom uit de hoofdzaak gevuld met dezelfde waarde als de ingevoerde waarde in de extra kolom InvoerString bij die stap
- dvinvoerdropd. In dat geval wordt de gekozen kolom uit de hoofdzaak gevuld met dezelfde waarde als de gekozen waarde in de extra kolom InvoerDropd bij die stap
- dninvoerint. In dat geval wordt de gekozen kolom uit de hoofdzaak gevuld met dezelfde waarde als de ingevoerde waarde in de extra kolom InvoerInt bij die stap
- dfinvoerfloat. In dat geval wordt de gekozen kolom uit de hoofdzaak gevuld met dezelfde waarde als de ingevoerde waarde in de extra kolom InvoerFloat bij die stap.
De gekozen waarde kan met SQL-functies omkleed worden om recht te doen aan lengte en type van de kolomnaam van de hoofdzaak. Bijvoorbeeld: substr(dvinvoerdropd,1,1)::char(1) hetgeen betekent dat OpenWave de eerste positie van de waarde van de kolom dvinvoerdropd overzet naar type char(1) voordat de waarde wordt overgezet in de gekozen tabelnaam/veldnaam van de hoofdzaak.
Het voorbeeld hierboven bij de dropdownkolom, waarbij een dnkey uit tbcodeaardbesluit wordt gekozen, kan doorgezet worden naar de kolom dnkeyaardbesluit (veldnaam van hoofdzaaktabel) van de tbomgvergunning (tabelnaam van hoofdzaak) met de expressie (veldnaam vullen met): dvinvoerdropd::integer
Bij het tweede voorbeeld met de identieke dropdownkolommen id en omschrijving zou de expressie worden: substr(dvinvoerdropd,1,position(':' IN dvinvoerdropd)-1)::integer
Een waarde van char(1) kan echter bij uitzondering wel geplaats worden in een kolom van type varchar.
De kolom-koppeling wordt alleen uitgevoerd indien de afhandeldatum van de stap in aanvang nog leeg is. De kolom-koppeling wordt dus NIET uitgevoerd bij een wijziging op een stap met een gevulde afhandeldatum.
Blok Toelichting
De tekst van deze kolom wordt bij het aanmaken van de termijnbewaking aan de voorkant overgenomen in de kolom tbtermijnbewstappen.dvprocitemtoelichting. Deze kan zichtbaar gemaakt worden (waarbij om technische redenen de komma's zijn weggehaald) in de lijst van processtappen bij een zaak. Daartoe moet de instelling Sectie: Termijnbewaking en Item: ToelichtingZichtbaar aangevinkt worden. In de lijst met processtappen bij een zaak is dan op elke regel een kolom zichtbaar van type schermknop met een vraagtekentje. Het indrukken van deze schermknop laat deze toelichting uit de processtapdefinitie zien - indien gevonden – in een wizardscherm.