Page History
...
Definitioner og referencer
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 |
Komponenten
FSK Registry Adapter komponenten kan beskrives som følger:
...
Konfiguration
Opsætningen for kalderen af bookplan servicen konfigueres i AODocumentProviderFSK Registry Adapter sker i propertyfilen fskreg.properties.
Denne indlæses fra WildFly modulet:
| Code Block |
|---|
/pack/wildfly8/modules/nsisds/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>fskregistry/configuration/ |
Et eksempel på sådan konfiguration er:
| Code Block |
|---|
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.iddocumentEntry.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.99.179.99.98.1.1 |
Properties beskrives ifølge tabel.
...
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
...
Navnet på oprindelssted for Bookplan data.
...
...
OID for oprindelssted af Bookplan data
Konfiguration af CDA Skabelon
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:
| Code Block |
|---|
/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>/cda_document_template.xml |
Konfiguration af dokument-metadata
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:
| Code Block |
|---|
/pack/wildfly8/modules/nsi/ddsprojects/ao/documentmetadataprovider/config/<profil-navn>/ |
Et eksempel på indhold i aometadataconfiguration.xml:
| Code Block |
|---|
<metadata> <classCode class="codedValue"> <code>001</code> <codeSystem>21.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.36.42081 documentEntry.100.9</codeSystem> <description>Klinisk rapport</description> </classCode> <confidentialityCode class="codedValue"> <code>N</code> <codeSystem>2eventCode.name=Dato og tidspunkt for møde mellem patient og sundhedsperson documentEntry.typeCode.code=39289-4 documentEntry.typeCode.schemeName=2.16.840.1.113883.56.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> |
Konfiguration af filter på dokument-metadata-forespørgsel
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:
| Code Block |
|---|
/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.
| Code Block |
|---|
<filter>
<classCodes>
</classCodes>
<typeCodes>
</typeCodes>
<eventCodes>
</eventCodes>
<confidentialityCodes>
</confidentialityCodes>
<formatCodes>
</formatCodes>
</filter> |
Hver kode-sæt, består af:
| Code Block |
|---|
<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:
| Code Block |
|---|
<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> |
Udpegning af log4j-konfiguration
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.
Konfiguration af log4j
Log4j konfiguration findes i følgende fil:
log4j-ao-documentmetadataprovider-ws.xml
Denne indlæses fra WildFly modulet:
| Code Block |
|---|
/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”:
| Code Block |
|---|
<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.
...
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:
| Property | Beskrivelse |
|---|---|
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:
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.
Konfiguration af log4j
Log4j konfiguration findes i følgende fil:
log4j.properties
Denne indlæses fra WildFly modulet:
| Code Block |
|---|
/pack/wildfly8/modules/sds/fskregistry/configuration/ |
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
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:
log4j-nspslalog-ao-documentmetadataproviderfskreg.properties
Denne indlæses fra WildFly modulet:
...
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.
...
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.
...