HAALCENTRAAL English translation
BRP API / Personen / Features / gegeven-stap-definities-expressief

Persoon, Inschrijving, Verblijfplaats Given step definitions

# language: en
@stap-documentatie
Feature: Persoon, Inschrijving, Verblijfplaats Given step definitions

  Background:
    Given the 1st 'SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl' statement has the result '9999'
    And the 2nd 'SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl' statement has the result '10000'
    And the 3rd 'SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl' statement has the result '10001'

  Scenario: person '[persoon aanduiding]' has the following data
    Given person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | Jansen                |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                  | values                      |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                           0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                    | 9999,0,0,P,000000012,Jansen |

  Scenario Outline: has the following persons without a citizen service number as parent
    Given person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | Jansen                |
    * has the following person without a citizen service number as parent <ouder type>
      | geslachtsnaam (02.40) |
      | Albers                |
    Then the generated SQL statements are
      | stap       | categorie          | text                                                                                                                                                  | values                       |
      | persoon-P1 | inschrijving       | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                            0 |
      |            | persoon            | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                    |  9999,0,0,P,000000012,Jansen |
      |            | ouder-<ouder type> | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,geslachts_naam) VALUES($1,$2,$3,$4,$5)                                         | 9999,0,0,<ouder type>,Albers |

    Examples:
      | ouder type |
      |          1 |
      |          2 |

  Scenario: the person with citizen service number '[bsn]'
    Given the person with citizen service number '000000012'
    Then the generated SQL statements are
      | stap      | categorie    | text                                                                                                                                                  | values               |
      | persoon-1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                    0 |
      |           | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr) VALUES($1,$2,$3,$4,$5)                                      | 9999,0,0,P,000000012 |

  Scenario: the person with citizen service number '[bsn]' (several persons)
    Given the person with citizen service number '000000012'
    And the person with citizen service number '000000024'
    Then the generated SQL statements are
      | stap      | categorie    | text                                                                                                                                                  | values                |
      | persoon-1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                     0 |
      |           | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr) VALUES($1,$2,$3,$4,$5)                                      |  9999,0,0,P,000000012 |
      | persoon-2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                     0 |
      |           | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr) VALUES($1,$2,$3,$4,$5)                                      | 10000,0,0,P,000000024 |

  Scenario: the person '[aanduiding]' with citizen service number '[bsn]'
    Given the person 'P1' with citizen service number '000000012'
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                | values                               |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *               |                                    0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,geboorte_land_code,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7,$8) | 9999,0,0,P,000000012,P1,6030,1AA0100 |

  Scenario: person '[aanduiding]' (person context and pl_id switch)
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    And person 'P1'
    * is a minor
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                  | values                                      |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                                           0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,geboorte_datum) VALUES($1,$2,$3,$4,$5,$6,$7)  | 10000,0,0,P,000000012,P1,gisteren - 17 jaar |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                                           0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                    |                     9999,0,0,P,000000024,P2 |

  Scenario: is a minor
    Given the person with citizen service number '000000012'
    * is a minor
    Then the generated SQL statements are
      | stap      | categorie    | text                                                                                                                                                  | values                                  |
      | persoon-1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                                       0 |
      |           | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geboorte_datum) VALUES($1,$2,$3,$4,$5,$6)                    | 9999,0,0,P,000000012,gisteren - 17 jaar |

  Scenario Outline: <stap>
    Given the person with citizen service number '000000012'
    * <stap>
    Then the generated SQL statements are
      | stap      | categorie    | text                                                                                                                                                  | values                                  |
      | persoon-1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                                       0 |
      |           | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geboorte_datum) VALUES($1,$2,$3,$4,$5,$6)                    | 9999,0,0,P,000000012,gisteren - 45 jaar |

    Examples:
      | stap                                                         |
      | is meerderjarig                                              |
      | is meerderjarig, niet overleden en staat niet onder curatele |

  Scenario: is registered in the BRP
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000036 | P1                    |
    * is registered in the BRP
    Then the generated SQL statements are
      | stap       | categorie      | text                                                                                                                                                  | values                  |
      | persoon-P1 | inschrijving   | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                       0 |
      |            | persoon        | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                    | 9999,0,0,P,000000036,P1 |
      |            | verblijfplaats | INSERT INTO public.lo3_pl_verblijfplaats(pl_id,volg_nr,inschrijving_gemeente_code) VALUES($1,$2,$3)                                                   |             9999,0,0518 |

  Scenario: was born in the Netherlands
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000036 | P1                    |
    * was born in the Netherlands
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                | values                               |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *               |                                    0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,geboorte_land_code,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7,$8) | 9999,0,0,P,000000036,P1,6030,1AA0100 |

  Scenario Outline: has '[aanduiding]' as parent [1 or 2]
    Given the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P2                    |
    And the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000036 | P1                    |
    * has 'P2' as parent <ouder type>
    Then the generated SQL statements are
      | stap       | categorie          | text                                                                                                                                                             | values                                                 |
      | persoon-P2 | inschrijving       | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *            |                                                      0 |
      |            | persoon            | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                               |                                9999,0,0,P,000000012,P2 |
      |            | kind-1             | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                    |                        9999,0,0,K,000000036,P1,1AA0100 |
      | persoon-P1 | inschrijving       | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *            |                                                      0 |
      |            | persoon            | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                               |                               10000,0,0,P,000000036,P1 |
      |            | ouder-<ouder type> | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7) | 10000,0,0,<ouder type>,000000012,P2,gisteren - 17 jaar |

    Examples:
      | ouder type |
      |          1 |
      |          2 |

  Scenario Outline: has '[aanduiding]' as parent [1 or 2] with the following data
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    * has 'P1' as parent <ouder type> with the following data
      | datum ingang familierechtelijke betrekking (62.10) |
      | morgen - 10 jaar                                   |
    Then the generated SQL statements are
      | stap       | categorie          | text                                                                                                                                                             | values                                               |
      | persoon-P1 | inschrijving       | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *            |                                                    0 |
      |            | persoon            | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                               |                              9999,0,0,P,000000012,P1 |
      |            | kind-1             | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                    |                      9999,0,0,K,000000024,P2,1AA0100 |
      | persoon-P2 | inschrijving       | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *            |                                                    0 |
      |            | persoon            | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                               |                             10000,0,0,P,000000024,P2 |
      |            | ouder-<ouder type> | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7) | 10000,0,0,<ouder type>,000000012,P1,morgen - 10 jaar |

    Examples:
      | ouder type |
      |          1 |
      |          2 |

  Scenario: the person has several children
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    Given the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    * has 'P1' as parent 1 with the following data
      | datum ingang familierechtelijke betrekking (62.10) |
      | morgen - 10 jaar                                   |
    And the person 'P3' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000036 | P3                    |
    * has 'P1' as parent 1 with the following data
      | datum ingang familierechtelijke betrekking (62.10) |
      | gisteren - 8 jaar                                  |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                             | values                                     |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *            |                                          0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                               |                    9999,0,0,P,000000012,P1 |
      |            | kind-1       | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                    |            9999,0,0,K,000000024,P2,1AA0100 |
      |            | kind-2       | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                    |            9999,1,0,K,000000036,P3,1AA0100 |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *            |                                          0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                               |                   10000,0,0,P,000000024,P2 |
      |            | ouder-1      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7) |  10000,0,0,1,000000012,P1,morgen - 10 jaar |
      | persoon-P3 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *            |                                          0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                               |                   10001,0,0,P,000000036,P3 |
      |            | ouder-1      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7) | 10001,0,0,1,000000012,P1,gisteren - 8 jaar |

  Scenario: '[aanduiding 1]' and '[aanduiding 2]' are married to each other
    Given the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P2                    |
    Given the person 'P3' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P3                    |
    * 'P2' and 'P3' are married to each other
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                                                                               | values                                                  |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                              |                                                       0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                 9999,0,0,P,000000012,P2 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) |  9999,0,0,R,000000024,P3,gisteren - 20 jaar,0518,6030,H |
      | persoon-P3 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                              |                                                       0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                10000,0,0,P,000000024,P3 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) | 10000,0,0,R,000000012,P2,gisteren - 20 jaar,0518,6030,H |

  Scenario: '[aanduiding 1]' and '[aanduiding 2]' are married to each other with the following data
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    And 'P1' and 'P2' are married to each other with the following data
      | datum huwelijkssluiting/aangaan geregistreerd partnerschap (06.10) |
      |                                                           20100401 |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                      | values                            |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *     |                                 0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                        |           9999,0,0,P,000000012,P1 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7) |  9999,0,0,R,000000024,P2,20100401 |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *     |                                 0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                        |          10000,0,0,P,000000024,P2 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7) | 10000,0,0,R,000000012,P1,20100401 |

  Scenario: '[aanduiding 1]' and '[aanduiding 2]' have divorced
    Given the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P2                    |
    And the person 'P3' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P3                    |
    * 'P2' and 'P3' are married to each other
    * 'P2' and 'P3' have divorced
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                                                                                                   | values                                                   |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                                                  | 0                                                        |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                                     | 9999,0,0,P,000000012,P2                                  |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10)                     | 9999,0,1,R,000000024,P3,gisteren - 20 jaar,0518,6030,H   |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,verbintenis_soort,relatie_eind_datum,relatie_eind_plaats,relatie_eind_land_code,relatie_eind_reden) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) | 9999,0,0,R,000000024,P3,H,gisteren - 1 jaar,0518,6030,S  |
      | persoon-P3 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                                                  | 0                                                        |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                                     | 10000,0,0,P,000000024,P3                                 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10)                     | 10000,0,1,R,000000012,P2,gisteren - 20 jaar,0518,6030,H  |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,verbintenis_soort,relatie_eind_datum,relatie_eind_plaats,relatie_eind_land_code,relatie_eind_reden) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) | 10000,0,0,R,000000012,P2,H,gisteren - 1 jaar,0518,6030,S |

  Scenario: '[aanduiding 1]' and '[aanduiding 2]' have divorced with the following data
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    And 'P1' and 'P2' are married to each other
    And 'P1' and 'P2' have divorced with the following data
      | datum ontbinding huwelijk/geregistreerd partnerschap (07.10) |
      |                                                     20101231 |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                                                                               | values                                                  |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                              |                                                       0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                 9999,0,0,P,000000012,P1 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) |  9999,0,1,R,000000024,P2,gisteren - 20 jaar,0518,6030,H |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,verbintenis_soort,relatie_eind_datum) VALUES($1,$2,$3,$4,$5,$6,$7,$8)                                                      |                      9999,0,0,R,000000024,P2,H,20101231 |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                              |                                                       0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                10000,0,0,P,000000024,P2 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) | 10000,0,1,R,000000012,P1,gisteren - 20 jaar,0518,6030,H |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,verbintenis_soort,relatie_eind_datum) VALUES($1,$2,$3,$4,$5,$6,$7,$8)                                                      |                     10000,0,0,R,000000012,P1,H,20101231 |

  Scenario: the person has a partner and a former partner
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    And 'P1' and 'P2' are married to each other
    And 'P1' and 'P2' have divorced with the following data
      | datum ontbinding huwelijk/geregistreerd partnerschap (07.10) |
      |                                                     20101231 |
    And the person 'P3' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000036 | P3                    |
    And 'P1' and 'P3' are married to each other with the following data
      | datum huwelijkssluiting/aangaan geregistreerd partnerschap (06.10) |
      |                                                           20240101 |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                                                                               | values                                                  |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                              |                                                       0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                 9999,0,0,P,000000012,P1 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) |  9999,0,1,R,000000024,P2,gisteren - 20 jaar,0518,6030,H |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,verbintenis_soort,relatie_eind_datum) VALUES($1,$2,$3,$4,$5,$6,$7,$8)                                                      |                      9999,0,0,R,000000024,P2,H,20101231 |
      |            | partner-2    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7)                                                                          |                        9999,1,0,R,000000036,P3,20240101 |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                              |                                                       0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                10000,0,0,P,000000024,P2 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) | 10000,0,1,R,000000012,P1,gisteren - 20 jaar,0518,6030,H |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,verbintenis_soort,relatie_eind_datum) VALUES($1,$2,$3,$4,$5,$6,$7,$8)                                                      |                     10000,0,0,R,000000012,P1,H,20101231 |
      | persoon-P3 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                              |                                                       0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                10001,0,0,P,000000036,P3 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7)                                                                          |                       10001,0,0,R,000000012,P1,20240101 |

  Scenario: the following data of parent [1 or 2] has been changed
    Given the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P2                    |
    And the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000036 | P1                    |
    * has 'P2' as parent 1
    * the following data of parent 1 has been changed
      | datum ingang familierechtelijke betrekking (62.10) |
      |                                           20200101 |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                             | values                                      |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *            |                                           0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                               |                     9999,0,0,P,000000012,P2 |
      |            | kind-1       | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                    |             9999,0,0,K,000000036,P1,1AA0100 |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *            |                                           0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                               |                    10000,0,0,P,000000036,P1 |
      |            | ouder-1      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7) | 10000,0,1,1,000000012,P2,gisteren - 17 jaar |
      |            | ouder-1      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7) |           10000,0,0,1,000000012,P2,20200101 |

  Scenario: the following data of parent [1 or 2] has been corrected
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    * has 'P1' as parent 1
    * the following data of parent 1 has been corrected
      | datum ingang familierechtelijke betrekking (62.10) |
      |                                           20200101 |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                            | values                                        |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                           |                                             0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                              |                       9999,0,0,P,000000012,P1 |
      |            | kind-1       | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                                   |               9999,0,0,K,000000024,P2,1AA0100 |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                           |                                             0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                              |                      10000,0,0,P,000000024,P2 |
      |            | ouder-1      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum,onjuist_ind) VALUES($1,$2,$3,$4,$5,$6,$7,$8) | 10000,0,1,1,000000012,P1,gisteren - 17 jaar,O |
      |            | ouder-1      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum) VALUES($1,$2,$3,$4,$5,$6,$7)                |             10000,0,0,1,000000012,P1,20200101 |

  Scenario Outline: was adopted by '[aanduiding]' as parent [1 or 2]
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    * was adopted by 'P1' as parent <ouder type>
    Then the generated SQL statements are
      | stap       | categorie          | text                                                                                                                                                                        | values                                                      |
      | persoon-P1 | inschrijving       | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                       |                                                           0 |
      |            | persoon            | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                          |                                     9999,0,0,P,000000012,P1 |
      |            | kind-1             | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                               |                             9999,0,0,K,000000024,P2,1AQ0100 |
      | persoon-P2 | inschrijving       | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                       |                                                           0 |
      |            | persoon            | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                          |                                    10000,0,1,P,000000024,P2 |
      |            | persoon            | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                               |                            10000,0,0,P,000000024,P2,1AQ0100 |
      |            | ouder-<ouder type> | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7,$8) | 10000,0,0,<ouder type>,000000012,P1,10 jaar geleden,1AQ0100 |

    Examples:
      | ouder type |
      |          1 |
      |          2 |

  Scenario: was adopted by '[aanduiding]' as parent [1 or 2] with the following data
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    * 'P2' was adopted by 'P1' as parent 1 with the following data
      | datum ingang familierechtelijke betrekking (62.10) | aktenummer (81.20) |
      | gisteren - 5 jaar                                  |            2BR1211 |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                        | values                                             |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                       |                                                  0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                          |                            9999,0,0,P,000000012,P1 |
      |            | kind-1       | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                               |                    9999,0,0,K,000000024,P2,1AQ0100 |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                       |                                                  0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                          |                           10000,0,1,P,000000024,P2 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7)                               |                   10000,0,0,P,000000024,P2,1AQ0100 |
      |            | ouder-1      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,familie_betrek_start_datum,akte_nr) VALUES($1,$2,$3,$4,$5,$6,$7,$8) | 10000,0,0,1,000000012,P1,gisteren - 5 jaar,2BR1211 |

  Scenario: has an authority ruling
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000036 | P1                    |
    And a judicial ruling on authority has been made for 'P1' with the following data
      | indicatie gezag minderjarige (32.10) | ingangsdatum geldigheid (85.10) |
      | D                                    |                        20220701 |
    Then the generated SQL statements are
      | stap       | categorie        | text                                                                                                                                                  | values                  |
      | persoon-P1 | inschrijving     | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                       0 |
      |            | persoon          | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                    | 9999,0,0,P,000000036,P1 |
      |            | gezagsverhouding | INSERT INTO public.lo3_pl_gezagsverhouding(pl_id,volg_nr,minderjarig_gezag_ind,geldigheid_start_datum) VALUES($1,$2,$3,$4)                            |       9999,0,D,20220701 |

  Scenario: under guardianship
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    * 'P1' is under guardianship
    Then the generated SQL statements are
      | stap       | categorie        | text                                                                                                                                                  | values                  |
      | persoon-P1 | inschrijving     | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                       0 |
      |            | persoon          | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                    | 9999,0,0,P,000000012,P1 |
      |            | gezagsverhouding | INSERT INTO public.lo3_pl_gezagsverhouding(pl_id,volg_nr,curatele_register_ind) VALUES($1,$2,$3)                                                      |                9999,0,1 |

  Scenario: has an authority ruling and is under guardianship
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000036 | P1                    |
    And a judicial ruling on authority has been made for 'P1' with the following data
      | indicatie gezag minderjarige (32.10) | ingangsdatum geldigheid (85.10) |
      | D                                    |                        20220701 |
    * 'P1' is under guardianship
    Then the generated SQL statements are
      | stap       | categorie        | text                                                                                                                                                  | values                  |
      | persoon-P1 | inschrijving     | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING * |                       0 |
      |            | persoon          | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                    | 9999,0,0,P,000000036,P1 |
      |            | gezagsverhouding | INSERT INTO public.lo3_pl_gezagsverhouding(pl_id,volg_nr,minderjarig_gezag_ind,geldigheid_start_datum,curatele_register_ind) VALUES($1,$2,$3,$4,$5)   |     9999,0,D,20220701,1 |

  Scenario: a person without a partner has died
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    * has died
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                                                            | values                   |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind,bijhouding_opschort_datum,bijhouding_opschort_reden) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1,$2,$3) RETURNING * |    0,gisteren - 2 jaar,O |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                              |  9999,0,0,P,000000012,P1 |
      |            | overlijden   | INSERT INTO public.lo3_pl_overlijden(pl_id,volg_nr,overlijden_datum) VALUES($1,$2,$3)                                                                                                                           | 9999,0,gisteren - 2 jaar |

  Scenario: a person with a partner has died
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    And 'P1' and 'P2' are married to each other
    And 'P1' has died
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                                                                               | values                                                  |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind,bijhouding_opschort_datum,bijhouding_opschort_reden) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1,$2,$3) RETURNING *                    |                                   0,gisteren - 2 jaar,O |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                 9999,0,0,P,000000012,P1 |
      |            | overlijden   | INSERT INTO public.lo3_pl_overlijden(pl_id,volg_nr,overlijden_datum) VALUES($1,$2,$3)                                                                                                                                              |                                9999,0,gisteren - 2 jaar |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) |  9999,0,0,R,000000024,P2,gisteren - 20 jaar,0518,6030,H |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                              |                                                       0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                10000,0,0,P,000000024,P2 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) | 10000,0,1,R,000000012,P1,gisteren - 20 jaar,0518,6030,H |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_eind_datum,relatie_eind_plaats,relatie_eind_land_code,relatie_eind_reden) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10)   |  10000,0,0,R,000000012,P1,gisteren - 2 jaar,0518,6030,O |

  Scenario: the person died after divorcing the partner
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And the person 'P2' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000024 | P2                    |
    And 'P1' and 'P2' are married to each other
    And 'P1' and 'P2' have divorced with the following data
      | datum ontbinding huwelijk/geregistreerd partnerschap (07.10) |
      | gisteren - 7 jaar                                            |
    And 'P1' has died, with the following data
      | datum overlijden (08.10) |
      | gisteren - 2 jaar        |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                                                                               | values                                                  |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind,bijhouding_opschort_datum,bijhouding_opschort_reden) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1,$2,$3) RETURNING *                    |                                   0,gisteren - 2 jaar,O |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                 9999,0,0,P,000000012,P1 |
      |            | overlijden   | INSERT INTO public.lo3_pl_overlijden(pl_id,volg_nr,overlijden_datum) VALUES($1,$2,$3)                                                                                                                                              |                                9999,0,gisteren - 2 jaar |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) |  9999,0,1,R,000000024,P2,gisteren - 20 jaar,0518,6030,H |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,verbintenis_soort,relatie_eind_datum) VALUES($1,$2,$3,$4,$5,$6,$7,$8)                                                      |             9999,0,0,R,000000024,P2,H,gisteren - 7 jaar |
      | persoon-P2 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1) RETURNING *                                                                              |                                                       0 |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                                                                 |                                10000,0,0,P,000000024,P2 |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,relatie_start_datum,relatie_start_plaats,relatie_start_land_code,verbintenis_soort) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10) | 10000,0,1,R,000000012,P1,gisteren - 20 jaar,0518,6030,H |
      |            | partner-1    | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam,verbintenis_soort,relatie_eind_datum) VALUES($1,$2,$3,$4,$5,$6,$7,$8)                                                      |            10000,0,0,R,000000012,P1,H,gisteren - 7 jaar |

  Scenario: maintenance of the personal data of '[aanduiding]' has been suspended with the following data
    Given the person 'P1' has the following data
      | burgerservicenummer (01.20) | geslachtsnaam (02.40) |
      |                   000000012 | P1                    |
    And maintenance of the personal data of 'P1' has been suspended with the following data
      | datum opschorting bijhouding (67.10) |
      | gisteren                             |
    Then the generated SQL statements are
      | stap       | categorie    | text                                                                                                                                                                               | values                  |
      | persoon-P1 | inschrijving | INSERT INTO public.lo3_pl(pl_id,mutatie_dt,geheim_ind,bijhouding_opschort_datum) VALUES((SELECT COALESCE(MAX(pl_id), 0)+1 FROM public.lo3_pl),current_timestamp,$1,$2) RETURNING * |              0,gisteren |
      |            | persoon      | INSERT INTO public.lo3_pl_persoon(pl_id,stapel_nr,volg_nr,persoon_type,burger_service_nr,geslachts_naam) VALUES($1,$2,$3,$4,$5,$6)                                                 | 9999,0,0,P,000000012,P1 |