Indholdsfortegnelse
1. Indledning
- ID: PNRABN-I
- Navn: Personnummerabonnement privat/offentlig - indberet/slet
- System: CprAjour
1.1. Formål
Formålet med servicen er, at oprette og/eller slette abonnementer på personnummer for både private og offentlige kunder.
2. Adgang
2.1. Kundefokus
Brug af denne service henvender sig til offentlige myndigheder.
2.2. Adgangskontrol
PNRABN-I er underlagt adgangsprincipper som en del af adgangskontrollen til en service. Principperne for den generelle adgangskontrol er beskrevet her og for vent {auth-guide-wait-page}[her].
Nedenstående tabel viser, hvilke adgangsprincipper der gælder for PNRABN-I.
Princip | Gælder |
---|---|
Adgangskontrol | Ja |
DOKMYN Princip | Nej |
MATAP Princip | Nej |
Adgangskontrol
En myndighed kan have adgang via FULD adgang, ALMEN adgang eller MATAP adgang.
- FULD Adgang : Myndighedstyper med fuld adgang har adgang til samtlige services i cpr
- ALMEN Adgang : Myndigheden har adgang via sin myndighedstype til servicen
- MATAP Adgang : Myndigheden har adgang som MATAP. Der kan evt. gælde MATAP princip på servicen
Nedenstående tabel viser, hvilke myndighedstyper der har adgang til servicen.
Myndighedstype | Myndighed | Adgangstype |
---|---|---|
39 | CPR-Kontoret | Fuld Adgang |
4 | Personregisterfører | Almen Adgang |
5 | Kommuner | Almen Adgang |
7 | Fiktiv kommune (fx kildeskat) | Almen Adgang |
10 | Domstole | Almen Adgang |
14 | Valgkontoret | Almen Adgang |
15 | Familieretshuset/Statsforvaltning | Almen Adgang |
16 | Civilretskontoret/Justitsministeriet | Almen Adgang |
17 | Indfødsretskontoret | Almen Adgang |
18 | Udlændingestyrelsen | Almen Adgang |
19 | Offentlig myndighed udvidet | Almen Adgang |
20 | Trossamfund | Almen Adgang |
25 | Sogne | Almen Adgang |
30 | Land | Almen Adgang |
35 | Politi | Almen Adgang |
40 | Region | Almen Adgang |
41 | Borger | Almen Adgang |
42 | Borger Direkte | Almen Adgang |
43 | Kunder (abonnementer) | Almen Adgang |
45 | Skattecenter | Almen Adgang |
50 | EDB-central | Almen Adgang |
55 | Værnepligtsafdeling | Almen Adgang |
60 | Offentlig myndighed | Almen Adgang |
61 | Offentlig myndighed udvidet 2 (Udbetaling Danmark) | Almen Adgang |
70 | Ministerium | Almen Adgang |
71 | Kirkeministeriet | Almen Adgang |
75 | Landsdel | Almen Adgang |
80 | Stifter | Almen Adgang |
85 | Provstier | Almen Adgang |
98 | Øvre kommune | Almen Adgang |
99 | Maskinel mynkod | Almen Adgang |
Konstaterende Myndighedsprincip
Udover den overordnede adgangskontrol, er servicen underlagt et myndighedsprincip for den konstaterende myndighed. Princippet sætter begrænsninger for, hvilken type myndigheder der må angives, som den konstaterende myndighed på hændelsen.
Det vil altid være tilladt, at anvende myndigheder med myndighedstype:
- 39 - Indenrigsministeriet - CPR
- 0 - Ukendt Myndighed
Myndighedsprincippet håndhæves som dataregler. Brud på princippet udløser fejlrapporteringer. Aktioner der udløser valideringer er - f.eks. Validering og Gem.
Fælles for alle disse valideringer er, at der returneres fejlkoden: 4455, såfremt den konstaterende myndighed ikke er tilladt jf. det Konstaterende myndighedsprincip.
Myndighedsrestriktion
Udover det konstaterende myndighedsprincip kan en service være underlagt en myndighedsrestriktion som begrænser hvilke myndigheder, der kan anvendes ved en række indberetninger.
Helt konkret er der umiddelbart tale om lande, men det er ikke begrænset til lande.
Myndighedsrestriktionen er tabelstyret og der kan angives om en myndighed:
- Må indberette som konstaterende (Felt: Indberettende myndighed)
- Må anvendes som Statsborgerretsland (Felt: Statsborger i)
- Må anvendes som Fødselsregistreringssted (Felt: Indberettende myndighed)
3. Serviceinitiering
3.1. Nøglefelter
Når PNRABN-I skal initieres, er der visse nøglefelter, der kan indsendes. Alle nøglefelter er påkrævede.
3.2. Nøgleregler
Initiering af PNRABN-I kan fejle med en række fejlkoder, hvis de indsendte data ikke accepteres af PNRABN-I.
Fejlkode | Fejlbesked | Beskrivelse |
---|---|---|
725 | Feltet skal være numerisk | Formatering af datatype. |
949 | Det indtastede kundenummer findes ikke. | Kundenummeret skal eksistere. |
3763 | Kundenummer er ophørsmarkeret | Kundenummeret må ikke være ophørsmarkeret. |
3770 | Pnr-abonnement er ikke tilladt for dette kundenummer | Kundenummeret har ikke tilladelse til at behandle personnummerabonnementer. |
3978 | Pnr-abonnement er kun tilladt for egne kunder | Personnumerabonnement er kun tilladt for egne kunder. Det er kun muligt at oprette/slette abonnementer, som tilhører det kundenummer, brugeren er tilknyttet. |
4441 | Du har ikke adgang til denn ønskede services | Du har ikke adgang til den ønskede service |
Endvidere er der fælles nøgleregler, der kan komme i spil. Disse er beskrevet i et af servicehåndbogens bilag ang. fælles nøgleregler.
Generelle systemfejlkoder der ikke henvender sig til PNRABN-I eller dens data, findes også i servicehåndbogens bilag vedr. generelle fejlkoder.
4. Præsentation af Stamdata
Ved en succesfuld initiering inkluderer svaret fra servicen en præsentation af stamdata. Disse data indeholder informationer, der er relevante for det domæne PNRABN-I tilhører.
4.1. Generelle Stamdata
Servicen præsenterer kun speciel stamdata.
4.2. Specielle Stamdata
Disse felter bliver altid præsenteret for en kunde, og er samlet under et <Praes r="STAMKUN">-element.
Felt | Type | Beskrivelse |
---|---|---|
KUNDENR | kundenr (format xxxx) | Kundenummer |
5. Aktioner
Efter initiering understøtter PNRABN-I følgende aktioner:
Værdi | Beskrivelse |
---|---|
V | Validering |
F | Fortryd |
G | Gem |
6. Hændelsesdata
6.1. Redigerbare Datafelter
Data der kan eller skal indsendes til validering eller gem, er beskrevet i denne sektion.
Herunder angives felter til indrapportering af hændelsesdata.
Felt | Format | Krævet | Feltlængde (v) | Attributter | Beskrivelse |
---|
Udover de ovennævnte felter, indeholder servicens hændelsesdata også tabel-rækker.
Pnrabonnement offpriv
Felt | Format | Krævet | Feltlængde (v) | Attributter | Beskrivelse |
---|---|---|---|---|---|
CBRU_NGLKONST | Tekst | Nej | N/A | v | Nøglekonstant |
CBRU_PNR | Personnummer | Ja | 10 | v | Personnummer |
CBRU_SLETSAETMRK | Feltet beskriver om pnr skal oprettes eller slettes på CTBRU eller CTPRIBRU | Ja | N/A | v | Sletmarkering |
CBRU_KVITNR | Tekst | Nej | N/A | v | Kvitteringsnummer |
CBRU_KVIT_TXT | Tekst | Nej | N/A | v | Kvitteringstekst |
6.2. Dataregler
Ved validering og gem af de indsendte data, kan der opstå fejlrapporteringer, hvis der er fejl og mangler i de indsendte data.
Fejlkode | Fejlbesked | Beskrivelse |
---|---|---|
141 | Personen er i CPR registreret som reserveret, annulleret, slettet eller ændret | Status for en person må ikke være Annulleret (30), slettet (50) eller ændret (60). |
172 | Personen %1%-%2% findes ikke i CPR. | Hændelsespersonen skal være registreret i CPR registeret. |
3522 | Der er ingen personnumre indtastet | Der skal være angivet indtastet mindst et personnummer. |
3707 | Personnummerabonnement findes i forvejen | Der findes allerede et personnummerabonnement på hændelsespersonen. |
3943 | Personnummerabonnement findes ikke | Personnummerabonnementet der skal slettes, findes ikke |
4442 | SLETSAETMRK skal have en af værdierne SL, OP eller ST | CBRU_SLETSAETMRK skal haves en af følgende værdier: SL, OP eller ST |
4443 | Der er ingen sletsaetmrk indtastet | Der skal være angivet mindst en sletmarkering for hvert personnummer |
4444 | Der må kun sendes max. 40 PNR | Der må maks indsendes 40 rækker |
Endvidere er PNRABN-I også underlagt de generelle regler, der dækker alle services. Disse regler er beskrevet i servicehåndbogens {service-input-page}[bilag om generelle dataregler].
6.2.1. Tegnsæt og Tekstfelter
En GCTP service kan have tekstfelter med specifikke tegnsæt. Disse tegnsæt opstiller regler for, hvilke tegn feltet må indeholde. Det overordnede tegnsæt som gælder på mange forskellige hændelser, er beskrevet i servicehåndbogens {characterset-page}[bilag med tegnsæt], mens tegnsæt der kun gælder for PNRABN-I, optræder som dataregler i tabellen ovenfor.
PNRABN-I har ingen felter med det generelle tegnsæt.
7. Afslutning
Ved en succesfuld afslutning på PNRABN-I, genererer PNRABN-I en afsluttende kvittering.
Denne kvittering har altid et <Table r="AFSLUT">
element, der indeholder et eller flere <Row>
-elementer, med datafelter der er relevante for det gemte domæne.
For en personhændelse, returneres en kvittering med personens data. Kvitteringen indeholder følgende felter
i et <Row k="PNR={personnummer};">
-element, hvor {personnummer}
er personens CPR-nummer.
Felt | Format | Evt. ekstra attributter | Beskrivelse |
---|---|---|---|
PNR | Personnummer (format ddMMyyxxxx) | Personnummer er et ticifret, personligt identifikationsnummer, hvor de første seks cifre angiver en fødselsdato, og de næste fire cifre angiver et løbenummer | |
ADRNVN | Tekst (format Yyyyy, Xxx) | Adresseringsnavn er en kommasepareret præsentation af efter- og fornavn. F.eks Andreasen, Andrea | |
FORNVN | Tekst | Fornavn | |
MELNVN | Tekst | Mellemnavn | |
EFTERNVN | Tekst | Efternavn | |
STATUS | Heltal (format XX) | Tekst(t) indeholder tekstuel beskrivelse af statuskoden | Status på personenStatus kan være:01 "Fast bopæl i dansk kommune"03 "Uden fast bopæl i dansk kommune"05 "Fast bopæl i grønlandsk kommune"07 "Uden fast bopæl i grønlandsk kommune"20 "Administrativt personnummer"30 "Annulleret personnummer"50 "Slettet personnummer"60 "Ændret personnummer"70 "Forsvundet"80 "Udrejst"90 "Død" |
REL | Tekst | En eventuel relation til hovedpersonen |
Ved hændelser med én eller flere relaterede personer, kan der forekomme et <Row>
-element for hver person relateret
til hovedpersonen.
8. GCTP
Dette afsnit præsenterer en håndfuld ukomplette eksempler på de kald PNRABN-I kan modtage, og svarene den vil sende retur.
Formålet med eksemplerne er, at give et generelt overblik over, hvordan GCTP er struktureret for PNRABN-I. Fokus er lagt på de datafelter, en bruger kan interagere med eller redigere i.
Eksemplerne er underlagt følgende begrænsninger:
- For
<Field>
-elementer til nøglefelter og hændelsesdata- Data er udeladt, og er i stedet markeret med attributten
v="[DATA]"
- Alle andre attributter er udeladt (
a
,a1
,t
, osv)
- Data er udeladt, og er i stedet markeret med attributten
- For
<Praes>
-elementer til stamdata<Field>
-underelementerne er udeladt
- For
<Kvit>
-element til afsluttende kvittering<Row>
-elementets identificerende nøgle er udeladt, og er i stedet markeret med attributtenk="[ROW KEY]"
<Field>
-underelementerne er udeladt i<Row>
-elementet
GCTP eksemplerne er præsenteret i dokumentationens tilhørende appendiks.
8.1. GCTP Eksempler
9. Opdatering af data
PNRABN-I opdaterer data i følgende tabeller:
- CTBRU (Primær)
- CTPRIBRU (Primær)
- CTTRANSBRU (Primær)
- CTTRANSPRIBRU (Primær)
Herunder er beskrevet et regelsæt, for opdatering af data i de respektive tabeller.
9.1. Primære registreringer (Personnummerabonnement)
9.1.1. CTBRU (Primær)
1)
Ny aktuel række på tabellen CTPBRU oprettes for det angivne personnummerabonnement.
2)
Aktuel række på tabellen CTPBRU slettes for det angivne personnummerabonnement.
9.1.2. CTPRIBRU (Primær)
1)
Ny aktuel række på tabellen CTPRIBRU oprettes for det angivne personnummerabonnement.
2)
Aktuel række på tabellen CTPRIBRU slettes for det angivne personnummerabonnement.
Hændelseskatalog
PNRABN-I opdaterer ikke hændelseskataloget.
Transaktionshændelser (Personnummerabonnent)
PNRABN-I opdaterer ikke data i transaktionstabellerne CTTRANSPNR og CTTRANSDATAGRP.
9.1.3. CTTRANSBRU (Primær)
1)
Oprettes der en række på tabellen CTBRU opdateres tilsvarende på transaktionstabellen CTTRANSBRU.
Hvis rækken på tabellen CTPBRU er oprettet, oprettes en række i den akkumulerede transaktionstabel:
- CTTRANSBRU
En række med følgende data:
- KUNDENR: Kundenummer på kunde
- PNR: Personnummer på abonnent
- TIMESTAMP: Tidsstempel for opdatering
- SLETSAETMRK: OP (oprettet)
- NGLKONST: Nøglekonstant
- INDBERET_SYSTEM: Tom
2)
Findes der en række, som er slettet på tabellen CTBRU opdateres tilsvarende på transaktionstabellen CTTRANSBRU.
Hvis rækken på tabellen CTBRU er slettet, oprettes en række i den akkumulerede transaktionstabel:
- CTTRANSBRU
En række med følgende data:
- KUNDENR: Kundenummer på kunde
- PNR: Personnummer på abonnent
- TIMESTAMP: Tidsstempel for opdatering
- SLETSAETMRK: SL (slettet)
- NGLKONST: Nøglekonstant
- INDBERET_SYSTEM: Tom
9.1.4. CTTRANSPRIBRU (Primær)
1)
Oprettes der en række på tabellen CTPRIBRU opdateres tilsvarende på transaktionstabellen CTTRANSPRIBRU.
Hvis rækken på tabellen CTPRIBRU er oprettet, oprettes en række i den akkumulerede transaktionstabel:
- CTTRANSPRIBRU
En række med følgende data:
- KUNDENR: Kundenummer på kunde
- PNR: Personnummer på abonnent
- TIMESTAMP: Tidsstempel for opdatering
- SLETSAETMRK = OP (opdatering)
- NGLKONST: Nøglekonstant
- INDBERET_SYSTEM: Tom
2)
Findes der en række, der er slettet på tabellen CTPRIBRU opdateres tilsvarende på transaktionstabellen CTTRANSPRIBRU.
Hvis rækken på tabellen CTPRIBRU er slettet, oprettes en række i den akkumulerede transaktionstabel:
- CTTRANSPRIBRU
En række i tabel-efter-rækken med følgende data:
- KUNDENR = KUNDENR
- PNR = PNR
- TIMESTAMP: Tidsstempel for opdatering
- SLETSAETMRK: SL (slettet)
- NGLKONST: Nøglekonstant
- INDBERET_SYSTEM: Tom
10. Appendiks
10.1. GCTP Opdateringsservices
10.1.1. GCTP Eksempler
I de kommende eksempler vises, hvorledes requests og svar ser ud fra servicen. Bemærk at der ikke er medtaget konkrete data eller attributter i eksemplerne. I feltoversigten er der angivet felter, som har attributter, men helt generelt er attributter noget der kommer med ud som svar på et request, og er ikke krævet i input til f.eks. Gem eller Valider. De må gerne være der, men de anvendes ikke til noget.
10.2. Initiering
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <root xmlns="http://www.cpr.dk"> <Gctp v="2.0" env="Udvikling"> <System r="CprAjour"> <Service r="PNRABN-I"> <CprServiceHeader r="PNRABN-I" st="P" mk="1" a="I"> <Key> <Field r="KNR" v="[DATA]"/> </Key> </CprServiceHeader> </Service> </System> </Gctp> </root>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <root xmlns="http://www.cpr.dk"> <Gctp v="2.0" env="Udvikling"> <System r="CprAjour"> <Service r="PNRABN-I"> <CprServiceHeader r="PNRABN-I" ts="20241007103148796068" st="P" a="I"> <Table r="Aktioner"> <Row> <Field r="KODE" v="V" t="Validering"/> </Row> <Row> <Field r="KODE" v="F" t="Fortryd"/> </Row> <Row> <Field r="KODE" v="G" t="Gem"/> </Row> </Table> </CprServiceHeader> <CprData u="O"> <Rolle r="HovedRolle"> <Praes r=""/> </Rolle> </CprData> <CprData u="I"> <Rolle r="HovedRolle"> <Table r="Pnrabonnement offpriv"> <Row u="M"> <Field r="CBRU_NGLKONST"/> <Field r="CBRU_PNR"/> <Field r="CBRU_SLETSAETMRK"/> <Field r="CBRU_KVITNR"/> <Field r="CBRU_KVIT_TXT"/> </Row> <Row k="[ROW KEY]"> <Field r="CBRU_NGLKONST" v="[DATA]"/> <Field r="CBRU_PNR" v="[DATA]"/> <Field r="CBRU_SLETSAETMRK" v="[DATA]"/> <Field r="CBRU_KVITNR" v="[DATA]"/> <Field r="CBRU_KVIT_TXT" v="[DATA]"/> </Row> </Table> </Rolle> </CprData> <Kvit r="Ok" v="0"/> </Service> </System> </Gctp> </root>
10.3. Validering
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <root xmlns="http://www.cpr.dk"> <Gctp v="2.0" env="Udvikling"> <System r="CprAjour"> <Service r="PNRABN-I"> <CprServiceHeader r="PNRABN-I" ts="20241007103148796068" st="P" mk="1" a="V"> <Key> <Field r="KNR" v="[DATA]"/> </Key> </CprServiceHeader> <CprData u="I"> <Rolle r="HovedRolle"> <Table r="Pnrabonnement offpriv"> <Row u="M"> <Field r="CBRU_NGLKONST"/> <Field r="CBRU_PNR"/> <Field r="CBRU_SLETSAETMRK"/> <Field r="CBRU_KVITNR"/> <Field r="CBRU_KVIT_TXT"/> </Row> <Row k="[ROW KEY]"> <Field r="CBRU_NGLKONST" v="[DATA]"/> <Field r="CBRU_PNR" v="[DATA]"/> <Field r="CBRU_SLETSAETMRK" v="[DATA]"/> <Field r="CBRU_KVITNR" v="[DATA]"/> <Field r="CBRU_KVIT_TXT" v="[DATA]"/> </Row> </Table> </Rolle> </CprData> </Service> </System> </Gctp> </root>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <root xmlns="http://www.cpr.dk"> <Gctp v="2.0" env="Udvikling"> <System r="CprAjour"> <Service r="PNRABN-I"> <CprServiceHeader r="PNRABN-I" ts="20241007103148796068" st="P" mk="1" a="V"> <Key> <Field r="KNR" v="[DATA]"/> </Key> </CprServiceHeader> <CprData u="O"> <Rolle r="HovedRolle"> <Praes r=""/> </Rolle> </CprData> <CprData u="I"> <Rolle r="HovedRolle"> <Table r="Pnrabonnement offpriv"> <Row u="M"> <Field r="CBRU_NGLKONST"/> <Field r="CBRU_PNR"/> <Field r="CBRU_SLETSAETMRK"/> <Field r="CBRU_KVITNR"/> <Field r="CBRU_KVIT_TXT"/> </Row> <Row k="[ROW KEY]"> <Field r="CBRU_NGLKONST" v="[DATA]"/> <Field r="CBRU_PNR" v="[DATA]"/> <Field r="CBRU_SLETSAETMRK" v="[DATA]"/> <Field r="CBRU_KVITNR" v="[DATA]"/> <Field r="CBRU_KVIT_TXT" v="[DATA]"/> </Row> </Table> </Rolle> </CprData> <Kvit r="Fejl" t="[FEJLTEKST TIL FEJLKODE 42]" v="42"/> </Service> </System> </Gctp> </root>
10.4. Gem
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <root xmlns="http://www.cpr.dk"> <Gctp v="2.0" env="Udvikling"> <System r="CprAjour"> <Service r="PNRABN-I"> <CprServiceHeader r="PNRABN-I" ts="20241007103148796068" st="P" mk="1" a="G"> <Key> <Field r="KNR" v="[DATA]"/> </Key> </CprServiceHeader> <CprData u="I"> <Rolle r="HovedRolle"> <Table r="Pnrabonnement offpriv"> <Row u="M"> <Field r="CBRU_NGLKONST"/> <Field r="CBRU_PNR"/> <Field r="CBRU_SLETSAETMRK"/> <Field r="CBRU_KVITNR"/> <Field r="CBRU_KVIT_TXT"/> </Row> <Row k="[ROW KEY]"> <Field r="CBRU_NGLKONST" v="[DATA]"/> <Field r="CBRU_PNR" v="[DATA]"/> <Field r="CBRU_SLETSAETMRK" v="[DATA]"/> <Field r="CBRU_KVITNR" v="[DATA]"/> <Field r="CBRU_KVIT_TXT" v="[DATA]"/> </Row> </Table> </Rolle> </CprData> </Service> </System> </Gctp> </root>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <root xmlns="http://www.cpr.dk"> <Gctp v="2.0" env="Udvikling"> <System r="CprAjour"> <Service r="PNRABN-I"> <CprServiceHeader r="PNRABN-I" ts="20241007103148796068" st="P" mk="1" a="G"/> <Kvit r="Afslut" v="0"> <Table r="AFSLUT"> <Row k="[ROW KEY]"/> </Table> </Kvit> </Service> </System> </Gctp> </root>
v2.2.1