Digitale Checklisten
Met knoppen op het detailscherm bij een omgevingszaak en met knoppen op het detailscherm van een inspectietraject EN vanuit het creëren van een document op basis van een sjabloon kunnen gegevens met Digitale Checklisten (https://digitalechecklisten.nl/) worden uitgewisseld.
Het gaat daarbij om de volgende functies:
vanuit OpenWave aanmaken van een nieuwe checklist in Digitale Checklisten
vanuit OpenWave openen van een dossier of checklist in Digitale Checklisten (hyperlink)
vanuit OpenWave zichtbaar maken van de genoteerde opmerkingen bij een checklist
vanuit OpenWave afgekeurde checklist-items automatisch kunnen overnemen in een document
vanuit OpenWave synchroniseren van afgekeurde checklist-items met Inspectie-Issues (onrechtmatigheden)
vanuit OpenWave ophalen van PDF bij checklist in Digitale Checklisten (ophalen report PDF)
Instellingen voor aanmaken van een nieuwe checklist
De instelling Sectie: KoppelingInsptoets en Item: Methode met als Tekst: DigitaleChecklisten staat aangevinkt
-
-
EN in de kolom Tekst van instelling Sectie: KoppelingInsptoets en Item: Dossier_type_id komt het type dat gebruikt wordt voor het creëren van dossiers: bijvoorbeeld 202
-
-
EN Getal1 (defaultwaarde 1) van de instelling Sectie: KoppelingInsptoets en Item: DossierOpLocatieEnOrganisatie geeft aan op welke manier checklisten aan een dossier worden gekoppeld:
1: dan alle inspecties/omgevingszaken op locatie-dossier (tbperceeladressen)
2: alleen inspecties direct gekoppeld aan inrichtingen op Organisatie-dossier (tbmilinrichtingen), andere inspectie dus op locatie-dossier (als deze instelling een feit is en er wordt vanuit omgevingszaak een dig. checklist aangemaakt, dan geldt vanzelf optie 3)
3: alle inspecties/omgevingszaken die te relateren zijn aan een inrichting op Organisatie-dossier, de rest op locatie-dossier.
De naam waaronder de checklijst wordt aangemaakt is afhankelijk van de waarde van Getal2 bij instelling Sectie: koppelingINSPTOETS en Item: Methode,
de inlogger moet wijzigrechten op de inspectie bij betreffende module
EN de inspectie afgehandeld datum (ddcontrole) moet nog leeg zijn (en de startdatum gevuld)
EN indien instelling Sectie: KoppelingInsptoets en Item: DMSzaakcodeverplicht aangevinkt is DAN moet de kolom externe zaakcode (dvintzaakcode) op de inspectiekaart gevuld zijn
EN de hoofdinspecteur (van de inspectiekaart) moet op de medewerkers kaart (beheertegel Medewerkers):
een gevulde digchecklist login (dvextchklstlogin) hebben
EN een gevulde digchecklist pass (plain) dvextchklstpass hebben waarmee in DC dossiers en checklijsten aangemaakt kunnen worden
EN een gevulde email hebben die bekend is bij Digitale Checklisten.
de inlogger moet wijzigrechten op de omgevingszaak
EN de besluitdatum moet nog leeg zijn
EN de actieve behandelaar (dus van tegel In behandeling bij) moet op de medewerkers kaart (beheertegel Medewerkers):
Programmalogica bij aanmaken nieuwe checklist
De volgende stappen worden ondernomen bij het aanmaken van een nieuwe checklist.
Voor alle communicatie met de webservices van Digitale Checklisten wordt qua credentials gebruikt gemaakt van de DC-login (dvextchklstlogin) en DC-password (dvextchklstpass) die staan op de medewerkerskaart van:
indien het gaat om checklisten gekoppeld aan inspecties - de hoofdinspecteur van het betrokken inspectietraject (tbinspecties.dvcodemedewerkers)
indien het gaat om checklisten gekoppeld aan omgevingszaken - de actieve behandelaar van de betrokken zaak (tbinbehandelingbij.dvcodemedewerker where dlactief = 'T'), hierna ook benoemd als 'de betrokken inspecteur'.
Eerst wordt de user_id (zoals bekend in Digitale checklisten) van de betrokken inspecteur bepaald met het endpoint dat staat in kolom Tekst van de instelling Sectie: KoppelingINSPTOETS bij Item: Ontvangstadres_users. Digitale Checklisten retourneert een lijstje van id's die bekend zijn onder de credentials met hun emailadres. OpenWave zoekt de waarde van tbmedewerkers.dvemail van de betrokken inspecteur op in deze lijst en bepaalt zo de user_id.
Vervolgens bepaalt OpenWave of de zaak/inspectietraject reeds gekoppeld is aan een dossier in digitale checklisten met de instelling Getal1 (defaultwaarde 1) van de instelling Sectie: KoppelingInsptoets en Item: DossierOpLocatieEnOrganisatie (zie hierboven bij instellingen). Indien nog geen dossier dan:
Zo nodig wordt eerst een locatie gecreëerd in Digitale Checklisten met het endpoint dat staat in kolom Tekst van de instelling Sectie: KoppelingINSPTOETS bij Item: Ontvangstadres_locations. Dit levert een locatie-id op.
Vervolgens wordt de dossiertype-id opgehaald in kolom Tekst van de instelling Sectie: KoppelingINSPTOETS bij Item: Dossier_type_id.
Met evt. locatie-id en dossiertype-id en user_id wordt vervolgens een dossier gecreëerd met het endpoint dat staat in kolom Tekst van de instelling Sectie: KoppelingINSPTOETS bij Item: Ontvangstadres_dossiers. Dit levert een dossier_id op.
Tenslotte wordt met behulp van user_id en dossier_id een checklist gecreëerd met het endpoint dat staat in kolom Tekst van de instelling Sectie: KoppelingINSPTOETS bij Item: Ontvangstadres_checklists. Qua naamgeving van de checklist gebruikt OpenWave de waarde van Getal2 bij instelling Sectie: koppelingINSPTOETS en Item: Methode (zie uitleg hierboven).
Instellingen voor openen van een checklist
Instellingen voor openen van een dossier
Instellingen voor ophalen van opmerkingen
De instelling Sectie: KoppelingInsptoets en Item: Methode met Tekst: DigitaleChecklisten staat aangevinkt
-
EN in de kolom
Tekst van instelling
Sectie: KoppelingInsptoets en
Item: Ontvangstadres_answers komt het endpoint voor het opvragen van checklists
https://digitalechecklisten.nl/api/v1/checklists/?/answers
. Op de plaats van het vraagteken zal het programma dynamisch de juiste checklist-id invoeren uit de inspectiedetailkaart of de omgevingsdetailkaart
EN (indien opvragen vanuit inspecties:) de hoofdinspecteur (van de inspectiekaart) moet op de medewerkers kaart (beheertegel Medewerkers):
een gevulde digchecklist login (dvextchklstlogin) hebben
EN een gevulde digchecklist pass (plain) dvextchklstpass hebben waarmee in DC dossiers en checklijsten aangemaakt kunnen worden
EN een gevulde email hebben
EN (indien opvragen vanuit omgeving) de actieve behandelaar (dus van tegel In behandeling bij) moet op de medewerkers kaart (beheertegel Medewerkers):
een gevulde digchecklist login (dvextchklstlogin) hebben
EN een gevulde digchecklist pass (plain) dvextchklstpass hebben waarmee in DC dossiers en checklijsten aangemaakt kunnen worden
EN een gevulde email hebben die bekend staat bij Digitale Checklisten.
Instellingen voor overnemen van afgekeurde checklist-items in document
Indien één van de childqueries bij een documentsjabloon gevuld is met de string JSON_DigitaleChecklisten_Controle_brief_1 dan zal het programma bij het samenstellen van het document de afgekeurde items van de betrokken checklijst invoegen.
Indien de sjabloon-kolom benaderbaar vanuit tabel gevuld is met 'tbinspecties' dan zal het programma de digitale checklist die hoort bij de inspectie van waaruit het document gecreëerd wordt als uitgangspunt nemen.
Indien de sjabloon-kolom benaderbaar vanuit tabel gevuld is met 'tbomgvergunning' dan zal het programma de digitale checklist die hoort bij de omgevingszaak van waaruit het document gecreëerd wordt als uitgangspunt nemen.
Er kunnen maximaal drie checklijsten aan één inspectietraject of omgevingszaak gekoppeld zijn. De childquery kan daarom ook zijn: JSON_DigitaleChecklisten_Controle_brief_2 of JSON_DigitaleChecklisten_Controle_brief_3.
De volgende instellingen zijn verplicht.
De instelling Sectie: KoppelingInsptoets en Item: Methode met Tekst: DigitaleChecklisten staat aangevinkt
-
EN in de kolom
Tekst van instelling
Sectie: KoppelingInsptoets en
Item: Ontvangstadres_answers komt het endpoint voor het opvragen van checklists
https://digitalechecklisten.nl/api/v1/checklists/?/answers
. Op de plaats van het vraagteken zal het programma dynamisch de juiste checklist-id invoeren uit de inspectiedetailkaart of de omgevingsdetailkaart
EN (indien opvragen vanuit inspecties:) de hoofdinspecteur (van de inspectiekaart) moet op de medewerkers kaart (beheertegel Medewerkers):
een gevulde digchecklist login (dvextchklstlogin) hebben
EN een gevulde digchecklist pass (plain) dvextchklstpass hebben waarmee in DC dossiers en checklijsten aangemaakt kunnen worden
EN een gevulde email hebben
EN (indien opvragen vanuit omgeving) de actieve behandelaar (dus van tegel In behandeling bij) moet op de medewerkers kaart (beheertegel Medewerkers):
een gevulde digchecklist login (dvextchklstlogin) hebben
EN een gevulde digchecklist pass (plain) dvextchklstpass hebben waarmee in DC dossiers en checklijsten aangemaakt kunnen worden
EN een gevulde email hebben die bekend is bij Digitale Checklisten .
In het sjabloon kan de tabel waarin de checklist-childquery gegevens komen als volgt gedefinieerd zijn:
Men heeft de mogelijkheid om per afgekeurd item negen eigenschappen te tonen met behulp van de coderingen {1}, {2} t/m {9}.
De betekenis is als volgt:
{1} = question.regulation_name bijvoorbeeld “Vuurwerkbesluit (Vuurwerkbesluit)”
{2} = activity bijvoorbeeld “Algemene voorschriften opslag en verkoop”
{3} = question.regulation bijvoorbeeld “voorschrift 1.5 paragraaf 1 onderdeel B Bijlage 1 van Vuurwerkbesluit (Vuurwerkbesluit)”
{4} = question.question bijvoorbeeld “Wordt in alle gevallen beschadigd vuurwerk zorgvuldig opgeruimd?”
{5} = question.letter_text_default bijvoorbeeld “Beschadigd vuurwerk wordt niet in alle gevallen zorgvuldig opgeruimd. Dit is een overtreding van voorschrift 1.5, paragraaf 1, onder B van Bijlage 1 van het Vuurwerkbesluit. U dient binnen * de overtreding ongedaan te maken door het beschadigde en/of gevallen vuurwerk zorgvuldig op te ruimen en op te slaan in de bufferbewaarplaats.”
{6} = question.letter_text_undoing bijvoorbeeld “het beschadigde en/of gevallen vuurwerk zorgvuldig op te ruimen en op te slaan in de bufferbewaarplaats.”
{7} = question. letter_text_default, maar dan afgekapt tot aan de tekst: 'Dit is een overtreding“ bijvoorbeeld “Beschadigd vuurwerk wordt niet in alle gevallen zorgvuldig opgeruimd.
{8} = remarks.value bijvoorbeeld “Nee niet op vrijdag”
{9} = remarks.user_name bijvoorbeeld “Joop van Dalen”
{10} = question.letter_text_default maar dan alleen de overtreding. Stel tekst is 'Het blustoestel is onvoldoende tegen weersinvloeden beschermd. Dit is een overtreding van voorschrift 3.12.1 PGS 15:2016 en artikel 4.3 Activiteitenregeling. U dient binnen de overtreding ongedaan te maken door het blustoestel tegen weersinvloeden te beschermen.' Dan zal {10} ophalen: 'Dit is een overtreding van voorschrift 3.12.1 PGS 15:2016 en artikel 4.3 Activiteitenregeling.'
Instellingen voor synchroniseren afgekeurde items met Inspectie-issues
Minimaal één van de checklist-ids op de inspectie-traject detailkaart (tbinspecties.ddextchkldossierid of dvextchkdossier2id of dvextchkdossier3id) is gevuld
EN de instelling Sectie: KoppelingINSPTOETS en Item: SynchroniseerOnrechtm moet aangevinkt zijn
EN de instelling Sectie: KoppelingInsptoets en Item: Methode met Tekst: DigitaleChecklisten staat aangevinkt
-
EN in de kolom
Tekst van instelling
Sectie: KoppelingInsptoets en
Item: Ontvangstadres_answers komt het endpoint voor het opvragen van checklists
https://digitalechecklisten.nl/api/v1/checklists/?/answers
. Op de plaats van het vraagteken zal het programma dynamisch de juiste checklist-id invoeren uit de inspectiedetailkaart
EN de hoofdinspecteur (van de inspectiekaart) moet op de medewerkers kaart (beheertegel Medewerkers):
een gevulde digchecklist login (dvextchklstlogin) hebben
EN een gevulde digchecklist pass dvextchklstpass hebben waarmee in DC dossiers en checklijsten aangemaakt kunnen worden
EN een gevulde email hebben
EN de inlogger moet verwijder- en insertrechten hebben op de inspecties voor de betreffende module
EN de bovenliggende zaak/inrichting mag niet geblokkeerd zijn.
Programmalogica bij synchroniseren afgekeurde items met issues
Voor alle communicatie met de webservices van Digitale checklisten wordt qua credentials gebruikt gemaakt van de DC-login (dvextchklstlogin) en DC-password (dvextchklstpass) die staan op de medewerkerskaart van de hoofdinspecteur van het betrokken inspectietraject (tbinspecties.dvcodemedewerkers).
Met het endpoint dat staat in de kolom Tekst van instelling Sectie: KoppelingInsptoets en Item: Ontvangstadres_answers worden voor elk van de gevulde chekclist-id's uit het insectietrajectscherm de checklijsten opgevraagd. OpenWave filtert deze antwoorden daarna op value=0 hetgeen betekent: op de afgekeurde items.
Stap 1: de waardes van kolom dvdg_questionid van de rijen uit de tabel tbinsponrechtm (de issues) van het betrokken inspectietraject die een gevulde kolom dvdg_questionid hebben, maar een lege opgelost datum (ddopgelost) worden opgezocht in de lijst met afgekeurde items (op question_id):
indien gevonden dan is het betreffende item blijkbaar nog niet opgelost. OpenWave doet niks
indien niet gevonden dan is het item blijkbaar opgelost in DC. OpenWave overschrijft de rij in tbinsponrechtm waarbij ddopgelost wordt gevuld met de systeemdatum.
Stap 2: voorts voor elk afgekeurd item uit DC gekeken of het item al voorkomt in de set de rijen uit de tabel tbinsponrechtm (de issues) van het betrokken inspectietraject Dus de question-id uit DC wordt vergeleken met dvdg_questionid uit tbinsponrechtm:
indien gevonden in OpenWave dan gebeurt er niets (dus ook als ddopgelost gevuld, dan blijft deze datum gevuld)
indien niet gevonden in OpenWave dan wordt een kaart in tbinsponrechtm aangemaakt bij het betrokken inspectietraject waarbij:
ddconstatering de waarde krijgt van 'created at” van het betrokken DC-item
dvcodemedewerkers met de vertaling van user_id van het betrokken DC-item naar een OW-medewerker (met endpoint van de kolom Tekst van instelling Sectie: KoppelingInsptoets en Item: Ontvangstadres_users: het DC_emailadres worden daarna opgezocht in tbmedewerkers.dvemail)
dvUitleg met de “letter_text_default”
dvdc_question_id met de “id” (de id van het answer)
dvactiviteitoms met “activity”
Dnkeyovertreding met de dnkey uit tbhandhovertredingen die overeenkomt met: “regulation” en “regulation_name”. Dat gebeurt als volgt:
Het programma kijkt eerst of “regulation” voorkomt in TBHandhWetBasis.dvomschrijving:
is de “regulation_name” leeg dan wordt de kaart met omschrijving 'Onbekend' genomen als wettelijke basis (deze wordt zo nodig aangemaakt)
is “regulation_name” gevuld, maar niet gevonden: dan wordt een nieuwe kaart in tbhandwetbasis aangemaakt met de regulation_name als omschrijving
is “regulation_name” gevuld en gevonden dan is deze kaart de Wettelijke basis.
Vervolgens wordt met behulp van Wettelijke basis en “regulation” de ovetredingskaart gezocht in TbHandhovertreding:
is de “regulation” leeg dan wordt de kaart met omschrijving 'Onbekend' genomen als Overtreding bij de Wettelijke basis (deze wordt zo nodig aangemaakt)
is de “regulation” gevuld maar niet gevonden bij de Wettelijke basis dan wordt een nieuwe kaart aangemaakt in tbhandhovertreding (bij de wettelijke basis) met de “regulation” als omschrijving
is de “Regulation” gevuld en gevonden bij de Wettelijke basis dan is deze kaart de Overtreding.
Ophalen report PDF instellingen en logica
De PDF reports in Digitale Checklisten zijn in OpenWave op te halen bij de inspectiedetailkaart. De knop voor het ophalen van het report zal zichtbaar zijn als er een gevulde checklist-id is, er aan een aantal instellingen is voldaan en de gebruiker de juiste rechten heeft. Deze worden hieronder verder toegelicht. Verder kan er bepaald worden of de report PDF meerdere keren opgehaald mag worden. Zo ja dan zal Getal1 waarde 0 moeten hebben (of niet gevuld zijn) bij Sectie: KoppelingINSPTOETS en Item: DownloadPDF, zo nee dan zal Getal1 gevuld moeten worden met een waarde anders dan 0 (bijvoorbeeld 1).
De volgende instellingen van toepassing:
Minimaal één van de checklist-ids op de inspectie-traject detailkaart (tbinspecties.ddextchkldossierid of dvextchkdossier2id of dvextchkdossier3id) is gevuld
EN de instelling Sectie: KoppelingINSPTOETS en Item: DownloadPDF moet aangevinkt zijn
-
EN de instelling Sectie: KoppelingINSPTOETS en Item: DoctypeReport.pdf bestaat en in Tekst staat de waarde voor het documenttype (bijvoorbeeld: adviesdocument)
EN de instelling Sectie: KoppelingINSPTOETS en Item: VertrouwelijkheidReport.pdf bestaat en in Tekst staat de waarde voor de vertrouwelijkheid (bijvoorbeeld: openbaar)
EN de instelling Sectie: KoppelingInsptoets en Item: Methode met Tekst: DigitaleChecklisten staat aangevinkt
EN de hoofdinspecteur (van de inspectiekaart) moet op de medewerkers kaart (beheertegel Medewerkers):
een gevulde digchecklist login (dvextchklstlogin) hebben
EN een gevulde digchecklist pass dvextchklstpass hebben waarmee in DC dossiers en checklijsten aangemaakt kunnen worden
EN een gevulde email hebben
EN de inlogger moet wijzigrechten hebben op de inspecties voor de betreffende module
EN de bovenliggende zaak/inrichting mag niet geblokkeerd zijn
indien NIET DMS maar opslag documenten naar fileshare dan moet (afhankelijk van bij welke modules de inspecties functionaliteit in gebruik is) de volgende instelling(en) ook bestaan:
voor module Omgeving: instelling Sectie: KoppelingINSPTOETS en Item: DocMapIncDocroot_W_InspDigChk
voor module Bouw/Sloop: de instelling Sectie: KoppelingINSPTOETS en Item: DocMapIncDocroot_B_InspDigChk
voor module handhaving: instelling Sectie: KoppelingINSPTOETS en Item: DocMapIncDocroot_H_InspDigChk
voor module APV/Overig: instelling Sectie: KoppelingINSPTOETS en Item: DocMapIncDocroot_O_InspDigChk
voor module Horeca: instelling Sectie: KoppelingINSPTOETS en Item: DocMapIncDocroot_C_InspDigChk
voor inrichtingen: instelling Sectie: KoppelingINSPTOETS en Item: DocMapIncDocroot_V_InspDigChk
voor deze instellingen geldt dat in kolom Tekst de waarde opgegeven moet worden voor de map waar de report PDF zal worden opgeslagen (bijvoorbeeld:
C\Wave\Testen\documenten\Handhaving\%zaakjaar%\%zaaknr%\Inspecties\%inspnr%
Logging
De berichten voor het aanmaken van een nieuwe checklijst en synchroniseren met Inspectie-issues kunnen gelogd worden in tbMessagelog (beheertegel Messagelog). Deze logging staat aan indien de instelling aangevinkt is van Sectie: OWB en Item: MessageLog. In kolom Getal1 van deze instelling staat het aantal dagen dat de loggingskaarten bewaard moeten blijven. Default is dat 31.
Karakterset
Default is het berichtenverkeer in UTF-8.
De uitgaande berichten kunnen desgewenst vooraf ontdaan worden van diakritische tekens indien de instelling Sectie: KOPPELINGINSPTOETS en Item: UitgaandWin1252 aangevinkt wordt.
Indien response berichten ontdaan moeten worden van karakters groter dan ASCII-127 dan moet de algemene instelling: Sectie: Programma en Item: JavaWIN1252 aangevinkt worden. Dit laatste is echter niet nodig want de database van OpenWave is vanaf versie 3.1.29 UTF-8.
De kolom Tekst van de instelling Sectie: KOPPELINGINSPTOETS en Item: Charset wordt gebruikt voor de header variabele van REST (POST en GET) berichten. Default is dit UTF-8.