Changelog
Dato | Version | Ændring |
---|---|---|
31/12-2016 | 1.0.0 | Initiel release af Dynamisk Testdata Generator |
03/03-2017 | 1.0.1 | Web interface tilføjet |
23/03-2017 | 1.0.2 | Environment tilføjet til generator. Webservice-modul opdateret til at gøre brug af json-1.0.4 i stedet for json-1.0.3. |
19/5-2017 | 1.0.2 | Udvidet dokumentation af web klient. Ingen ny release, kun dokumentationsopdatering |
17/7-2017 | 1.1.0 |
"Tilknyt apotek", "Tilknyt forælder" og "Udsted særligt sundhedskort" events tilføjet |
8/9-2017 | 1.1.1 | Nyt søgefelt tilføjet med mulighed for at fremsøge personer tilhørende andre |
17/1-2018 | 1.2.0 | Understøttelse af begrænset ordinationsret |
1/8-2018 | 1.2.1 | Understøttelse af Skift Stilling og Skift Sikringsgruppekode |
14/11-2018 | 1.2.2 | Understøttelse af Skift Læge og Skift Adresse |
04/12-2018 | 1.2.4 |
Understøttlese af Skift Personnummer, vis brugernavn på aktuel bruger, fejlrettelser |
05/12-2018 | 1.2.5 |
Understøttelse af Marker som Afød, fejlrettelser |
12/03-2019 | 1.2.9 |
Understøttelse af Tilknyt værge, Skift navn, Privatmarker adresse, Fratag autorisation, fejlrettelser |
22/05-2019 | 1.2.11 | Understøttelse af uddannelseskoder for Behandlerfarmaceut og Osteopat |
08/01-2021 | 1.3.0 | SDS-3824 - Containerization af DTG |
16/03-2021 | 1.3.1 | SDS-3870 - DTG skal levere data til den nye Yderindlæser |
10/08-2023 | 1.4.1 | Understøttelse af AutorisationImporter v.4 format |
10/08-2023 | 1.4.2 | Tilknytning af forældre begrænser ikke længere på køn |
13/11-2023 | SDS-4344 - DTG understøttelse af "DNHF" data | |
31/01-2024 |
1.6.0 |
Ny funktionalitet:
Fejlrettelser:
|
29/08-2024 |
1.7.1 |
Tilføjet mulighed for manuelt at sætte statuskoden på en person i CPR registeret. Fejlrettelser til fuldmagter |
Indhold
1. Indledning
Dynamisk Testdata Generator kan anvendes på to forskellige måder. Først og fremmest er der en web-klient, hvor en anvender kan logge ind og oprette personer samt tilknytte autorisationer og ydere hertil. Ud over dette er det muligt for en anvender selv at kalde den HTTP POST baserede web-snitflade, som klienten gør brug af, for på den måde at arbejde med testdata direkte i egne systemer og scripts.
1.1. Registre
Når man opretter en person eller et andet event gennem enten klienten eller web-snitfladen, så oprettes data ikke direkte i Stamdata Registrene på NSP. Dette skyldes at Stamdata på NSP kommer ind via et antal importere som asynkront modtager data fra forskellige kilder. DTG er udviklet til at simulere denne opførsel for at sikre bedst mulig datakvalitet og sammenlignlighed med produktionsregistre. Derfor kan der gå op til 24 timer inden f.eks. en autorisation bliver tilgængelig i de tilsvarende Stamdata Registre på NSP.
Denne anvenderguide indeholder ikke detaljer omkring felter og datastrukturer i stamdata-registrene på NSP, det forventes derfor at læseren kender til de forskellige fagområder som det er muligt at oprette testdata til.
2. Klient
Web klienten er udviklet med fokus på et brugervenligt og selvforklarende design. Klienten understøttes derfor af flere forskellige browsere, og samtidig er der foretaget flere heuristiske usability tests, der sikrer en klient, der er let forståelig og brugervenlig. Adgang fås ved henvendelse via NSPOP.dk Brugeroprettelse.
Klienten kan tilgåes via nspop.dk hvor den offentlige adresse også kan findes. Klienten er generelt set lavet således at en bruger ikke er tvunget til at angive nogle af de mulige input, hvis et felt er tomt så finder DTG selv på noget realistisk data at anvende. Gennem klienten er det muligt at foretage sig følgende handlinger:
- Liste de personer brugeren selv har oprettet.
- Filtrere på fornavn, efternavn cpr-nummer mv.
- Se detaljer for en valgt person, herunder autorisationer.
- Oprette en ny person hvor man f.eks. kan angive navn, fødselsdag, egen læge mv.
- Tildele en person en autorisationskode således at vedkommende f.eks. senere kan få et id-kort på NSP (kræver et medarbejdercertifikat fra Nets).
- Tilknytte en autoriseret person til en yder således at vedkommende fremgår af Yderregisteret.
- Tilknytte en person med et apotek således at vedkomne fremgår som apoteker i Apotekerregisteret.
- Tilknytte en forælder til en person med eller uden forældremyndighed.
- Udstede et særligt sundhedskort til en person (grænsegænger)
- Fraskrive sig ejerskab af personer man ikke længere ønsker skal fremgå af ens liste.
- Fremsøge personer ud fra cpr-nummer, herunder også personer der ikke er oprettet af brugeren selv.
- Se detaljer for fremsøgte personer, dog uden mulighed for interaktion, såfremt personen ikke er oprettet af brugeren selv.
- Begrænse ordinationsretten for en given autorisation.
- Skifte stilling for en person
- Skifte sikringsgruppekode for en person
- Skifte læge for en person
- Skifte adresse for en person
- Skifte personnummer for en person
- Markere en person som afdød
- Tilknytte en værge til en person
- Skifte navne for en person
- Privatmarkere en persons adresse
- Fratag en autorisation
2.1. Oversigt
Klienten starter på oversigtssiden hvor det er muligt at se alle de personer som tilhører den aktuelle bruger. Herfra kan man oprette nye personer, filtrere i ens data samt vælge en enkelt person (klikke på rækken) for at se detaljer omkring denne.
2.2. Ny person
På denne side kan man vælge at angive nogle af de værdier en person skal have, hvis et felt ikke udfyldes så vælger DTG selv nogle realistiske data.
Da CPR nummer, fødselsdato og køn skal hænge sammen gælder følgende regler:
- Hvis CPR nummer angives så bruges dette til at udregne personens fødselsdato og køn.
- Hvis CPR nummer ikke er angivet men personens fødselsdag og køn er angivet, bruges dette til at generere et valid CPR nummer.
- Hvis CPR nummer og køn ikke er angivet men personens fødselsdato er angivet, vælges der et tilfældigt køn og et valid CPR nummer genereres.
- Hvis hverken CPR nummer eller fødselsdato er angivet ignoreres kønnet og der genereres et nyt valid CPR nummer.
Det ydernummer der angives ved oprettelse af en ny person angiver personens alment praktiserende læge ifm. sygesikring. Hvis der ikke angives et nummer, sker der en af følgende ting:
- Hvis der findes en eller flere oprettet ydere blandt den aktive brugers eksisterende data, vælges der tilfældigt en af disse yderes ydernummer
- Hvis der ikke findes en oprettet yder blandt den aktive brugers eksisterende data, vælges der tilfældigt en yders ydernummer på "coredata"-brugerens eksisterende ydere
- Hvis der ikke findes en oprettet yder blandt den aktive brugers eller blandt "coredata"-brugeren, tildeles der et tilfældigt ydernummer
Den nye persons far og mor vælges tilfældigt blandt den aktive brugers eksisterende data. Hvis der ikke kan findes en passende person til rollen angives der i stedet et tilfældigt navn og fødselsdato.
Man kan, ved oprettelse af en ny person, tilvælge "Opret testperson i MitID Simulator". Hvis man vælger "Ja", forsøger DTG at oprette en identitet i Digitaliseringsstyrelsens MitID Simulator.
Inputtet fra felterne "Personnummer", "Fornavn", "Mellemnavn, "Efternavn", og "Fødselsdag" bruges direkte ifm. oprettelse af identiteten.
Det er også muligt at angive "MitID Simulator Administrator e-mail", som knytter den oprettede identitet til en e-mail (på samme facon, som ved manuel oprettelse i MitID Simulatoren).
Derudover finder DTG på et brugernavn til MitID Simulatoren, baseret på fornavnet, efternavnet, og personnummeret.
Ved forsøg på oprettelse af identiteter i MitID Simulatoren, forsøger DTG kun med ét enkelt kald til MitID Simulatoren.
Man kan derfor ikke forvente at DTG forsøger igen automatisk ved fx overlappende personnumre. Man oplyses om at identiteten ikke kunne oprettes, og kan evt. prøve selv igen.
Hvis oprettelsen i MitID Simulatoren fejler, så oprettes den tilsvarende testperson ikke i DTG. Det gøres først ved en succesfuld oprettelse i MitID Simulatoren - derved undgås usammenhængende data bedst muligt.
2.3. Vis person
På denne side kan man se yderligere detaljer omkring den valgte person samt tilføje nye events for personen. I bunden af siden kan man se en oversigt over de events som tidligere er blevet tilføjet.
Hvis der trykkes på "Fraskriv ejerskab" flyttes personen væk fra den aktive bruger og over i en pulje af baggrundsdata. Dvs. personen findes stadig på NSP, men den tilhører ikke længere den aktive bruger og man kan ikke længere se eller opdatere data for den.
I denne version kan man ikke se forældre/barn relationer, men dette forventes i en kommende version.
2.4. Tildel Autorisation
På denne side kan man tildele en autorisation og tilknytte den autoriserede person til en yder.
Hvis man ikke udfylder autorisationskode eller uddannelseskode så vælger DTG tilfældige værdier i stedet.
Hvis man ikke angiver et ydernummer så laves der ingen tilknytning til en yder. Hvis man vælger et ydernummer som ikke findes i forvejen så oprettes der en yder med det angivne nummer i yderregisteret.
Man kan markere en autorisation som gyldig/ugyldig. Det afspejles i autorisation v.4, som beskrives her.
2.5. Tilknyt apotek
På denne side kan man gøre en person til en apoteker ved at tilknytte et apoteksnummer til vedkomne. Hvis apoteket med det angivne apoteksnummer ikke allerede findes, oprettes det af systemet.
Hvis man vælger et apoteksnummer der allerede findes kan man ikke udfylde de resterende felter da disse værdier derfor allerede er fastlagte.
Flere personer kan godt være knyttet til det samme apoteksnummer og ligeledes kan en person godt være tilknyttet flere apoteksnumre.
En person kan tilknyttes et apotek igen, hvis de forrige tilknytningers gyldighedsperioder alle er udløbet.
2.6. Tilknyt forælder
På denne side kan man knytte en forælder til det valgte barn. Man kan ligeledes vælge om der også skal tilknyttes forældermyndighed.
Begge personer skal være ejet af den aktive bruger, man kan ikke tilknytte en forælder der ikke tilhører en selv.
Typen 'anden' bruges hvis der ikke er tale om biologiske forældre og kræver at forældremyndighed er valgt.
Den tilknyttede forælder skal være minimum 18 år ældre end den valgte person.
Det er kun de to nyeste forældremyndigheder der er aktive i det genererede testdata, ligeledes er det den nyeste mor og far relation der er aktive.
Tidligere versioner af DTG begrænsede valg af forældre, så et "Mor"-personnummer skulle matche en kendt person, som var kvinde (og tilsvarende for "Far"-personnummer og en mand).
Det gøres ikke længere, da det skal være muligt at tilknytte fx to mænd eller to kvinder som hhv. "Mor" og "Far".
2.7. Udsted særligt sundhedskort
På denne side kan man udstede et særligt sundhedskort. Personer med et særligt sundhedskort er også nogle gange omtalt som grænsegængere.
Hvis man vælger at personen har bopæl i udlandet bør man angive sikringsgruppe 7, da denne gruppe netop dækker over dette.
Hvis man udsteder to særlige sundhedskort til en person er det den nyeste af dem der bliver det aktive i registeret
2.8. Begræns ordinationsret
På denne side er det muligt at angive begrænsninger til ordinationsretten på en given autorisation. Såfremt den valgte person har minimum en autorisation er det muligt at vælge begræns ordinationsret eventet.
Fra dropdownlisten vælges en autorisation og efterfølgende udfyldes de ønskede begrænsninger i autorisationsfraskrivelse, delvisindskrænkning, autorisationsfratagelse etc.
Der skal udfyldes valide ATC koder og * kan anvendes som wildcard. ATC koderne skal adskilles med mellemrum. Klienten giver løbende feedback på validiteten af de ATC koder man indtaster.
Der kan angives fra 1. til 5. niveau af ATC koder, så det er ikke en nødvendighed at angive alle 7 karakterer.
2.9. Skift stilling
På denne side kan man skifte en persons stilling.
2.10. Skift sikringsgruppe
På denne side kan man skifte sikringsgruppe for en person.
Hvis man vælger sikringsgruppekode 1 kan man også angive et ydernummer til egen læge. Hvis man ikke angiver et ydernummer vælges der et tilfældigt.
2.11. Skift læge
På denne side kan man skifte en persons læge. Det gøres ved at indtaste et ydernummer.
Hvis personen ikke allerede er i sikringsgruppe 1 vil et skift af læge også betyde at personen får skiftet sikringsgruppe til gruppe 1.
2.12. Skift adresse
På denne side kan man skifte en persons adresse.
Man kan indtaste postnummer, postdistrikt, kommunekode, vejkode, husnummer, og vejnavn.
Hvis man lader felter stå blanke vil DTG generere tilfældige værdier.
2.13. Skift personnnummer
På denne side kan man skifte en person personnummer. Det gøres ved at indtaste et personnummer.
På detaljesiden for den person, som har fået skiftet personnummer, vil nu findes et link til den nye person, der er skiftet til.
2.14. Marker som afdød
På denne side kan man markere en person som afdød.
Handlingen er permanent og kan ikke fortrydes.
Personen, der er blevet markeret som afdød, kan ikke redigeres efterfølgende.
2.15. Tilknytte en værge til en person
På denne side kan man tilknytte en værge til en person.
Man kan vælge mellem tre forskellige typer af relation:
- 'Værge findes ikke i CPR' - her bruges kun værgens navn
- 'Værges Personnummer findes' - her bruges personnummer
- 'Værges adresse findes' - her bruges en adresse, som skrives i felterne Tekst 1 - 5
Hvis man lader typen eller felter stå blanke vil DTG generere tilfældige værdier.
2.16. Skift navn
På denne side kan man skifte navn for en person.
Man kan indtaste fornavn, mellemnavn, og efternavn.
Hvis man lader felter stå blanke vil DTG generere tilfældige værdier.
2.17. Privat- og særligmarker adresse
På denne side kan man vælge om personen skal have markeret sin adresse som privat eller særlig beskyttet
Man kan enten vælge at privat- eller særligmarkere adressen eller, hvis den allerede er markeret, kan man fjerne markeringen igen.
Vær opmærksom på at dette kun ændrer personens markering i den kopi af CPR registeret som er på NSP. Hvis et anvendersystem trækker navnet fra en anden kilde så vil markeringen i DTG ikke slå igennem. Ligeledes hvis man f.eks. opretter en testperson i MitID Simulatoren og her angiver at vedkomne skal være navne- og adressebeskyttet, så vil dette fremgå af NemLogin billetten men ikke i f.eks. Det Gode CPR Opslag. Se NemLogin integrationsvejledningen for yderligere detaljer.
2.18. Fratag autorisation
På denne side kan man fratage en tildelt autorisation.
Man vælger i listen en autorisationkode og kan fratage personen denne.
Personen kan få tildelt samme autorisationskode igen på siden Opret ny autorisation.
2.19. Opret henvisning
På denne side kan man tilføje en henvisning.
Reference, startdato og slutdato udfyldes altid, og hvis de efterlades tomme gælder:
- RefHost referencen automatisk fyldt ud med et UUID
- Gyldighedsintervallet bliver sat fra dagsdato og en måned frem.
Hvis de andre felter efterlades tomme bliver "" sendt videre. Dog er eventID's default 5.
2.20. Opret ydelse
På denne side kan man tilføje en ydelse.
Reference, ydernummer, startdato og slutdato udfyldes altid, og hvis de efterlades tomme gælder:
- Referencen automatisk bliver fyldt ud med et en tilfældig kombination af tal og bogstaver
- Ydernummer automatisk bliver fyldt ud med en tilfældig kombination af tal
- Gyldighedsintervallet bliver sat fra dagsdato og en måned frem.
Referencen skal have en længde på 16, og ydernummeret skal have en længde på 6
2.21. Opret og rediger fuldmagtshaver
På denne side kan man tilføje en fuldmagtshaver til den valgte person. STS'erne på NSP testmiljøerne tjekker fuldmagter mod både Digitaliseringsstyrelsen Fuldmagtsservice og mod DTG, det er derfor muligt at anvende begge systemer.
CPR-nummeret på fuldmagtshaveren og de ønskede fuldmagtsprivilegier angives i tekstboksene.
Modsat mange andre Events i DTG kan denne event redigeres, dvs man kan justere hvem der har fuldmagt og hvilke privilegier vedkommende har.
Hvis man ønsker at fjerne en fuldmagt skal indholdet i tekstboksene blot fjernes inden der gemmes.
En person kan kun have én fuldmagtshaver af gangen, men ændringer slår til gengæld igennem med det samme.
Fuldmagtsprivilegierne fastsættes af de systemer der i sidste ende giver fuldmagtshaver adgang til data. Nogle eksempler på privilegier er følgende:
urn:dk:nspop:sts:fmk:read
- Giver mulighed for at læse data i Det Fælles Medicinkort.
urn:dk:nspop:sts:ddv:read
- Giver mulighed for at læse data i Det Danske Vaccinationsregister.
urn:dk:nspop:sts:minlog:read
- Giver mulighed for at hente registreringer i MinLog
urn:dk:nspop:sts:fmk:write
- Giver mulighed for at læse og skrive data i Det Fælles Medicinkort.
urn:dk:nspop:sts:ddv:write
- Giver mulighed for at læse og skrive data i Det Danske Vaccinationsregister.
urn:dk:nspop:sts:minlog:write
- Giver mulighed for at oprette registreringer i MinLog
urn:dk:nspop:sts:consent
- Giver mulighed for at redigere Frabedelser (på vej)
urn:dk:sundhed:prod:stamkort
- Giver mulighed for at læse og skrive i Stamkortet
2.22. Skift person statuskode
På denne side kan man overstyre den statuskode en person har i CPR registeret.
Hvis man f.eks. ønsker at teste noget med en afdød person og bagefter bringe personen tilbage fra de døde, kan man sætte status til "90
". Modsat "marker som afdød" betyder dette ikke at personen er låst og man kan derfor ændre status tilbage til "01
" når testen er færdig.
Som advarselsteksten på siden beskriver, skal man være forsigtig med denne mulighed, da der er risiko for at man kan få skabt noget ukorrekt data både på NSP men også i anvendersystemerne.
3. Script
De endpoints som klienten bruger til at oprette personer og events med er ligeledes tilgængelige for anvendere således at de f.eks. kan udvikle egne integrationer eller blot simple scripts til oprettelse af ny testdata. NSP offentliggør kildekode for DTG projektet og her kan man under "modules/webservice/src/main/resources" finde Swagger filen swagger.yml som beskriver input og output til de forskellige endpoints.
3.1. Eksempler
Følgende er et eksempel på hvordan man får oprettet en enkelt person, tildelt en autorisation og listet sine data. Under "modules/webservice/src/test/curl" kan man finde yderligere eksempler.
3.1.1. Opret
Antag at filen opret.json indeholder følgende:
{ "person" : {} }
Hvis vi så udfører følgende kommando:
curl -v --user brugernavn:kodeord --header "Content-Type: application/json" \ --data-binary @opret.json https://stamdata.nspop.dk/dtg-webservice/service/persons/create
Får vi følgende tilbage:
{ "entity_id":"1907813173", "person":{ "gaeldendeCpr":"1907813173", "koen":"M", "foedselsdato":"1981-07-19", "stilling":"Journalist", "navnTilAdressering":"Søren Møller", "coNavn":"", "lokalitet":"", "vejnavnTilAdressering":"Strandvejen", "bynavn":"", "postnummer":1758, "postDistrikt":"København V", "kommuneKode":161, "vejKode":6214, "husnummer":"36", "etage":"", "sideDoerNummer":"", "bygningsnummer":"", "vejnavn":"Strandvejen", "fornavn":"Søren", "mellemnavn":"", "efternavn":"Møller", "foedselsregistreringsstedKode":"7223", "foedselsregistreringsstedTekst":"Sæby Sogn", "folkekirkeForhold":"U", "folkekirkeStartDato":"1981-07-19T16:40:29.284+02:00", "kommunaleForholdType":"4", "kommunaleForholdKode":"740", "kommunaleForholdStartDato":"1981-07-19T16:40:29.284+02:00", "valgKode":1, "valgretDato":"1999-07-19T16:40:29.284+02:00", "valgOplysningerStartDato":"1999-07-19T16:40:29.284+02:00", "civilstand":"U", "aegtefaelleCpr":"", "aegtefaelleFoedselsDato":"", "aegtefaelleNavn":"", "civilstandStartDato":"", "separationStartDato":"", "civilstandSeparationHenvisning":"", "separationCivilstandHenvisning":"", "morNavn":"Lone Bach", "morFoedselsdato":"1956-07-19T15:40:29.284+01:00", "farCpr":"1301086233", "morDato":"1981-07-19T16:40:29.284+02:00", "farDato":"1981-07-19T16:40:29.284+02:00", "tilflytningsDato":"", "tilflytningKommuneDato":"1981-07-19T16:40:29.284+02:00", "fraflytningKommuneKode":0, "fraflytningKommuneDato":"", "startMyndighedAdr":740, "statsborgerskabLandekode":5100, "statsborgerskabStartDato":"1981-07-19T16:40:29.284+02:00", "startDatoAdr":"1981-07-19T16:40:29.284+02:00", "sletDatoAdr":"", "yderNr":"415875", "ikraftDatoYder":"1981-07-19T16:40:29.284+02:00", "regDatoYder":"1981-07-19T16:40:29.284+02:00", "sikrGrpKode":"1", "ikraftDatoGrp":"1981-07-19T16:40:29.284+02:00", "regDatoGrp":"1981-07-19T16:40:29.284+02:00", "sikrKomKode":"161", "ikraftDatoKomKode":"1981-07-19T16:40:29.284+02:00", "alder":"35", "folgerskabsperson":"1301086233", "bevisDato":"1981-07-19T16:40:29.284+02:00", "navn":"Søren Møller", "statsborgerskabKode":"DK", "statsborgerskab":"Denmark", "owner":"test", "created":"2016-12-21T15:40:29+01:00", "readOnly":false }, "autorisationer":[ ], "events":[ ], "prescriptionLimitations": [ ], "permissions": { "authorizePerson": true, "assignPharmacy": true, "assignParent": true, "issueSpecialHealthInsuranceCard": true, "relinquishPerson": true, "limitPrescription": false } }
Et eksempel på en person med en given fødselsdag (opret.json):
{ "person": { "foedselsdato": "2021-06-18T12:00:00.092Z" } }
Et eksemple på en person med et givent personnummer (opret.json) - erstat 'xxxx' med noget fornuftigt:
{ "person": { "personnummer": "180621xxxx" } }
3.1.2. Autorisation
Antag at filen autorisation.json indeholder følgende:
{ "person" : { "entity_id" : "1907813173" }, "autorisation" : { "autorisationsId" : "A1B2C" }, "yder" : { "yderNr" : "123456" } }
Hvis vi så udfører følgende kommando:
curl -v --user brugernavn:kodeord --header "Content-Type: application/json" \ --data-binary @autorisation.json https://stamdata.nspop.dk/dtg-webservice/service/persons/authorize
Får vi følgende tilbage:
{ "entity_id":"1907813173", "person":{ "gaeldendeCpr":"1907813173", "koen":"M", "foedselsdato":"1981-07-19", "stilling":"Journalist", "navnTilAdressering":"Søren Møller", "coNavn":"", "lokalitet":"", "vejnavnTilAdressering":"Strandvejen", "bynavn":"", "postnummer":1758, "postDistrikt":"København V", "kommuneKode":161, "vejKode":6214, "husnummer":"36", "etage":"", "sideDoerNummer":"", "bygningsnummer":"", "vejnavn":"Strandvejen", "fornavn":"Søren", "mellemnavn":"", "efternavn":"Møller", "foedselsregistreringsstedKode":"7223", "foedselsregistreringsstedTekst":"Sæby Sogn", "folkekirkeForhold":"U", "folkekirkeStartDato":"1981-07-19T16:40:29.284+02:00", "kommunaleForholdType":"4", "kommunaleForholdKode":"740", "kommunaleForholdStartDato":"1981-07-19T16:40:29.284+02:00", "valgKode":1, "valgretDato":"1999-07-19T16:40:29.284+02:00", "valgOplysningerStartDato":"1999-07-19T16:40:29.284+02:00", "civilstand":"U", "aegtefaelleCpr":"", "aegtefaelleFoedselsDato":"", "aegtefaelleNavn":"", "civilstandStartDato":"", "separationStartDato":"", "civilstandSeparationHenvisning":"", "separationCivilstandHenvisning":"", "morNavn":"Lone Bach", "morFoedselsdato":"1956-07-19T15:40:29.284+01:00", "farCpr":"1301086233", "morDato":"1981-07-19T16:40:29.284+02:00", "farDato":"1981-07-19T16:40:29.284+02:00", "tilflytningsDato":"", "tilflytningKommuneDato":"1981-07-19T16:40:29.284+02:00", "fraflytningKommuneKode":0, "fraflytningKommuneDato":"", "startMyndighedAdr":740, "statsborgerskabLandekode":5100, "statsborgerskabStartDato":"1981-07-19T16:40:29.284+02:00", "startDatoAdr":"1981-07-19T16:40:29.284+02:00", "sletDatoAdr":"", "yderNr":"415875", "ikraftDatoYder":"1981-07-19T16:40:29.284+02:00", "regDatoYder":"1981-07-19T16:40:29.284+02:00", "sikrGrpKode":"1", "ikraftDatoGrp":"1981-07-19T16:40:29.284+02:00", "regDatoGrp":"1981-07-19T16:40:29.284+02:00", "sikrKomKode":"161", "ikraftDatoKomKode":"1981-07-19T16:40:29.284+02:00", "alder":"35", "folgerskabsperson":"1301086233", "bevisDato":"1981-07-19T16:40:29.284+02:00", "navn":"Søren Møller", "statsborgerskabKode":"DK", "statsborgerskab":"Denmark", "owner":"test", "created":"2016-12-21T15:40:29+01:00", "readOnly":false }, "autorisationer":[ { "autorisationsId":"A1B2C", "uddannelseskode":"5158", "created":"2016-12-21T15:59:17+01:00" } ], "events":[ { "id":187547, "title":"Tilknyttet yder", "description":"Personen blev tilknyttet yderen med ydernummeret 123456", "created":"2016-12-21T15:59:17+01:00" }, { "id":187548, "title":"Autoriseret", "description":"Personen fik tildelt autorisationskoden A1B2C med uddannelseskoden 5158", "created":"2016-12-21T15:59:17+01:00" } ], "prescriptionLimitations": [ ], "permissions": { "authorizePerson": true, "assignPharmacy": true, "assignParent": true, "issueSpecialHealthInsuranceCard": true, "relinquishPerson": true, "limitPrescription": true } }
3.1.3. List
Antag at filen list.json indeholder følgende:
{ }
Hvis vi så udfører følgende kommando:
curl -v --user brugernavn:kodeord --header "Content-Type: application/json" \ --data-binary @list.json https://stamdata.nspop.dk/dtg-webservice/service/persons/list
Får vi følgende tilbage:
{ "persons":[ { "entity_id":"1907813173", "created":"2016-12-21T15:40:29+01:00", "fornavn":"Søren", "mellemnavn":"", "efternavn":"Møller", "gaeldendeCpr":"1907813173" } ] }
3.1.4. Hent
Udføringen af følgende kommando, hvor xxxxxxxxxx er cpr-nummer på personen man forsøger at hente PersonDetails på:
curl 'https://brugernavn:kodeord@stamdata.nspop.dk/dtg-webservice/service/persons/details' \ --data-binary '{"person":{"entity_id":"xxxxxxxxxx"}}'
Hvis personen findes, får vi følgende tilbage:
{ "entity_id": "xxxxxxxxxx", "person": { "gaeldendeCpr": "xxxxxxxxxx", "koen": "M", "foedselsdato": "1877-03-05", "stilling": "Mekaniker", "coNavn": "", "lokalitet": "", "vejnavnTilAdressering": "Mosegårdsparken", "bynavn": "", "postnummer": 4793, "postDistrikt": "Bogø By", "kommuneKode": 846, "vejKode": 627, "husnummer": "304", "etage": "", "sideDoerNummer": "", "bygningsnummer": "", "vejnavn": "Mosegårdsparken", "navnTilAdressering": "Ole Knudsen", "fornavn": "Ole", "mellemnavn": "", "efternavn": "Knudsen", "adressePrivatmarkeret": false, "adresseSaerligmarkeret": false, "foedselsregistreringsstedKode": "7465", "foedselsregistreringsstedTekst": "Vrangstrup Sogn", "folkekirkeForhold": "U", "folkekirkeStartDato": "1877-03-05T12:53:48.681+00:53:28", "kommunaleForholdType": "4", "kommunaleForholdKode": "657", "kommunaleForholdStartDato": "1877-03-05T12:53:48.681+00:53:28", "valgKode": 1, "valgretDato": "1895-03-05T13:00:20.681+01:00", "valgOplysningerStartDato": "1895-03-05T13:00:20.681+01:00", "civilstand": "U", "aegtefaelleCpr": "", "aegtefaelleFoedselsDato": "", "aegtefaelleNavn": "", "civilstandStartDato": "", "separationStartDato": "", "civilstandSeparationHenvisning": "", "separationCivilstandHenvisning": "", "morNavn": "Stine Pedersen", "morFoedselsdato": "1852-03-05T12:53:48.681+00:53:28", "farNavn": "Jeppe Møller", "farFoedselsdato": "1850-03-05T12:53:48.681+00:53:28", "morDato": "1877-03-05T12:53:48.681+00:53:28", "farDato": "1877-03-05T12:53:48.681+00:53:28", "tilflytningsDato": "", "tilflytningKommuneDato": "1877-03-05T12:53:48.681+00:53:28", "fraflytningKommuneKode": 0, "fraflytningKommuneDato": "", "startMyndighedAdr": 657, "statsborgerskabLandekode": 5100, "statsborgerskabStartDato": "1877-03-05T12:53:48.681+00:53:28", "startDatoAdr": "1877-03-05T12:53:48.681+00:53:28", "sletDatoAdr": "", "yderNr": "195155", "ikraftDatoYder": "1877-03-05T12:53:48.681+00:53:28", "regDatoYder": "1877-03-05T12:53:48.681+00:53:28", "sikrGrpKode": "1", "ikraftDatoGrp": "1877-03-05T12:53:48.681+00:53:28", "regDatoGrp": "1877-03-05T12:53:48.681+00:53:28", "sikrKomKode": "846", "ikraftDatoKomKode": "1877-03-05T12:53:48.681+00:53:28", "alder": "147", "folgerskabsperson": "", "bevisDato": "1877-03-05T12:53:48.681+00:53:28", "navn": "Ole Knudsen", "statsborgerskabKode": "DK", "statsborgerskab": "Denmark", "owner": "brugernavn", "created": "2024-03-13T13:00:20+01:00", "readOnly": false }, "autorisationer": [], "events": [], "prescriptionLimitations": [], "permissions": { "authorizePerson": true, "assignPharmacy": true, "assignParent": true, "issueSpecialHealthInsuranceCard": true, "relinquishPerson": true, "limitPrescription": false, "changeOccupation": true, "changeInsuranceGroup": true, "changeDoctor": true, "changeAddress": true, "changeEntityId": true, "markDeceased": true, "assignGuardian": true, "changeName": true, "markPrivateAddress": true, "removeAuthorization": false, "assignSpouse": true, "removeSpouse": false, "addLPR3Registration": true, "createServiceRendered": true, "createReferral": true, "createPowerOfAttorney": true, "removeGuardian": false, "removeParentCustody": true, "changePersonStatusCode": true }, "mitidDetails": {}, "meta": { "username": "brugernavn" } }
Hvis personen ikke findes, får vi følgende tilbage:
{ "errors": ["Der er sket en teknisk fejl: Ukendt entity id xxxxxxxxxx"], "meta": { "username": "brugernavn" } }
4. Kendte fejl
Der er i øjeblikket følgende kendte udeståender. Eventuel workaround er beskrevet i sagerne: