Generating Test NID Data: Netherlands BSN
The Netherlands uses a method to identify their citizens called the Burgerservicenummer, or BSN. This has replaced the SoFi number. If you would like more information about the SoFi number, refer to the SoFi section below.
BSN
The BSN is used in much the same way as the United States Social Security Number, and consists of 9 digits in the format:
NNNNNNNNN
Each number is generated randomly with the last digit being a “check digit.” The entire number conforms to a technique known as the “11 check”.
IRI has created a new library function for IRI RowGen users who wish to generate computationally valid test BSN numbers. The would invoke the function in a RowGen job that might look like this:
/INFILE=RowGen_BSN.placeholder.in /ALIAS=RGBSN /PROCESS=RANDOM /INCOLLECT=1 # Number of records to produce /FIELD=(NATID=natid_gen_netherlands_bsn(), TYPE=ASCII, POSITION=1, SEPARATOR="\n") /REPORT /OUTFILE=stdout /PROCESS=RECORD /FIELD=(NATID, TYPE=ASCII, POSITION=1, SEPARATOR="\t")
The output from this routine is:
269740533
Note the sample specification above for creating a properly formatted BSN:
/FIELD=(FieldName=natid_gen_netherlands_bsn(), TYPE=ASCII, POSITION=1, SEPARATOR="\t")
where:
- FieldName is the desired name for the field
- /INCOLLECT determines the number of test values (record) to generate. Multiple output targets (files and tables) can be defined.
- There are no parameters for the function because there is no personal information used to generate the BSN
SoFi Number
The Netherlands’ former number for citizen identification was the Social Fiscal number (Sofinummer) or Sofi number. This number was used in much the same way as the United States Social Security Number (US SSN), and consists of 9 digits in the format:
NNNNNNNNN
Each number is unique and contains personally-identifying information (PII), such as birth date or gender. All numbers conform to a technique called the “11 check.”
IRI also has a library function for IRI RowGen users who wish to generate valid Sofi numbers. The user would invoke the function in a job script that might look like this:
/INFILE=RowGen_Sofi_valid.placeholder.in /ALIAS=RGSofi /PROCESS=RANDOM /INCOLLECT=1 # Number of records to produce /FIELD=(NATID=natid_gen_netherlands_sofi(), TYPE=ASCII, POSITION=1, SEPARATOR="\n") /REPORT /OUTFILE=stdout /PROCESS=RECORD /FIELD=(NATID, TYPE=ASCII, POSITION=1, SEPARATOR="\t")
The output from this routine is:
004954932
The specification for creating a properly formatted Sofi number above,
/FIELD=(FieldName=natid_gen_netherlands_sofi(), TYPE=ASCII, POSITION=1, SEPARATOR="\t")
shows that:
- FieldName is the desired name for the field
- /INCOLLECT determines the number of test values (record) to generate. Multiple output targets (files and tables) can be defined.
- There are no parameters for the function because there is no personal information used to generate the Social Fiscal number
If you are interested in using either of these functions in RowGen, please contact your IRI representative.