Page History
...
Borgeren anvender feks. sundhed.dk til at se egen log og det gøres via forespørgsler til Lookup der læser fra databasen.
Af figuren nedenfor fremgår desuden, at MinLogs registreringsservice udstilles på dNSP'erne (foruden på cNSP). Via Kafka flyttes data til cNSP, og skrives i MinLog2-databasen. Fra cNSP udstilles MinLog2 lookup-services til hhv. borgeropslag og til medhjælpsloggen.
Brugertyper
Der findes følgende brugertyper i Minlog. Se dokumentet med brugerhistorier for yderligere beskrivelse af disse.
- Systembruger
- Sundhedsfaglig med autorisation
- Borger (18+)
- Borger (15-17 år) er en variant af dette
- Borger på vegne af:
- Borger med forældremyndighed over børn under 15 år
- Borger som fuldmagtshaver på vegne af borger over 18 år
- Borger som værge på vegne af borger under værgemål
De nedenstående afsnit er foreløbig kun en skabelon til den fremtidige actor modeling i minlog.
...
| Brugertypen: Systembruger | Verifikation | Mapning til Minlog ServiceActor | ||
| SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der | |
| Validity | Er valid | |||
| Message | Verificeres ikke - må gerne være der | |||
| ActingUser | UserType | Må ikke være der | ||
| PrincipalUser | Må ikke være der | |||
| Organisation | Identifier | Skal være der og skal være CVR | ||
| identifierFormat | Verificeres ikke - må gerne være der | |||
| Client | Name | Verificeres ikke - må gerne være der | ||
...
| Brugertypen: Sundhedsfaglig med authorisation | Verifikation | Mapning til Minlog ServiceActor | ||
| SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der | |
| Validity | Er valid | |||
| Message | Verificeres ikke - må gerne være der | |||
| ActingUser | UserType | Skal være HealthCareProfessional | ||
| IdentifierFormat | Skal være CPR | |||
| Identifier | Skal være sat | |||
| GivenName | Verificeres ikke - må gerne være der | |||
| SurName | Verificeres ikke - må gerne være der | |||
| Credentials.NationalRole | Verificeres ikke - må gerne være der | |||
| Credentials.AuthorizationCode | Skal være der | |||
| PersistentUniqueKey | Verificeres ikke - må gerne være der | |||
| PrincipalUser | Må ikke være der | |||
| Organisation | Identifier | Verificeres ikke - må gerne være der | ||
| identifierFormat | Verificeres ikke - må gerne være der | |||
| Client | Name | Verificeres ikke - må gerne være der | ||
...
| Brugertypen Borger | Verifikation | Mapning til Minlog ServiceActor | ||
| SecurityContext | Ticket | Audience | Matche audience som findes som konfiguration i minlog | |
| Validity | Er valid | |||
| Message | Verificeres ikke - må gerne være der | |||
| ActingUser | UserType | Skal være Citizen | ||
| IdentifierFormat | Skal være CPR | |||
| Identifier | Skal være sat | |||
| GivenName | Verificeres ikke - må gerne være der | |||
| SurName | Verificeres ikke - må gerne være der | |||
| Credentials | Verificeres ikke - må gerne være der | |||
| PersistentUniqueKey | Verificeres ikke - må gerne være der | |||
| PrincipalUser | Må ikke være der | |||
| Organisation | Må ikke være der | |||
| Client | Verificeres ikke - må gerne være der | |||
...
| Borger på vegne af borger | Verifikation | Mapning til Minlog ServiceActor | ||
| SecurityContext | Ticket | Audience | Matche audience som findes som konfiguration i minlog | |
| Validity | Er valid | |||
| Message | Verificeres ikke - må gerne være der | |||
| ActingUser | UserType | Skal være Citizen | ||
| IdentifierFormat | Skal være CPR | |||
| Identifier | Skal være sat | |||
| GivenName | Verificeres ikke - må gerne være der | |||
| SurName | Verificeres ikke - må gerne være der | |||
| Credentials | Verificeres ikke - må gerne være der | |||
| PersistentUniqueKey | Verificeres ikke - må gerne være der | |||
| PrincipalUser | Skal være sat | |||
| Identifier | Må ikke være det samme som Identifier på ActingUser | |||
| Organisation | Må ikke være der | |||
| Client | Name | Verificeres ikke - må gerne være der | ||
| Brugertypen: Borger med forældremyndighed over børn under 15 år | ||||
vha. ActingUser.Relations ChildCustodyHolder og PrincipalUser.Relations Child sættes relation. | ||||
| Brugertypen: borger som fuldmagtshaver på vegne af borger over 18 år | ||||
vha. ActingUser.Credentials.PowerOfAttorneyPrivileges sættes relation hvis det passer med minlog PowerOfAttorneyPrivileges strenge. | ||||
| Brugertypen: borger som værge på vegne af borger under værgemål | ||||
vha. ActingUser.Relations Guardian og PrincipalUser.Relations Ward sættes relation. | ||||
...
- validering af at audience er til stede
- at der er en gyldig relation mellem 2 borgere, hvis der søges på vegne af en anden borger. F.eks. i form af en fuldmagt.
- at en borger som er værge, er whitelistet til dette
Snitflader
MinLog2 løsningen håndterer både MinLog2 og MinLog1 formaterne.
Snitfladerne for MinLog2 beskrives i detaljer i dokumenterne "Guide til anvendere" - Registration skema beskrivelse og Lookup skema beskrivelse. Der er også her man finder links til WSDL filer. Vedrørende snitfladerne til MinLog1 så henvises der til dokumenterne som findes i svn - https://svn.nspop.dk/public/components/minlog-reg/latest/doc/ og https://svn.nspop.dk/public/components/minlog-ws/latest/doc/.
Der henvises til de respektive moduler mht. detaljer omkring wsdl'er og fejlbeskeder.
...
| HTML |
|---|
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/cc47730d-040d-4f3f-8024-32441c1e2e6d.html" name="test" height="740" width="800">You need a Frames Capable browser to view this content.</iframe> |
* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.
Komponenter
Løsningen er designet som en web applikation opdelt i følgende struktur jee bestående af henholdsvis lookup og registration applikationerne, consumer, producer og shared.
├── service
│ ├── lookup
│ │ ├── lookup-core
│ │ ├── lookup-ear
│ │ ├── lookup-idws
│ │ └── lookup-ws
│ ├── registration
│ │ ├── registration-core
│ │ ├── registration-war
│ │ ├── registration-minlog1-ws
│ │ └── registration-ws
├── shared
│ ├── shared-configuration
│ ├── shared-db
│ ├── shared-domain-api
│ ├── shared-test
│ ├── shared-test-idws
│ └── shared-ws
├── Consumer
└── Producer
...
Consumer
Consumer modulet lytter på et kafka topic efter entries til MinLog2 og ved modtagelse indsættes de i databasen. Koden har taget udgangspunkt i Den Gode Brug af Kafka og følger dennes retningslinier.
Producer
Producer har tidligere være et selvstændigt modul, men er nu en del af MinLog2. Dokumentation for dette modul findes her: https://www.nspop.dk/display/public/web/MinLogProvider+-+Leverancebeskrivelse
...
dk.nsi.minlog2.registration.webservice.RegisterServiceImpl implements RegisterservicePort
dk.nsi.minlog2.registration.webservice.RegisterServiceImpl implements Service (Minlog1)
dk.nsi.minlog2.lookupid.LookupidImpl implements LookupidServicePortType
dk.nsi.minlog2.lookup.webservice.LookupServiceImpl implements LookupServicePort
...
Bemærk at der efter aftale ikke er gjort brug af whitelisting på det udstillede services.Vær opmærksom på at whitelisting heller ikke er implementeret for MinLog1.
Statuskomponent
Monitorering
...
For Lookup Indeholder domain, JPA klasser til persistering. I Registration er det POJO's.
Data lag
Indeholder logikken til insert af data fra Registration samt forespørgsel fra Lookup.
...
| HTML |
|---|
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/fd898793-0995-4db2-ac58-29d71c50fcf3.html" name="test" height="260" width="800">You need a Frames Capable browser to view this content.</iframe> |
* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.
Ikke funktionelle krav
Sikkerhed
...
