Versions Compared

Key

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

...

Anchor
_Toc44403513
_Toc44403513
Anchor
_Toc277248668
_Toc277248668
Anchor
_Toc327798371
_Toc327798371
Anchor
_Toc292960798
_Toc292960798
Indhold
1 Introduktion
1.1 Formål
1.2 Læsevejledning
1.3 Dokumenthistorik
1.4 Definitioner og referencer
2 Komponenter
3 Daglig drift
3.1 Relaterede services
4 Konfiguration
4.1 Konfiguration af Svareksponeringsservice XDS Registry Adapter
4.1.1 Konfiguration af dokument-metadata
4.1.2 Konfiguration af filter på dokument-metadata-forespørgsel
4.1.3 Konfiguration af mapning til specialer
4.1.4 Udpegning af log4j-konfigurationfil
4.1.5 Konfiguration af log4j
4.1.6 Udpegning af SLA-log konfiguration
4.1.7 Konfiguration af SLA-log
4.2 Konfiguration af Svareksponeringsservice XDS Repository Adapter
4.2.1 Konfiguration af Svareksponeringsservice kalder
4.2.2 Konfiguration af dokumentdelings-id
4.2.3 Konfiguration af mapning til specialer
4.2.4 Udpegning af log4j-konfigurationfil
4.2.5 Konfiguration af log4j
4.2.6 Udpegning af SLA-log konfiguration
4.2.7 Konfiguration af SLA-log

4.2.8 SES auditlogning
4.3 HTTP Statuscheck på komponenter i Svareksponeringsservice XDS-adaptere
4.3.1 ServiceCheck.properties
4.3.2 JMX-Console sikkerhedsopsætning
4.3.3 service-check.xml
4.3.4 Test af Service-check konfiguration
4.4 HTTP Versionsnummer-information på Svareksponeringsservice XDS-adaptere
4.4.1 Test af versionsnummer
5 Overvågning
5.1 Placering af HTML overvågningsside
5.2 Fortolkning af HTML overvågningsside
5.3 Overvågningstype
5.4 Logfiler og fortolkning af disse
6 Standard fejlsøgning
7 Krav til backup m.m.

Anchor
_Toc327543900
_Toc327543900
Anchor
_Toc326088831
_Toc326088831

...

Properties beskrives ifølge tabel.

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.

Anchor
_Ref404947195
_Ref404947195
Anchor
_Toc462261543
_Toc462261543
Konfiguration af dokument-metadata

...

Code Block
sxa.labservice.request.timeout.seconds = 120
sxa.labservice.request.username = username
sxa.labservice.request.password = password
sxa.labservice.endpoint = 
http://localhost:9090/sxa-labreportservicestub/SvarEksponering
sxa.document.unique.root.id = 1.2.3.4.55.66
sxa.labservice.request.samtykkekode = _ 
sxa.labservice.request.samtykketekst = _ 
sxa.labservice.request.slutbruger.identifikation = _ 
sxa.labservice.request.slutbruger.organisation = _ 
sxa.labservice.request.slutbruger.cpr = _ 
sxa.labservice.request.slutbruger.fornavn = _ 
sxa.labservice.request.slutbruger.efternavn = _ 
sxa.labservice.request.slutbruger.stilling = _ 
sxa.labservice.request.slutbruger.email = _ 
sxa.labservice.request.slutbruger.rolle = _ 
sxa.labservice.request.slutbruger.autorisationskode = _

sxa.labservice.servicecheck.failurethreshold = 5

sxa.labservice.headers = _

sxa.labservice.logrecord.credentialinbound.header=X-Labsvar-Credential.name = _
sxa.labservice.credential=00000000-0000.logrecord.outbound.header.name = _

sxa.labservice.credential.header=X-Labsvar-Credential
sxa.labservice.credential=00000000-0000-0000-0000-000000000000


Properties beskrives ifølge tabel.

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.failurethresholdHvor mange gange et kald til Laboratoriedatabanken skal forsøges igen, før det opfattes som fejlet.
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.credentialinbound.header.nameNavn på httpindkommende HTTP-header, der som indeholder servicenøgle fra klientenLogRecord-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.credentialServerens servicenøgle. Bruges ifm. Samblik pilotafprøvning til at begrænse adgang til SXA.

...

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:

  • sxaproviderconfiguration.xml

Denne indlæses fra WildFly modulet:

Code Block
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentprovider/config/main/

...

logrecord.outbound.header.nameNavn på den HTTP-header, som indeholder LogRecord-parameter i kald til Svareksponeringsservicen. Beregningen af headeren er beskrevet i afsnittet 'SES Auditlogning'.
sxa.labservice.credential.headerNavn 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.credentialServerens 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.


Anchor
_Toc462261552
_Toc462261552
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:

  • sxaproviderconfiguration
Code Block
<ProviderConfiguration>
  <homeCommunityId>1.2.3.5.6</homeCommunityId>
  <repositoryUniqueId>1.2.3.4.55.66</repositoryUniqueId>
  <uniqueIdRoot>1.2.3.4.55.66</uniqueIdRoot>
</ProviderConfiguration>

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.

...

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:

  • sxapracticesettingcodes.xml

Denne indlæses fra WildFly modulet:

Code Block
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentprovider/config/main/


I konfiguration specificeres specialer såledesEt eksempel på sådan konfiguration er:

Code Block
<filter><ProviderConfiguration>
  <practiceSettingCodes>
    <mappedCodedValue>
      <code>408454008</code>
      <codeSystem>2.16.840.1.113883.6.96</codeSystem>
      <description>klinisk mikrobiologi</description>
      <mappedValue>Mikrobiologi</mappedValue>
    </mappedCodedValue>
    <mappedCodedValue>
      <code>394596001</code>
      <codeSystem>2.16.840.1.113883.6.96</codeSystem>
      <description>klinisk biokemi</description>
      <mappedValue>KliniskBiokemi</mappedValue>
    </mappedCodedValue>
    <mappedCodedValue>
      <code>394915009</code>
      <codeSystem>2.16.840.1.113883.6.96</codeSystem>
      <description>patologisk anatomi og cytologi</description>
      <mappedValue>Patologi</mappedValue>
    </mappedCodedValue>
  </practiceSettingCodes>
</filter>

Det er vigtigt, at den tilsvarende fil for documentmetadataprovider er konfigureret fuldstændigt identisk.

...

Følgende fil, der findes under roden i war-filen sxa-documentprovider.war, udpeger den fil, der anvendes til konfiguration af log4j:

  • documentsharing.log4j.properties

Bemærk, at denne fil (om nødvendigt) skal tilpasses direkte i war-filen og ikke findes i WildFly modulet.

...

Log4j konfiguration findes i følgende fil:

  • log4j-sxa-documentprovider-ws.xml

Denne indlæses fra WildFly modulet:

Code Block
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentprovider/config/main/

...

Code Block
<logger name="performancelogger" additivity="false">
  <level value="OFF" />
  <appender-ref ref="PerformanceFile" />
</logger>

...

Følgende fil udpeger hvilken fil, der indeholder konfigurationen af SLA-logning:

  • nspslalog-sxa-documentprovider.properties

Denne indlæses fra WildFly modulet:

Code Block
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentprovider/config/main/ 

...

Per default indlæses konfigurationen af Svareksponeringsservice XDS Repository Adapters SLA-logning fra følgende fil:

  • log4j-nspslalog-sxa-documentprovider.properties

Denne indlæses fra WildFly modulet:

...

<homeCommunityId>1.2.3.5.6</homeCommunityId>
  <repositoryUniqueId>1.2.3.4.55.66</repositoryUniqueId>
  <uniqueIdRoot>1.2.3.4.55.66</uniqueIdRoot>
</ProviderConfiguration>

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.

Anchor
_Toc327544081
_Toc327544081
Anchor
_Toc462261553
_Toc462261553
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:

  • sxapracticesettingcodes.xml

Denne indlæses fra WildFly modulet:

Code Block
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentprovider/config/main/


I konfiguration specificeres specialer således:

Code Block
<filter>
  <practiceSettingCodes>
    <mappedCodedValue>
      <code>408454008</code>
      <codeSystem>2.16.840.1.113883.6.96</codeSystem>
      <description>klinisk mikrobiologi</description>
      <mappedValue>Mikrobiologi</mappedValue>
    </mappedCodedValue>
    <mappedCodedValue>
      <code>394596001</code>
      <codeSystem>2.16.840.1.113883.6.96</codeSystem>
      <description>klinisk biokemi</description>
      <mappedValue>KliniskBiokemi</mappedValue>
    </mappedCodedValue>
    <mappedCodedValue>
      <code>394915009</code>
      <codeSystem>2.16.840.1.113883.6.96</codeSystem>
      <description>patologisk anatomi og cytologi</description>
      <mappedValue>Patologi</mappedValue>
    </mappedCodedValue>
  </practiceSettingCodes>
</filter>


Det er vigtigt, at den tilsvarende fil for documentmetadataprovider er konfigureret fuldstændigt identisk.

Anchor
_Toc462261554
_Toc462261554
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:

  • documentsharing.log4j.properties

Bemærk, at denne fil (om nødvendigt) skal tilpasses direkte i war-filen og ikke findes i WildFly modulet.

Anchor
_Toc462261555
_Toc462261555
Konfiguration af log4j

Log4j konfiguration findes i følgende fil:

  • log4j-sxa-documentprovider-ws.xml

Denne indlæses fra WildFly modulet:

Code Block
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentprovider/config/main/


I konfigurationen er det muligt at aktivere performanceloggeren, der udvalgte steder i adapteren, vil skrive tidsvarighed af kald igennem systemet. Performanceloggeren aktiveres ved at ændre level værdien fra "OFF" til "DEBUG". Eftersom konfigurationen kun indlæses ved opstart af servicen, er det nødvendigt at genstarte servicen efter endt redigering af log4j-sxa-documentprovider-ws.xml filen.
Eksempel på konfiguration af performanceloggeren, hvor level værdien er sat til "OFF":

Code Block
<logger name="performancelogger" additivity="false">
  <level value="OFF" />
  <appender-ref ref="PerformanceFile" />
</logger>


Anchor
_Toc327544082
_Toc327544082

Som standard skriver performanceloggeren til sxa-documentprovider-ws-performance.log i WildFly' log-folder.
Se yderligere opsætning i installationsvejledningen.

Anchor
_Toc462261556
_Toc462261556
Udpegning af SLA-log konfiguration

Følgende fil udpeger hvilken fil, der indeholder konfigurationen af SLA-logning:

  • nspslalog-sxa-documentprovider.properties

Denne indlæses fra WildFly modulet:

Code Block
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentprovider/config/main/ 


Per default udpeges konfigurationsfilen beskrevet i næste afsnit.

Anchor
_Toc462261557
_Toc462261557
Konfiguration af SLA-log

Per default indlæses konfigurationen af Svareksponeringsservice XDS Repository Adapters SLA-logning fra følgende fil:

  • log4j-nspslalog-sxa-documentprovider.properties

Denne indlæses fra WildFly modulet:

Code Block
/pack/wildfly8/modules/nsi/ddsprojects/sxa/documentprovider/config/main/

Anchor
_Toc462261558
_Toc462261558
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.

Indholdet af headeren er nærmere beskrevet i

Jira
serverNSI JIRA
serverIde64c3bc3-001c-3439-bc53-f7a235a8cd61
keySDS-3931
og det tilhørende analysedokument. Ved requests til XDS Repository Adapteren bliver der konstrueret en LogRecord-header SXA konstruerer LogRecord-strukturen ud fra følgende informationer i requestet:

  • Hsuid-header. Påkrævet
  • Medcom-header. Påkrævet
  • LogRecord-header. Frivillig.
  • Request body. Påkrævet.

Eksempel på header:


Code Block
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<LogRecord xmlns="healthcare.loginfo/2017-03-01">
  <TraceInfo>
    <RequestTime>2020-10-23T14:15:54.138+02:00</RequestTime>
    <SessionId>00000000-0000-0000-0000-000000000000</SessionId>
    <RequestId>11111111-1111-1111-1111-111111111111</RequestId>
    <Route>
      <ViaSystem id="1">Dokumentdelingsservice</ViaSystem>
    </Route>
  </TraceInfo>
  <RequestingClient>
    <ClientIdentification ClientIdentificationType="CPR nummer">098765-4321</ClientIdentification>
    <ClinicName/>
    <ClinicDepartment/>
    <UserCprNumber>098765-4321</UserCprNumber>
    <UserName/>
    <UserInitials/>
    <LookUpType>Borger</LookUpType>
    <TaskType>Opslag Dokumentdelingsservice</TaskType>
  </RequestingClient>
  <Patient>
    <CprNumber>121212-1212</CprNumber>
    <Name/>
  </Patient>
  <Consent>
    <Code>1</Code>
    <Text/>
    <PrivacyOverrideCode>0</PrivacyOverrideCode>
  </Consent>
  <ExtendedRequestInfo Format="Text">{HomeCommunityId: 1.2.3.5.6, RepositoryUniqueId: 1.2.3.4.55.66, DocumentUniqueId: 1.2.3.4.55.66.12172240491026.20201023121554.20201023121654.0}</ExtendedRequestInfo>
</LogRecord>

I nedenstående tabel beskrives mere præcist, hvordan headeren udfyldes.


Header-elementIndhold
TraceInfo.RequestTimeTidspunktet hvor headeren dannes.
TraceInfo.SessionIdFlowID 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.RouteEn 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.

  • Hvis UserType-attributten er 'nsi:Citizen', så sættes ClientIdentificationType til 'CPR_NUMMER', og værdien sættes til indholdet af ActingUserCivilRegistrationNumber-attributten.
  • Hvis UserType-attributten er 'nsi:HealthcareProfessional', så bestemmes ClientIdentificationType ud fra OrgUsingID-attributtens NameFormat, og værdien sættes til indholdet af OrgUsingID-attributten.
RequestingClient.ClinicNameTom streng.
RequestingClient.ClinicDepartmentTom streng.
RequestingClient.UserCprNumberSættes til indholdet af ActingUserCivilRegistrationNumber-attributten.
RequestingClient.UserNameTom streng.
RequestingClient.UserInitialsTom streng.
RequestingClient.BehalfOfCprNumberSættes til indholdet af ResponsibleUserCivilRegistrationNumber-attributten, hvis denne er udfyldt.
RequestingClient.LookUpType

Bestemmes ud fra Hsuid-headerens UserType-attribut.

  • Hvis UserType-attributten er 'nsi:Citizen', så tjekkes om borgeren slår op på egne data (ved at tjekke om ResponsibleUserCivilRegistrationNumber-attributten er udfyldt). Hvis ja, så sættes LookupType til 'Borger'. Hvis nej, så bestemmes LookupType ud fra CitizenUserRelation-attributten som følger:
    • Citizen → Borger
    • ChildCustodyHolder → Forælder
    • Guardian → Værge
    • ProxyHolder → Fuldmagtshaver
  • Hvis UserType-attributten er 'nsi:HealthcareProfessional', så tjekkes om ResponsibleUserAuthorizationCode-attributten er udfyldt. Hvis ja, så sættes LookupType til 'Kliniker'. Hvis nej, så sættes LookupType til 'Kliniker'. (ikke helt afgjort pt. om det skal være sådan.)


RequestingClient.TaskTypeSættes til 'Opslag Dokumentdelingsservice'.
Patient.CprNumberBeregnes ved at decode DocumentUniqueId'et fra request bodyen.
Patient.NameTom streng
Consent.CodeHvis 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.TextHvis HSUID-attributten ConsentOverride ikke er angivet, eller er angivet til 'false', så tom streng, ellers 'Opslag foretages pga. værdispring'.
Consent.PrivacyOverrideCodePrivacyOverrideCode - Hvis HSUID-attributten ConsentOverride ikke er angivet, eller er angivet til 'false', så 0, ellers 1.
ExtendedRequestInfoTekstuel repræsentation af request body'en


Anchor
_Toc462261558
_Toc462261558
HTTP Statuscheck på komponenter i Svareksponeringsservice XDS-adaptere

...