Logo Delta10

Data warehouse

Datamodel

Voorbeelden

We hebben een repository gemaakt met voorbeeldqueries die gebruikt kunnen worden als startpunt.

Belangrijke tabellen

Het datamodel bestaat uit verschillende tabellen. We bespreken hier de belangrijkste tabellen:

Melding

De tabel signals_signal bevat alle meldingen. De velden category_assignment, location, reporter, status, priority, routing_assignment, user_assignment en type_assignment bevatten de huidige waarde van het veld. Wanneer een veld in de geschiedenis meerdere waarden heeft gehad, kunnen alle historische waarden opgehaald worden via de specifieke tabel.

Het veld extra_properties bevat de antwoorden op additionele vragen die gesteld worden voor specifieke categorieën, en kan bijvoorbeeld een lantaarnpaalnummer bevatten voor een melding over een kapotte lantaarnpaal.

Locatie

De tabel signals_location bevat de actuele en historische locatie van de melding. In het veld geometrie is de geolocatie terug te vinden. Het veld address bevat een adres op het moment dat een melding in de buurt van een adres is.

Het veld area_code en area_type_code bevat het gebied waarbinnen de melding valt voor het gebiedstype dat als standaard is ingesteld in de backend.

Bijlage

De tabel signals_attachment kan een verwijzing naar één of meerdere bijlagen van de melding bevatten, bijvoorbeeld de foto's die door de melder zijn meegestuurd. Het veld file verwijst naar het pad op de bestandsopslag van Signalen.

Bron

De tabel signals_source bevat de verschillende mogelijke bronnen die instelbaar zijn per gemeente. Meldingen via de frontoffice krijgen altijd de bron "online" mee. De medewerker in de backoffice kan bij het aanmaken kiezen tussen de aangeboden opties, maar kan geen melding met de bron "online" maken.

Status

De tabel signals_status bevat de huidige en historische statuswijzigingen van een melding. Een statuswijziging kan een tekst bevatten voor interne doeleinden of terugkoppeling naar de melder.

Het statusveld kan de volgende statussen bevatten:

  • m: Gemeld
  • i: In afwachting van behandeling
  • b: In behandeling
  • h: On hold
  • o: Afgehandeld
  • a: Geannuleerd
  • reopened: Heropend
  • closure requested: Verzoek tot afhandeling
  • ingepland: Ingepland
  • reopen requested: Verzoek tot heropenen
  • reaction requested: Reactie gevraagd (van melder, voor meer informatie)
  • reaction received: Reactie ontvangen (van melder)
  • forward to external: Doorgezet naar extern systeem

En een aantal statussen specifiek voor koppelingen met externe systemen:

  • ready to send: Klaar om te verzenden
  • sent: Verzonden
  • send failed: Verzenden mislukt
  • done external: Extern afgehandeld

Melder

De tabel signals_reporter bevat het e-mailadres en/of telefoonnummer van de melder. Het is ook mogelijk om anoniem te melden. Meldingen kunnen na een bepaalde periode geanonimiseerd worden. In dat geval wordt het veld e-mailadres en telefoonnummer leeggemaakt en wordt email_anonymized en phone_anonymized op waar gezet. De melder kan aangeven of de contactgegevens met derden gedeeld mogen worden in het veld sharing_allowed.

Afdeling

De tabel signals_department bevat de verschillende afdelingen van de gemeente met hun eigen interne code. Via de tabel signals_categorydepartment wordt een afdeling gekoppeld aan een of meerdere categorieën en wordt bepaald of de afdeling alleen recht heeft om meldingen uit de categorie te bekijken (can_view) of dat de afdeling ook verantwoordelijk is voor de categorie (is_responsible).

Een gebruiker kan lid zijn van één of meerdere afdelingen en krijgt op deze manier toegang tot de meldingen.

Behandelende afdeling

De tabel signals_signaldepartments bevat alle historische behandelende afdelingen van een melding. Via de tabel signals_signaldepartments_departments worden de behandelende afdelingen gekoppeld aan de melding.

Categorieën

De tabel signals_category bevat de verschillende categorieën meldingen die aanwezig zijn. Iedere gemeente kan een eigen categorieindeling kiezen. Elke categorie kan een servicedoel in dagen hebben, dat opgeslagen zit in de tabel signals_servicelevelobjective. Dit servicedoel kan berekend worden in werkdagen of totaal aantal dagen.

Categorietoewijzing

De tabel signals_category_assignment bevat alle historische categorietoewijzingen van een melding. Bij het plaatsen van een melding in een categorie wordt op basis van het serviceniveau van de categorie automatisch het veld deadline en deadline_factor_3 berekend. Dit is de datum waarop de melding volgens het service doel opgelost moet zijn.

Gebieden

In de tabellen signals_area en signals_areatype kunnen verschillende gebieden en gebiedstypes ingeladen worden per gemeente.

In de database worden toewijzingen van meldingen aan bepaalde gebieden alleen opgeslagen voor het standaard gebiedstype. Met behulp van een geo-query kan een overzicht gemaakt worden van meldingen voor een gebiedstype dat niet standaard is.

Additionele vragen

In de tabel signals_question en signals_categoryquestion is de configuratie voor additionele vragen terug te vinden. Wanneer een melding geclassificeerd wordt in een bepaalde categorie kan aan de melder een additionele vraag gesteld worden.

Bijvoorbeeld bij kapotte verlichting kan gevraagd worden aan de melder om de verlichting op de kaart aan te klikken, of bij afval kan gevraagd worden of het om een boven- of ondergrondse container gaat. De functioneel beheerder van de gemeente kan deze vragen zelf instellen.

Feedback

Nadat de melding is afgehandeld, krijgt de melder de vraag of de melding naar de tevredenheid is afgehandeld. De melder krijg de optie om te kiezen tussen wel of niet tevreden en kan desgewenst een reden opgeven. In de tabel feedback_feedback is de reactie te vinden. Als de kolom is_satisfied leeg is, dan is er geen reactie gegeven. Als de waarde TRUE is, dan is de melder tevreden en als de waarde FALSE is, dan is de melder niet tevreden. In de kolom text_list is optioneel te vinden wat de redenen zijn voor de melder om wel of niet tevreden te zijn. Als de melder ontevreden is, dan kan dit reden zijn om de melding te heropenen. Als de melding opnieuw wordt afgehandeld, krijgt de melder opnieuw een verzoek om de tevredenheid achter te laten. Dit kan er voor zorgen dat er meerdere feedback items zijn per melding. Als het e-mailadres van de melder niet bekend is, wordt er geen rij in de feedback tabel aangemaakt.

Formaat van velden

Signalen kent de volgende veldformaten:

  • Integer: een numeriek veld
  • String: een textueel veld
  • Geo: in alle gevallen een punt met een X,Y coordinaat, opgeslagen in EPSG:4326 projectie
  • Datum/tijd: een datum + tijd paar, opgeslagen in UTC
  • JSON veld: complex veld met verschillende (key, value) paren. Bijvoorbeeld het veld extra_properties

Visuele weergave

Visuele weergave van het datamodel

Vorige
Koppelmogelijkheden