Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootFSK Registry Adapter
includeroottrue


Table of Contents

Introduktion

Formål

Dette dokument er rettet mod systemadministratorer og driftspersoner, som skal kunne håndtere driftsmæssige aspekter af FSK Registry Adapter.

...

Specielle krav til backup er beskrevet i afsnit 7, ligesom procedure ved reetablering af komponenten 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.

Dokumenthistorik

Dette dokument er oprettet i forbindelse med den initielle udviklings af komponenten.

Definitioner og referencer

Definition

Beskrivelse

DDSDokumentdelingsservice
NSINational Sundheds-IT
NSPDen nationale service platform (inden for sundheds-IT)

STS

Security Token Service

XDS

Cross-Enterprise Document Sharing

Komponenten

FSK Registry Adapter komponenten kan beskrives som følger:

  • FSK Registry Adapter

  • Type: Webservice

  • Filnavn: fskregistry.war

  • Url: <serverurl>/fskregistry

  • Helbredsurl: <serverurl>/fskregistry/health

Daglig drift

Dette afsnit beskriver den daglige drift af systemet.

Database

FSK Registry Adapter anvender en database til persistering og afhentning af metadata. Denne database ejes imidlertid af en anden komponten: FSK Repository. Det er FSK Repository komponentens ansvar at beskrive backupprocedurer for databasen.

Relaterede services

FSK Registry Adapter afhænger af:

...

Ved fejl i forbindelse til denne denne vil FSK Registry Adapter returnere svar til anvendere, hvoraf det fremgår, at der er fejl.

Konfiguration

Opsætningen for FSK Registry Adapter sker i propertyfilen fskreg.properties.

Denne indlæses fra WildFly modulet:

Hvis FSK registry startes vha. docker-compose, så bliver konfigurationsfilerne automatisk flyttet til de foldere, som er angivet docker-compose opskriften.

...

Den primære folder, hvor flest konfigurationsfiler, som skal bruges af FSK registry er:


/pack/wildfly8/modules/sds/fskregistry/configuration/main/

Desuden bruges følgende til deploy af datasource konfigurationer:
/pack/wildfly8/standalone/deployments/

Og til konfiguration af AccessHandler bruges:
/pack/wildfly8/modules/system/layers/base/dk/sds/nsp/accesshandler/main/

Konfiguration af FSK Resgitry

Opsætningen for FSK Registry Adapter sker i propertyfilen fskreg.properties.

Et eksempel på sådan konfiguration er:

Code Block
cprexists.validationlevel=WARNING
cprexists.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-cprexists

documentEntry.title=Fælles stamkort

documentEntry.mimeType=text/xml
documentEntry.languageCode=da-DK

documentEntry.patient.assigningAuthority.root=1.2.208.176.1.2
documentEntry.organisation.assigningAuthority.root=1.2.208.176.1.1

documentEntry.homeCommunityId=1.2.208.176.8.1.12
documentEntry.repositoryUniqueId=1.2.208.176.43210.8.10.12

documentEntry.healthcareFacilityTypeCode.code=554041000005106
documentEntry.healthcareFacilityTypeCode.schemeName=2.16.840.1.113883.6.96
documentEntry.healthcareFacilityTypeCode.name=sundhedsforvaltning

documentEntry.classCode.code=001
documentEntry.classCode.schemeName=1.2.208.184.100.9
documentEntry.classCode.name=Klinisk rapport

documentEntry.formatCode.code=DK FSK Schema
documentEntry.formatCode.schemeName=urn:ad:dk:medcom:fsk:full
documentEntry.formatCode.name=DK FSK Schema

documentEntry.typeCode.code=52460-3
documentEntry.typeCodeauthor.organisation.id=1126211000016009
documentEntry.author.organisation.name=Fælles Stamkort udstedelse

documentEntry.practiceSettingCode.code=408443003
documentEntry.practiceSettingCode.schemeName=2.16.840.1.113883.6.96
documentEntry.practiceSettingCode.name=almen medicin

documentEntry.confidentialityCode.code=N
documentEntry.confidentialityCode.schemeName=2.16.840.1.113883.65.125
documentEntry.typeCodeconfidentialityCode.name=Patient Information

documentEntry.author.organisation.id=634491000016008
documentEntry.author.organisation.name=Sundhedsdatastyrelsen

documentEntry.practiceSettingCode.code=408443003
documentEntry.practiceSettingCode.schemeName=2.16.840.1.113883.6.96
documentEntry.practiceSettingCode.name=almen medicin

documentEntry.confidentialityCode.code=N
documentEntry.confidentialityCode.schemeName=2.16.840.1.113883.5.25
documentEntry.confidentialityCode.name=normalnormal

# formatCodeCode og typeCode par i tabel. Hver par har eget løbenummer
documentEntry.metadata.metadataEntry[0].formatCodeCode=urn:ad:dk:medcom:pdc-v2.0:full
documentEntry.metadata.metadataEntry[0].formatCodeScheme=1.2.208.184.100.10
documentEntry.metadata.metadataEntry[0].formatCodeName=DK PDC schema
documentEntry.metadata.metadataEntry[0].typeCodeCode=PDC
documentEntry.metadata.metadataEntry[0].typeCodeScheme=1.2.208.184.100.1
documentEntry.metadata.metadataEntry[0].typeCodeName=Stamkort

documentEntry.metadata.metadataEntry[1].formatCodeCode=urn:ad:dk:medcom:pdc-v3.0:full
documentEntry.metadata.metadataEntry[1].formatCodeScheme=1.2.208.184.100.10
documentEntry.metadata.metadataEntry[1].formatCodeName=DK PDC schema
documentEntry.metadata.metadataEntry[1].typeCodeCode=PDC
documentEntry.metadata.metadataEntry[1].typeCodeScheme=1.2.208.184.100.1
documentEntry.metadata.metadataEntry[1].typeCodeName=Stamkort


Properties beskrives ifølge tabel: 

.formatCodecode, schemaName, name
PropertyBeskrivelse
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

documentEntry.metadata.metadataEntry[*].formatCodeCode, formatCodeSchemeName, formatCodeName


CDA dokumentets format code (code, scheme og name), som returneret i metadata ved ITI-18 søgning

Der returneres et dokument for hver formatCode og TypeCode, der er konfigureret sammen

("*" er et løbenummer startende med 0, se ovenstående eksempel)

documentEntry.metadata.metadataEntry[*].typeCodeCode, typeCodeSchemeName, typeCodeName


CDA dokumentets type code (code, scheme og name), som returneret i metadata ved ITI-18 søgning

Der returneres et dokument for hver formatCode og TypeCode, der er konfigureret sammen

("*" er et løbenummer startende med 0, se ovenstående eksempel)

documentEntry.title
CDA dokumentets titel, som returneret i metadata ved ITI-18 søgning
documentEntry.mimeType
CDA dokumentets mimetype, som returneret i metadata ved ITI-18 søgning
documentEntry.languageCode
CDA dokumentets mimetype, som returneret i metadata ved ITI-18 søgning
documentEntry.patient.assigningAuthority.root
CDA dokumentets patient identifier assigning authority OID, som returneret i metadata ved ITI-18 søgning
documentEntry.organisation.assigningAuthority.root
CDA dokumentets organisations identifier assigning authority OID, som returneret i metadata ved ITI-18 søgning
documentEntry.homeCommunityId
CDA dokumentets homecommunityid, som returneret i metadata ved ITI-18 søgning
documentEntry.repositoryUniqueId
CDA dokumentets repositoryid, som returneret i metadata ved ITI-18 søgning
documentEntry.healthcareFacilityTypeCode.code, schemaName, name
CDA dokumentets healthcarefacility code (code, schema og navn), som returneret i metadata ved ITI-18 søgning
documentEntry
.
CDA dokumentets format code (code, schema og navn), som returneret i metadata ved ITI-18 søgning
documentEntry.author.organisation.id
CDA dokumentets author instituion id som returneret i metadata ved ITI-18 søgning
documentEntry.author.organisation.idname
CDA dokumentets author instituion navn som returneret i metadata ved ITI-18 søgning

...

Der filtreres på healthcarefacility, formatCodes og formatCodes typeCodes modsvarer lignende navne i søge-parametre efter følgende opskrift:

...

Tilsvarende logik er gældende de øvrige koder i filteret.

Konfiguration af log4j

Log4j konfiguration findes i følgende fil:

  • log4j.properties

Denne indlæses fra WildFly modulet:

...

Eksempel på konfiguration:

Code Block
log4j.rootCategory=INFO, FILE
log4j.logger.dk.sds=DEBUG

log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=${jboss.server.log.dir}/fsk-registry.log
log4j.appender.FILE.Append=true
log4j.appender.FILE.MaxFileSize=100MB${dk.nsp.log.MaxFileSize}
log4j.appender.FILE.MaxBackupIndex=10${dk.nsp.log.MaxBackupIndex}
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d [%-2p] %c - %m%n

Udpegning af SLA-log konfiguration

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

  • log4j-nspslalog-fskreg.properties

Denne indlæses fra WildFly modulet:

...

Per default udpeges konfigurationsfilen beskrevet i næste afsnit.

Konfiguration af SLA-log

Per default indlæses konfigurationen af FSK Registry SLA-logning fra følgende fil:

  • nspslalog-fskreg.properties

Denne indlæses fra WildFly modulet:

Auditlog

Hvis CPR validering kører i WARNING mode, så vil ugyldige (ifølge CPRExits service) CPR numre give anledning til en linje i auditloggen. Logninger af denne type ser således ud:

Code Block
{"time":"2021-08-09T12:34:34.387Z","category":"dk.sds.nsp.audit.log.fskregistry","audit":{"timestamp":"2021-08-09T14:34:34.325+02:00","components":[{"component":"FskRegistry","contexts":[{"context":"iti-18","information":[{"key":"dk.nsp.cpr.exists.false","type":"SPI","value":"9932000000"},{"key":"dk.nsp.cpr.exists.false","type":"SPI","value":"9932000000"}]}]}]},"access":{"code":200,"duration":57,"httpHeaders":{"Content-Type":"application/soap+xml; charset=UTF-8"},"httpHost":"localhost","method":"POST","path":"/fskregistry/iti18","query":"","port":8060,"protocol":"http","reqSize":1569,"resSize":10307,"soapHeaders":{"w3Action":"urn:ihe:iti:2007:RegistryStoredQuery","w3MessageID":"urn:uuid:6b459c84-ddc1-43d2-84e4-e7e427fa9b7a","w3To":"http://localhost:8060/fskregistry/iti18"},"threadId":"default task-6","time":"2021-08-09T14:34:34.325+02:00","stats":{"handlerDuration":3,"RequestContentDuration":1,"ResponseContentDuration":0,"SecurityProtocolRequestDuration":0,"SecurityProtocolResponseDuration":0,"bufferAllocated":false,"usedBuffers":1,"activeBuffersInPool":1,"idleBuffersInPool":1}}}

Code Block
/pack/wildfly8/modules/sds/fskregistry/configuration/


HTTP Status- og versionscheck på FSK Registry Adapter

HTTP Statuscheck er i FSK Registry Adapter lagt sammen med HTTP Versionsnummerinformation Versionsnummerinformation. 

Ved HTTP Statuscheck oplyses også status på forbindelsen til databasen. 

Efter konfiguration og deploy opstart af FSK Registry Adapter kan versionsnummer hentes med (Eksempel er ved opstart vha. docker-compose fra development):

Code Block
curl localhost:90908060/fskregistry/health

hvilket giver output i stil med:

Code Block
Version{ version: "1.2.6-SNAPSHOT", Database: "OK", CprExistsServiceClient : "0.0 fejl"}

Kaldet til HealthServlet giver en statuskode 200 tilbage, hvis både databasen og forbindelsen til CprExistsService er sund.

Hvis forbindelsen til databasen er i stykker, så vil HealthServlet returnere kode 500.

Hvis kaldene (de sidste 50) til CprExists er fejlede, så vil HealthServlet returnere kode 204.

Overvågning

FSK Registry overvåges af Status og versionstjek URL.

Standard fejlsøgning

Fejlsøgning kan ske ved at undersøge de logfiler, der er beskrevet i forudgående afsnit.

Krav til backup

Det anbefales, at aktuelle konfigurationsfiler til FSK Registry holdes under versionskontrol og back-up.

...