1. Indhold

2. Introduktion

2.1. Formål

Vejledning til installation og konfiguration af LAR. 

Vejledningen indeholder servicekrav til det omliggende miljø, herunder krav til operativsystem. 

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

Ved opgradering af komponenten beskrives desuden tilstanden, systemet skal være i for at opgraderingen kan finde sted.

2.2. Læsevejledning

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.

2.3. Dokument historik

Dato

Ansvarlig

Beskrivelse

26/2-2018 KvalitetsIT Initiel version

2.4. Definitioner og referencer

Reference

Beskrivelse

LAR Lægemiddelallergiregisrering
SDS Sundhedsdatastyrelsen
NSP Den nationale service platform (inden for sundheds-IT)
Driftsvejledning LAR - Driftsvejledning

3. 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. 

4. Krav til miljø

4.1. Krav til applikationsservere

Komponenterne er udviklet og testet i Docker ved anvendelse af imaget registry.nspop.dk/playground/nspbase:0.1.

Komponenternes konfiguration er således tilpasset deployering på WildFly 8.2 applikationsservere (krav til Java 8).

4.2. Krav til operativsystem

Der stilles ingen krav til operativsystemet udover, at det skal være Linux, og docker skal være installeret.

4.3. 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

4.4. 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.

4.5. 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).

5. Konfiguration

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

5.1. Serviceconfiguration

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

Property

Beskrivelse

cave.base.get

Endpoint for get operationer mod CAVE servicen. F.eks. http://cave.sdsd.dk/cave/fhir/
cave.base.post Endpoint for post operationer mod CAVE servicen. F.eks. http://cave.sdsd.dk/cave/fhir/
cave.base.put Endpoint for put operationer mod CAVE servicen. F.eks. http://cave.sdsd.dk/cave/fhir/
treatmentRelation.endpoint Endpoint til behandler relation wsdl.
treatmentRelation.maxPoolSize
Poolstørrelse for ObjectPool til TreatmentRelationService.
treatmentRelation.timeout
Timeout (ms) på kald til BRS. 
samtykke.endpoint Endpoint til MinSpærring.
samtykke.maxPoolSize
Poolstørrelse for ObjectPool til MinSpærring.
samtykke.timeout
Timeout (ms) på kald til MinSpærring
minLog.read.text Angiver den tekst der skal skrives i min log ved læsning af oplysninger.
kafka.producer.bootstrap.servers Kafka endpoint, som anvendes i forbindelse med kald til MinLog2
kafka.producer.client.id Navnet som LAR vil fremgå med i listen af Producers på et Kafka Cluster.
kafka.producer.key.serializer Serializer key for Kafka producer
kafka.producer.key.value.serializer Serializer value for Kafka producer
kafka.topic

Kafka topic som anvendes i forbindelse med kald til MinLog2

idcard.max.age.hours Id kort maksimal alder. F.eks. 24
whitelist.id ID navn til brug i whitelist database.
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 kongigurationsfil.
treatment.relation.serviceprovider.name Indsættes som ’Serviceprovider/Name’ i behandlingsrelationsservicens treatmentRelationRequestBody
treatment.relation.serviceprovider.vendor Indsættes som ’ServiceProvider/Vendor’ i behandlingsrelationsservicens treatmentRelationRequestBody
treatment.relation.serviceprovider.version Indsæ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.offset Angiver antallet af dage fra LAR-kaldtidspunktet, der skal indsættes som tidsstemplet ’TimeLimit’ i behandlingsrelationsservicens treatmentRelationRequestBody.
treatment.relation.queryable.cvr Indsættes som ’QueryableCvr’ i behandlingsrelationsservicens treatmentRelationRequestBody
treatment.relation.external.reference.id Indsættes som ’ExternalReferenceId’ i behandlingsrelationsservicens treatmentRelationRequestBody
treatment.relation.acceptable.relations Kommasepareret liste af kategorier, der indsættes som ’AcceptableRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody.
treatment.relation.followup.relations Kommasepareret liste af kategorier, der indsættes som ’FollowupRelations/Relation’ i behandlingsrelationsservicens treatmentRelationRequestBody.
consent.issuer Issuer til HSUID header bruges i kald til MinSpærring
consent.responsibleOrganization Responsible organisation til brug i HSUID header.
app.name Applikationsnavn
app.name.short Kort applikationsnavn.
app.endpoint Endpoint til brug i DKS servlet.
sor.oid OID for sor. Skal være urn:oid:1.2.208.176.1.1.
health.failThreshold Antal på hinanden fejlende kald til henholdsvis cave, MinSpærring og behandler relation før de melder FAILED retur i fejl teksten for health urlen. LAR servicens health url returnerer 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.

5.2. 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.

5.3. 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.

6. 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.

  • No labels