Versions Compared

Key

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

...

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:

...

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.

...

ao.document.root.id

...

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:

  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.

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: 

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:

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

...

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.

...