Versions Compared

Key

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

...

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.inbound.header.name = _
sxa.labservice.logrecord.outbound.header.name = _

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

...

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.credentiallogrecord.inbound.header.nameNavn på httpindkommende HTTP-header, der som 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øglerLogRecord-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.credentiallogrecord.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.

...

Eksempel på header:


Code Block
<LogRecord <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<LogRecord xmlns="healthcare.loginfo/2017-03-01">
    <TraceInfo>
        <RequestTime>2020-0210-07T09:12:42<23T14:15:54.138+02:00</RequestTime>
        <SessionId>XTaRrb9Bs9w4q0KT8wRK<<SessionId>00000000-0000-0000-0000-000000000000</SessionId>
        <RequestId />
    <RequestId>11111111-1111-1111-1111-111111111111</RequestId>
    <Route>
            <ViaSystem id="1">Sundhed.dk<>Dokumentdelingsservice</ViaSystem>
        </Route>
    </TraceInfo>
    <RequestingClient>
        <ClientIdentification ClientIdentificationType="SKS">1516021<CPR nummer">098765-4321</ClientIdentification>
        <ClinicName>Herlev og Gentofte Hospital, Radiologisk afd. X, Gentofte</ClinicName><ClinicName/>
        <ClinicDepartment />
        <UserCprNumber>230333-3773<<UserCprNumber>098765-4321</UserCprNumber>
    <UserName/>
    <UserName>Thomas Larsen<<UserInitials/UserName>>
    <LookUpType>Borger</LookUpType>
    <TaskType>Opslag <UserInitials>TL<Dokumentdelingsservice</UserInitials>TaskType>
  </RequestingClient>
  <Patient>
    <BehalfOfCprNumber /><CprNumber>121212-1212</CprNumber>
        <LookUpType>Kliniker</LookUpType><Name/>
        <TaskType>Opslag til sundhed.dk - laboratoriesvar</TaskType></Patient>
    </RequestingClient><Consent>
    <Patient><Code>1</Code>
        <CprNumber>251248-4916</CprNumber><Text/>
        <Name>Nancy Ann Berggren</Name>
  <PrivacyOverrideCode>0</PrivacyOverrideCode>
  </Patient>Consent>
  <ExtendedRequestInfo  <Consent>
        <Code>3</Code>
        <Text>Bare fordi</Text>
        <PrivacyOverrideCode>0</PrivacyOverrideCode>
    </Consent>
    <ExtendedRequestInfo Format="Querystring"><![CDATA[DateFrom=2019-11-07?DateTo=2020-02-07]]><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.
RequestId
 MessageID: <messageID>, RequestId: <requestId>


Eksempel:

LogRecord generated. MessageID: AAABeBX9pFBxz1Ul3Nwf/lNPU0k=, RequestId: 863faf0f-dc2a-4c48-b4ec-897ec90a9890
MessageID fra Medcom-headeren.


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.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
RequestingClient.LookUpTypeBestemmes ud fra Hsuid-headerens UserType-attribut.
  • Hvis UserType-attributten er 'nsi:CitizenHealthcareProfessional', så tjekkes om borgeren slår op på egne data (ved at tjekke om ResponsibleUserCivilRegistrationNumberom ResponsibleUserAuthorizationCode-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.TaskTypePatient.CprNumberPatient.NameConsent.CodeConsent.TextConsent.PrivacyOverrideCode
  • '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.
ExtendedRequestInfoExtendedRequestInfoTekstuel repræsentation af request body'en


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

...