Documentation¶
Open Personen offers:
Implementation of the Haal Centraal BRP bevragen API specification.
Extension to connect with a StUF-BG compatible service to serve real personal data via the BRP API.
Extension to use a local database to provide test data via the BRP API.
Conversion service to convert BRP API requests to StUF-BG requests and StUF-BG responses to BRP API responses (future release).
The Source code is available for non-commercial use.
Getting started¶
To get you started, you might find some of these links relevant:
New to this project? Have a look at the Introduction
New to the API? Read up on the API-specifications.
Want to get started now? Follow the Quickstart
Want to know what data sources you can use? See the Data sources
Introduction¶
Open Personen offers an implementation of the Haal Centraal BRP bevragen API specification and can connect to a StUF-BG service to retrieve personal data. In addition, Open Personen can simply convert StUF-BG messages to BRP API messages without an actual connection. Finally, you can use Open Personen with a test set that you either import or construct yourself via the user interface.
Open Personen meets the need for several other components to request personal data and to link persons (e.g. to a zaak in the Open Zaak).
The project is designed line with the Common Ground model and works well with other API’s and components in this model.

Source code¶
The source code for this project is available on Github.
This project is not open-source but freely available for non-commercial use. It is licensed under the Business Source License (BSL) 1.1 and will become open-source after some time, as stated in the Change Date of the license parameters.
After the Change Date the Licensed Work, being this project, will be available under the European Union Public Licence (EUPL) 1.2.
Want to know more? Read Why this license?
This project makes use of various open-source Python libraries and npm packages under the hood.
Why this license?¶
Open Personen is released under the Business Source License (BSL) 1.1. To answer questions about why we choose this license, please continue reading.
What is the BSL?¶
The Business Source License (BSL) is a license like any other that states certain permissions, meaning what you can and cannot do with the product.
The BSL basically allows you, or your organization, to do everything except to use it in production. You can still use it in production but you are required to purchase it from us under a different license.
The BSL also states that after a certain amount of time or when development costs are covered (either by paid licenses or otherwise), the product is released under the EUPL. This is not something we say casually, this is actually stated in the BSL license document.
Why not release it directly under the EUPL?¶
In the Common Ground community, the projects commisioned by the VNG, a municipality or any other public organization, are typically licensed under the EUPL. These projects, including the code development, are paid with public money from these public organizations.
Open Personen was initiated, developed and paid for by us, Maykin Media. Although we would love to license Open Personen under the EUPL directly, this would mean we would not get paid for the development.
Why not EUPL and charge for your consultancy services?¶
We really want to create a quality product that consists of a proper testsuite, documentation, easy installation experience and so on. We see some projects that are open source but are either of poor quality or lack documentation. Effectively, this means those open source products are unusable.
By creating a quality open source product, anyone can offer their (consultancy) services around it. We do this as well and we’re pretty good at it but some parties are just better in marketing their services than we are. We are really good at developing quality products and consultancy. Hence, we primarily will get our money from developing. Using the BSL allows us to do just that.
Can I use Open Personen?¶
Yes! You personally, or your organization can use this project for demo and test purposes or in pilot projects. If you want to use it in production, contact Maykin Media for an appropriate license.
Can I use Open Personen in production?¶
Yes, just not with the BSL. You can contact Maykin Media for an appropriate license to use it in production.
Why did we choose BSL specifically?¶
The BSL allows us to develop this project almost as an open source project and gives organizations and other developers a chance to try it out, use it for testing, look at the code and make contributions.
The BSL also enforces the eventual release of this project as open source, in this case the EUPL. This explicit promise is very important to us.
Can I contribute to Open Personen?¶
Ofcourse! Within the Common Ground community there are many pilot projects that require a product offering the Haal Centraal BRP API. These projects can benefit from your contributions.
We understand though, that contributing to a project that is not completely free to use in production is less attractive. We really hope that we can release the project under the EUPL as soon as possible.
What are alternative licenses?¶
For information about licensing arrangements for production usage of the Software, please contact Maykin Media.
Paid licenses will help the development of this project and will speed up the release under the EUPL.
API-specifications¶
Open Personen adheres to the API-specifications as described by the VNG standard for “Haal Centraal BRP bevragen”. The interaction between these API’s can be found there as well.
Supported API versions¶
The following API’s are available in Open Personen:
API |
Specification version(s) |
---|---|
Unsupported API’s¶
Some of the Haal Centraal API’s are related to the BRP bevragen API but have not reached a stable version yet. We choose to only support stable API specifications in Open Personen. They are mentioned here to give readers a complete overview.
These API’s are NOT available in Open Personen
API |
Specification version(s) |
---|---|
(unknown) |
|
(unknown) |
|
(unknown) |
|
(unknown) |
|
(unknown) |
Installation¶
In addition to making its source code available publicly, Open Personen offers and maintains a minimal setup that works out-of-the-box for simple use cases.
For the sake of simplicity, we have chosen to use Docker and Docker Compose for this.
Quickstart¶
Warning
The quickstart instructions are only intended for development and testing purposes. Do not use the quickstart instructions in a production setting. The certificate and certificate key stored in the StUF-BG Client will be exposed when making an API call to an external StUF-BG service.
The default docker-compose
settings have some convenience settings to get
started quickly and these should never be used for anything besides testing:
A default secret is set in the
SECRET_KEY
environment variableA predefined database and database account is used.
The demo data source is used as backend.
API authorizations are disabled.
With the above remarks in mind, let’s go:
Download the
docker-compose
file:$ wget https://raw.githubusercontent.com/maykinmedia/open-personen/master/docker-compose-quickstart.yml -O docker-compose.yml
PS> wget https://raw.githubusercontent.com/maykinmedia/open-personen/master/docker-compose-quickstart.yml -Odocker-compose.yml
Start the Docker containers:
$ docker-compose up -d
Import a test dataset of persons. You can use the test dataset provided by the RvIG. Just copy the ODS-file URL to the command below:
$ docker-compose exec web src/manage.py import_demodata --url <url>
The API should now be available on
http://localhost:8000/api/
. You can retrieve a person via the BRP API in your webbrowser:http://localhost:8000/api/ingeschrevenpersonen/999990676
Next steps¶
You can read how to add persons to this test dataset using this Demo backend. If you want to expose real persons you can connect Open Personen to a StUF-BG backend.
You can also read on how to enable Authorizations.
Authorizations¶
Open Personen uses API-tokens as authorizations mechanism. You can connect an API-token to a user for identification.
Any backend change requires a change in the environment that are present when the application is launched. Add this setting to enable authorizations:
OPENPERSONEN_USE_AUTHENTICATION=True
Manage API tokens¶
You can manage API-tokens in the admin interface or create tokens from the command line.
Point your webbrowser to the admin interface, for example:
http://localhost:8000/admin/
Login with the username and password of a superuser (see Quickstart).
Navigate to API Autorisaties > Tokens
Click on Token toevoegen
Select a Gebruiker to link the API token to an existing user. Click on Opslaan en opnieuw bewerken.
The Key field should now have a value like
e5640c8bde0b9b1a168595d798df721ef12bbbef
You can now make API calls using this API-token. For example:
$ curl -i -H "Accept: application/json" -H "Authorization: Token e5640c8bde0b9b1a168595d798df721ef12bbbef" http://localhost:8000/api/ingeschrevenpersonen/999990676
You can not access the API from your browser anymore, since you need to pass the proper authorization header.
You can also create API-tokens from the command line:
$ python src/manage.py generate_token demo API token: e5640c8bde0b9b1a168595d798df721ef12bbbef
$ docker-compose exec web src/manage.py generate_token demo API token: e5640c8bde0b9b1a168595d798df721ef12bbbef
This causes a user
demo
to be created with the generated token. By default, this user has no permission to access the admin interface.
Environment configuration reference¶
Open Personen can be ran both as a Docker container or directly on a VPS or dedicated server. It relies on other services, such as database and cache backends, which can be configured through environment variables.
Available environment variables¶
Required settings¶
DJANGO_SETTINGS_MODULE
: which environment settings to use. Available options: -openpersonen.conf.docker
-openpersonen.conf.dev
-openpersonen.conf.ci
SECRET_KEY
: secret key that’s used for certain cryptographic utilities. You should generate one via [miniwebtool](https://www.miniwebtool.com/django-secret-key-generator/)ALLOWED_HOSTS
: A comma separated (without spaces!) list of domains that serve the installation. Used to protect againstHost
header attacks. Defaults to*
for thedocker
environment and defaults to127.0.0.1,localhost
for thedev
environment.
Core settings¶
OPENPERSONEN_BACKEND
: The data source to use for obtaining person data. Can be any of the values below:openpersonen.contrib.demo.backend.default
(default)openpersonen.contrib.stufbg.backend.default
OPENPERSONEN_USE_AUTHENTICATION
: Require an API-token to access the API. Defaults toTrue
.
Database settings¶
DB_HOST
: Hostname of the PostgreSQL database. Defaults todb
for thedocker
environment, otherwise defaults tolocalhost
.DB_USER
: Username of the database user. Defaults toopenpersonen
,DB_PASSWORD
: Password of the database user. Defaults toopenpersonen
,DB_NAME
: Name of the PostgreSQL database. Defaults toopenpersonen
,DB_PORT
: Port number of the database. Defaults to5432
.
Other settings¶
ADMINS
: Comma seperated list (without spaces!) of e-mail addresses to sent an email in the case of any errors. Defaults to an empty list.SITE_ID
: The database ID of the site object. Defaults to1
.DEBUG
: Used for more traceback information on development environment. Various other security settings are derived from this setting! Defaults toTrue
for thedev
environment, otherwise defaults toFalse
.IS_HTTPS
: Used to construct absolute URLs and controls a variety of security settings. Defaults to the inverse ofDEBUG
.SUBPATH
: If hosted on a subpath, provide the value here. If you provide/gateway
, Open Personen assumes its running at the base URL:https://somedomain/gateway/
. Defaults to an empty string.SENTRY_DSN
: URL of the sentry project to send error reports to. Defaults to an empty string (ie. no monitoring).
Specifying the environment variables¶
There are two strategies to specify the environment variables:
provide them in a
.env
filestart the Open Personen processes (with uwsgi/gunicorn/celery) in a process manager that defines the environment variables
Providing a .env file¶
This is the most simple setup and easiest to debug. The .env
file must be
at the root of the project - i.e. on the same level as the src
directory (
NOT in the src
directory).
The syntax is key-value:
SOME_VAR=some_value
OTHER_VAR="quoted_value"
Provide the envvars via the process manager¶
If you use a process manager (such as supervisor/systemd), use their techniques to define the envvars. The Open Personen implementation will pick them up out of the box.
Data sources¶
Data is provided through a certain backend in Open Personen. A backend provides the technical details to connect to a certain data source.
There are currently 2 backends available:
StUF-BG - Allows Open Personen to connect to a StUF-BG compatible service to retrieve person data.
Demo - Provides a local testset of persons to use for testing purposes.
Demo backend¶
This backend provides a local testset of persons to use for testing purposes. No external service is needed, all data is stored and retrieved a from the local database.
Installation¶
Any backend change requires a change in the environment that are present when the application is launched. Add this setting to use the Demo backend:
OPENPERSONEN_BACKEND=openpersonen.contrib.demo.backend.default
Configuration¶
The demo backend does not require any additional configuration but you probably want to load a predefined testset of persons or you can create test persons yourself.
Import testset¶
An example testset can be found on the Rijksdienst voor Identiteitsgegevens (RvIG) website. You can load this set directly into the demo backend.
$ python src/manage.py import_demodata --url=<testset url>
$ docker-compose exec web src/manage.py import_demodata --url=<testset url>
Example data
To give you some quick insights in the testset that is provided, here’s a family tree present in this testset:
C.F. Wiegman (
999990676
) partner of A.H. Holthuizen (999990421
), children:A. Holthuizen (
999991978
) no partnerno children
A.F. Holthuizen (
999991760
) no partnerno children
M. du Burck-Holthuizen (
999993392
) partner of J.L. du Burck (999991589
), children:M. du Burck (
999991115
) no partnerno children
C. Djibet-du Burck (
999992223
) partner of R. Djibet (999994347
), children:N.Q. Djibet (
999994281
) no partnerno children
F.Z. Djibet (
999993264
) no partnerno children
N.H. Djibet (
999994177
) partner of K.S.A. Bronwaßer (999995224
), children:R.S. Bronwasser (
999992612
)
Create test persons¶
When using the demo backend you can create and delete persons freely. The management interface allows you to create, update and delete persons and manage their basic properties. This can be usefull when using predefined BSNs in a test environment that don’t match up with an existing testset or if you want to test specific field values or relations between persons.
If you haven’t done so already, make a superuser account to login to the admin:
$ python src/manage.py createsuperuser
$ docker-compose exec web src/manage.py createsuperuser
Point your webbrowser to the admin interface, for example:
http://localhost:8000/admin/
Login with the username and password from step 1.
Navigate to Demo backend > Personen
You can edit, create or delete persons that become available via the API.
Next steps¶
You can continue to read how to enable Authorizations.
StUF-BG backend¶
This backend allows Open Personen to connect to a StUF-BG compatible service to retrieve person data.
Installation¶
Any backend change requires a change in the environment that are present when the application is launched. Add this setting to use the StUF-BG backend:
OPENPERSONEN_BACKEND=openpersonen.contrib.stufbg.backend.default
The StUF-BG backend requires authorizations to be enabled. You can do this by setting:
OPENPERSONEN_USE_AUTHENTICATION=True
Configuration¶
The StUF-BG backend requires you to setup some connection settings within the admin interface of Open Personen.
If you haven’t done so already, make a superuser account to login to the admin:
$ python src/manage.py createsuperuser
$ docker-compose exec web src/manage.py createsuperuser
Point your webbrowser to the admin interface, for example:
http://localhost:8000/admin/
Login with the username and password from step 1.
Navigate to StUF-BG backend > StUF-BG Client
Fill in all relevant fields and click on OPSLAAN.
Next steps¶
You can continue to read how to enable Authorizations.
In depth¶
Implementation¶
The StUF-BG specification does not map exactly to the Haal Centraal BRP API. There are several implementation details that are documented below, starting with a mapping of all API to StUF-BG attributes.
If an attribute mapping has no design decision remarks, the attribute value is not changed.
attribute
- API value is derived directly fromattribute
.FUNCTION(
attribute
) - API value is derived fromattribute
via a specific FUNCTION. These FUNCTIONs should be self explanatory.“value” - API value is staticly set to this “value”.
(
attribute
== “value”) - API value is derived from simple calculation.(calculated) - API value is derived from complex calculation. The remarks should indicate how exactly.
API attribute |
StUF-BG attribute |
Design decision remarks |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
One of the multiple inOnderzoek occurrances matches |
|
( |
One of the multiple inOnderzoek occurrances matches |
|
( |
One of the multiple inOnderzoek occurrances matches |
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
(calculated) |
See features |
|
(calculated) |
See features |
|
(calculated) |
See features |
|
|
|
|
DAY( |
|
|
|
|
|
YEAR( |
|
|
MONTH( |
|
|
COUNTRY_CODE( |
|
|
|
|
|
CITY_CODE( |
|
|
|
|
|
( |
One of the multiple inOnderzoek occurrances matches |
|
( |
One of the multiple inOnderzoek occurrances matches |
|
( |
One of the multiple inOnderzoek occurrances matches |
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
|
|
|
(calculated) |
See features |
|
DAY( |
|
|
|
|
|
YEAR( |
|
|
MONTH( |
|
|
( |
StUF-BG value “2” evaluates to “true”. |
|
( |
StUF-BG value “A” evaluates to “true”. |
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
( |
One of the multiple inOnderzoek occurrances matches |
|
( |
One of the multiple inOnderzoek occurrances matches |
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
|
|
|
DAY( |
|
|
|
|
|
YEAR( |
|
|
MONTH( |
|
|
|
|
|
|
|
|
REDEN_CODE( |
|
|
|
|
|
( |
One of the multiple inOnderzoek occurrances matches |
|
( |
One of the multiple inOnderzoek occurrances matches |
|
|
TODO |
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
|
|
|
DAY( |
|
|
|
|
|
YEAR( |
|
|
MONTH( |
|
|
( |
|
|
DAY( |
|
|
|
|
|
YEAR( |
|
|
MONTH( |
|
|
COUNTRY_CODE( |
|
|
|
|
|
CITY_CODE( |
|
|
|
|
|
( |
One of the multiple inOnderzoek occurrances matches |
|
( |
One of the multiple inOnderzoek occurrances matches |
|
( |
One of the multiple inOnderzoek occurrances matches |
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
|
TODO |
|
|
|
|
|
|
|
|
|
|
null |
TODO |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TODO |
|
|
|
|
|
|
|
|
TODO |
|
DAY( |
|
|
|
|
|
YEAR( |
|
|
MONTH( |
|
|
DAY( |
|
|
|
|
|
YEAR( |
|
|
MONTH( |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
|
|
|
|
|
|
“” |
TODO |
|
“” |
TODO |
|
|
|
|
|
|
|
|
|
|
|
TODO |
|
COUNTRY_CODE(sub.verblijfBuitenland.lnd.landcode) |
|
|
|
|
|
|
TODO |
|
|
TODO |
|
|
TODO |
|
|
TODO |
|
|
TODO |
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
|
|
|
|
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
( |
|
|
|
|
|
(calculated) |
Obtained from mapping https://publicaties.rvig.nl/dsresource?objectid=4801&type=org |
|
DAY( |
|
|
|
|
|
YEAR( |
|
|
MONTH( |
|
|
DAY( |
|
|
|
|
|
YEAR( |
|
|
MONTH( |
|
|
( |
One of the multiple inOnderzoek occurrances matches |
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
|
|
null |
API attribute |
StUF-BG attribute |
Design decision remarks |
---|---|---|
burgerservicenummer |
|
|
geheimhoudingPersoonsgegevens |
|
|
naam.geslachtsnaam |
|
|
naam.voorletters |
|
|
naam.voornamen |
|
|
naam.voorvoegsel |
|
|
naam.inOnderzoek.geslachtsnaam |
( |
One of the multiple inOnderzoek occurrances matches |
naam.inOnderzoek.voornamen |
( |
One of the multiple inOnderzoek occurrances matches |
naam.inOnderzoek.voorvoegsel |
( |
One of the multiple inOnderzoek occurrances matches |
naam.inOnderzoek.datumIngangOnderzoek.dag |
null |
|
naam.inOnderzoek.datumIngangOnderzoek.datum |
null |
|
naam.inOnderzoek.datumIngangOnderzoek.jaar |
null |
|
naam.inOnderzoek.datumIngangOnderzoek.maand |
null |
|
geboorte.datum.dag |
DAY( |
|
geboorte.datum.datum |
|
|
geboorte.datum.jaar |
YEAR( |
|
geboorte.datum.maand |
MONTH( |
|
geboorte.land.code |
COUNTRY_CODE( |
|
geboorte.land.omschrijving |
|
|
geboorte.plaats.code |
CITY_CODE( |
|
geboorte.plaats.omschrijving |
|
|
geboorte.inOnderzoek.datum |
( |
One of the multiple inOnderzoek occurrances matches |
geboorte.inOnderzoek.land |
( |
One of the multiple inOnderzoek occurrances matches |
geboorte.inOnderzoek.plaats |
( |
One of the multiple inOnderzoek occurrances matches |
geboorte.inOnderzoek.datumIngangOnderzoek.dag |
null |
|
geboorte.inOnderzoek.datumIngangOnderzoek.datum |
null |
|
geboorte.inOnderzoek.datumIngangOnderzoek.jaar |
null |
|
geboorte.inOnderzoek.datumIngangOnderzoek.maand |
null |
|
leeftijd |
(calculated) |
See features |
inOnderzoek.burgerservicenummer |
( |
One of the multiple inOnderzoek occurrances matches |
inOnderzoek.datumIngangOnderzoek.dag |
null |
|
inOnderzoek.datumIngangOnderzoek.datum |
null |
|
inOnderzoek.datumIngangOnderzoek.jaar |
null |
|
inOnderzoek.datumIngangOnderzoek.maand |
null |
API attribute |
StUF-BG attribute |
Design decision remarks |
---|---|---|
burgerservicenummer |
|
|
geslachtsaanduiding |
|
|
ouderAanduiding |
|
|
datumIngangFamilierechtelijkeBetrekking.dag |
DAY( |
|
datumIngangFamilierechtelijkeBetrekking.datum |
inp.heeftAlsOuders.datumIngangFamilierechtelijkeBetrekking |
|
datumIngangFamilierechtelijkeBetrekking.jaar |
YEAR( |
|
datumIngangFamilierechtelijkeBetrekking.maand |
MONTH( |
|
naam.geslachtsnaam |
|
|
naam.voorletters |
|
|
naam.voornamen |
|
|
naam.voorvoegsel |
|
|
naam.inOnderzoek.geslachtsnaam |
( |
One of the multiple inOnderzoek occurrances matches |
naam.inOnderzoek.voornamen |
( |
One of the multiple inOnderzoek occurrances matches |
naam.inOnderzoek.voorvoegsel |
( |
One of the multiple inOnderzoek occurrances matches |
naam.inOnderzoek.datumIngangOnderzoek.dag |
null |
|
naam.inOnderzoek.datumIngangOnderzoek.datum |
null |
|
naam.inOnderzoek.datumIngangOnderzoek.jaar |
null |
|
naam.inOnderzoek.datumIngangOnderzoek.maand |
null |
|
inOnderzoek.burgerservicenummer |
( |
One of the multiple inOnderzoek occurrances matches |
inOnderzoek.datumIngangFamilierechtelijkeBetrekking |
null |
|
inOnderzoek.geslachtsaanduiding |
( |
One of the multiple inOnderzoek occurrances matches |
inOnderzoek.datumIngangOnderzoek.dag |
null |
|
inOnderzoek.datumIngangOnderzoek.datum |
null |
|
inOnderzoek.datumIngangOnderzoek.jaar |
null |
|
inOnderzoek.datumIngangOnderzoek.maand |
null |
|
geboorte.datum.dag |
DAY( |
|
geboorte.datum.datum |
|
|
geboorte.datum.jaar |
YEAR( |
|
geboorte.datum.maand |
MONTH( |
|
geboorte.land.code |
COUNTRY_CODE( |
|
geboorte.land.omschrijving |
|
|
geboorte.plaats.code |
CITY_CODE( |
|
geboorte.plaats.omschrijving |
|
|
geboorte.inOnderzoek.datum |
( |
One of the multiple inOnderzoek occurrances matches |
geboorte.inOnderzoek.land |
( |
One of the multiple inOnderzoek occurrances matches |
geboorte.inOnderzoek.plaats |
( |
One of the multiple inOnderzoek occurrances matches |
geboorte.inOnderzoek.datumIngangOnderzoek.dag |
null |
|
geboorte.inOnderzoek.datumIngangOnderzoek.datum |
null |
|
geboorte.inOnderzoek.datumIngangOnderzoek.jaar |
null |
|
geboorte.inOnderzoek.datumIngangOnderzoek.maand |
null |
|
geheimhoudingPersoonsgegevens |
|
API attribute |
StUF-BG attribute |
Design decision remarks |
---|---|---|
burgerservicenummer |
|
|
geslachtsaanduiding |
|
|
soortVerbintenis |
|
|
naam.geslachtsnaam |
|
|
naam.voorletters |
|
|
naam.voornamen |
|
|
naam.voorvoegsel |
|
|
naam.inOnderzoek.geslachtsnaam |
( |
One of the multiple inOnderzoek occurrances matches |
naam.inOnderzoek.voornamen |
( |
One of the multiple inOnderzoek occurrances matches |
naam.inOnderzoek.voorvoegsel |
( |
One of the multiple inOnderzoek occurrances matches |
naam.inOnderzoek.datumIngangOnderzoek.dag |
1 |
Fixed value since not in StUF-BG and cannot be |
naam.inOnderzoek.datumIngangOnderzoek.datum |
null |
|
naam.inOnderzoek.datumIngangOnderzoek.jaar |
1900 |
Fixed value since not in StUF-BG and cannot be |
naam.inOnderzoek.datumIngangOnderzoek.maand |
1 |
Fixed value since not in StUF-BG and cannot be |
geboorte.datum.dag |
DAY( |
|
geboorte.datum.datum |
|
|
geboorte.datum.jaar |
YEAR( |
|
geboorte.datum.maand |
MONTH( |
|
geboorte.land.code |
COUNTRY_CODE( |
|
geboorte.land.omschrijving |
|
|
geboorte.plaats.code |
CITY_CODE( |
|
geboorte.plaats.omschrijving |
|
|
geboorte.inOnderzoek.datum |
( |
One of the multiple inOnderzoek occurrances matches |
geboorte.inOnderzoek.land |
( |
One of the multiple inOnderzoek occurrances matches |
geboorte.inOnderzoek.plaats |
( |
One of the multiple inOnderzoek occurrances matches |
geboorte.inOnderzoek.datumIngangOnderzoek.dag |
1 |
Fixed value since not in StUF-BG and cannot be |
geboorte.inOnderzoek.datumIngangOnderzoek.datum |
null |
|
geboorte.inOnderzoek.datumIngangOnderzoek.jaar |
1900 |
Fixed value since not in StUF-BG and cannot be |
geboorte.inOnderzoek.datumIngangOnderzoek.maand |
1 |
Fixed value since not in StUF-BG and cannot be |
inOnderzoek.burgerservicenummer |
( |
One of the multiple inOnderzoek occurrances matches |
inOnderzoek.geslachtsaanduiding |
( |
One of the multiple inOnderzoek occurrances matches |
inOnderzoek.datumIngangOnderzoek.dag |
1 |
Fixed value since not in StUF-BG and cannot be |
inOnderzoek.datumIngangOnderzoek.datum |
null |
|
inOnderzoek.datumIngangOnderzoek.jaar |
1900 |
Fixed value since not in StUF-BG and cannot be |
inOnderzoek.datumIngangOnderzoek.maand |
1 |
Fixed value since not in StUF-BG and cannot be |
aangaanHuwelijkPartnerschap.datum.dag |
DAY( |
|
aangaanHuwelijkPartnerschap.datum.datum |
|
|
aangaanHuwelijkPartnerschap.datum.jaar |
YEAR( |
|
aangaanHuwelijkPartnerschap.datum.maand |
MONTH( |
|
aangaanHuwelijkPartnerschap.land.code |
COUNTRY_CODE( |
|
aangaanHuwelijkPartnerschap.land.omschrijving |
|
|
aangaanHuwelijkPartnerschap.plaats.code |
CITY_CODE( |
|
aangaanHuwelijkPartnerschap.plaats.omschrijving |
|
|
aangaanHuwelijkPartnerschap.inOnderzoek.datum |
( |
One of the multiple inOnderzoek occurrances matches |
aangaanHuwelijkPartnerschap.inOnderzoek.land |
( |
One of the multiple inOnderzoek occurrances matches |
aangaanHuwelijkPartnerschap.inOnderzoek.plaats |
( |
One of the multiple inOnderzoek occurrances matches |
aangaanHuwelijkPartnerschap.inOnderzoek.datumIngangOnderzoek.dag |
1 |
Fixed value since not in StUF-BG and cannot be |
aangaanHuwelijkPartnerschap.inOnderzoek.datumIngangOnderzoek.datum |
null |
|
aangaanHuwelijkPartnerschap.inOnderzoek.datumIngangOnderzoek.jaar |
1900 |
Fixed value since not in StUF-BG and cannot be |
aangaanHuwelijkPartnerschap.inOnderzoek.datumIngangOnderzoek.maand |
1 |
Fixed value since not in StUF-BG and cannot be |
geheimhoudingPersoonsgegevens |
|
Conversion service¶
The conversion service allows converting BRP API requests to StUF-BG requests and StUF-BG responses to BRP API responses. The conversion service does not make any external requests or manipulate any stored data but just converts given information between different formats.