Page History
...
| Table of Contents | ||
|---|---|---|
|
1
Introduktion
...
Formål
...
Anchor
Driftsvejledningen indeholder information om komponenterne med hensyn til eksterne afhængigheder, standard placering af logfiler og konfigurationsfiler, og evt. krav til genstart af applikationer hvis komponenten ikke er responsiv.
I afsnit 2 er beskrevet hvilke komponenter, der indgår i Svareksponeringsservice XDS-adaptere og deres forventede placering med hensyn til platform.
Afsnit 4 beskriver aktuelle konfigurationsparametre for komponenterne i Svareksponeringsservice XDS-adaptere, samt eksempler på konfigurationsparameter-filer.
I afsnit 5 beskrives hvorledes Svareksponeringsservice XDS-adapter-komponenterne overvåges.
Beskrivelse af standard fejlsøgning og vejledning for start/stop af komponenterne er beskrevet i afsnit 6.
Specielle krav til backup er beskrevet i afsnit 7, ligesom procedure ved reetablering af komponenterne ud fra backup beskrives.
...
Læsevejledning
Læseren forventes at have kendskab til National Sundheds-IT's platform NSP, samt generelt kendskab til WildFly applikationsserver samt Ubuntu Linux operativ system.
...
WildFly applikationsserver samt Ubuntu Linux operativ system.
Dokumenthistorik
Version | Dato | Ansvarlig | Beskrivelse |
|---|---|---|---|
1.0 | 21.09.2016 | Systematic | Første udgave. |
...
...
Definitioner og referencer
Definition | Beskrivelse |
|---|---|
DDS | Dokumentdelingsservices |
NSI | National Sundheds-IT |
NSP | Den nationale service platform (inden for sundheds-IT) |
STS | Security Token Service |
XDS | Cross-Enterprise Document Sharing |
...
...
...
Komponenter
Svareksponeringsservice XDS-adaptere er implementeret gennem følgende komponenter:
...
- Service-check
- Type: Webservice
- Filnavn: service-check.war
- Url: <serverurl>/service-check/service
...
Daglig drift
Dette afsnit beskriver den daglige drift af systemet.
...
Relaterede services
Svareksponeringsservice XDS Repository Adapter afhænger af den eksterne service:
...
Ved fejl i denne vil Svareksponeringsservice XDS Repository Adapter returnere svar til anvendere, hvoraf det fremgår, at der er fejl.
...
Konfiguration
...
...
...
Konfiguration af Svareksponeringsservice XDS Registry Adapter
Konfiguration af Svareksponeringsservice kalder
Opsætningen for kalderen af Svareksponeringsservice konfigureres i SXAConfig.properties.
Denne indlæses fra WildFly modulet:
...
Property | Beskrivelse |
|---|---|
sxa.labservice.credential.header | Navn på http-header, der indeholder servicenøgle fra klienten. Skal være udfyldt, hvis sxa.labservice.credential er udfyldt. Hvis ikke udfyldt, udføres der ikke validering af nøgler. |
sxa.labservice.credential | Serverens servicenøgle. Bruges ifm. Samblik pilotafprøvning til at begrænse adgang til SXA. Skal være udfyldt, hvis sxa.labservice.credential.header er udfyldt. Hvis ikke udfyldt, udføres der ikke validering af nøgler. |
...
Konfiguration af dokument-metadata
Dokument-metadata anvendt af Svareksponeringsservice XDS Registry Adapter, når der laves opslag på en patient, er defineret i følgende fil:
...
| Code Block |
|---|
<metadata>
<classCode class="codedValue">
<code>001</code>
<codeSystem>2.16.840.1.113883.3.4208.100.9</codeSystem>
<description>Klinisk rapport</description>
</classCode>
<confidentialityCode class="codedValue">
<code>N</code>
<codeSystem>2.16.840.1.113883.5.25</codeSystem>
<description>Normal</description>
</confidentialityCode>
<formatCode class="codedValue">
<code>urn:ad:dk:medcom:labreports:svareksponeringsservice</code>
<codeSystem>1.2.208.184.100.10</codeSystem>
<description>Laboratoriesvar (samling af svar)</description>
</formatCode>
<languageCode>da-DK</languageCode>
<mimeType>text/xml</mimeType>
<practiceSettingCode class="codedValue">
<code></code>
<codeSystem></codeSystem>
<description></description>
</practiceSettingCode>
<typeCode class="codedValue">
<code>11502-2</code>
<codeSystem>2.16.840.1.113883.6.1</codeSystem>
<description>LABORATORY REPORT.TOTAL</description>
</typeCode>
<homeCommunityId>1.2.3.5.6</homeCommunityId>
<repositoryUniqueId>1.2.3.4.55.66</repositoryUniqueId>
<uniqueIdRoot>1.2.3.4.55.66</uniqueIdRoot>
<healthcareFacilityTypeCode class="codedValue">
<code></code>
<codeSystem>2.16.840.1.113883.6.96</codeSystem>
<description></description>
</healthcareFacilityTypeCode>
<authorInstitution
class="dk.nsi.documentsharing.core.metadata.model.OrganisationImpl">
<name>Region Test</name>
<id class="valueWithAssigningAuthority">
<value>291000016008</value>
<assigningAuthority>1.2.208.176.1.1</assigningAuthority>
</id>
</authorInstitution>
</metadata> |
...
Konfiguration af filter på dokument-metadata-forespørgsel
Ved opslag på en patient kan der anføres en række søge-parametre. Svareksponeringsservice XDS Registry Adapter har logik, der er afhængig af konkrete søge-parametre og konfigureret filter (beskrevet her), fastlægger hvilket svar, der skal returneres.
Filteret konfigureres i følgende fil:
...
| Code Block |
|---|
<filter>
<classCodes/>
<typeCodes>
<codedValue>
<code>11502-2</code>
<codeSystem>2.16.840.1.113883.6.1</codeSystem>
<description>LABORATORY REPORT.TOTAL</description>
</codedValue>
</typeCodes>
<eventCodes/>
<confidentialityCodes>
<codedValue>
<code>N</code>
<codeSystem>2.16.840.1.113883.5.25</codeSystem>
<description>Normal</description>
</codedValue>
</confidentialityCodes>
<formatCodes>
<codedValue>
<code>urn:ad:dk:medcom:labreports:svareksponeringsservice</code>
<codeSystem>1.2.208.184.100.10</codeSystem>
<description>Laboratoriesvar (samling af svar)</description>
</codedValue>
</formatCodes>
<practiceSettingCodes>
<codedValue>
<code>408454008</code>
<codeSystem>2.16.840.1.113883.6.96</codeSystem>
<description>klinisk mikrobiologi</description>
</codedValue>
<codedValue>
<code>394596001</code>
<codeSystem>2.16.840.1.113883.6.96</codeSystem>
<description>klinisk biokemi</description>
</codedValue>
<codedValue>
<code>394915009</code>
<codeSystem>2.16.840.1.113883.6.96</codeSystem>
<description>patologi anatomi og cytologi</description>
</codedValue>
</practiceSettingCodes>
</filter> |
...
...
Konfiguration af mapning til specialer
Ved opslag på en patient kan der anføres en række søge-parametre. Svareksponeringsservice XDS Registry Adapter har logik, der er afhængig af konkrete søge-parametre foretager encoding i dokumentid, der er del af returnerede metadata.
Mapning til specialer konfigureres i følgende fil:
...
Det er vigtigt, at den tilsvarende fil for documentprovider er konfigureret fuldstændigt identisk.
...
Udpegning af log4j-konfigurationfil
Følgende fil, der findes under roden i war-filen sxa-documentmetadataprovider.war, udpeger den fil, der anvendes til konfiguration af log4j:
...
Bemærk, at denne fil (om nødvendigt) skal tilpasses direkte i war-filen og ikke findes i WildFly modulet.
...
Konfiguration af log4j
Log4j konfiguration findes i følgende fil:
...
Som standard skriver performanceloggeren til sxa-documentmetadataprovider-ws-performance.log i WildFly' log-folder.
Se yderligere opsætning i installationsvejledningen.
...
...
Udpegning af SLA-log konfiguration
Følgende fil udpeger hvilken fil, der indeholder konfigurationen af SLA-logning:
...
Per default udpeges konfigurationsfilen beskrevet i næste afsnit.
...
...
Konfiguration af SLA-log
Per default indlæses konfigurationen af Svareksponeringsservice XDS Registry Adapters SLA-logning fra følgende fil:
...
| Code Block |
|---|
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentmetadataprovider/config/main/ |
...
Konfiguration af Svareksponeringsservice XDS Repository Adapter
...
...
Konfiguration af Svareksponeringsservice kalder
Opsætningen for kalderen af Svareksponeringsservice konfigureres i SXAConfig.properties.
Denne indlæses fra WildFly modulet:
...
Property | Beskrivelse |
|---|---|
sxa.labservice.request.timeout.seconds | Antal sekunder for hvor lang tid et request mod laboratoriebanken maximalt må tage før forsøget meldes som mislykket. |
sxa.labservice.request.username | Brugernavnet der anvendes ved kald til Laboratoriedatabanken |
sxa.labservice.request.password | Kodeordet der anvendes ved kald til Laboratoriedatabanken |
sxa.labservice.endpoint | Url'en til Laboratoriedatabankens service |
sxa.document.unique.id.root | Root id for det generede dokument |
sxa.labservice.request.samtykkekode | |
sxa.labservice.request.samtykketekst | |
sxa.labservice.slutbruger.identifikation | Slutbrugerns brugerid eller en fast identitet på det kaldende system, såfremt det selv logger |
sxa.labservice.slutbruger.organisation | Navnet på organisationen som slutbrugeren eller det kaldende system stammer fra |
sxa.labservice.slutbruger.cpr | Slutbrugerens cpr-nummer |
sxa.labservice.slutbruger.fornavn | Slutbrugerens fornavn |
sxa.labservice.slutbruger.efternavn | Slutbrugerens efternavn |
sxa.labservice.slutbruger.stilling | Slutbrugerens stillingsbetegnelse |
sxa.labservice.slutbruger.email | Slutbrugerens email |
sxa.labservice.slutbruger.rolle | Slutbrugerens rolle |
sxa.labservice.slutbruger.autorisationskode | Slutbrugerens autorisationskode |
| sxa.labservice.servicecheck.failurethreshold | Hvor mange gange et kald til Laboratoriedatabanken skal forsøges igen, før det opfattes som fejlet. |
| sxa.labservice.servicecheck.duration | Angiver, hvor lang en periode, der skal kigges i efter antallet af fejl angivet under failurethreshold |
| sxa.labservice.headers | Styrer hvilke indkommende HTTP-headers, der skal videresendes til Laboratoriedatabanken. Angives som en komma-separeret liste. I indkommende requests ledes efter HTTP-headers, hvis navn forekommer i listen, og hvis de findes, sendes de med videre. |
| sxa.labservice.logrecord.inbound.header.name | Navn på indkommende HTTP-header, som indeholder LogRecord-parameter fra det kaldende system. Hvis headeren findes, så bruges den i beregningen af den LogRecord, der sendes med i kald til Svareksponeringsservicen. |
| sxa.labservice.logrecord.outbound.header.name | Navn på den HTTP-header, som indeholder LogRecord-parameter i kald til Svareksponeringsservicen. Beregningen af headeren er beskrevet i afsnittet 'SES Auditlogning'. |
| sxa.labservice.credential.header | Navn på http-header, der indeholder servicenøgle fra klienten. Skal være udfyldt, hvis sxa.labservice.credential er udfyldt. Hvis ikke udfyldt, udføres der ikke validering af nøgler. |
| sxa.labservice.credential | Serverens servicenøgle. Bruges ifm. Samblik pilotafprøvning til at begrænse adgang til SXA. Skal være udfyldt, hvis sxa.labservice.credential.header er udfyldt. Hvis ikke udfyldt, udføres der ikke validering af nøgler. |
...
...
Konfiguration af dokumentdelings-id
Konfiguration af hvilket homeCommunityId og repositoryUniqueId, Svareksponeringsservice XDS Repository Adapter'en skal reagere på ved request for indhentning af dokument, er konfigureret i følgende fil:
...
Bemærk, at de konkrete værdier skal være afstemt med homeCommunityId og repositoryUniqueId i de dokumentmetadata, der er konfigureret som beskrevet i afsnit 4.1.1. Er der ikke overensstemmelse, vil kald til Svareksponeringsservice XDS Repository give anledning til svar, der påpeger uoverenstemmelsen.
...
Konfiguration af mapning til specialer
Ved opslag på en patient kan der anføres en række søge-parametre. Svareksponeringsservice XDS Registry Adapter har logik, der er afhængig af konkrete søge-parametre foretager encoding i dokumentid, der er del af returnerede metadata. Ved indhentning af dokument foretages decoding og mapning til speciale-parametre anvendt i kaldet til Svareksponeringsservicen.
Mapning til specialer konfigureres i følgende fil:
...
Det er vigtigt, at den tilsvarende fil for documentmetadataprovider er konfigureret fuldstændigt identisk.
...
...
Udpegning af log4j-konfigurationfil
Følgende fil, der findes under roden i war-filen sxa-documentprovider.war, udpeger den fil, der anvendes til konfiguration af log4j:
...
Bemærk, at denne fil (om nødvendigt) skal tilpasses direkte i war-filen og ikke findes i WildFly modulet.
...
Konfiguration af log4j
Log4j konfiguration findes i følgende fil:
...
| Code Block |
|---|
<logger name="performancelogger" additivity="false"> <level value="OFF" /> <appender-ref ref="PerformanceFile" /> </logger> |
...
Som standard skriver performanceloggeren til sxa-documentprovider-ws-performance.log i WildFly' log-folder.
Se yderligere opsætning i installationsvejledningen.
...
...
Udpegning af SLA-log konfiguration
Følgende fil udpeger hvilken fil, der indeholder konfigurationen af SLA-logning:
...
Per default udpeges konfigurationsfilen beskrevet i næste afsnit.
...
...
Konfiguration af SLA-log
Per default indlæses konfigurationen af Svareksponeringsservice XDS Repository Adapters SLA-logning fra følgende fil:
...
| Code Block |
|---|
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentprovider/config/main/ |
...
SES Auditlogning
Ved kald til Svareksponeringsservicen medsendes der en header, som indeholder information til auditlogning. Headeren indeholder en LogRecord xml-struktur, hvis indhold beskrives nærmere i dette afsnit.
...
| Header-element | Indhold |
|---|---|
| TraceInfo.RequestTime | Tidspunktet hvor headeren dannes. |
| TraceInfo.SessionId | FlowID fra Medcom-headeren, hvis det er angivet. Ellers et tilfældigt uuid. |
| TraceInfo.RequestId | Tilfældigt uuid. For at kunne korrelere MessageID fra Medcom-headeren med det tilfældige uuid, logges en linje på følgende form på INFO-niveau i applikationsloggen: LogRecord generated. MessageID: <messageID>, RequestId: <requestId> Eksempel: LogRecord generated. MessageID: AAABeBX9pFBxz1Ul3Nwf/lNPU0k=, RequestId: 863faf0f-dc2a-4c48-b4ec-897ec90a9890 |
| TraceInfo.Route | En sekvens af ViaSystem-elementer. Hvis requestet indeholder en LogRecord-header, så kopieres sekvensen herfra, og udvides med et element med værdien 'Dokumentdelingsservice'. Ellers kun 'Dokumentdelingsservice'-elementet. |
| RequestingClient.ClientIdentification | Bestemmes ud fra Hsuid-headerens UserType-attribut.
|
| RequestingClient.ClinicName | Tom streng. |
| RequestingClient.ClinicDepartment | Tom streng. |
| RequestingClient.UserCprNumber | Sættes til indholdet af ActingUserCivilRegistrationNumber-attributten. |
| RequestingClient.UserName | Tom streng. |
| RequestingClient.UserInitials | Tom streng. |
| RequestingClient.BehalfOfCprNumber | Sættes til indholdet af ResponsibleUserCivilRegistrationNumber-attributten, hvis denne er udfyldt. |
| RequestingClient.LookUpType | Bestemmes ud fra Hsuid-headerens UserType-attribut.
|
| RequestingClient.TaskType | Sættes til 'Opslag Dokumentdelingsservice'. |
| Patient.CprNumber | Beregnes ved at decode DocumentUniqueId'et fra request bodyen. |
| Patient.Name | Tom streng |
| Consent.Code | Hvis HSUID-attributten ConsentOverride ikke er angivet, eller er angivet til 'false', så 1 (patienten har givet samtykke). Ellers 3 (opslaget er foretaget som en del af behandlingen). |
| Consent.Text | Hvis HSUID-attributten ConsentOverride ikke er angivet, eller er angivet til 'false', så tom streng, ellers 'Opslag foretages pga. værdispring'. |
| Consent.PrivacyOverrideCode | PrivacyOverrideCode - Hvis HSUID-attributten ConsentOverride ikke er angivet, eller er angivet til 'false', så 0, ellers 1. |
| ExtendedRequestInfo | Tekstuel repræsentation af request body'en |
...
HTTP Statuscheck på komponenter i Svareksponeringsservice XDS-adaptere
Det er muligt at lave servicetjek på Svareksponeringsservice XDS-adaptere ved brug af den generelle service servicecheck. For at understøtte servicetjek kræves konfiguration af servicecheck servicen, der er både generel og specifikt for svareksponeringsservice XDS-adaptere. Følgende underafsnit beskriver den nødvendige konfiguration.
...
den nødvendige konfiguration.
...
ServiceCheck.properties
Grundlæggende konfiguration af service-check sker ved tilretning af properties i ServiceCheck.properties filen. Eksempel på ServiceCheck.properties
...
| Code Block |
|---|
log4j.logger.service-check=INFO, sclog
log4j.appender.sclog=org.apache.log4j.RollingFileAppender
log4j.appender.sclog.File=${jboss.server.log.dir}/service-check.log
log4j.appender.sclog.layout=org.apache.log4j.PatternLayout
log4j.appender.sclog.layout.ConversionPattern=%d [%t] %-5p %c - %m%n |
...
JMX-Console sikkerhedsopsætning
WildFly
Følgende script afvikles for at tilføje en ny JMX bruger på wildfly:
...
Under opsætning af brugeren vælges typen 'Management User' og muligheden for kommunikation på tværs af applikationsservere kræves ikke rettigheder til.
Når brugeren er oprettet med navn og kodeord ændres ServicesCheck.properties, så properties stemmer overens med det indtastede i add-user.sh scriptet.
Se afsnit 4.3.1 for et eksempel på konfiguration af jmx.username og jmx.password.
...
service-check.xml
Konfiguration af de enkelte checks for en service foretages ved tilretning af settings i service-check.xml filen. Nedenfor ses eksempel på konfiguration af Svareksponeringsservice XDS Adapteres service check, der omfatter:
...
| Code Block |
|---|
<service name="sxa-documentmetadataprovider">
<assertions resultCode="200">
<mBeanCheck>
<ObjectName>jboss.as:deployment=sxa-documentmetadataprovider.war,subsystem=undertow,servlet=MetadataProviderWS</ObjectName>
</mBeanCheck>
</assertions>
<assertions resultCode="404">
<mBeanCheck>
<ObjectName>jboss.as:deployment=sxa-documentmetadataprovider.war,subsystem=undertow,servlet=MetadataProviderWS</ObjectName>
<isRegistered>false</isRegistered>
</mBeanCheck>
</assertions>
</service>
<service name="sxa-documentprovider">
<assertions resultCode="200">
<mBeanCheck>
<ObjectName>jboss.as:deployment=sxa-documentprovider.war,subsystem=undertow,servlet=DocumentProviderWS</ObjectName>
</mBeanCheck>
</assertions>
<assertions resultCode="404">
<mBeanCheck>
<ObjectName>jboss.as:deployment=sxa-documentprovider.war,subsystem=undertow,servlet=DocumentProviderWS</ObjectName>
<isRegistered>false</isRegistered>
</mBeanCheck>
</assertions>
</service> |
...
Test af Service-check konfiguration
Efter konfiguration og deploy af ServiceCheck servicen, kan Svareksponeringsservice XDS Adaptere servicecheck testes med følgende kommandoer:
...
- 200 ved normal situation.
- 404 hvis servicen ikke er deployed
- 405 ved fejlkonfiguration af url til check af service-check funktionen (for at lette fejlsøgning)
- 500 ved anden intern fejl ved forespørgsel i WildFly på den overvågede service
...
HTTP Versionsnummer-information på Svareksponeringsservice XDS-adaptere
Der kan hentes versionsnummer fra kørende Svareksponeringsservice XDS adaptere som givet i nedenstående tabel.
...
Tabel 1 Versionsnummer for kørende service
Versionsnummeret hentes fra Mavens pom.properties indlejret i jar-filen for fællesartefaktet sxa-provider-common.
...
...
Test af versionsnummer
Efter konfiguration og deploy af Svareksponeringsservice XDS-adaptere kan versionsnummeret for fx Svareksponeringsservice XDS Registry Adapter hentes med:
...
Tilsvarende hentes versionsnummeret for Svareksponeringsservice XDS Repository Adapter blot ved at anvende det andet endpoint i tabellen.
...
Svareksponeringsservice XDS-adaptere overvåges af service-check overvågningsside, hvis url kan aflæses i afsnit 2.Anchor
...
Overvågning
Svareksponeringsservice XDS-adaptere overvåges af service-check overvågningsside, hvis url kan aflæses i afsnit 2.
...
Placering af HTML overvågningsside
Under listen af komponenter først i dette dokument, er der henvisninger til overvågningssiderne.
...
Fortolkning af HTML overvågningsside
Alle overvågningssider returnerer enten status 200, hvis de i øjeblikket kører fint, status 404, hvis service ikke er deployed og status 500, hvis der er opstået en fejl, og komponenten derfor ikke virker korrekt.
...
, og komponenten derfor ikke virker korrekt.
Overvågningstype
Simpel WEB side der anvender JMX til at indhente oplysninger om Web services deployed på serveren. Som udgangspunkt overvåges følgende:
...
Det muligt at udvide overvågning med yderligere checks ved at tilføje nye objekter i service-check.xml, se eksempler i afsnit 4.3.2.
...
...
Logfiler og fortolkning af disse
Alle logfiler er at finde i log/ under WildFly. Herunder findes en liste over alle logfiler med en beskrivelse af hvilke komponenter der skriver til dem.
...
For alle webservices er der en tilhørende SLA-log, der sørger for at logge udvalgte elementer fra requests til webservicen.
Performance logs forekommer kun ved aktivering af performanceloggeren i komponenternes log4j konfiguration.
...
...
Standard fejlsøgning
Fejlsøgning kan ske ved at undersøge de logfiler, der er beskrevet i forudgående afsnit.
...
Krav til backup m.m.
Det anbefales, at aktuelle konfigurationsfiler til Svareksponeringsservice XDS-adaptere holdes under versionskontrol og back-up.