Datamodel
This page tries to answer all OPH's data-related questions. What data is used/created? Where does data come from? When is data created/consumed?
Last updated
This page tries to answer all OPH's data-related questions. What data is used/created? Where does data come from? When is data created/consumed?
Last updated
The data Open Proces Huis relies on, can broadly be divided into two categories:
A. OPH-specific data: generated by and unique to the application
B. Data that's imported into the application: mainly covers all user-related data
More information on each category is provided in the following information.
In essence, OPH is a large database of processes. Each process has a title, a description, an email and a status. It also contains multiple files.
The process itself has the dpv:Process
class. We used to have https://data.vlaanderen.be/ns/proces#
This was a URI that was based on the OSLO standard, but this class didn't exist yet. For this reason we went looking for an appropriate class. We chose for because this ontology fits our use case the best. From the DPV page: "The motivation of DPV is to provide a 'data model' or an 'ontology' of concepts for interoperable representation and exchange of information about processing of (personal) data and the use of technologies. For this, the DPV specification defines concepts and relationships using the [] standard, and which can additionally be implemented and applied using technologies appropriate to a use-case's specific requirements."
The process status can be empty or http://lblod.data.gift/concepts/concept-status/gearchiveerd
. The latter is set when a user removes a process, in fact archiving it.
Each file has a name, format, size, extension and status.
The file status can be empty or http://lblod.data.gift/concepts/concept-status/gearchiveerd
. The latter is set when a user removes a file, in fact archiving it.
Based on the file extension, a distinction is made between diagrams and attachments. All files with a bpmn extension are considered diagrams, while all others are considered attachments.
Each BPMN file is kept as is, but its content is also stored as linked data. A BPMN file contains one or more BPMN processes, with each BPMN process containing multiple BPMN elements. The is used to represent all these BPMN processes and BPMN elements as linked data.
A process always belongs to a group/bestuur (i.e. administrative organization). The paragraph goes into more detail on this.
The following image visualizes the model used by OPH to store all process-related data:
The application relies on the openproceshuis-bpmn-service
for the creation of process-related records. For a given BPMN file, it runs through all its elements and for each of those, creates the necessary BBO triples.
Process-related data is always created through the actions of a user.
To create a process, a user should upload a BPMN file. By default, the process's title is set to the file's title, but without the .bpmn extension. The title of the process can be changed in Open Proces Huis if wanted. The file's title will remain as it was when uploaded. The process's description can be set afterwards.
Each time a BPMN file is uploaded (either on creation of a new process, or when updating an existing one), the openproceshuis-bpmn-service
is kicked into action. This generates and stores the BBO triples, as well as the links to the original BPMN file and the user's group.
Whenever a process is created, a statistics object will be created for the process as well. In this object we will keep track of the following data:
Total process views
Total downloads
Downloads of type .bpmn
Downloads of type .vsdx
Downloads of type .svg
Downloads of type .png
Downloads of type .pdf
Every uploaded process has the option to be designated as a blueprint. A blueprint is a standardized process that can only be approved by ABB or Digitaal Vlaanderen admins. To qualify as a blueprint, a process undergoes a rigorous evaluation based on a custom cybersecurity framework. Once a process is officially marked as a blueprint, additional metadata is assigned, capturing the results of this assessment.
The additional metadata includes values that describe:
Confidentiality score
Integrity score
Availability score
If process contains personal data
If process contains professional data
If process contains sensitive personal data
Additional information
Has control measure (A URL linking to a confluence page)
If process is marked as blueprint
All process-related data originates from users. Therefore, OPH needs the necessary data for users to log in, as well as organizational data to provide the link between users and processes.
A user has a first name, a family name, one or more accounts and one or more groups/besturen.
An account contains the necessary data to log a user in. In OPH this can happen either through ACM/IDM.
A group/bestuur (i.e. administrative organization) has a name, a classification and a primary site.
The classification indicates the type of a group/bestuur (e.g. gemeente or OCMW).
The primary site describes the location a group/bestuur operates from.
Notice the difference between the group/bestuur's email (present in its primary-site contact information) and the process's email. The first is fixed and might be too broad of a contact point for questions/remarks about a single process, while the latter can be set manually and more directly lead to the person in charge of the process.
The following image visualizes the model used by OPH to store all user-related data:
Open Proces Huis gets its data from Organisatie Portaal (OP). The application uses the LBLOD delta consumer to import user data. Custom configurations indicate which parts of that original data should be stored in the OPH triplestore. One configuration is used for initial ingest (on first startup of the application), another is used for delta messages (these describe deletions, additions or updates to the initial data).
The initial ingestion of OP data happens on the first startup of the application, with 'first' indicating the triplestore does not yet contain any of that data.
Throughout the application's lifespan, the delta consumer fetches the latest delta messages (if they exist) on regular intervals. OPH is configured to do this every minute.
Class: Proces
URI
Definitie
Property: vertrouwelijkheidScore
URI
http://lblod.data.gift/vocabularies/informationclassification/confidentialityScore
Domein
Bereik
xsd:integer
Definitie
Het niveau dat de informatie van het proces alleen gebruikt wordt door diegene die hiervoor geautoriseerd is.
Gebruiksnota
Met vertrouwelijkheid bedoelen we dat informatie alleen te gebruiken is door diegene die hiervoor geautoriseerd is. De eigenaar van de informatie stelt dit recht en de motivatie tot verwerking vast.
We moeten de vertrouwelijkheid van de informatie beschermen tegen verwerking door een niet-geautoriseerde derde. Dit kan gaan om personen, overheden of organisaties. Het niveau van vertrouwelijkheid van de informatie wordt uitgedrukt in een score van 1 tot en met 5. Waarbij 1 het minst vertrouwelijk is en 5 het meest, confer het informatieclassificatieraamwerk van de Vlaamse overheid.
Property: integriteitScore
URI
http://lblod.data.gift/vocabularies/informationclassification/integrityScore
Domein
Bereik
xsd:integer
Definitie
Niveau dat de informatie van het proces betrouwbaar is, zowel vanuit technisch als functioneel oogpunt.
Gebruiksnota
Met integriteit bedoelen we dat informatie betrouwbaar moet zijn, zowel vanuit technisch als functioneel oogpunt. Het niveau van integriteit van de informatie wordt uitgedrukt in een score van 1 tot en met 5. Waarbij 1 het laagste niveau van integriteit is en 5 het hoogste, confer het informatieclassificatieraamwerk van de Vlaamse overheid.
Property: beschikbaarheidScore
URI
http://lblod.data.gift/vocabularies/informationclassification/availabilityScore
Domein
Bereik
xsd:integer
Definitie
Niveau dat de informatie van het proces toegankelijk is voor de geautoriseerde gebruikers tijdens normale omstandigheden.
Gebruiksnota
Beschikbaarheid geeft aan in hoeverre informatie toegankelijk is voor de geautoriseerde gebruikers tijdens normale omstandigheden. Het niveau van beschikbaarheid van de informatie wordt uitgedrukt in een score van 1 tot en met 5. Waarbij 1 het laagste niveau van vereiste beschikbaarheid is en 5 het hoogste, confer het informatieclassificatieraamwerk van de Vlaamse overheid.
Property: bevatPersoonsgegevens
URI
http://lblod.data.gift/vocabularies/informationclassification/containsPersonalData
Domein
Bereik
xsd:boolean
Definitie
Geeft aan of de informatie van het proces persoonsgegevens bevat.
Gebruiksnota
Deze definitie van persoonsgegevens omvat de concepten die worden gebruikt in AVG Art.4-1 voor 'persoonsgegevens' en ISO/IEC 2700 voor 'persoonlijk identificeerbare informatie (PII)'.
Property: bevatProfessioneleGegevens
URI
http://lblod.data.gift/vocabularies/informationclassification/containsProfessionalData
Domein
Bereik
xsd:boolean
Definitie
Geeft aan of de informatie van het proces toelaat contact op te nemen met een individu in een professionele context.
Gebruiksnota
Professionele contactgegevens omvatten informatie die toelaat contact te nemen met een individu in een professionele context. Onder deze categorie vallen de volgende persoonsgegevens: naam en voornaam, professionele adresgegevens (gebouw, straat, nummer, bus, postcode en gemeente), de organisatie waarvoor het individu zijn professionele opdracht uitvoert, de functie binnen de organisatie, telefoonnummer vaste lijn (inclusief SoIP/VoIP/ToIP/mobiele telefonie/fax), emailadres, contactfoto en professionele sociale media contactreferenties (Facebook, Google+, LinkedIn)
Property: bevatBijzonderePersoonsgegevens
URI
http://lblod.data.gift/vocabularies/informationclassification/containsSensitivePersonalData
Domein
Bereik
xsd:boolean
Definitie
Geeft aan of de informatie van het proces bijzondere persoonsgegevens bevat waarvan het gebruik specifieke aanvullende wettelijke toestemming of rechtvaardiging vereist.
Gebruiksnota
Property: bijkomendeInformatie
URI
http://lblod.data.gift/vocabularies/informationclassification/additionalInformation
Domein
Bereik
xsd:string
Specialisatie van
rdfs:comment
Definitie
Bijkomende informatie gerelateerd aan de informatieclassificatie van het proces.
Property: heeftBeheersmaatregel
URI
http://lblod.data.gift/vocabularies/informationclassification/hasControlMeasure
Domein
Bereik
Specialisatie van
rdfs:seeAlso
Definitie
Online locatie waar extra info staat over een maatregel die wordt geïmplementeerd om risico's voor informatiebeveiliging te beheersen of te verminderen confer ISO 27001:2022
Property: heeftInformatieAsset
URI
http://lblod.data.gift/vocabularies/informationclassification/hasInformationAsset
Domein
Bereik
skos:Concept
Definitie
Informatieassets die het proces bevat.
Gebruiksnota
Een informatieasset is een set informatie (bijvoorbeeld een businessproces, dienst of product) die waarde heeft voor de organisatie of het individu welke gedeeld of vastgelegd kan worden in elke vorm, zoals fysiek of digitaal. Definitie confer het informatieclassificatieraamwerk van de Vlaamse overheid.
Property: isBlauwdruk
URI
http://lblod.data.gift/vocabularies/informationclassification/isBlueprint
Domein
Bereik
xsd:boolean
Definitie
Duidt aan of het proces generiek is opgebouwd voor specifiekere invulling lokaal.
Property: isRelevantVoorBestuurseenheid
URI
http://lblod.data.gift/vocabularies/informationclassification/isRelevantForAdministrativeUnit
Domein
Bereik
skos:Concept
Definitie
Classificatie van bestuurseenheid waarvoor de informatie relevant is.
Gebruiksnota
Gebruik classificatie uit de codelijst "BestuurseenheidClassificatieCode", zie:
De codelijst is in beheer van Agentschap Binnenlands Bestuur van de Vlaamse overheid.
Proces
Titel
process.title
Beschrijving
process.description
Contact proces
process.email
Aangemaakt op
process.created
Laatst aangepast op
process.modified
BPMN-bestand / Versie / Bijlage
Bestandsnaam
file.name
Grootte
file.size
Formaat
file.format
Extensie
file.extension
Toegevoegd op
file.created
Processtap
Naam
bpmn-element.name
Type
bpmn-element.type.label
Gebruiker
Voornaam
user.first-name
Familienaam
user.family-name
Bestuur
user.group.name
Contact
user.group.primary-site.contact.email
Open Proces Huis is the sole point of origin for the above discussed process data (except for group records, see ).
The user data model is equivalent to how user data is stored in other LBLOD applications. It is based on the , and uses elements from the .
OP offers more data than is actually ingested in OPH. The consumer is configured to only ingest the data it needs. For clarity: all data described in the , is actually ingested and therefore present in OPH's triplestore.
Een actie, activiteit of methodologie (cfr. definitie process )
We baseren ons op de definitie zoals vermeld in