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-2018KvalitetsITInitiel version

2.4. Definitioner og referencer

Reference

Beskrivelse

LARLægemiddelallergiregisrering
SDSSundhedsdatastyrelsen
NSPDen nationale service platform (inden for sundheds-IT)
DriftsvejledningLAR - 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.postEndpoint for post operationer mod CAVE servicen. F.eks. http://cave.sdsd.dk/cave/fhir/
cave.base.putEndpoint for put operationer mod CAVE servicen. F.eks. http://cave.sdsd.dk/cave/fhir/
treatmentRelation.endpointEndpoint til behandler relation wsdl.
treatmentRelation.maxPoolSize
Poolstørrelse for ObjectPool til TreatmentRelationService.
treatmentRelation.timeout
Timeout (ms) på kald til BRS. 
samtykke.endpointEndpoint til MinSpærring.
samtykke.maxPoolSize
Poolstørrelse for ObjectPool til MinSpærring.
samtykke.timeout
Timeout (ms) på kald til MinSpærring
minLog.read.textAngiver den tekst der skal skrives i min log ved læsning af oplysninger.
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.idID 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.fileLog4j 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.issuerIssuer til HSUID header bruges i kald til MinSpærring
consent.responsibleOrganizationResponsible organisation til brug i HSUID header.
app.nameApplikationsnavn
app.name.shortKort applikationsnavn.
app.endpointEndpoint til brug i DKS servlet.
sor.oidOID for sor. Skal være urn:oid:1.2.208.176.1.1.
health.failThresholdAntal 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