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æseren forventes at have kendskab til National Sundheds-IT’s platform NSP, samt generelt kendskab til WildFly applikationsserver samt Ubuntu Linux operativ system.
Dette dokument er oprettet i forbindelse med den initielle udviklings af komponenten.
Definition | Beskrivelse |
|---|---|
| DDS | Dokumentdelingsservice |
| NSI | National Sundheds-IT |
| NSP | Den nationale service platform (inden for sundheds-IT) |
STS | Security Token Service |
XDS | Cross-Enterprise Document Sharing |
FSK Registry Adapter komponenten kan beskrives som følger:
FSK Registry Adapter
Type: Webservice
Filnavn: fskregistry.war
Url: <serverurl>/fskregistry
Helbredsurl: <serverurl>/fskregistry/health
Dette afsnit beskriver den daglige drift af systemet.
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.
FSK Registry Adapter afhænger af:
FSK Repository komponentens database
Ved fejl i forbindelse til denne denne vil FSK Registry Adapter returnere svar til anvendere, hvoraf det fremgår, at der er fejl.
Opsætningen for kalderen af bookplan servicen konfigueres i AODocumentProvider.properties.
Denne indlæses fra WildFly modulet:
/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>/ |
Et eksempel på sådan konfiguration er:
ao.appointmentservice.request.timeout.seconds=120 ao.appointmentservice.request.username=username ao.appointmentservice.request.password=password ao.appointmentservice.connection.poolsize=10 ao.appointmentservice.endpoint=http://localhost:9090/appointmentsstub/search/appointments/V1 ao.document.assigning.authority.name=Region Nordjylland Aftaleoversigt ao.document.root.id=1.2.208.176.99.179.99.98.1.1 |
Properties beskrives ifølge tabel.
| Property | Beskrivelse |
|---|---|
ao.appointmentservice.request.timeout.seconds | Antal sekunder for hvor lang tid et request mod Bookplan servicen maximalt må tage før forsøget meldes som mislykket. |
ao.appointmentservice.request.username | Brugernavnet der anvendes ved kald til Bookplan |
ao.appointmentservice.request.password | Kodeordet der anvendes ved kald til Bookplan |
ao.appointmentservice.connection.poolsize | Maksimalt antal samtidige kald mod Bookplan servicen. |
ao.appointmentservice.endpoint | Url’en til Bookplan servicen |
| ao.document.assigning.authority.name | Navnet på oprindelssted for Bookplan data. |
OID for oprindelssted af Bookplan data |
Aftaleoversigt XDS Registry bruger en CDA skabelon til at transformere Bookplan svaret til en række af CDA dokumenter.
Der er i skabelonen indsat placeholdere for genererede værdier. Disse starter og slutter med tegnet ’¤’, som f.eks. ”¤AUTHOR_ADDRESS_STREET¤”. Placeholdere må ikke ændres.
Skabelonen indlæses fra:
/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>/cda_document_template.xml |
Dokument-metadata anvendt af Aftaleoversigt XDS Registry Adapter, når der laves opslag på en patient, er defineret i følgende fil:
aometadataconfiguration.xml
Denne indlæses fra WildFly modulet:
/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>/ |
Et eksempel på indhold i aometadataconfiguration.xml:
<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:appointmentsummary:full</code> <codeSystem>2.16.840.1.113883.3.4208.100.10</codeSystem> <description>DK Appointment Summary Document schema</description> </formatCode> <languageCode>da-DK</languageCode> <mimeType>text/xml</mimeType> <practiceSettingCode class="codedValue"> <code>Unknown</code> <codeSystem>2.16.840.1.113883.11.10612</codeSystem> <description>Unknown</description> </practiceSettingCode> <typeCode class="codedValue"> <code>39289-4</code> <codeSystem>2.16.840.1.113883.6.1</codeSystem> <description>Dato og tidspunkt for møde mellem patient og sundhedsperson</description> </typeCode> <homeCommunityId>1.2.208.176.99.179.99.98</homeCommunityId> <repositoryUniqueId>1.2.208.176.99.179.99.98.1</repositoryUniqueId> <uniqueIdRoot>1.2.208.176.99.179.99.98.1.1</uniqueIdRoot> <healthcareFacilityTypeCode class="codedValue"> <code>22232009</code> <codeSystem>1.2.208.176.1.1.2</codeSystem> <description>hospital</description> </healthcareFacilityTypeCode> <authorInstitution class="dk.nsi.documentsharing.core.metadata.model.OrganisationImpl"> <name>Region Nordjylland</name> <id class="valueWithAssigningAuthority"> <value>6071000016008</value> <assigningAuthority>1.2.208.176.1.1</assigningAuthority> </id> <address class="dk.nsi.documentsharing.core.metadata.model.AddressImpl"> <street>Niels Bohrs Vej 20</street> <postalCode>9220</postalCode> <city>Aalborg Øst</city> </address> <telecom class="dk.nsi.documentsharing.core.metadata.model.TelecomImpl"> <telecom>97 64 80 00</telecom> </telecom> </authorInstitution> </metadata> |
Ved opslag på en patient kan der anføres en række søge-parametre. Aftaleoversigt XDS Registry Adapter har logik, der er afhængig af konkrete søge-parametre og konfigureret filter (beskrevet her), fastlægger om den bagvedliggende bookplan service skal kaldes.
Filteret konfigureres i følgende fil:
aofilterconfiguration.xml
Denne indlæses fra WildFly modulet:
/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>/ |
I konfiguration specificeres 0, 1 eller flere kode-sæt i hhv. classCodes, typeCodes, eventCodes, confidentialityCodes og formatCodes.
<filter> <classCodes> </classCodes> <typeCodes> </typeCodes> <eventCodes> </eventCodes> <confidentialityCodes> </confidentialityCodes> <formatCodes> </formatCodes> </filter> |
Hver kode-sæt, består af:
<codedValue> <code>kode-værdi</code> <codeSystem>kode-system</codeSystem> <description>menneskelæselig beskrivelse af kodeværdi</description> </codedValue> |
Filterets classCodes, typeCodes, eventCodes, confidentialityCodes og formatCodes modsvarer lignende navne i søge-parametre, der kan være anført ved kald af Aftaleoversigt XDS Registry Adapter opslag. Er et kodesæt anført i søge-parametre for fx eventCodes, da bevirker filteret et tomt svar, når:
Filterets eventCodes ikke er tomt, og
Ingen af evt. flere eventCodes fra søge-parametre findes i filterets eventCodes-liste
Tilsvarende logik er gældende de øvrige koder i filteret.
Følgende er et eksempel på konfiguration af filteret:
<filter> <classCodes/> <typeCodes> <codedValue> <code>39289-4</code> <codeSystem>2.16.840.1.113883.6.1</codeSystem> <description>Dato og tidspunkt for møde mellem patient og sundhedsperson</description> </codedValue> </typeCodes> <eventCodes/> <confidentialityCodes> <codedValue> <code>N</code> <codeSystem>2.16.840.1.113883.5.25</codeSystem> <description>Normal</description> </codedValue> </confidentialityCodes> </filter> |
Følgende fil, der findes under roden i war-filen ao-documentmetadataprovider-<profil-navn>.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-ao-documentmetadataprovider-ws.xml
Denne indlæses fra WildFly modulet:
/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/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-documentmetadataprovider-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-documentmetadataprovider-ws-performance.log i WildFly’ log-folder.
Se yderligere opsætning i installationsvejledningen.
Følgende fil udpeger hvilken fil, der indeholder konfigurationen af SLA-logning:
nspslalog-ao-documentmetadataprovider.properties
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.
Per default indlæses konfigurationen af Aftaleoversigt XDS Registry Adapters SLA-logning fra følgende fil:
log4j-nspslalog-ao-documentmetadataprovider.properties
Denne indlæses fra WildFly modulet:
/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>/ |
XDS Repository Adapter konfigureres i følgende fil:
aoproviderconfiguration.xmll
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> |
Følgende fil, der findes under roden i war-filen ao-documentprovider-<profil-navn>.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-ao-documentprovider-ws.xml
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.
Følgende fil udpeger hvilken fil, der indeholder konfigurationen af SLA-logning:
nspslalog-ao-documentprovider.properties
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.
Per default indlæses konfigurationen af Aftaleoversigt XDS Repository Adapters SLA-logning fra følgende fil:
log4j-nspslalog-ao-documentprovider.properties
Denne indlæses fra WildFly modulet:
/pack/wildfly8/modules/nsi/ddsprojects/ao/documentprovider/config/<profil-navn>/ |
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.
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 |
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.
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:
Check i WildFly at servicen er registreret og aktiv
<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> |
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:
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
Der kan hentes versionsnummer fra kørende Aftaleoversigt XDS adaptere som givet i nedenstående tabel.
| Komponent i Aftaleoversigt XDS-adaptere | Endpoint for versionsnummer-information |
|---|---|
| Aftaleoversigt XDS Registry Adapter | http://<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.
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.
Aftaleoversigt XDS-adaptere overvåges af service-check overvågningsside, hvis url kan aflæses i afsnit 2.
Under listen af komponenter først i dette dokument, er der henvisninger til overvågningssiderne.
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.
Simpel WEB side der anvender JMX til at indhente oplysninger om Web services deployed på serveren. Som udgangspunkt overvåges følgende:
Verificer service er registreret og aktiveret i WildFly
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.
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.
| Logfilnavn | Komponenter der skriver til denne |
|---|---|
ao-<profil-navn>-documentmetadataprovider-ws.log | Aftaleoversigt XDS Registry Adapter |
| nsputil-sla-ao-<profil-navn>-documentmetadataprovider.log | Aftaleoversigt XDS Registry Adapter |
| ao-<profil-navn>-documentmetadataprovider-ws-performance.log | Aftaleoversigt XDS Registry Adapter |
| ao-<profil-navn>-documentprovider-ws.log | Aftaleoversigt XDS Repository Adapter |
| nsputil-sla-ao-<profil-navn>-documentprovider.log | Aftaleoversigt XDS Repository Adapter |
| ao-<profil-navn>-documentprovider-ws-performance.log | Aftaleoversigt XDS Repository Adapter |
| service-check.log | service-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 service | LogPoint |
|---|---|
| ao-documentmetadataprovider-<profil-navn> | DocumentRegistry_RegistryStoredQuery |
| ao-documentprovider-<profil-navn> | DocumentRepository_RetrieveDocumentSet |
For udgående kald logges ved følgende logpunkter:
| Kaldte service | LogPoint | TargetSOAPOperation |
|---|---|---|
ao-documentprovider-<profil-navn> | DocumentRepository_RetrieveDocumentSet.AppointmentInvoker.invokeAppointment | search/appointments |
Performance logs forekommer kun ved aktivering af performanceloggeren i komponenternes log4j konfiguration.
Fejlsøgning kan ske ved at undersøge de logfiler, der er beskrevet i forudgående afsnit.
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")