Formålet med dette dokument er at beskrive systemarkitekturen for IDSAS.
Nærværende dokument er tiltænkt udviklere og IT-arkitekter med interesse i IDSAS og dens opbygning.
IDSAS anvender NSP libraries:
Nedenstående diagram viser opbygningen af IDSAS som service. Diagrammet er en forenkling, da der i praksis er tale om to services:
De to services ret ens opbygget, har en del fælles kode som de deler om via et maven-modul, har samme programstruktur og bruger samme database.
De to integrationer, "personinformation" og "SORES" bruges kun i den første service, "idsas".
![]()
Selve løsningen består af følgende moduler i maven:
| Modulnavn | Beskrivelse |
|---|---|
| idsas-api | Selve API'en, for begge services, defineres i dette modul som WSDL-filer. Modules primære formål er at generere Java-kode ud fra WSDL'erne, som kan bruges i de andre moduler. |
| idsas-common | Fælles kode for de to moduler, primært utility-funktioner og DAO-klasser. |
| idsas-integration-tests | En modul som indeholder alle integrationstests for begge services. |
| idsas-lookup-service | Forretningslogik til "Opslag", dvs. den del der henter listen af organisationer der skal sløres for. |
| idsas-lookup-web | Web-modulet til Opslag, som håndterer opstart af service og producerer den war-fil, der skal deployes. |
| idsas-service | Forretningslogik til "Slørring". |
| idsas-web | Web-modulet til "Slørring", som håndterer opstart af service og producerer den war-fil, der skal deployes. |
| idsas-operations-web | Web-modulet med endpoints til automatiske jobs: Fornyelse af salt, sletning af inaktive sløringer (kommer senere) |
| personinformation-client | Definerer en klient til NSP servicen PersonInformation. Benyttes ifm oprettelse af sløring til validering af CPR nummeret. |
Der findes følgende brugertyper i IDSAS:
De enkelte brugertyper bestemmes ud fra modellen, der udstilles i Security API. Disse regler er opsummeret i skemaerne nedenfor. Sikkerhedsmodellen tager udgangspunkt i Security API - Guide til anvendere.
| Brugertypen: Sundhedsfaglig | Verifikation | Mapning til IDSAS 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 | Brugertypen: Sundhedsfaglig | |
| 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 | Identifier | Skal være der | organisationIdentifier | |
| IdentifierFormat | Skal være der og skal være CVR | |||
| Client | Verificeres ikke - må gerne være der | |||
| Brugertypen: System | Verifikation | Mapning til IDSAS ServiceActor | ||
| SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der | |
| Validity | Er valid | |||
| Message | Verificeres ikke - må gerne være der | |||
| ActingUser | Må ikke være der | Brugertypen: System | ||
| PrincipalUser | Må ikke være der | |||
| Organisation | Identifier | Skal være der | organisationIdentifier | |
| IdentifierFormat | Skal være der og skal være CVR | |||
| Client | Verificeres ikke - må gerne være der | |||