Deze case beschrijft de samenstelling van een huishouding op een bepaald adres. De beschrijving is functioneel zo eenvoudig mogelijk, een burger komt aan de balie en er is geen sprake van wijzigingen in de huishouding.
• Het beschreven proces is een voorbeeld, het werkelijke proces kan anders verlopen.
• Het proces is een ‘happy flow’ dit betekent dat validaties en eventuele foutsituaties in dit voorbeeld niet in ogenschouw worden genomen.
• Autorisatieprocessen zijn in dit voorbeeld niet meegenomen.
• Een Loggingsregel wordt toegevoegd aan het logboek per geheel afgeronde transactie. Er wordt dus geen aparte logregel aangemaakt per ontvangen of verstuurd bericht.
• Een aantal gegevens staan nog ter discussie (vanuit juridisch oogpunt). Voor de volledigheid worden een aantal gegevens in dit voorbeeld meegenomen. Het betreft de gegevens:
o resource/name/version
o receiver
o dataSubject
• Het is optioneel om het BSN-nummer (dplCoreDataSubjectId) te versleutelen ten behoeve van extra gegevensbeveiliging. In dit voorbeeld wordt versleuteling van gegevens toegepast.
Schematisch ziet dit proces er als volgt uit:
- De Baliemedewerker voert adres van de burger in.
- De Browser vraagt om persoonsgegevens bij de gemeentelijke Balieapplicatie.
- De gemeentelijke Balieapplicatie vraag persoonsgegevens bij het BRP-systeem.
- Het BRP systeem stuurt gevraagde gegevens naar de gemeentelijke Balieapplicatie en logt de aanvraag.
- De gemeentelijke Balieapplicatie stuurt de gegevens naar de Browser en worden getoond aan de Baliemedewerker. De aanvraag wordt gelogd door de Balieapplicatie.
Schematisch ziet dit proces er als volgt uit:
De volgende gegevens worden gelogd in de diverse logmomenten:
1. Log opvragenPersoonsgegevens (log BRP) persoon 1:
Attribuut | Waarde |
---|---|
operationId | 7a22eb38-bca6-463f-9955-54ab040287cb |
operationName | opvragenPersoonsgegevens |
parentOperationId | <leeg> |
traceId | c6adf4df949d03c662b53e95debdc411 |
startTime | 2024-07-29 08:16:49.000 |
endTime | 2024-07-29 08:16:49.000 |
statusCode | OK |
resource.name | BRP |
resource.version | 2.0 |
receiver | <leeg> |
attributeKey | dplCoreProcessingActivityId |
attributeValue | 12f2ec2a-0cc4-3541-9ae6-219a178fcfe4 |
attributeKey | dplCoreDataSubjectId |
attributeValue | ddj2ey299-0cf4-3541-9ar6-21ia178fcfrr |
foreignOperation.traceId | bc9126aaae813fd491ee10bf870db292 |
foreignOperation.operationId | b2e339a595246e01 |
2. Log opvragenPersoonsgegevens (log BRP) persoon 2:
Attribuut | Waarde |
---|---|
operationId | 7a45638-bca6-463f-www955-54ab04028786 |
operationName | opvragenPersoonsgegevens |
parentOperationId | <leeg> |
traceId | c6adf4df949d03c662b53e95debdc411 |
startTime | 2024-07-29 08:16:49.000 |
endTime | 2024-07-29 08:16:49.000 |
statusCode | OK |
resource.name | BRP |
resource.version | 2.0 |
receiver | <leeg> |
attributeKey | dplCoreProcessingActivityId |
attributeValue | 12f2ec2a-0cc4-3541-9ae6-219a178fcfe4 |
attributeKey | dplCoreDataSubjectId |
attributeValue | f4j2ey299-3er4-3aa41-9ar6-21ia178fc3tyy |
foreignOperation.traceId | bc9126aaae813fd491ee10bf870db292 |
foreignOperation.operationId | b2e339a595246e01 |
3. Log tonenNAWGegevens (log gemeente) persoon 1:
Attribuut | Waarde |
---|---|
operationId | b2e339a595246e01 |
operationName | tonenNAWGegevens |
parentOperationId | <leeg> |
traceId | bc9126aaae813fd491ee10bf870db292 |
startTime | 2024-07-29 10:16:49.690 |
endTime | 2024-07-29 10:16:49.723 |
statusCode | OK |
resource.name | Balieapp |
resource.version | 1.0.5 |
receiver | 27fdey98605etc48 |
attributeKey | dplCoreProcessingActivityId |
attributeValue | 11x2ec2a-0774-3541-9b16-21ba179fcf15 |
attributeKey | dplCoreDataSubjectId |
attributeValue | 13j2ec27-0cc4-3541-9av6-219a178fcfe5 |
4. Log tonenNAWGegevens (log gemeente) persoon 2:
Attribuut | Waarde |
---|---|
operationId | b2e339a595246e01 |
operationName | tonenNAWGegevens |
parentOperationId | <leeg> |
traceId | bc9126aaae813fd491ee10bf870db292 |
startTime | 2024-07-29 10:16:49.690 |
endTime | 2024-07-29 10:16:49.723 |
statusCode | OK |
resource.name | Balieapp |
resource.version | 1.0.5 |
receiver | 27fdey98605etc48 |
attributeKey | dplCoreProcessingActivityId |
attributeValue | 11x2ec2a-0774-3541-9b16-21ba179fcf15 |
attributeKey | dplCoreDataSubjectId |
attributeValue | 342ec27-aa41-dav6-219a178f5ty6 |
Om uiteindelijk alle gegevens te kunnen rapporteren, is het van belang dat gegevens op een bepaalde manier aan elkaar gekoppeld zijn. In dit voorbeeld zijn de gegevens op de volgende manier gekoppeld:
De relatie met de doelstellingen die gesteld zijn in de standaard Logboek dataverwerkingen worden, op basis van dit voorbeeld, als volgt concreet gerealiseerd:
- het wegschrijven van logs van dataverwerkingen: In dit voorbeeld is het de Baliemedewerker die via een Balieapplicatie de gegevens van een Betrokkene kan bekijken. Deze acties zijn gegevensverwerkingen en worden gelogd bij zowel de Balieapplicatie als bij het BRP-systeem.
- het aan elkaar relateren van logs van dataverwerkingen: Er zijn in dit voorbeeld twee applicaties nodig om het totaal aan gevraagde informatie te kunnen tonen aan de betrokkene. Beide applicaties hebben een logboek voor verwerkte gegevens. Om een totaalbeeld van de gelogde gegevens te kunnen construeren, is een relatie tussen de logs nodig. In dit voorbeeld wordt de koppeling gelegd door het operationId en traceId (gemeentelogboek) te linken aan het foreignOperationId en foreignTraceId (BRP-logboek). De aanroep van de gemeente-applicatie naar het BRP betreft één opvraag op basis van één adres, één operationId en één traceId. Het resultaat is meervoudig en moeten naar dezelfde operationId en traceId leiden van de gemeente-applicatie. Het onderscheid zit in de verschillende BSN’s van de personen.
- het aan elkaar relateren van dataverwerkingen over de grenzen van systemen: Naast het koppelen van logs van diverse applicaties, wordt ook een koppeling gelegd met het Register van verwerkingsactiviteiten. Dit gebeurt per applicatie op basis van het ProcessingActivityId (register) te koppelen aan dplCoreProcessingActivityId (logboek). De diverse registers hebben geen directe koppeling met elkaar.
Standaard Logverwerkingen: paragraaf 3.3.1 Gedrag
-
De applicatie MOET een Trace starten voor iedere Dataverwerking waarvan nog geen Trace bekend is. Bij elke start van een verwerking wordt een traceId aangemaakt. Bijvoorbeeld: in het voorbeeld komt er een bericht binnen bij de Balieapplicatie van de gemeente (tonenNAWGegevens). Er wordt direct een traceId aangemaakt.
-
De applicatie MOET voor iedere Dataverwerking een logregel wegschrijven in een Logboek. Log Sampling is niet toegestaan. Een dataverwerking wordt opgeslagen als deze volledig is afgerond. In het voorbeeld is te zien dat logregels worden geschreven op het moment dat de vraag- en het antwoordbericht zijn afgerond.
-
De applicatie MOET bijhouden of een Dataverwerking geslaagd of mislukt is en dit per Dataverwerking als status meegeven aan het Logboek. Bij elke logregel in het voorbeeld staat de statusCode vermeld (‘OK’).
-
Als een Dataverwerking meerdere Betrokkenen heeft dan MOET de applicatie voor iedere betrokkene een aparte logregel wegschrijven. Een logregel kan naar 0 of 1 betrokkenen verwijzen. In het voorbeeld gaat het om twee betrokkenen (dplCoreDataSubjectId), er wordt één logregel aangemaakt per BSN.
-
Als een applicatie aangeroepen kan worden vanuit een andere applicatie MOET de applicatie Trace Context metadata accepteren bij een dergelijke aanroepen deze metadata kunnen omzetten naar een foreign_operation bericht. Bij een externe verwerking (bijvoorbeeld opvragenPersoonsgegevens) geeft de Balieapplicatie de traceId en OperationId mee aan het BRP-systeem. Het BRP-systeem registreert de traceId en operationId beide als ‘foreignOperation’.
sequenceDiagram
box ivory Baliemedewerker
participant B as Browser
end
box ivory Gemeente
participant BA as Balieapplicatie
participant L1 as Log Gemeente
end
box ivory BRP Registratie
participant BR as BRP
participant L2 as Log BRP
end
rect lavender
B->>+BA: tonenNAWGegevensVraag
BA->>BR: opvragenPersoonsgegevensVraag
BR-->>BA: opvragenPersoonsgegevensAntwoord
BR->>L2: Log gegevensverwerking (opvragenPersoonsgegevens)
BA-->>B: tonenNAWGegevensAntwoord
BA->>L1: Log gegevensverwerking (tonenNAWGegegevens)
end