Versions Compared

Key

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

Indhold

Table of Contents

Introduktion

...

Vejledningen indeholder servicekrav til det omliggende miljø, herunder krav til operativsystem og standardapplikationer, som f.eks. applikationsservere, Java version mm., angivet på version og service pack-niveau. 

Vejledningen beskriver hvorledes servicen deployeres, herunder om der er krav om evt. genstart af server eller andre applikationer.

...

Læseren forventes at have kendskab til National Sundheds-IT’s platform NSP, samt generelt kendskab til WildFly applikation server, docker og Ubuntu Linux operativ system.Hvor der i teksten er angivet <packing> refereres til topniveaufolderen for release-pakken med kildekode. Folderens navngivning afhænger af versionen på releaset.

Dokument historik

Dato

Ansvarlig

Beskrivelse

26/2-2018KvalitetsITInitiel version

Definitioner og referencer

DefinitionReference

Beskrivelse

LARLægemiddelallergiregisrering
SDSSundhedsdatastyrelsen
NSPDen nationale service platform (inden for sundheds-IT)
DriftsvejledningLAR - Driftsvejledning

Docker image

LAR leveres som et docker image og kan hentes fra registry.nspop.dk/playground/larservice:snapshot. Der leveres eksempel på docker-compose.yml fil sammen med kildekoden. Compose filen kan findes i folderen compose/release i roden af kildekoden. I compose filen er der også refrence til eksempler på konfigurationsfiler. 

Krav til miljø

Krav til applikationsservere

...

Der stilles ingen krav til operativsystemet udover, ud over krav om, at Java er understøttet på operativsystemet.Ubuntu Linux bruges som operativsystem på NSP’en, og udviklingen af komponenten er foretaget på Ubuntu 16.04at det skal være Linux, og docker skal være installeret.

Krav til adgang til andre services

LAR servicen er afhægning af den bagvedliggende FHIR-baserede CAVE service. CAVE servicen er dokumenteret særskilt her: CAVE service. 

Krav til datahåndtering

LAR servicen behandler (videresender) personfølsomme informationer.

LAR service gemmer ikke selv disse data, da dette håndteres i den bagvedliggende CAVE service.

Krav til hardware

LAR servicens ressourceforbrug vil afhænge af følgende:

  • Antallet og størrelsen af samtidige læsninger af lægemiddelallergier.

  • Antallet af samtidige lægemiddelallergiregistreringer og opdateringer (skrivninger).

Deployment på Wildfly 8.2

Dette afsnit beskriver deploymentprocessen på WildFly 8.2.

I nuværende kode-base er følgende profiler forberedt:

...

Profilnavn

...

Profildefinitioner

...

Deployeringssti

...

larservice-war/src/test/conf

...

sds/larservice/configuration

NB! Deployeringsstien er relativ til <Wildfly>/modules/sds.

Deployment af LAR Service

OBS! Inden opstart af WildFly skal det sikres at properties og modul filer til servicen ligger i de applikationsspecifikke modul foldere på WildFly.

...

<packing>/larservice-war/target/larservice.war

Servicekomponenter der skal deployes til WildFly, skal kopieres til mappen ”deployments”. Hvis WildFly kører normalt starter den selv komponenten op. Er dette ikke tilfældet skal WildFly genstartes.

Konfiguration af LAR Service

Al konfiguration foregår ved redigering af de relevante properties filer under WildFly modules. Ved konfigurationsændringer bør servicen/WildFly genstartes.

Indholdet af de enkelte konfigurationsfiler, er beskrevet og forklaret i LAR Driftsvejledning.

Filer beskrevet i det følgende kan tilpasses.

Deployment af modul

WildFly module for LAR Service sættes op ved at kopiere filen:

...

Konfiguration

Filnavne og stier til disse tager udgangspunkt i, hvor de er mounted i docker countaineren. 

Serviceconfiguration

Grundlæggende konfiguration foregår ved redigering af filen /pack/wildfly8/modules/sds/larservice/configuration/main/

...

Konfiguration af LAR

...

application.properties

En skabelon for denne fil findes i:

...

<packing>/larservice-war/src/test/conf/larservice.properties

Filen redigeres inden den placeres på WildFly i:

...

/pack/wildfly8/modules/sds/larservice/configuration/main/

Property

Beskrivelse

cave.base.get

Endpoint for get operationer mod CAVE servicen. F.eks. http://cave.sdsd.dk/cave/fhir/
cave.base.postEndpoint for post

Yderligere information kan findes i LAR Driftsvejledning.

log4j-larservice-ws.xml

Konfigurerer logopsætningen for LAR.

En skabelon for log4j konfiguration findes i:

...

<packing>/larservice-war/src/test/conf/log4j-larservice-ws.xml

Filen redigeres inden den placeres på WildFly i:

...

/pack/wildfly8/modules/sds/larservice/configuration/main/

Konfiguration af NSP SLA log

NSP-util anvendes som en del af servicen og skal konfigureres. Eksempel på konfiguration-fil findes i:

...

<packing>/larservice-war/src/test/conf/
   log4j-nspslalog-lar.properties
   nspslalog-lar.properties

Filerne redigeres inden de placeres på WildFly i:

...

/pack/wildfly8/modules/sds/larservice/configuration/main/

Yderligere information kan findes i LAR Driftsvejledning.

Konfiguration

Property

Beskrivelse

cave.base.get

Endpoint for get
operationer mod CAVE servicen. F.eks. http://cave.sdsd.dk/cave/fhir/
cave.base.
post
putEndpoint for
post
put operationer mod CAVE servicen. F.eks. http://cave.sdsd.dk/cave/fhir/
treatmentRelation.
enabledAngiver om integration med behandler relation er er slået til. Skal altid være true i produktion.
endpointEndpoint til behandler relation wsdl.
treatmentRelation.
endpoint
maxPoolSize
Endpoint til behandler relation wsdl
Poolstørrelse for ObjectPool til TreatmentRelationService.
samtykke
treatmentRelation.
enabled = true
timeout
Timeout (ms) på kald til BRS. 
Angiver om integration med samtykke er slået til. Skal altid være true i produktion.
samtykke.endpointEndpoint til MinSpærring.
minLog
samtykke.
enabledAngiver om integration til min log er slået til. Skal være true i produktion.
maxPoolSize
Poolstørrelse for ObjectPool til MinSpærring.
samtykke.timeout
Timeout (ms) på kald til MinSpærring
minLog.endpointEndpoint til min log.
minLog.read.textAngiver den tekst der skal skrives i min log ved læsning af oplysninger.
executor.maxThreadCountMaksimalt antal parrallele tråde der anvendes når min log, min spærring og behandlerrelation kaldes.dgws.validation.disabledAngiver om DGWS validering skal slås fra. Skal altid være false i produktion.idcard.versionAngiver krævede version af id kort. F.eks. 1.0.1.sts.test.modeAngiver om det er test STS'en der skal anvendes. Skal altid være false i produktion.
kafka.producer.bootstrap.serversKafka endpoint, som anvendes i forbindelse med kald til MinLog2
kafka.producer.client.idNavnet som LAR vil fremgå med i listen af Producers på et Kafka Cluster.
kafka.producer.key.serializerSerializer key for Kafka producer
kafka.producer.key.value.serializerSerializer value for Kafka producer
kafka.topic

Kafka topic som anvendes i forbindelse med kald til MinLog2

idcard.max.age.hoursId kort maksimal alder. F.eks. 24
whitelist.id
=dk.nsi.larservice
ID navn til brug i whitelist database.
idcard
registerPatientAllergy.min.sec.level

Minimum security level på id kort til soap operationen RegisterPatientAllergy. Skal være 3 i produktion.

NO_AUTHENTICATION = 1
USERNAME_PASSWORD_AUTHENTICATION = 2
VOCES_TRUSTED_SYSTEM = 3
MOCES_TRUSTED_USER = 4

getPatientAllergyList.min.sec.level

Minimum security level på id kort til soap operationen GetPatientAllergyList. Skal være 4 i produktion.

NO_AUTHENTICATION = 1
USERNAME_PASSWORD_AUTHENTICATION = 2
VOCES_TRUSTED_SYSTEM = 3
MOCES_TRUSTED_USER = 4

updatePatientAllergyList.min.sec.level

Minimum security level på id kort til soap operationen updatePatientAllergy. Skal være 3 i produktion.

NO_AUTHENTICATION = 1
USERNAME_PASSWORD_AUTHENTICATION = 2
VOCES_TRUSTED_SYSTEM = 3
MOCES_TRUSTED_USER = 4

log.config.file
=log4j.properties
Log4j kongigurationsfil.
treatment.relation.serviceprovider.nameIndsættes som ’Serviceprovider/Name’ i behandlingsrelationsservicens treatmentRelationRequestBody
treatment.relation.serviceprovider.vendorIndsættes som ’ServiceProvider/Vendor’ i behandlingsrelationsservicens treatmentRelationRequestBody
treatment.relation.serviceprovider.versionIndsættes som ’ServiceProvider/Version’ i behandlingsrelationsservicens treatmentRelationRequestBody
treatment.relation.lookup.timeinterval.start.offset

Angiver antallet af dage fra LAR-kaldtidspunktet, der skal indsættes som tidsstemplet ’RelationLookupTimeInterval/start’ i behandlingsrelationsservicens treatmentRelationRequestBody.

Negativt fortegn angiver antal dage før LAR-kaldtidspunktet.

treatment.relation.lookup.timeinterval.end.offset

Angiver antallet af dage fra LAR-kaldtidspunktet, der skal indsættes som tidsstemplet ’RelationLookupTimeInterval/end’ i behandlingsrelationsservicens treatmentRelationRequestBody.

Negativt fortegn angiver antal dage før LAR-kaldtidspunktet.

treatment.relation.timelimit.offsetAngiver antallet af dage fra LAR-kaldtidspunktet, der skal indsættes som tidsstemplet ’TimeLimit’ i behandlingsrelationsservicens treatmentRelationRequestBody.
treatment.relation.queryable.cvrIndsættes som ’QueryableCvr’ i behandlingsrelationsservicens treatmentRelationRequestBody
treatment.relation.external.reference.idIndsættes som ’ExternalReferenceId’ i behandlingsrelationsservicens treatmentRelationRequestBody
treatment.relation.acceptable.relationsKommasepareret liste af kategorier, der indsættes som ’AcceptableRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody.
treatment.relation.followup.relationsKommasepareret liste af kategorier, der indsættes som ’FollowupRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody.
consent.issuer
= Lar service
Issuer til HSUID header bruges i kald til MinSpærring
consent.responsibleOrganization
= Kvalitets Drift
Responsible organisation til brug i HSUID header.
app.name
= LAR service
Applikationsnavn
app.name.short
= LAR
Kort applikationsnavn.
app.endpoint
=http://localhost:8090/lar
Endpoint til brug i DKS servlet.
sor.oid
=
OID for sor. Skal være urn:oid:1.2.208.176.1.1.
alive
health.failThreshold
= 5
Antal på hinanden fejlende kald til henholdsvis cave
, MinLog
, MinSpærring og behandler relation før de melder FAILED retur i fejl teksten for health urlen. LAR servicens health url returnerer
HTTP status 500.

Logfiler for LAR

LAR kan logge kald til følgende logs: En NSP-SLA-log og en applikationslog.

I default opsætningen logges udelukkende fejl til applikationsloggen.

Det er muligt at konfigurere placeringen af filerne, samt hvilket niveau de logger på, ved at redigere i filerne beskrevet ovenfor.

altid HTTP status 200 uafhængigt at dette.
code.system.oid.substance

Det foretrukne OID system for substance koden i CAVE servicen. Anvendes i forbindelse med mapning fra LAR til CAVE format, hvis flere records er tilgængelige.

F.eks. urn:oid:2.16.840.1.113883.6.73

code.system.oid.patient

Det foretrukne OID system for patient koden i CAVE servicen. Anvendes i forbindelse med mapning fra LAR til CAVE format, hvis flere records er tilgængelige.

F.eks. urn:oid:1.2.208.176.1.2

code.system.oid.recorder

Det foretrukne OID system for recorder koden i CAVE servicen. Anvendes i forbindelse med mapning fra LAR til CAVE format, hvis flere records er tilgængelige.

F.eks. urn:oid:1.2.208.176.1.3

code.system.oid.recorder.org

Det foretrukne OID system for recorder organization koden i CAVE servicen. Anvendes i forbindelse med mapning fra LAR til CAVE format, hvis flere records er tilgængelige.

F.eks. urn:oid:1.2.208.176.1.1

code.system.oid.manifestation

Det foretrukne OID system for manifestation koden i CAVE servicen. Anvendes i forbindelse med mapning fra LAR til CAVE format, hvis flere records er tilgængelige.

F.eks. urn:oid:1.2.208.176.2.4.12

code.system.oid.drugId

OID for drug id. 

F.eks. urn:oid:1.2.208.176.2.4.12

cprexists.validationlevel

Valideringsniveau for CPR validering

Eksempel: WARNING, REJECT, OFF

cprexists.url

URL for CPR exist service

Eksempel: http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-cprexists

cprexists.maxTotalConnections

Konfiguration af client pool til kald af CPRExists service. Default: 200.

cprexists.defaultMaxConnectionsPerRoute

Konfiguration af client pool til kald af CPRExists service. Default: 20.

SLA-Log konfiguration

SLA-logning på LAR Service sker ved hjælpe af SLALoggingServletFilter konfigureret som et servlet filter.

Konfiguration af SLA-log findes i filen nspslalog-lar.properties samt den Log4j fil der står i nspslalog-lar.properties.

Log4j konfiguration

Log4j konfiguration findes i pack /wildfly8/modules/sds/larservice/configuration/main/log4j.properties.

Bemærk at for at message id fra DGWS kan logges så er det vigtigt at ConversionPattern i log4j.properties indeholder %X{MESSAGE_ID}. Se evt. det leverede eksempel i compose/configuration

...

.

Opgradering af LAR

Når der kommer opgraderinger til en komponent, vil der medfølge en release-note, der beskriver hvad opgraderingen består af, samt hvilke handlinger, der er nødvendige for at opgradere den deployerede komponent.

Afinstallation af servicen

Fjern service-komponenter under WildFly’ deployments/ folder:

...

larservice.war

Fjern properties filer under modul-folderen:

...

/pack/wildfly8/modules/sds/larservice/configuration/main/

Fjern eventuelt logfiler.