Page History
...
| Version | Date | Responsible | Description |
|---|---|---|---|
1.0 | 29.06.2012 | Systematic | First edition |
1.1 | 28.11.2014 | Systematic | References to National Patient Index (NPI) removed |
1.2 | 25.11.2016 | Systematic | MinLog now reuses SOSI ID-card and no longer requires HSUID (5.4) |
1.3 | 7.2.2017 | Systematic | Added handling of data specific consent by precautionary principle to section 5.3.1. |
1.4 | 13.06.2018 | Systematic | Migrated to NSPOP SVN |
| 23.10.2018 | KIT | Document moved from Word to Confluence. Original document name was: SDD0011 Consent Services Architecture and Design.docx | |
| 14.05.2020 | KIT | SDS-3883 Etablering af IDWS snitflade | |
| 09.11.2020 | KIT | SDS-3685 Min Spærring skal anvende SORES til SOR-SHAK opslag | |
| 12.11.2020 | KIT | Oversættelse til dansk | |
| 06.05.2021 | KIT | [SDS-2416] Samtykkeservicen skal ændres til at kalde minlog2 |
...
Definitioner og referencer
Formålet med dette afsnit er at give en oversigt over definitioner og dokumentreferencer, der bruges i dette dokument.
...
Tillader registrering og vedligeholdelse af spærringer frabedelser og samtykker for en borger. Serivcen Servicen tilbyder nedenstående funktionalitet.
ConsentRegistrationsGet – Returnerer alle registreringer for en borger.
ConsentAdd – Opretter en ny spærringer frabedelser eller samtykke for en borger. Et registrering er defineret i Samtykkeservicen - Data Model og indeholder:
Type (samtykke eller spærringfrabedelse)
Hvad det gælder
Hvem det gælder for
Gyldighedsperiode
Operationen kan kaldes af både borgere og af en anden person, som det kaldende system har verificeret, har lov til at oprette en spærring frabedelse eller samtykke på borgerens vegne. Hvis en borger kalder på vegne af en anden borger, skal den kaldende borger have fuldmagt til dette. Fuldmagt er for er for nuværende deaktiveret.
- ConsentModify - Ændrer et samtykke til en borger. En ændringer er defineret på samme måde som hvis der oprettes en ny registrering.
- ConsentRevoke - Tilbagekalder et samtykke eller spærring frabedelse så det ikke længere er gyldigt.
...
Samtykkeservicen Administration opbevarer i sin database information om samtykke og spærring frabedelse, som angivet af ConsentAdd ovenfor, ud over oplysninger om, hvem og hvornår samtykke henholdsvis oprettes og ændres.
...
Servicen anvendes til at verificere spærringer frabedelser og samtykker mellem borger og sundhedsfaglig. Service udstiller nedenstående operationer:
ConsentForUserCheck – Returnerer det generelle samtykkeforhold (samtykke eller spærringeller frabedelse) for en bruger med hensyn til en borger; hvis brugeren har lov til at se alt eller intet om borgeren.
ConsentForDataCheck – Returnerer det specifikke samtykkeforhold samtykkeforhold (samtykke eller spærringeller frabedelse ) for en bruger og konkrete oplysninger om en borger; hvis brugeren har lov til at se disse konkrete oplysninger om borgeren. De konkrete oplysninger / dokumenter returneres i form af en liste af ID'er. ID'erne der ønskes undersøgt er en del af forespørgslen til servicen.
Det er kun systembrugere der må kalde verifikationssnitfladen.
...
Gliffy Diagram macroId 59024c83-c1af-4cd1-927f-d5724662ae49 displayName Verifikationssnitflade beslutningsdiagram name Verifikationssnitflade beslutningsdiagram pagePin 6
Fælles for
...
Samtykkeservicen
Begge services overholder Den Gode Web Service 1.0.1 og kræver:
...
Belslutning angående logning
Fejlr Fejl og debug logging er implementeret via log4j der er konfigureret for hvert service. Der laves en logfil pr. service.
I denne log registreres exceptions og stacktraces. Hvis konfigurationen er indstillet til 'debug'-niveau, logges der også flowID ved ind- / udgang af servicemetoderne.
Debuglog er blevet implementeret for at lette fejlfinding, således at flowID (og følgelig en besked) kan spores mellem serviceopkald.
Service Level Agreement (SLA) logning håndteres via SLALOgning i NSPUtil SLA-logning i NSPU til biblioteket.
SLA-logging logger alle kald til de to service og består blandt andet af:
Tidspunkt, navn på den kaldte metode, eksekveringstids samt message ID.
...
I Samtykkeservicen Administraition bruges indholdet af HSUID-headeren til at autentificere og validere autorisationen for den kalende kaldene bruger ud over at validere, at brugeren har lov til at kalde metoden med de inkluderede parametre i body elementet.
Desuden bruges det 'fungerende bruger'-felt i HSUID-headeren til at indstille felterne' oprettet af' og' modificeret af' på en spærringfrabedelse/samtykke samt for at vurdere om det skal logges at en registrering er oprettet/rettet af en anden borger end den registreringen berører.
...
Hver service implementeres som en stateless Java EE-sessionbønne, der implementerer en grænseflade, der definerer de metoder, servucen servicen udstiller. Både implementeringen af bønne og webservicen håndteres via Java EE-kommentarer.
Ved at implementere tjenesten som en Java EE-bønne er det muligt for applikationsserveren at håndtere datasource injection, transaktioner og systemressourcer i stedet for at håndtere dette manuelt i koden.
...
DAO udstiller metoder, der svarer til de funktioner, som webservicen udstiller til anvendersystemer. De bruges af bønnen til at læse en borgers samtykker og spærringerfrabedelser.
ConsentAdministrationDAO
...
DAO udstiller metoder, der svarer til de funktioner, som webservicen udstiller til anvendersystemer. De bruges af bønnen til at vedligeholde en borgers samtykker og spærringerog frabedelser.
Databasefunktionerne implementeres ved hjælp af Hibernate.
...
Hvis 'Positiv' returneres, behøver anvendersystemet anvender-systemet ikke at validere samtykke til mulige data, da borgeren har givet samtykke til den kaledne kaldene bruger til alle data.
Hvis 'Negativ' returneres, behøver det kaldende system ikke at slå op data, da der er oprettet en spærring til den kaldene bruger for alle data.
...
Dataverifikation bruges til at undersøge, hvilke data i en sekvens af specifikke dataelementer, som brugeren har samtykke eller spærring frabedelser til at få vist.
Denne metode er kun nødvendig at kalde hvis der er returneret dataspecifik.
...
Serviceklassen henter alle borgerens samtykker og spærringer frabedelser fra databasen og filtrerer disse ved hjælp af klassen ConsentTypeFilterer.
I denne klasse filtreres samtykker og spærringer frabedelser i relevante enheder svarende til de forskellige trin i beslutningsgrafen (f.eks. spærringer til brugeren ',' spærring frabedelse til alle ',' samtykke til brugerorganisationen 'osv.). Filtreringen udføres på registreringerne og mulig tilknyttet 'hvem' element. 'Hvad' elementet undersøges ikke i filtreringen.
...
I dette tilfælde udføres algoritmen hurtigt, hvis der findes samtykke til begge brugere. Ellers kræves det, at hvis der kun findes spærring frabedelse over for en af brugerne, er der ikke adgang til brugerens data.
- På vegne af (positiv / negativ / dataspecifik)
- Personligt samtykke for alle (positive)
- Personligt samtykke til specifikke data (dataspecifikke)
- Personlig spærring frabedelse for alle (negativt)
- Samtykke over for brugerens organisation for alle (positive)
- Samtykke over for brugerens organisation for specifikke data (dataspecifikke)
- Spærring Frabedelse over for nogen til specifikke data (dataspecifik)
- Spærring over Frabedelse over for enhver for alle (negativt)
- Ikke flere registreringer eller ingen registreringer (positivt)
- Håndteringen af de enkelte trin varierer mellem bruger og data-verifikation.
...
Værdien for den første håndtering, hvor samtykke eller spærring frabedelse findes i databasen, returneres til det kaldende system.
'Positiv' returneres, når samtykke findes trin (2, 5), 'Negativt' i de trin hvor der er spærring frabedelse trin (4,8) og 'Dataspecifikt' i de dataspecifikke trin (3,6,7) .
...
- Hvis der ikke gives noget 'what'-element, eller' what'-organisationen er underlagt et samtykke, føjes elementet til returlisten.
- Hvis det er genstand for en spærring fjernes det fra listen over mulige dataelementer.
- Håndtering efter forsigtighedsprincip:
- Hvis den oprettende organisation af dataelementet er af ukendt eller anden type, fjernes det, når der er rale regler om en spærring frabedelse eller en eller flere dataspecifikke spærringer dataspecifikke frabedelser med overlappende henvisningsperiode, medmindre der også er et positivt samtykke (med overlappende henvisningsperiode ), der gælder for enhver oprindelse ('hvad'-organisation).
- Hvis den oprettende organisation af dataelementet er af typen SHAK eller ydernummer, og identifikatoren ikke kan ses som en SOR-kode, behandles den på samme måde som den ukendte eller anden organisationstype beskrevet ovenfor.
- Ellers fortsætter verifikationen.
...
Returlisten (med alle dataelementerne uden spærring frabedelse) returneres til det kaldende system.
Håndteringen af forsigtighedsprincippet er, at hvis et dataelement er af en ukendt type eller en anden type, kan det repræsentere data fra den samme organisation ('hvad'-organisation) som for en dataspecifikt spærringfrabedelse. Dataelementet er derfor berettiget til at blive fjernet fra listen. Det samme gælder ikke for det dataspecifikke samtykke. Selv om dataelementet muligvis repræsenterer den samme organisation, kan det modsatte lige så godt være tilfældet. Derfor gælder dataspecifikt samtykke kun, når det er defineret for enhver oprindelse (enhver 'hvad'-organisation).
...