The mhd-iti65 component provides interfaces for actors of the Provide Document Bundle IHE transaction (ITI-65), which is described in the IHE IT Infrastructure Technical Framework Supplement, Mobile Access to Health Documents (MHD), Section 3.65.

Actors

The transaction defines the following actors:

ITI-65 actors
ITI-65 transaction and actors

Producer side corresponds to the Document Source actor. Consumer side corresponds to the Document Recipient actor.

Dependencies

In a Maven-based environment, the following dependency must be registered in pom.xml:

    <dependency>
        <groupId>org.openehealth.ipf.platform-camel</groupId>
        <artifactId>ipf-platform-camel-ihe-fhir-r4-mhd</artifactId>
        <version>${ipf-version}</version>
    </dependency>

Endpoint URI Format

Producer

The endpoint URI format of mhd-iti65 component producers is:

mhd-iti65://hostname:port/path/to/service[?parameters]

where hostname is either an IP address or a domain name, port is a number, and path/to/service represents additional path elements of the remote service.

Consumer

The endpoint URI format of mhd-iti65 component consumers is:

mhd-iti65://serviceName[?parameters]

The resulting URL of the exposed FHIR REST Service endpoint depends on the configuration of the deployment container. Consider a Tomcat container on host eHealth.server.org is configured in the following way:

port = 8888
contextPath = /IHE
servletPath = /fhir/*

Then the mhd-iti65 consumer will be available for external clients under the URL http://eHealth.server.org:8888/IHE/fhir.

URI parameters controlling the transaction features are described below.

Example

This is an example on how to use the component on the consumer side:

    from("mhd-iti65://service?audit=true&secure=true")
      .process(myProcessor)
      // process the incoming request and create a response

Streaming uploads

An ITI-65 request contains a transaction Bundle whose Binary resources carry the documents inline as base64. For large documents, HAPI would hold several copies of each document on the heap while parsing. Since IPF 6.0, the consumer side can split the document content out of the request body into memory or a temporary file before the body is parsed. This is off by default and is enabled in Spring Boot with ipf.fhir.streaming-upload.enabled=true.

With streaming enabled, Binary.data of a large upload holds a short marker instead of the document. Your route must exchange it for the content through StagedContentRegistry, and must consume it before the response is sent. See FHIR Binary streaming uploads for details, the configuration properties and the disk space needed for temporary files.

Basic Common Component Features

FHIR Component Features