Page History
Navitabs | ||||||
---|---|---|---|---|---|---|
| ||||||
Excerpt | ||
---|---|---|
| ||
1 Introduction
1.1 Purpose
This document describes the use of the web service that is provided by DDS Registry for querying for document metadata.
...
The document metadata returned upon queries will adhere to a certain metadata definition, that is, be based on defined value sets, formats, encoding systems and so forth. The DDS Registry may be used with one of many metadata definitions, but currently, it is used with the one defined in [Metadata Profile].
Table of Contents |
---|
1.2 Reading Guide
The present document is intended for developers and architects who want to use the DDS Registry for querying for document metadata available for a patient. Having such document metadata, the consumer system can then retrieve the documents described by the document metadata, as described in [DDS Repository Users’s Guide].
It is assumed that the reader is familiar with web services and the use of Den Gode Webservice (DGWS) and Security Token Service (STS).
1.3 Document History
Version | Date | Responsible | Description |
1.0 | 29.06.2012 | Systematic | Initial edition |
1.1 | 28.11.2014 | Systematic | National Patient Index (NPI) replaced with document sharing service (DDS) |
1.2 | 05.05.2015 | Systematic | Code references are updated due to name change from NPI to DDS |
1.3 | 26.01.2016 | Systematic | Reference to Danish profile of XDS Metadata added. |
1.4 Definitions and References
Definition | Description |
DDS | Document Sharing Service |
NSI | National eHealth Authority |
NSP | The national service platform (within NSI) |
SHAK | Hospital Department Classification |
SOR | Health service organization register |
STS | Security Token Service |
Reference | Description |
DDS Registry Querying | DDS Registry Querying Interface Description (SSE/11734/IFS/0016) |
DDS Repository Users’s Guide | DDS Repository User’s Guide (SSE/11734/PHB/0038) |
DGWS 1.0 | Den Gode Webservice 1.0 |
DGWS 1.0.1 | Den Gode Webservice 1.0.1 |
HSUID-header | Healthcare Service User Identification Header (SSE/11734/IFS/0018) |
Metadata Profile | XDS Metadata for Document Sharing. Danish Profile. Danish Health Data Authority, Draft profile for Trial Use, version 0.95 November 33, 2016 https://svn.medcom.dk/svn/drafts/Standarder/IHE/DK_profil_metadata/Metadata-v095.docx |
2 Use of DDS Registry
DDS Registry exposes an operation for querying for document metadata through a web service interface described in [DDS Registry Querying]. Querying is performed by using the standard IHE Cross-Enterprise Document Sharing (XDS), based on ebXML Registry Services (RS) and ebXML Registry Information Model (RIM). DDS Registry supports the querying variant FindDocument, which is one of several variants defined in IHE Technical Framework’s transaction 18, Registry Stored Query.
...
Changes to the IHE XDS standard WSDL are kept to a minimal to promote usage of Registry Stored Query to the greatest extent possible. Thus the operation payload is unchanged.
2.1 Preparing for Invoking DDS Registry
Before invoking the DDS Registry, it is the consumer system’s responsibility:
...
Note that the consumer system’s company registration number which is embedded in the ID-card must be available on a DDS Registry whitelist. Addition to the whitelist must be arranged with DDS Registry system owner.
2.2 Invoking DDS Registry
When invoking the DDSRegistry’s DocumentRegistry_RegistryStoredQuery operation, the following must be implemented:
- An AdhocQueryRequest structure must be populated, that is, the payload of DocumentRegistry_RegistryStoredQuery
- Security-header is populated with the ID-card from STS
- Medcom-header is created, including:
- Assignment of unique message-id
- Assignment of unique session id to the Medcom-header’s flowID-element
- HSUID-header is created, and assigned values that describe the person performing the call.
3 Examples of DDS Registry Invocations
This section provides an example of how this service can be invoked.
3.1 SEAL
Seal is an open source framework to support "Den Gode Webservice", including integration with a central identity service (IdP / STS), handling of federation certificates etc. Versions exists for Java and .Net.
3.1.1 Java framework
http://digitaliser.dk/group/374971
3.1.2 .NET framework
http://digitaliser.dk/group/375117
Currently, sample code has not been written to call DDS Registry from a .NET project, but there are WSDLs available such that one can generate a Web service consumer using Visual Studio's Web service wizard combined with Seal.NET.
3.2 Sample Code in Java from Integration Test
For automated testing of DDS Registry, a consumer using Seal.Java with the JAXWS-stack has been created. When writing code to call the service, the test code can be used as a starting point.
...
Code Block |
---|
AdhocQueryRequest adhocQueryRequest = createAdhocQueryRequest(); DGWSHeaderWrapper validDGWSHeaders = consumer.getValidDGWSHeaders(invocationValues.getFlowId()); Holder<Header> medcomHeader = new Holder<Header>(validDGWSHeaders.getMedcomHeader()); AdhocQueryResponse response = port.documentRegistryRegistryStoredQuery( adhocQueryRequest, validDGWSHeaders.getSecurityHeader(), medcomHeader, invocationValues.getHsuidHeader()); |
3.3 Client Generation from WSDL
A web service client can be generated, based on the DDS Registry WSDL-file, see [DDS Registry Querying]. It is of course also possible to use runtime WSDL-generation against a deployed service.
...