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 , 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.04udover, at 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).

Konfiguration

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

...

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, undtagen 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 FSK Registry Adapter sættes op ved at kopiere filen:

...

<packing>/larservice/larservice-war/src/test/conf → /pack/wildfly8/modules/sds/larservice/configuration/main/

Konfiguration af LAR

larservice.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/

Yderligere information kan findes i LAR Driftsvejledning.

log4j-larservice-ws.xml

Konfigurerer logopsætningen for LAR.

En skabelon for log4j konfiguration findes i:

...

<packing>/fskregistry-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:

...

 

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.

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/

...

Yderligere information kan findes i LAR Driftsvejledninglog4j.properties.

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.

...

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.