Introduktion

Formål

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

Driftsvejledningen indeholder information om komponenten 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 komponenten beskrevet dens forventede placering med hensyn til platform.

Afsnit 4 beskriver aktuelle konfigurationsparametre for komponenten samt eksempler på konfigurationsparameter-filer.

I afsnit 5 beskrives hvorledes FSK Registry Adapter 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 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:

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:

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

Et eksempel på sådan konfiguration er:

documentEntry.title=TestTitle

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.3.7.8
documentEntry.repositoryUniqueId=3.4.6.7

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

documentEntry.healthcareFacilityTypeCode.code=22232009
documentEntry.healthcareFacilityTypeCode.schemeName=2.16.840.1.113883.6.96
documentEntry.healthcareFacilityTypeCode.name=hospital

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

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

documentEntry.formatCode.code=urn:ad:dk:medcom:appointmentsummary:full
documentEntry.formatCode.schemeName=1.2.208.184.100.10
documentEntry.formatCode.name=DK Appointment Summary Document schema

documentEntry.eventCode.code=39289-4
documentEntry.eventCode.schemeName=2.16.840.1.113883.6.1
documentEntry.eventCode.name=Dato og tidspunkt for møde mellem patient og sundhedsperson

documentEntry.typeCode.code=39289-4
documentEntry.typeCode.schemeName=2.16.840.1.113883.6.1
documentEntry.typeCode.name=Dato og tidspunkt for møde mellem patient og sundhedsperson

documentEntry.author.organisation.id=291000016008
documentEntry.author.organisation.name=Region Test

#documentEntry.patient.assigningAuthority.name=CPR


Properties beskrives ifølge tabel: 

PropertyBeskrivelse
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.confidentialityCode.code, schemaName, name
CDA dokumentets confidentiality code (code, schema og navn), 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.practiceSettingCode.code, schemaName, name
CDA dokumentets practiceSetting code (code, schema og navn), som returneret i metadata ved ITI-18 søgning
documentEntry.classCode.code, schemaName, name
CDA dokumentets classCode code (code, schema og navn), som returneret i metadata ved ITI-18 søgning
documentEntry.formatCode.code, schemaName, name
CDA dokumentets format code (code, schema og navn), som returneret i metadata ved ITI-18 søgning
documentEntry.eventCode.code, schemaName, name
CDA dokumentets eventcode code (code, schema og navn), som returneret i metadata ved ITI-18 søgning
documentEntry.typeCode.code, schemaName, name
CDA dokumentets typecode 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.id
CDA dokumentets author instituion navn som returneret i metadata ved ITI-18 søgning

Som det fremgår af navnene ovenfor anvendes disse properties til at udfylde DocumentEntries ved søgninger mod FSK Registry. DocumentEntry metadata værdierne bør koordineres og opsættes, så de passer med CDA værdierne, der returneres i dokumenterne fra FSK Repository.

Derudover anvendes parametrene til at afgøre, om FSK Registry skal returnere data ved forspørgsler eller ej. 

Hvis der f.eks. medsendes et søgeparameter i søgningen (ITI-18) på eventCode, så skal søgeværdien matche med værdien documentEntry.eventCode.code for, at der returneres en DocumentEntry for den pågældende borger.

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

  1. Filterets eventCodes ikke er tomt, og

  2. Ingen af evt. flere eventCodes fra søge-parametre findes i filterets eventCodes-liste

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

Konfiguration af log4j

Log4j konfiguration findes i følgende fil:

Denne indlæses fra WildFly modulet:

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

Eksempel på konfiguration:

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
log4j.appender.FILE.MaxBackupIndex=10
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:

Denne indlæses fra WildFly modulet:

/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>/

Per default udpeges konfigurationsfilen beskrevet i næste afsnit.

Konfiguration af SLA-log

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

Denne indlæses fra WildFly modulet:

/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>/

Konfiguration af Aftaleoversigt XDS Repository Adapter

Konfiguration af dokumentprovider

XDS Repository Adapter konfigureres i følgende fil:

Denne indlæses fra WildFly modulet:

/pack/wildfly8/modules/nsi/ddsprojects/ao/documentprovider/config/<profil-navn>/

Et eksempel på indhold i aoproviderconfiguration.xml:

<ProviderConfiguration>
     <homeCommunityId>1.2.3.7.8</homeCommunityId>
     <repositoryUniqueId>1.2.3.4.77.88</repositoryUniqueId>
</ProviderConfiguration>

Udpegning af log4j-konfigurationsfil

Følgende fil, der findes under roden i war-filen ao-documentprovider-<profil-navn>.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:

Denne indlæses fra WildFly modulet:

/pack/wildfly8/modules/nsi/ddsprojects/ao/documentprovider/config/<profil-navn>/

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-ao-documentprovider-ws.xml filen.

Eksempel på konfiguration af performanceloggeren, hvor level værdien er sat til ”OFF”:

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

Som standard skriver performanceloggeren til ao-<profil-navn>-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:

Denne indlæses fra WildFly modulet:

/pack/wildfly8/modules/nsi/ddsprojects/ao/documentprovider/config/<profil-navn>/

Per default udpeges konfigurationsfilen beskrevet i næste afsnit.

Konfiguration af SLA-log

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

Denne indlæses fra WildFly modulet:

/pack/wildfly8/modules/nsi/ddsprojects/ao/documentprovider/config/<profil-navn>/

HTTP Statuscheck på komponenter i Aftaleoversigt XDS-adaptere

Det er muligt at lave servicetjek på Aftaleoversigtsadaptere 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 aftaleoversigtsadaptere.

Følgende underafsnit beskriver 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

jmx.url=service:jmx:rmi://localhost/jndi/rmi://localhost:1090/jmxconnector
jmx.username=nisse
jmx.password=ngyffe
service.config.path=service-check.xml
log4j.path=servicecheck.log4j.properties

Konfiguration af log4j sker ved tilretning af properties i filen servicecheck.log4j.properties:

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:

wildfly\bin\add-user.sh

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 Aftaleoversigt XDS Adapteres service check, der omfatter:

<service name="ao-documentmetadataprovider-<profil-navn>">
    <assertions resultCode="200">
        <mBeanCheck>         
			<ObjectName>jboss.as:deployment=ao-documentmetadataprovider-<profil-navn>.war,subsystem=undertow,servlet=MetadataProviderWS</ObjectName>
        </mBeanCheck>
    </assertions>
    <assertions resultCode="404">
        <mBeanCheck> 	         
			<ObjectName>jboss.as:deployment=ao-documentmetadataprovider-<profil-navn>.war,subsystem=undertow,servlet=MetadataProviderWS</ObjectName>
            <isRegistered>false</isRegistered>
        </mBeanCheck>
    </assertions>
</service>

<service name="ao-documentprovider-<profil-navn>">
    <assertions resultCode="200">
        <mBeanCheck> 	          
			<ObjectName>jboss.as:deployment=ao-documentprovider-<profil-navn>.war,subsystem=undertow,servlet=DocumentProviderWS</ObjectName>
        </mBeanCheck>
    </assertions>
    <assertions resultCode="404">
        <mBeanCheck> 	         
			<ObjectName>jboss.as:deployment=ao-documentprovider-<profil-navn>.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 Aftaleoversigt XDS Adaptere servicecheck testes med følgende kommandoer:

curl –i localhost:9090/service-check/service?servicename=ao-documentmetadataprovider-<profil-navn>
curl –i localhost:9090/service-check/service?servicename=ao-documentprovider-<profil-navn>

Servicen returnerer følgende http koder:

HTTP Versionsnummer-information på Aftaleoversigt XDS-adaptere

Der kan hentes versionsnummer fra kørende Aftaleoversigt XDS adaptere som givet i nedenstående tabel.

Komponent i Aftaleoversigt XDS-adaptereEndpoint for versionsnummer-information
Aftaleoversigt XDS Registry Adapterhttp://<host:port>/ao-documentmetadataprovider-<profil-navn>/version

Aftaleoversigt XDS Repository Adapter

http://<host:port>/ao-documentprovider-<profil-navn>/version

Versionsnummeret hentes fra Mavens pom.properties indlejret i jar-filen for fællesartefaktet ao-provider-common.

Test af versionsnummer

Efter konfiguration og deploy af Aftaleoversigt XDS-adaptere kan versionsnummeret for fx Aftaleoversigt XDS Registry Adapter hentes med:

curl localhost:9090/ao-documentmetadataprovider-<profil-navn>/version

hvilket giver output i stil med:

Version: 1.0.0

Tilsvarende hentes versionsnummeret for Aftaleoversigt XDS Repository Adapter blot ved at anvende det andet endpoint i tabellen.

Overvågning

Aftaleoversigt 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.

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.

LogfilnavnKomponenter der skriver til denne

ao-<profil-navn>-documentmetadataprovider-ws.log

Aftaleoversigt XDS Registry Adapter
nsputil-sla-ao-<profil-navn>-documentmetadataprovider.logAftaleoversigt XDS Registry Adapter
ao-<profil-navn>-documentmetadataprovider-ws-performance.logAftaleoversigt XDS Registry Adapter
ao-<profil-navn>-documentprovider-ws.logAftaleoversigt XDS Repository Adapter
nsputil-sla-ao-<profil-navn>-documentprovider.logAftaleoversigt XDS Repository Adapter
ao-<profil-navn>-documentprovider-ws-performance.logAftaleoversigt XDS Repository Adapter
service-check.logservice-check

For alle webservices er der en tilhørende SLA-log, der sørger for at logge udvalgte elementer fra requests til webservicen.

For Aftaleoversigt XDS-adaptere logges indgående kald, samt udgående kald til Svareksponeringsservicen.
For indgående kald logges ved følgende logpunkter:


Kaldte serviceLogPoint
ao-documentmetadataprovider-<profil-navn>DocumentRegistry_RegistryStoredQuery
ao-documentprovider-<profil-navn>

DocumentRepository_RetrieveDocumentSet

For udgående kald logges ved følgende logpunkter:

Kaldte serviceLogPointTargetSOAPOperation

ao-documentprovider-<profil-navn>

DocumentRepository_RetrieveDocumentSet.AppointmentInvoker.invokeAppointment

search/appointments

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

Det anbefales, at aktuelle konfigurationsfiler til Aftaleoversigt XDS-adaptere holdes under versionskontrol og back-up.

Det er ikke nødvendigt at tage backup af databasen, da data heri ikke skal gemmes ("requestscope")