Indholdsfortegnelse:
Introduktion
Dette er en foreløbig beskrivelse, med rettelser på vej.
Formålet med dette dokument er at beskrive systemarkitekturen for Nationalt eCPR.
Dokumentet er tiltænkt udviklere og IT-arkitekter med interesse i Nationalt eCPR og dens opbygning. Siden indeholder primært information om Nationalt eCPR-servicen i forhold til dens relationer til andre systemer
Introduktion til eCPR
Løsningens Afhængigheder
Nationalt eCPR anvender følgende NSP komponenter:
Komponent | Beskrivelse |
---|---|
DCC (DeCoupling Component), også kendt som SOSI afkoblingskomponenten, fungerer som en webservice gateway og foretager routing af forespøgsler mod services der udstilles på eller via NSP'en. | |
National Adviseringsservice på NSP'en funger som en afkoblet system-til-system advisering gennem et "publish-subscribe"-mønster | |
Sundhedsvæsenets Elektroniske Brugerstyring er en fælles platform for brugeradministration af forskellige sundhedsfaglige systemer. SEB vil blive brugt i Nationalt eCPR til udstilling af nationale roller som understøtter anvendersystemernes brugerrettighedsstyring mod Nationalt eCPR. TO BE SEB implementeres når Nationalt eCPR flyttes til NSP platformen. | |
Stamdatamodul på NSP består af 6 registreservices, hvor eCPR gør brug af SCES servicen (se nedenfor) og Stamdata Kopi register Service (SKRS) databasen, hvor den tilgår Bemyndigelsesregisteret, CPR registeret og authorisationsregisteret gennem 3 views (Se eCPR - Installationsvejledning) | |
CPR-enkeltopslag er en realisering af MedCom-standarden 'Det Gode CPR Opslag' |
Løsningens opbygning
Nationalt eCPR består af én javabaseret web-service, nemlig eCPR-service. Den udstilles på NSP via DCC, og udstiller ligeledes adviseringer gennem NAS på NSP. For at servicen fungerer har den ligeledes en ekstern afhængighed til NSP stamdata gennem views, herunder SCES (CPR-enkeltopslag). I nedenstående diagram ses et arkitektur overblik over servicen og dens eksterne afhængigheder:
* Et klientsystem kunne eksempelvis være FMK-online: FMK-online giver sundhedsfaglige og borgere adgang til Fælles Medicinkort, Det Danske Vaccinationsregister, medicintilskud, sundhedsfaglige bemyndigelser og Nationalt eCPR.
** Sundhedsvæsenenets elektroniske Brugerstyring (SEB) bruges ikke i nuværende version af Nationalt eCPR. I øjeblikket kan Nationalt eCPR koordinatorer/Web administratorer indskrives direkte i den interne MariaDB. I fremtiden vil denne brugerstyring foregå gennem SEB.
Både service og dataformater for Nationalt eCPR er udviklet til at være generelle og fleksible, så de kan understøtte forskellige scenarier for brug, og implementeringsstrategier på tværs af sundhedsvæsenets aktører.
Nationalt eCPR-service er beskrevet i eCPR - Snitfladebeskrivelse
Dataformater er beskrevet under NSP stamdataregistre her.
Sekvensdiagrammer
Nedenfor ses 2 sekvensdisagrammer. De blå komponenenter hører alle til eCPR-servicen, og illustrerer hvordan flowet overordnet set forløber internt, uden at gå i detaljer med implementationen.
Sekvensdiagrammet for CreatePersonRequest ses nedenfor.
I forløbet "CreatePerson" bruges Cpr-enkeltopslag samt NAS ikke. I sekvensdiagrammet for UpdatePersonRequest ses hvordan Cpr-enkeltopslag og NAS bruges i et UpdatePerson kald. Cpr-enkeltopslag bruges kun, hvis UpdatePerson indeholder et CPR-nummer, hvorved der bliver tjekket op mod stamdata, om CPR-nummeret eksisterer. I nedenstående sekvensdiagram antages det, at UpdatePersonRequest laves med et medsendt CPR-nummer:
Sikkerhed
Sikkerhedsmodellen for National eCPR er baseret på MedComs “Den Gode Webservice” og brug af SOSI-Gateway. Sundhedsfaglige brugere anvender SOSI sikkerhedsmodellen, hvor adgang gives via lokale fagsystemer og udveksles med NSP infrastrukturen, herunder Nationalt eCPR, således sundhedsfaglige brugere er identificeret med navn, rolle og organisation. Sundhedsfaglige brugere får udstedt erhvervsidentiteter via de organisationer de er tilknyttet. Disse erhvervsidentiteter vedhæftes i SOSI sikkerhedsmodellen.
Forretningsrelateret data
Data, der anvendes forretningsmæssigt, f.eks. sygehusafdelingsnummer, ydernummer og autorisationsnummer, bør medsendes i den forretningsmæssige del af dokumentet, og ikke hentes fra dokumentheaderen. Det kan ikke udelukkes at f.eks.:
En sekretær på en sygehusafdeling logger ind med SKS-sygehusafdelingsnummer med 6 cifre og foretager en opdatering af data på et afsnit angivet med 7 cifre
En lægepraksis har to ydernumre, der logges ind med det ene men sendes data for begge.
Skal der senere opstilles regler for hvorvidt dette skal være muligt bør valideringen af disse regler holdes adskilt fra den forretningsmæssige implementering. Dette bør ske for at minimere risikoen for at ændringer i sikkerhedsmodellen påvirker denne.
Adgangsstyring
Formater
Der er overordnet defineret to aftalte formater for eCPR-numre i sundhedsvæsenet: X-eCPR og D-eCPR. De to formater er begge defineret på formlen DDMMYYCAAG og differentierer kun på den tilladte værdi af C. eCPR-numre der udtrækkes af Nationalt eCPR betegnes Nationale eCPR-numre. De Nationale eCPR-numre udstedes i formatet X-eCPR. X-eCPR formatet er valgt fordi det: Formatet X-eCPR: DDMMYYCAAG DDMMYY Dato, måned og år svarende til personens fødselsdato. Ved ukendt fødselsdato benyttes oprettelsesdatoen for eCPR-nummeret. C Angiver århundrede: 1 for 1900-1999 og 7 for 2000-2099 AA Bogstaver A-Z. G Køn, ulige ciffer for mænd og lige for kvinder 0203291WQ3 Kent Osprey, født 2. Marts 1929 1308781OS6 Penny Elderspring, født 13. August 1978 3101057JC9 Jonathan Durtly, født 31. Januar 2005 eCPR-numre der udtrækkes lokalt i regionerne, hos praksislæger m.v. betegnes ”decentrale eCPR-numre”. Decentrale eCPR-numre er kun unikke lokalt og ikke nationalt (på tværs af aktører). De decentrale eCPR-numre udstedes i formatet D-eCPR. D-eCPR er fastlagt i Fællesindhold for basisregistrering af sygehuspatienter, som beskriver de krav, der var til indberetning i den tidligere version af Landspatientregisteret, LPR2. Formatet D-eCPR: DDMMYYCAAG DDMMYY Dato, måned og år svarende til personens fødselsdato, eller ved ukendte patienter eller entiteter som ikke er en person, til oprettelsesdatoen for eCPR-nummeret. C Angiver århundrede: 0 for personer født 1900-1999, 5 for personer født før 1900 og 6 for patienter født efter 1999. AA Bogstaver A-Z. Det kan hvis muligt f.eks. være personens forbogstaver, eller en aftalt bogstavforkortelse til et bestemt forskningsprojekt. G Køn, ulige ciffer for mænd og lige for kvinder 0203290WQ3 Kent Osprey, født 2. Marts 1929 1308785OS6 Penny Elderspring, født 13. August 1878 3101056JC9 Jonathan Durtly, født 31. Januar 2005Formatet for nationale erstatningspersonnumre - X-eCPR
Eksempler på X-eCPR numre
Formatet for decentrale erstatningspersonnumre - D-eCPR
Eksempler på D-eCPR numre
Typebestemmelse med OID'er
Object Identifiers (OIDs) er en identifikationsmetode til identifikation af specifikke typer af objekter eller koncepter. OID'er anvendes når der er brug for en en entydig og blivende identifikation. Derfor bør et OID ikke genbruges når det har været anvendt til at identificere en given type af objekter eller koncepter. OID'er er udviklet i er samarbejde mellem ITU-T og ISO/UEC. Hvert tal i en OID beskriver domænet - fx således for OIDen hørende til CPR-numre: Officielle OIDer kan findes beskrevet på http://www.oid-info.com/cgi-bin/display?tree=1.2.208.176.1.6 For hver node, inklusive rod-noden, er der et krav om at ansvaret for den pågældende node påligger en organisation eller standard. Dvs. at det er denne organisation eller standard der har ansvaret for at allokere under-noder og at dokumentere denne allokering (inkl. information om. hvilken organisation under-noden er allokeret til). Det er dog ikke nødvendigt at allokere dette offentligt. Den ansvarlige organisation kaldes ’Registration Authority (RA)’. Nationalt eCPR bruger OID’er, hvor dette giver mening. For OID’er der oprettes til brug i Nationalt eCPR bliver SDS (NSI) ’Registration Authority (RA)’. Da hvert tal i et OID beskriver et domæne, kan man også sige at OID'er er baseret på en hierarkisk navngivningsstruktur. Denne navngivningsstruktur kaldes ”OID-træet”. OID-træet bruger en sekvens af navne, hvor det første navn identificerer en ‘node’ på øverste niveau I OID-træet, og det næste navn giver yderligere identifikation, som leder til sub-noder under det øverste niveau, og så fremdeles til en given ønsket dybde i træet. Figur 1: OID-træet for OID'er brugt i og for det meste defineret af Nationalt eCPR, snapshot april 2021 Eksempelvis kunne OID’en for ”typen” tysk pas i Nationalt eCPR være 1.2.208.176.1.6.3.2.276. OID-træet er i dette tilfælde svarende til: Alle OID’er defineret under 1.2.208.176.1.6 (eCPR) er ikke registreret i det generelle OID repository oid-info.com. EPID’er vil alle være defineret under 1.2.208.176.1.6.2 og 1.2.208.176.1.6.3 iOID-træet (figur 1). Det kan ikke udelukkes at der vil kunne findes andre OID’er der peger på samme type og kilde, men Nationalt eCPR vil for udenlandske identifikationsmidler kun anvende OID’er under eCPR i OID-træet. Dette skyldes to ting: 1) at samtlige nødvendige OID’er ikke findes (f.eks. et OID for et pasnummer for et pas fra Libyen), og 2) at der ikke er garanti for at definitionen af andre organisationers OID’er ikke ændres (en Registration Authority kan vælge at ændre denne). I Nationalt eCPR anvendes OID’er til at typebestemme Nationale eCPR-numre
1
, Decentrale eCPR-numre og EPID'er. Dvs. der er overordnet to formål: De understøttede OIDer i Nationalt eCPR kan trækkes via operationen eCPR - GetOIDs. Til angivelse af eCPR-typer, som beskrevet i afsnit 2.2 Typer af eCPR-numre, benytter Nationalt eCPR OID’er. For hver type anvendes der et eller flere OID’er til at angive format og kilde. For de nationalt definerede eCPR-numre (X-eCPR) findes der kun ét OID, da der kun er er én kilde til disse. For de decentralt definerede D-eCPR-numre vil der være flere OID’er, idet der er flere kilder hertil. Type OID Kilde X-eCPR 1.2.208.176.1.6.1.1 National eCPR-løsning D-eCPR 1.2.208.176.1.6.1.3.181 1.2.208.176.1.6.1.3.183 1.2.208.176.1.6.1.3.179 1.2.208.176.1.6.1.3.187 1.2.208.176.1.6.1.3.177 Region Midtjylland Region Syddanmark Region Nordjylland Region Hovedstaden Region Sjælland Type OID CPR 1.2.208.176.1.2 eCPR indeholder en række eksterne EPID’er. Typen og evt. kilden angives med et OID. OID’er for EPID’er vil alle være defineret under 1.2.208.176.1.6.2 og 1.2.208.176.1.6.3, under SDS i OID-træet (figur 1), men vil ikke blive registreret i det generelle OID repository oid-info.com. Type OID Asylansøger PersonID 1.2.208.176.1.6.1.2.1 EHICnummer 1.2.208.176.1.6.3.1 + Land Pasnummer 1.2.208.176.1.6.3.2 + Land Kørekortnummer 1.2.208.176.1.6.3.3 + Land Sundhedskortnummer 1.2.208.176.1.6.3.4 + Land OID’er for EPID’er kan betragtes som en simpel typebestemmelse der alene anvendes til, i servicekaldet, at angive at der f.eks. er tale om et tysk pasnummer. Samtlige typer og værdier skal defineres under EPID, men ikke nødvendigvis offentliggøres udenfor Nationalt eCPR, og ikke alle OID’er er vist i her. For EPID’er er der defineret en 'grund-type', eksempelvis til paskode, men her skal landekoden indgå i værdien, idet der ikke skal registreres OID’er til samtlige verdens lande.1 (iso) 2 (member-body) 208 (dk) 176 (nsi) 1 (registries) 2 (cpr)
Registration Authority (RA)
Typeangivelse - brug af OID'er i Nationalt eCPR
1.2.208.176.1 NSI registre .6 eCPR .3 EPID (Udenlandsk identifikationsmiddel) .2 Pasnummer ”type” .276 Landekode for Tyskland, ISO 3166-1 numeric OID'er defineret til brug i Nationalt eCPR
OID'ers formål i Nationalt eCPR
OID’er til at angive format og kilde for eCPR
OID til at angive CPR
OID’er til at angive type og kilde for EPID
Beslutninger ift. arkitektur og jura
I følgende tabel er listet beslutninger, som har indvirkning på arkitekturen bag Nationalt eCPR.
Dato | Emne | Problem, beskrivelse og beslutning | Afklaret med |
---|---|---|---|
| Opbevaring af data | Problem Beskrivelse Beslutning | SDS's juridiske afdeling |
| Genbrug af eCPR-numre | Problem Beskrivelse Dog kan der stadig være lokale journaler hos andre aktører som endnu ikke har fået omlagt patientjournalen. Hvis eCPR-nummeret 'genbruges' til en ny patient risikerer man derfor at flere patienters journaler samkøres; at 'gammelt data kobles på ny patient'. Beslutning | SDS's juridiske afdeling |
| Autorisation | Problem Beskrivelse Beslutning | SDS's juridiske afdeling |
| Brug af eCPR udenfor sundhedsvæsenet | Problem Beskrivelse Beslutning | SDS's juridiske afdeling |
| Log i MinLog Borgerlog | Problem Beskrivelse Tilgang til og ændringer i CPR-registreret logges heller ikke i MinLog Borgerlog. Beslutning | SDS's juridiske afdeling |
| Log i MinLog Medhjælpslog | Problem Beskrivelse Beslutning | SDS's juridiske afdeling |
| Anvendelse af SKRS | Problem Beskrivelse SKRS bruges bl.a. til at have en lokale kope af CPR registret i dag. Beslutning | SDS's juridiske afdeling |
| Begrænsning i brug af datamodellen | Problem Beskrivelse Da der ikke sker en automatisk opdatering af data, og da patienten ikke selv har adgang til at vedligeholde data i Nationalt eCPR, er adresse og kontaktinformation forældet med det samme efter endt kontakt; dvs. at man ikke kan forvente at kunne benytte de angivne information til at kontakte patienten efterfølgende. Slutbrugergruppen blev derfor bedt om at vurdere datamodellen, og de data det er muligt at angive. Beslutning
| Slutbrugergruppe Nationalt eCPR 2020 |
| Valg af X-eCPR format | Problem Beskrivelse 1. Brug af formatet ”X-eCPR” i de lokale systemer 2. Brug af formatet ”D-eCPR+kildeangivelse” i de lokale systemer Beslutning | Styregruppen for eCPR-projektet |
Ændringslog
0.8 | 2023-10-31 | Udkast publiceret | SDS |