Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

Information

This page is meant for documentation of CPR data on the CPR integration to Serviceplatformen

As determined on Integrations to Serviceplatformen we’ll be using https://digitaliseringskataloget.dk/integration/sf1520 . More specific the service 'PersonBaseDataExtendedService' making it possible to get CPR data from person based on their social security number.

Open source component

There’s a useful open source component written in .NET from OS2osfd: https://github.com/OS2sofd/middleware/tree/master/sofd-core-cpr-integration that we hopefully can use or find great inspiration in.

Available data

KOMBIT has supplied Mogens Kjeldsen (Unlicensed) with an overview of the CPR data available in the different CPR integrations on Serviceplatformen:

We need the following data to create the validation in OS2valghalla:

  • Age

  • Home municipality

  • Citizenship

  • Deceased

  • Disenfranchised (umyndiggjort)

For communication we need to know if participant can receive Digital Post:

  • Registration status of Digital Post

Furthermore we want to get the following personal information:

  • First, middle and last name

  • Address

    • Postnummer

    • By/postdistrikt

    • Vej

    • Husnummer

    • Etage

    • Sidedør nummer

    • Bygningsnummer

    • C/O navn

Deceased

Based on the code used in the CPR integration on OS2sofd, we will use a lookup on status after result ‘70’ or ‘90’ to determine if a participant is deceased:

 person.IsDead = false;
                    if (response.PersonLookupResponse1.persondata?.status?.status != null)
                    {
                        // 90 is "Død", 70 is "Bortkommet"
                        if (90 == response.PersonLookupResponse1.persondata.status.status ||
                            70 == response.PersonLookupResponse1.persondata.status.status) {
                            person.IsDead = true;

https://github.com/OS2sofd/middleware/blob/212a48b34f59c8fb8d6718180cbad2994f0da448/sofd-core-cpr-integration/Controllers/PersonController.cs

Disenfranchised

Based on the code used in the CPR integration on OS2sofd:

person.Disenfranchised = false;
                    if (response.PersonLookupResponse1.persondata?.umyndiggoerelse?.umyndiggjort == true)
                    {
                        person.Disenfranchised = true;

https://github.com/OS2sofd/middleware/blob/212a48b34f59c8fb8d6718180cbad2994f0da448/sofd-core-cpr-integration/Controllers/PersonController.cs

Test data

Here are the following CPR numbers that I have received that should be working:

  • 1012620000

  • 1012620001

  • 1012620002

  • 1012620003

  • No labels