Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduktion

Formål

Formålet med dette dokument er at beskrive systemarkitekturen for CAVE servicen. 

Læsevejledning

Nærværende dokument er tiltænkt udviklere og IT-arkitekter med interesse i CAVE Servicen. Herunder hører naturligvis personer involveret i konkrete dokument-kildesystemers brug af DDS Repository.

I dokumentet bruges begreberne autorisation og autoriseret primært i en sikkerhedskontekst, dvs. i forståelsen at en person eller et system har tilladelse til at anvende en given ressource. Anvendes begreberne om sundhedspersoner med dansk autorisation opført i Sundhedsstyrelsens autorisationsregister vil dette fremgå eksplicit.

Definitioner og referencer



NSPNational Service Platform
LARLægemiddel Allergi Register
CAVELatin for vogt eller undgå. Fagudtryk for medicin som en patient bør undgå
FHIRFast Health Interoperability Resources
RESTRepresentational State Transfer
DGWSDen Gode WebService


Introduktion til CAVE

Løsningens opbygning

CAVE servicen er en løsning der udstiller en FHIR snitflade. Det sker ved hjælp af HAPI FHIR java frameworket. I CAVE servicen udstilles der to typer af operationer. 

  1. Mulighed for at registrere lægemiddeloverfølsomhedsoplysninger på en given borger.
  2. Mulighed for at læse lægemiddeloverfølsomhedsoplysninger for en given borger. 

I FHIR terminologi så er data centreret omkring AllergyIntolerance ressourcen. De FHIR ressourcer der ikke anvendes er der heller ikke understøttelse for i servicen. 

CAVE servicen er installeret således at det kun er LAR der kan kalde servicen. 

Overblik over CAVE

CAVE er udviklet som en web applikation i henhold til Servlet specifikationen 2.5. Dette sikrer, at CAVE kan afvikles på enhver Servlet Engine, der overholder denne specifikation - specielt på WildFly Application Server 8.2, der i øjeblikket anvendes på NSP.

Løsningen er opbygget omkring to maven moduler. Hvert modul har sit eget ansvarsområde.

  • Cave-Service: Forretningslogik og konfiguration af HAPI framworket. Ved at anvende HAPI FHIR framework skal vi ikke selv implementere datamodel, persistering osv. i servicen. Det skal blot konfigureres i servicen. Der er implemeteret ekstra validering i forhold til FHIR standarden samt transaktionel håndtering af bundles. Dette er for at sikre en høj datakvalitet i servicen.
  • Cave-war: Modul, der samler de forgående moduler i en sammenhængende og eksekverbar (i f.eks. WildFly) WAR fil. Modulet indeholder også kode til integrationstests af CAVE servicen.


Gliffy Diagram
nameCAVE Arkitektur
pagePin6

Sikkerhed

Servicen er implementeret uden en egentlig sikkerhedsmodel. For at sikre utilsigtet adgang til servicen er den installeret således at det kun er LAR servicen der kan kalde den. Dermed er det LAR servicen der afgør om en given slutbruger har adgang til CAVE servicen. 

Integrationer

CAVE servicen integrerer ikke til andre services. Registrering i min log, samtykke og behandlerrelation tjek er anvendersystemets ansvar. Det vil sige at det er LAR servicen der har ansvar for dette, da det CAVE kun er tilgængelig for LAR servicen. 

Designmålsætninger og -beslutninger

Anvendelse af HAPI FHIR

Det er besluttet at anvende HAPI FHIR som FHIR implementering. HAPI FHIR kan anvendes på flere niveauer. I cave servicen er det besluttet at anvende HAPI FHIR i størst muligt omfang. Det vil sige at det HAPI FHIR anvendes blandt andet til nedenståenbde. 

  • Udstille REST snitflade der overholder FHIR standarden
  • Validering af data i forhold til FHIR standarden
  • Persistering af data. Det betyder også datamodellen er den HAPI FHIR dikterer.