Page History
...
LAR indeholder yderligere en webservice, som giver mulighed for sundhedspersoner at registrere og opdatere oplysninger vedr. lægemiddeloverfølsomhed for borgere.
...
- Implementation af sikkerhed (DGWS)
- Anvendelse af samtykkedata i MinSpærring i forhold til opslag af lægemiddeloverfølsomhed - herunder håntering af værdispring
- Kald af behandlingsrelationservice til tjek/opfølgning
- Logning af opslag og registreringer (auditloging og MinLogMinLog2)
- Mapning af kompleks FHIR model (i Cave Service) til enklere model mod anvenderne af LAR
...
HTML |
---|
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/id-53393914-f2b1-4699-8003-8f6f7e488205.html" name="test" height="510" 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.
LAR er udviklet som en web applikation i henhold til Servlet specifikationen 2.5. Dette sikrer, at LAR kan afvikles på enhver Servlet Engine, der overholder denne specifikation - specielt på WildFly Application Server 8.2, der i øjeblikket anvendes på NSP.
...
- Larservice-types: Har til ansvar at generere Java kode for LAR udfra dennes snitfladebeskrivelse (WSDL).
- Larservice-cave: Ansvar for at kalde den bagvedliggende CAVE (FHIR) REST service samt mapning mellem de typer, der anvendes i LAR snitfladen og den domænemodel, der eksponeres af den bagvedliggende CAVE (FHIR) REST service.
- Larservice-app: Forretningslogik, implementation af sikkerhedsprotokolen (DGWS) samt mapning af sikkerhedsprotokollens model og requestmodellen anvendt internt i LAR.
- Larservice-web: Modul, der samler de forgående moduler i en sammenhængende og eksekverbar (i f.eks. WildFly) WAR fil.
- Larservice-integrationstest: Integrationstests, der kan afvikles mod en kørende LAR service.
Gliffy Diagram | ||||||
---|---|---|---|---|---|---|
|
- SMB-Util: Utilities, der indeholder klientkode, der kan anvendes fra LAR til kald af de eksterne NSP services: MinSpærring, MinLog og behandlingsrelationsservice.
|
Opslag af oplysninger om lægemiddeloverfølsomhed for en borger
...
- Sikkerheden håndhæves af modulet DGWS provider (se arkitekturtegning ovenfor). Kun kald, hvor sikkerhedskravene er overholdt sendes videre til LAR servicens forretningslogik (se i øvrigt afsnittet Sikkerhedskrav i forhold til kald af LAR).
- Valideringen af indholdet af requestet foretages i LAR forretningslogikken herunder kald til CprExist. Se afsnit 34.4 Validering af requests i LAR
For detaljer vedr. request- og responseformat for anvendere af LAR samt fejlkoder henvises til LAR - AnvenderguideGuide til anvendere. Se i øvrigt også Beslutninger vedr LAR Snitfladen nedenfor.
...
Kommunikationen med CAVE service (herunder fejlhåndtering) håndteres af LAR Servicens modul larservice-cave.
Opslag i MinSpærring ved anvendelse af MSB-Util for at finde ud af, om der findes negative eller dataspecifikke samtykker for borgeren mod den opslående bruger eller organisationen, hvor opslaget foretages fra (en del af snitfladen for opslag). I tilfældet af negativt samtykke returnerer LAR uden videre en fejlkode til kalderen. NB! Der er i snitfladen mulighed for at angive, at man ønsker at foretage værdispring. Hvis kalderen angiver, at værdispring ønskes, så springes opslaget mod MinSpærring over.
Registring Registrering af opslaget i MinLog MinLog2 samt behandlerrelationsservice. Se LAR - Driftsvejledning for for opsætning af registering i MinLog MinLog2 for opslag.
LAR servicen transformerer herefter FHIR responset fra CAVE til den mere simple responsemodel for LAR. Da FHIR stukturen i den bagvedliggende CAVE Service er mere kompleks, end det, der tillades i LAR, har det været nødvendigt at foretage en række valg. Se afsnittet Mapning mellem LAR og CAVE for detaljer vedr. denne mapning.
...
De interne id'er for de returnerede CAVE oplysninger (og id'er for de frafiltrerede oplysninger) logges vha AuditAPI'et (se i øvrigt LAR - Driftsvejledning for detaljer vedr. indholdet af auditlogingsbeskeden).
Gliffy Diagram | ||||||
---|---|---|---|---|---|---|
|
Registrering og opdatering af oplysning om lægemiddeloverfølsomhed for en borger
Registrering af oplysninger om lægemiddeloverfølsomhed for en borger sker på følgende måde:
...
- Sikkerheden håndhæves af modulet DGWS provider (se arkitekturtegning ovenfor). Kun kald, hvor sikkerhedskravene er overholdt sendes videre til LAR servicens forretningslogik (se i øvrigt afsnittet Sikkerhedskrav i forhold til kald af LAR).
- Valideringen af indholdet af requestet foretages i LAR forretningslogikken herunder kald til CprExist. Se Se afsnit 34.4 Validering af requests i LAR.
For detaljer vedr. request- og responseformat for anvendere af LAR samt fejlkoder henvises til LAR - AnvenderguideGuide til anvendere. Se i øvrigt også Beslutninger vedr LAR Snitfladen nedenfor.
...
Oprettelsen logges vha AuditAPI'et (se i øvrigt LAR - Driftsvejledning for detaljer vedr. indholdet af auditlogingsbeskeden).
Registreringen og opdateringen medfører også et kald til MinLogtil MinLog2. Se LAR - Driftsvejledning for for opsætning af registering i MinLog for oprettelseMinLog2 for oprettelse.
HTML |
---|
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/id-77b3df12-55b4-4270-890d-0f2b3e0c6241.html" name="test" height="170" 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.
Snitfladeversionering
Der findes to strategier for versionering af LAR sntifladen. En hvor der køres flere versioner af det docker image der leveres og en hvor det kørende docker image udstiller flere versioner af snitfladen.
...
- At der medsendes et gyldigt SOSI Idkort med niveau 4
- At der i SOSI Idkortet er et autorisationsid tilstede, der overholder det gældende format (Det kan være 5 tal, 5 konsonanter og/eller vokalen Y eller en kombination af tal og konsonanter og/eller vokalen Y.)
- At der i SOSI Idkortet er en uddannelseskode tilstede, der overholder det gældende format (numerisk og 4 cifre langt)
Beslutninger vedr. LAR Snitfladen
...
- patient.code og patient.system er udfyldt. Hvis cpr-validering er enabled, bliver patient.code desuden valideret ved kald til CprExist service, som checker om cprnummeret findes.
- requesterOrganization.code og requesterOrganization.type er udfyldt
- requesterOrganization.code har en gyldig værdi (gyldige værdier fremgår af WSDL'en)
- Hvis requesterOrganization.type er Ydernummer, sikres det at requesterOrganization.code er på 6 tegn ved validering, og hvis ikke længden er korrekt, paddes code med 0'er.
- LAR Service validerer ikke på værdierne for de indkommende kode systemer (dette overlades til CAVE Servicen - se i øvrigt CAVE - Installationsvejledning)
...
- identifier er et gyldigt uuid, hvis udfyldt
- clinicalStatus er sat
- criticality har en gyldig værdi, hvis udfyldt (gyldige værdier fremgår af WSDL'en)
- substance.system og substance.code er udfyldt
- patient.system og patient.code er udfyldt. Hvis cpr-validering er enabled, bliver patient.code desuden valideret ved kald til CprExist service, som checker om cprnummeret findes.
- onsetDateTime er udfyldt
- recorder.system og recorder.code er udfyldt
- recorderOrganization.system og recorderOrganization.code er udfyldt
- reaction.manifestation.system og reaction.manifestation.code er udfyldt, alternativ reaction.manifestationDescription er udfyldt
- reaction.severity har en gyldig værdi, hvis udfyldt (gyldige værdier fremgår af WSDL'en)
- LAR Service validerer ikke på værdierne for de indkommende kode systemer (dette overlades til CAVE Servicen - se i øvrigt CAVE - Installationsvejledning)
- verificationStatus, type og category sættes af LAR servicen uafhængigt af, hvad der sendes ind i requestet
- onsetDateTime og reaction.onset format er bestemt af WSDL/XSD filen (Eksempel på gyldig format 2018-11-01T13:30:00.000+01:00)
Validering af patient.code
Gennem kald til CprExists Service foretages validering af CPR nummer. CPR valideringen kan køre i følgende tre modes:
- OFF: Der foretages ikke yderligere verifikation af CPRnummeret udover simpel validering af længde. CPRExists kaldes ikke
- WARNING: CPRExists service kaldes. Hvis denne service svarer, at CPR nummeret ikke findes, så audit logges denne information.
- REJECT: CPRExists service kaldes. Svaret fra denne er en hård validering dvs kaldet til LAR fejler, hvis CPRExist service ikke kender CPR nummeret.
Modellering af diverse identifiers i LAR
...