Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootDokumentdelingsservice (DDS)
firsttabDokumentdelingsservice (DDS)
includeroottrue


Excerpt
hiddentrue


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:

  1. An AdhocQueryRequest structure must be populated, that is, the payload of DocumentRegistry_RegistryStoredQuery
  2. Security-header is populated with the ID-card from STS
  3. Medcom-header is created, including:
    1. Assignment of unique message-id
    2. Assignment of unique session id to the Medcom-header’s flowID-element
    3. 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.

...