-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
65456f0
commit fb21aa0
Showing
9 changed files
with
1,903 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
The W3C SOFTWARE NOTICE AND LICENSE (W3C) | ||
|
||
https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document | ||
|
||
This work is being provided by the copyright holders under the following license. By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. | ||
|
||
Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: | ||
1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. | ||
2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice (https://www.w3.org/Consortium/Legal/2015/copyright-software-short-notice.html) should be included. | ||
3. Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." | ||
|
||
|
||
THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. | ||
|
||
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. | ||
|
||
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Terugmelding | ||
|
||
Om onjuiste gegevens in een (basis)registratie te kunnen corrigeren moeten gebruikers een terugmelding kunnen doen op onjuiste gegevens. Een voorbeeld: wanneer de politie constateert dat iemand niet meer op een adres woont waarop die persoon ingeschreven staat moet hierop een terugmelding op de Basisregistratie personen kunnen worden gemaakt. Voor een terugmelding moeten de gegevensvelden vastgelegd worden waarvan een deel verplicht is en een deel optioneel. | ||
|
||
## Terugmelding en DMKS | ||
|
||
Voor een terugmelding op de basisregistraties was de [Digimelding Koppelvlakspecificatie (DMKS)](https://github.com/Logius-standaarden/Digimelding-Koppelvlakspecificatie) vastgelegd. Deze maakte gebruik van een [Digikoppeling WUS specificatie](https://github.com/Logius-standaarden/Digikoppeling-Koppelvlakstandaard-WUS). In het [TO terugmelden van 7 december 2023](https://github.com/Logius-standaarden/Overleg/tree/main/Terugmelden/2023-12-07) hebben we besloten deze niet verder te ontwikkelen maar uit te gaan van afspraken tussen bronhouders en gebruikers van een registratie. In deze repository zal een mogelijke opvolger van DMKS worden uitgewerkt. | ||
|
||
## Uitgangspunten | ||
|
||
1. **De standaard is bedoeld om zelf door grote registraties geimplementeerd te worden**. Met de terugmeldstandaard kan iedere registratie een eigen terugmelddienst opzetten. Een terugmelding kan gedaan worden bij iedere registratie die een API koppelvlak aanbiedt. Voor kleine registraties kan eventueel een terugmelddienst ingericht worden waar meldingen volgens de standaard ingediend kunnen worden en op een laagdrempelige manier door een kleine registratie kunnen worden ingezien en gedownload. | ||
2. **De standaard is gericht op implementatie in een REST API koppelvlak**. Een WUS koppelvlak wordt als ingewikkeld en verouderd ervaren. Dit houdt breed gebruik tegen. Authenticatie is inmiddels goed mogelijk met API standaarden zoals OAuth waardoor de noodzaak voor gebruik van een WUS koppelvlak wegvalt. De _API First_ strategie die overheidspartijen hebben omarmd is ook een reden te kiezen voor een API koppelvlak. De specificatie van de gegevens die uitgewisseld worden zijn gespecificeerd in JSON. | ||
3. **De standaard is gericht op automatische berichtverwerking**. Voor breed gebruikte registraties is het handig als terugmeldingen door systemen verwerkt kunnen worden. Voor registraties met minder terugmeldingen blijft het mogelijk om terugmeldingen volgens een afspraak in te vullen. Een bronhouder kan ervoor kiezen om terugmeldingen via email te accpeteren. Terugmeldingen volgens afspraken vallen buiten de scope van deze standaard. | ||
4. **Voor het aangeven om welk gegeven het gaat wordt gebruik gemaakt van een URN van het gegeven**. Om gegevens op een uniforme manier aan te duiden maken we bij voorkeur gebruik van een URI. Volgens linked data principes worden objecten aangeduid met een eenduidige URI waarmee ze online te vinden zijn. We kiezen hier voor een bredere optie: door URNs te gebruiken kunnen gegevens in (basis)registraties ook eenduidig aangeduid worden die objecten (nog) niet online te vragen zijn. | ||
|
||
## JSON specificaties en voorbeelden | ||
|
||
Specificaties en voorbeelden voor de berichten in vernieuwd terugmelden. | ||
|
||
- [terugmeldingsbericht specificatie](TerugMelden%20spec.json) | ||
- [terugmeldingsbericht voorbeeld](TerugMelden%20voorbeeld.json) | ||
- [response op een terugmeldingsbericht](TerugMeldenResponse%20voorbeeld.json) | ||
|
||
## Vervolgstappen | ||
|
||
1. Harmoniseren van gebruikte termen in het berichtenontwerp met de begrippen die kader van stelselcatalogus worden gebruikt. | ||
2. Ontwerp delen met leden van het TO Terugmelden, reacties en ideen ophalen. | ||
|
||
### Keuzes en opties | ||
|
||
Keuzes voor een mogelijke dienst | ||
- ontsluiting van terugmeldingen via een webinterface voor kleine registraties, mogelijkheid van downloaden van terugmeldingen. | ||
|
||
Grote registraties kunnen zelf een API koppelvlak aanbieden en maken geen gebruik van een terugmelddienst. |
332 changes: 332 additions & 0 deletions
332
Terugmelding/script-remove/Ontwerp/TerugMelden spec.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,332 @@ | ||
{ | ||
"openapi": "3.1.0", | ||
"info": { | ||
"title": "Terugmeldingen Standaard", | ||
"description": "Specificatie voor terugmelden op overheidsregistraties", | ||
"version": "0.2" | ||
}, | ||
"paths": { | ||
"/terugmelding": { | ||
"get": { | ||
"parameters": [ | ||
{ | ||
"name": "terugMeldingReferentie", | ||
"schema": { | ||
"type": "string", | ||
"format": "uuid" | ||
} | ||
} | ||
], | ||
"responses": { | ||
"200": { | ||
"description": "", | ||
"content": { | ||
"application/json": { | ||
"schema": { | ||
"$ref": "#/components/schemas/Ontvangen" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"post": { | ||
"requestBody": { | ||
"content": { | ||
"application/json": { | ||
"schema": { | ||
"$ref": "#/components/schemas/TerugMelding" | ||
} | ||
} | ||
} | ||
}, | ||
"responses": { | ||
"200": { | ||
"description": "", | ||
"content": { | ||
"application/json": { | ||
"schema": { | ||
"$ref": "#/components/schemas/Ontvangen" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"components": { | ||
"schemas": { | ||
"TerugMelding": { | ||
"type": "object", | ||
"properties": { | ||
"terugMeldingHeader": { | ||
"$ref": "#/components/schemas/TerugMeldingHeader" | ||
}, | ||
"terugMeldingBody": { | ||
"type": "object", | ||
"properties": { | ||
"objectIdentificatie": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/components/schemas/ObjectIdentificatie" | ||
} | ||
}, | ||
"geometry": { | ||
"$ref": "#/components/schemas/Geometry" | ||
}, | ||
"terugMeldingGegevens": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/components/schemas/TerugMeldingGegeven" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"TerugMeldingHeader": { | ||
"type": "object", | ||
"properties": { | ||
"registratie": { | ||
"type": "object", | ||
"$ref": "#/components/schemas/Registratie" | ||
}, | ||
"melder": { | ||
"type": "object", | ||
"$ref": "#/components/schemas/ContactInformatie" | ||
}, | ||
"datumMelding": { | ||
"type": "string", | ||
"format": "date" | ||
}, | ||
"peilmoment": { | ||
"description": "Datum en tijd waarop de waarneming is gedaan.", | ||
"type": "string", | ||
"format": "date-time" | ||
}, | ||
"referentiekenmerk": { | ||
"description": "Een eigen kenmerk voor de terugmelding van de melder.", | ||
"type": "string" | ||
}, | ||
"meldingBron": { | ||
"description": "Via welk kanaal is deze melding gedaan? (app, api, website, etc)", | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"Registratie": { | ||
"type": "object", | ||
"properties": { | ||
"naam": { | ||
"type": "string" | ||
}, | ||
"code": { | ||
"type": "string" | ||
}, | ||
"houder": { | ||
"type": "string" | ||
}, | ||
"basisRegistratieCode": { | ||
"description": "Code (maximaal 3 letterig) waarmee de basisregistratie wordt aangeduid wanneer de houder van een landelijke voorziening meer dan 1 basisregistratie beheert (bv BRT, BGT).", | ||
"type": "string", | ||
"oneOf": [ | ||
{ | ||
"title": "Basisregistratie Personen", | ||
"const": "BRP" | ||
}, | ||
{ | ||
"title": "Basisregistratie Adressen en Gebouwen", | ||
"const": "BAG" | ||
}, | ||
{ | ||
"title": "Handelsregister", | ||
"const": "HR" | ||
}, | ||
{ | ||
"title": "Basisregistratie Kadaster", | ||
"const": "BRK" | ||
}, | ||
{ | ||
"title": "Basisregistratie Waarde Onroerende Zaken", | ||
"const": "WOZ" | ||
}, | ||
{ | ||
"title": "Basisregistratie Voertuigen", | ||
"const": "BRV" | ||
}, | ||
{ | ||
"title": "Basisregistratie Grootschalige Topografie", | ||
"const": "BGT" | ||
}, | ||
{ | ||
"title": "Basisregistratie Topografie", | ||
"const": "BRT" | ||
}, | ||
{ | ||
"title": "Basisregistratie Ondergrond", | ||
"const": "BRO" | ||
}, | ||
{ | ||
"title": "Basisregistratie Inkomen", | ||
"const": "BRI" | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
"ObjectIdentificatie": { | ||
"description": "De identificerende kenmerken van het object / data-element waar de terugmelding op wordt gedaan. Een of meerdere van deze kenmerken verwijst naar 1 uniek object.", | ||
"type": "object", | ||
"properties": { | ||
"objectType": { | ||
"description": "De naam van het type van het object (persoon / gebouw / etc)", | ||
"type": "string" | ||
}, | ||
"attribuutUrn": { | ||
"description": "Het attribuut wat gebruikt wordt om te identificeren op het object (bsn / id / guid) in URN formaat (urn:brp:persoon:bsn).", | ||
"type": "string" | ||
}, | ||
"idWaarde": { | ||
"description": "De waarde van het identificerende attribuut.", | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"Geometry": { | ||
"type": "object", | ||
"properties": { | ||
"type": { | ||
"type": "string" | ||
}, | ||
"coordinates": { | ||
"type": "array", | ||
"items": { | ||
"type": "number", | ||
"format": "double" | ||
} | ||
} | ||
} | ||
}, | ||
"TerugMeldingGegeven": { | ||
"type": "object", | ||
"properties": { | ||
"objectType": { | ||
"description": "Een eventueel subelement/object waar de wijziging in plaats moet vinden. Gebruik dit als de objectIdentificatie hoort bij een ander element dan waar de wijziging moet plaats vinden. (bijv: objectIdentificatie hoort bij bedrijf, melding heeft betrekking op bedrijf/adres)", | ||
"type": "string" | ||
}, | ||
"attribuutUrn": { | ||
"description": "De unieke verwijzing naar het attribuut wat gewijzigd moet worden (bijv. urn:brp:persoon:binnenlands-adres-ingezetene:huisnummer).", | ||
"type": "string" | ||
}, | ||
"betwijfeldeWaarde": { | ||
"type": "string" | ||
}, | ||
"voorgesteldeWaarde": { | ||
"type": "string" | ||
}, | ||
"eigenvelden": { | ||
"type": "object", | ||
"additionalProperties": true | ||
}, | ||
"bijlages": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/components/schemas/Bijlage" | ||
} | ||
} | ||
} | ||
}, | ||
"ContactInformatie": { | ||
"type": "object", | ||
"properties": { | ||
"naam": { | ||
"type": "string" | ||
}, | ||
"telefoon": { | ||
"type": "string", | ||
"pattern": "^[0-9+-]{8,20}$" | ||
}, | ||
"email": { | ||
"type": "string", | ||
"pattern": "^.+@.+\\..+$" | ||
}, | ||
"bedrijf": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"Bijlage": { | ||
"type": "object", | ||
"properties": { | ||
"bestandsnaam": { | ||
"type": "string" | ||
}, | ||
"beschrijving": { | ||
"type": "string" | ||
}, | ||
"mimeType": { | ||
"type": "string", | ||
"oneOf": [ | ||
{ | ||
"title": "application/pdf" | ||
}, | ||
{ | ||
"title": "image/jpeg" | ||
} | ||
] | ||
}, | ||
"bijlageData": { | ||
"description": "Het bestand zelf in Base64-binary encoding.", | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"Ontvangen": { | ||
"description": "Terugmelding ontvangen", | ||
"type": "object", | ||
"properties": { | ||
"terugMeldingReferentie": { | ||
"description": "Een door de ontvangende partij gegenereerde referentie van de TerugMelding", | ||
"type": "string", | ||
"format": "uuid" | ||
}, | ||
"referentieKenmerk": { | ||
"description": "De door de meldende partij opgegeven referentie", | ||
"type": "string" | ||
}, | ||
"status": { | ||
"description": "Code (maximaal 3 letterig) waarmee de basisregistratie wordt aangeduid wanneer de houder van een landelijke voorziening meer dan 1 basisregistratie beheert (bv BRT, BGT).", | ||
"type": "string", | ||
"oneOf": [ | ||
{ | ||
"title": "Gemeld" | ||
}, | ||
{ | ||
"title": "In Behandeling" | ||
}, | ||
{ | ||
"title": "Ingepland" | ||
}, | ||
{ | ||
"title": "Ingetrokken" | ||
}, | ||
{ | ||
"title": "Onvoldoende ContactInformatie" | ||
}, | ||
{ | ||
"title": "Afgehandeld" | ||
} | ||
] | ||
}, | ||
"beschrijving": { | ||
"description": "Aanvullende informatie over de terugmelding", | ||
"type": "string" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
Oops, something went wrong.